Compare commits
	
		
			1 Commits
		
	
	
		
			6f92fd2a3a
			...
			temp-small
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| aad01c1271 | 
| @@ -8,7 +8,6 @@ creation_rules: | ||||
|     key_groups: | ||||
|       - age: | ||||
|         - *admin_torjus | ||||
|         - *server_magicman | ||||
|   - path_regex: secrets/gunter/[^/]+\.(yaml|json|env|ini|toml) | ||||
|     key_groups: | ||||
|       - age: | ||||
| @@ -28,4 +27,3 @@ creation_rules: | ||||
|     key_groups: | ||||
|       - age: | ||||
|         - *admin_torjus | ||||
|         - *server_magicman | ||||
|   | ||||
							
								
								
									
										449
									
								
								flake.lock
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										449
									
								
								flake.lock
									
									
									
										generated
									
									
									
								
							| @@ -1,5 +1,77 @@ | ||||
| { | ||||
|   "nodes": { | ||||
|     "flake-utils": { | ||||
|       "inputs": { | ||||
|         "systems": "systems" | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1710146030, | ||||
|         "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", | ||||
|         "owner": "numtide", | ||||
|         "repo": "flake-utils", | ||||
|         "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "numtide", | ||||
|         "repo": "flake-utils", | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "flake-utils_2": { | ||||
|       "inputs": { | ||||
|         "systems": "systems_2" | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1710146030, | ||||
|         "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", | ||||
|         "owner": "numtide", | ||||
|         "repo": "flake-utils", | ||||
|         "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "numtide", | ||||
|         "repo": "flake-utils", | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "flake-utils_3": { | ||||
|       "inputs": { | ||||
|         "systems": "systems_4" | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1726560853, | ||||
|         "narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=", | ||||
|         "owner": "numtide", | ||||
|         "repo": "flake-utils", | ||||
|         "rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "numtide", | ||||
|         "repo": "flake-utils", | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "flake-utils_4": { | ||||
|       "inputs": { | ||||
|         "systems": "systems_5" | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1726560853, | ||||
|         "narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=", | ||||
|         "owner": "numtide", | ||||
|         "repo": "flake-utils", | ||||
|         "rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "numtide", | ||||
|         "repo": "flake-utils", | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "ghettoptt": { | ||||
|       "inputs": { | ||||
|         "nixpkgs": [ | ||||
| @@ -28,11 +100,11 @@ | ||||
|         ] | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1756734952, | ||||
|         "narHash": "sha256-H6jmduj4QIncLPAPODPSG/8ry9lpr1kRq6fYytU52qU=", | ||||
|         "lastModified": 1732025103, | ||||
|         "narHash": "sha256-qjEI64RKvDxRyEarY0jTzrZMa8ebezh2DEZmJJrpVdo=", | ||||
|         "owner": "nix-community", | ||||
|         "repo": "home-manager", | ||||
|         "rev": "29ab63bbb3d9eee4a491f7ce701b189becd34068", | ||||
|         "rev": "a46e702093a5c46e192243edbd977d5749e7f294", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
| @@ -43,19 +115,18 @@ | ||||
|     }, | ||||
|     "huecli": { | ||||
|       "inputs": { | ||||
|         "flake-utils": "flake-utils", | ||||
|         "nixpkgs": [ | ||||
|           "nixpkgs" | ||||
|         ], | ||||
|         "pyproject-build-systems": "pyproject-build-systems", | ||||
|         "pyproject-nix": "pyproject-nix", | ||||
|         "uv2nix": "uv2nix" | ||||
|         "poetry2nix": "poetry2nix" | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1732927393, | ||||
|         "narHash": "sha256-S/StGXd2t8VvvnZ81uPyggc0dHfgHyrFMmXWkGhsJqg=", | ||||
|         "lastModified": 1728336978, | ||||
|         "narHash": "sha256-7FX4K8QBH/9jiYyCMs2JyCTzlx1/D5Cw6upaFThSVg4=", | ||||
|         "ref": "master", | ||||
|         "rev": "c2ff98ce55605e57370ea216300d0e58df602c26", | ||||
|         "revCount": 31, | ||||
|         "rev": "700ece0bada9833fcfd3b6ce698cd74bc00e4493", | ||||
|         "revCount": 22, | ||||
|         "type": "git", | ||||
|         "url": "https://git.t-juice.club/torjus/huecli" | ||||
|       }, | ||||
| @@ -65,25 +136,48 @@ | ||||
|         "url": "https://git.t-juice.club/torjus/huecli" | ||||
|       } | ||||
|     }, | ||||
|     "natstonotify": { | ||||
|     "nix-github-actions": { | ||||
|       "inputs": { | ||||
|         "nixpkgs": [ | ||||
|           "huecli", | ||||
|           "poetry2nix", | ||||
|           "nixpkgs" | ||||
|         ] | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1739302828, | ||||
|         "narHash": "sha256-D6l5tAh1FDpdz9/tQC7kYhFPQzqI1HICwNh7fRejfrw=", | ||||
|         "ref": "master", | ||||
|         "rev": "bfcf518fe0b2fe19075667f7b22227376d102509", | ||||
|         "revCount": 7, | ||||
|         "type": "git", | ||||
|         "url": "https://git.t-juice.club/torjus/natstonotify" | ||||
|         "lastModified": 1703863825, | ||||
|         "narHash": "sha256-rXwqjtwiGKJheXB43ybM8NwWB8rO2dSRrEqes0S7F5Y=", | ||||
|         "owner": "nix-community", | ||||
|         "repo": "nix-github-actions", | ||||
|         "rev": "5163432afc817cf8bd1f031418d1869e4c9d5547", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "ref": "master", | ||||
|         "type": "git", | ||||
|         "url": "https://git.t-juice.club/torjus/natstonotify" | ||||
|         "owner": "nix-community", | ||||
|         "repo": "nix-github-actions", | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "nix-github-actions_2": { | ||||
|       "inputs": { | ||||
|         "nixpkgs": [ | ||||
|           "nixprstatus", | ||||
|           "poetry2nix", | ||||
|           "nixpkgs" | ||||
|         ] | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1720066371, | ||||
|         "narHash": "sha256-uPlLYH2S0ACj0IcgaK9Lsf4spmJoGejR9DotXiXSBZQ=", | ||||
|         "owner": "nix-community", | ||||
|         "repo": "nix-github-actions", | ||||
|         "rev": "622f829f5fe69310a866c8a6cd07e747c44ef820", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "nix-community", | ||||
|         "repo": "nix-github-actions", | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "nix-packages": { | ||||
| @@ -93,11 +187,11 @@ | ||||
|         ] | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1747129247, | ||||
|         "narHash": "sha256-twZe3IIZraF+OD8YUFiASuzCEqSUvyP2ZOftyEtmTW4=", | ||||
|         "lastModified": 1728153756, | ||||
|         "narHash": "sha256-kNpO8yC2MioSRc2SNxNM5egVvFjA2Ox0b4SAs6GnM8w=", | ||||
|         "ref": "master", | ||||
|         "rev": "4f44b54b23defabf4058d26951d8f549e2d76239", | ||||
|         "revCount": 30, | ||||
|         "rev": "2fc840c15280d2dd3da1aba7272243b4aa11e611", | ||||
|         "revCount": 21, | ||||
|         "type": "git", | ||||
|         "url": "https://git.t-juice.club/torjus/nix-packages" | ||||
|       }, | ||||
| @@ -109,11 +203,11 @@ | ||||
|     }, | ||||
|     "nixpkgs": { | ||||
|       "locked": { | ||||
|         "lastModified": 1756542300, | ||||
|         "narHash": "sha256-tlOn88coG5fzdyqz6R93SQL5Gpq+m/DsWpekNFhqPQk=", | ||||
|         "lastModified": 1731676054, | ||||
|         "narHash": "sha256-OZiZ3m8SCMfh3B6bfGC/Bm4x3qc1m2SVEAlkV6iY7Yg=", | ||||
|         "owner": "nixos", | ||||
|         "repo": "nixpkgs", | ||||
|         "rev": "d7600c775f877cd87b4f5a831c28aa94137377aa", | ||||
|         "rev": "5e4fbfb6b3de1aa2872b76d49fafc942626e2add", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
| @@ -123,37 +217,52 @@ | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "nixpkgs-stable": { | ||||
|     "nixpkgs-small": { | ||||
|       "locked": { | ||||
|         "lastModified": 1756617294, | ||||
|         "narHash": "sha256-aGnd4AHIYCWQKChAkHPpX+YYCt7pA6y2LFFA/s8q0wQ=", | ||||
|         "lastModified": 1732007104, | ||||
|         "narHash": "sha256-qaWPxgLAvtIHTDcm0qJuc+WNYjcy4ZKigOyn2ag4ihM=", | ||||
|         "owner": "nixos", | ||||
|         "repo": "nixpkgs", | ||||
|         "rev": "b4c2c57c31e68544982226d07e4719a2d86302a8", | ||||
|         "rev": "0705964c881cea8896474610188905ba41b59b08", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "nixos", | ||||
|         "ref": "nixos-25.05", | ||||
|         "ref": "nixos-unstable-small", | ||||
|         "repo": "nixpkgs", | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "nixpkgs-stable": { | ||||
|       "locked": { | ||||
|         "lastModified": 1731755305, | ||||
|         "narHash": "sha256-v5P3dk5JdiT+4x69ZaB18B8+Rcu3TIOrcdG4uEX7WZ8=", | ||||
|         "owner": "nixos", | ||||
|         "repo": "nixpkgs", | ||||
|         "rev": "057f63b6dc1a2c67301286152eb5af20747a9cb4", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "nixos", | ||||
|         "ref": "nixos-24.11", | ||||
|         "repo": "nixpkgs", | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "nixprstatus": { | ||||
|       "inputs": { | ||||
|         "flake-utils": "flake-utils_3", | ||||
|         "nixpkgs": [ | ||||
|           "nixpkgs" | ||||
|         ], | ||||
|         "pyproject-build-systems": "pyproject-build-systems_2", | ||||
|         "pyproject-nix": "pyproject-nix_2", | ||||
|         "uv2nix": "uv2nix_2" | ||||
|         "poetry2nix": "poetry2nix_2" | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1748349633, | ||||
|         "narHash": "sha256-SyFF/p3G7YsJH0p5jgeOqdtc3ehzGuI05ZqiJbZNAZA=", | ||||
|         "lastModified": 1729118937, | ||||
|         "narHash": "sha256-7xYCJXTh92OpKwfshYYnxrWmfNjqaH9SzQ0stuBARVM=", | ||||
|         "ref": "master", | ||||
|         "rev": "ef55b5b9478390b535fe708edfa297729ac75572", | ||||
|         "revCount": 60, | ||||
|         "rev": "58b113d934f5d62f27dc50439b89fece4eb621f5", | ||||
|         "revCount": 37, | ||||
|         "type": "git", | ||||
|         "url": "https://git.t-juice.club/torjus/nixprstatus" | ||||
|       }, | ||||
| @@ -163,103 +272,53 @@ | ||||
|         "url": "https://git.t-juice.club/torjus/nixprstatus" | ||||
|       } | ||||
|     }, | ||||
|     "pyproject-build-systems": { | ||||
|     "poetry2nix": { | ||||
|       "inputs": { | ||||
|         "flake-utils": "flake-utils_2", | ||||
|         "nix-github-actions": "nix-github-actions", | ||||
|         "nixpkgs": [ | ||||
|           "huecli", | ||||
|           "nixpkgs" | ||||
|         ], | ||||
|         "pyproject-nix": [ | ||||
|           "huecli", | ||||
|           "pyproject-nix" | ||||
|         ], | ||||
|         "uv2nix": [ | ||||
|           "huecli", | ||||
|           "uv2nix" | ||||
|         ] | ||||
|         "systems": "systems_3", | ||||
|         "treefmt-nix": "treefmt-nix" | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1732506638, | ||||
|         "narHash": "sha256-aIjGCa8Lvhb8QnbHPOtkZ6yTrb8KURRlYzlo7UaBeac=", | ||||
|         "owner": "pyproject-nix", | ||||
|         "repo": "build-system-pkgs", | ||||
|         "rev": "70c271e7a64199c71c9dbcbe513c7b2402573789", | ||||
|         "lastModified": 1724208502, | ||||
|         "narHash": "sha256-TCRcEPSfgAw/t7kClmlr23s591N06mQCrhzlAO7cyFw=", | ||||
|         "owner": "nix-community", | ||||
|         "repo": "poetry2nix", | ||||
|         "rev": "884b66152b0c625b8220b570a31dc7acc36749a3", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "pyproject-nix", | ||||
|         "repo": "build-system-pkgs", | ||||
|         "owner": "nix-community", | ||||
|         "repo": "poetry2nix", | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "pyproject-build-systems_2": { | ||||
|     "poetry2nix_2": { | ||||
|       "inputs": { | ||||
|         "flake-utils": "flake-utils_4", | ||||
|         "nix-github-actions": "nix-github-actions_2", | ||||
|         "nixpkgs": [ | ||||
|           "nixprstatus", | ||||
|           "nixpkgs" | ||||
|         ], | ||||
|         "pyproject-nix": [ | ||||
|           "nixprstatus", | ||||
|           "pyproject-nix" | ||||
|         ], | ||||
|         "uv2nix": [ | ||||
|           "nixprstatus", | ||||
|           "uv2nix" | ||||
|         ] | ||||
|         "systems": "systems_6", | ||||
|         "treefmt-nix": "treefmt-nix_2" | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1744599653, | ||||
|         "narHash": "sha256-nysSwVVjG4hKoOjhjvE6U5lIKA8sEr1d1QzEfZsannU=", | ||||
|         "owner": "pyproject-nix", | ||||
|         "repo": "build-system-pkgs", | ||||
|         "rev": "7dba6dbc73120e15b558754c26024f6c93015dd7", | ||||
|         "lastModified": 1729073785, | ||||
|         "narHash": "sha256-KaDC7emuamQblDdka+gkBUUdEjQf3YGYozMb+zomgSM=", | ||||
|         "owner": "nix-community", | ||||
|         "repo": "poetry2nix", | ||||
|         "rev": "795fddefc9f910671c1cf0752c29802ce27322d6", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "pyproject-nix", | ||||
|         "repo": "build-system-pkgs", | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "pyproject-nix": { | ||||
|       "inputs": { | ||||
|         "nixpkgs": [ | ||||
|           "huecli", | ||||
|           "nixpkgs" | ||||
|         ] | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1732502826, | ||||
|         "narHash": "sha256-tgInDnNOGd5haarL7i94TZ/TqOR1UHvYliw+Db0lk6U=", | ||||
|         "owner": "pyproject-nix", | ||||
|         "repo": "pyproject.nix", | ||||
|         "rev": "fb87b3bad09fbd71b448e2f71f0337087430dbc7", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "pyproject-nix", | ||||
|         "repo": "pyproject.nix", | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "pyproject-nix_2": { | ||||
|       "inputs": { | ||||
|         "nixpkgs": [ | ||||
|           "nixprstatus", | ||||
|           "nixpkgs" | ||||
|         ] | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1746540146, | ||||
|         "narHash": "sha256-QxdHGNpbicIrw5t6U3x+ZxeY/7IEJ6lYbvsjXmcxFIM=", | ||||
|         "owner": "pyproject-nix", | ||||
|         "repo": "pyproject.nix", | ||||
|         "rev": "e09c10c24ebb955125fda449939bfba664c467fd", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "pyproject-nix", | ||||
|         "repo": "pyproject.nix", | ||||
|         "owner": "nix-community", | ||||
|         "repo": "poetry2nix", | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
| @@ -268,9 +327,9 @@ | ||||
|         "ghettoptt": "ghettoptt", | ||||
|         "home-manager": "home-manager", | ||||
|         "huecli": "huecli", | ||||
|         "natstonotify": "natstonotify", | ||||
|         "nix-packages": "nix-packages", | ||||
|         "nixpkgs": "nixpkgs", | ||||
|         "nixpkgs-small": "nixpkgs-small", | ||||
|         "nixpkgs-stable": "nixpkgs-stable", | ||||
|         "nixprstatus": "nixprstatus", | ||||
|         "sops-nix": "sops-nix" | ||||
| @@ -283,11 +342,11 @@ | ||||
|         ] | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1754988908, | ||||
|         "narHash": "sha256-t+voe2961vCgrzPFtZxha0/kmFSHFobzF00sT8p9h0U=", | ||||
|         "lastModified": 1731954233, | ||||
|         "narHash": "sha256-vvXx1m2Rsw7MkbKJdpcICzz4YPgZPApGKQGhNZfkhOI=", | ||||
|         "owner": "Mic92", | ||||
|         "repo": "sops-nix", | ||||
|         "rev": "3223c7a92724b5d804e9988c6b447a0d09017d48", | ||||
|         "rev": "e39947d0ee8e341fa7108bd02a33cdfa24a1360e", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
| @@ -296,53 +355,135 @@ | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "uv2nix": { | ||||
|       "inputs": { | ||||
|         "nixpkgs": [ | ||||
|           "huecli", | ||||
|           "nixpkgs" | ||||
|         ], | ||||
|         "pyproject-nix": [ | ||||
|           "huecli", | ||||
|           "pyproject-nix" | ||||
|         ] | ||||
|       }, | ||||
|     "systems": { | ||||
|       "locked": { | ||||
|         "lastModified": 1732759365, | ||||
|         "narHash": "sha256-kOOlzfAsFpfiLltRbqFysVhT86erXVe4TZCNIq5zv0o=", | ||||
|         "owner": "pyproject-nix", | ||||
|         "repo": "uv2nix", | ||||
|         "rev": "f932943b62a0b4fade224f18df13558f8015dd99", | ||||
|         "lastModified": 1681028828, | ||||
|         "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", | ||||
|         "owner": "nix-systems", | ||||
|         "repo": "default", | ||||
|         "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "pyproject-nix", | ||||
|         "repo": "uv2nix", | ||||
|         "owner": "nix-systems", | ||||
|         "repo": "default", | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "uv2nix_2": { | ||||
|       "inputs": { | ||||
|         "nixpkgs": [ | ||||
|           "nixprstatus", | ||||
|           "nixpkgs" | ||||
|         ], | ||||
|         "pyproject-nix": [ | ||||
|           "nixprstatus", | ||||
|           "pyproject-nix" | ||||
|         ] | ||||
|       }, | ||||
|     "systems_2": { | ||||
|       "locked": { | ||||
|         "lastModified": 1747949765, | ||||
|         "narHash": "sha256-1v8SFHOwUCvHDXFmQRjHZYawY19nxmtZ7zH/kwAGgj0=", | ||||
|         "owner": "pyproject-nix", | ||||
|         "repo": "uv2nix", | ||||
|         "rev": "ec0502250b48116fd3aa8e1347a2d0254bacd05e", | ||||
|         "lastModified": 1681028828, | ||||
|         "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", | ||||
|         "owner": "nix-systems", | ||||
|         "repo": "default", | ||||
|         "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "pyproject-nix", | ||||
|         "repo": "uv2nix", | ||||
|         "owner": "nix-systems", | ||||
|         "repo": "default", | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "systems_3": { | ||||
|       "locked": { | ||||
|         "lastModified": 1681028828, | ||||
|         "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", | ||||
|         "owner": "nix-systems", | ||||
|         "repo": "default", | ||||
|         "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "id": "systems", | ||||
|         "type": "indirect" | ||||
|       } | ||||
|     }, | ||||
|     "systems_4": { | ||||
|       "locked": { | ||||
|         "lastModified": 1681028828, | ||||
|         "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", | ||||
|         "owner": "nix-systems", | ||||
|         "repo": "default", | ||||
|         "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "nix-systems", | ||||
|         "repo": "default", | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "systems_5": { | ||||
|       "locked": { | ||||
|         "lastModified": 1681028828, | ||||
|         "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", | ||||
|         "owner": "nix-systems", | ||||
|         "repo": "default", | ||||
|         "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "nix-systems", | ||||
|         "repo": "default", | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "systems_6": { | ||||
|       "locked": { | ||||
|         "lastModified": 1681028828, | ||||
|         "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", | ||||
|         "owner": "nix-systems", | ||||
|         "repo": "default", | ||||
|         "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "id": "systems", | ||||
|         "type": "indirect" | ||||
|       } | ||||
|     }, | ||||
|     "treefmt-nix": { | ||||
|       "inputs": { | ||||
|         "nixpkgs": [ | ||||
|           "huecli", | ||||
|           "poetry2nix", | ||||
|           "nixpkgs" | ||||
|         ] | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1719749022, | ||||
|         "narHash": "sha256-ddPKHcqaKCIFSFc/cvxS14goUhCOAwsM1PbMr0ZtHMg=", | ||||
|         "owner": "numtide", | ||||
|         "repo": "treefmt-nix", | ||||
|         "rev": "8df5ff62195d4e67e2264df0b7f5e8c9995fd0bd", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "numtide", | ||||
|         "repo": "treefmt-nix", | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "treefmt-nix_2": { | ||||
|       "inputs": { | ||||
|         "nixpkgs": [ | ||||
|           "nixprstatus", | ||||
|           "poetry2nix", | ||||
|           "nixpkgs" | ||||
|         ] | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1727984844, | ||||
|         "narHash": "sha256-xpRqITAoD8rHlXQafYZOLvUXCF6cnZkPfoq67ThN0Hc=", | ||||
|         "owner": "numtide", | ||||
|         "repo": "treefmt-nix", | ||||
|         "rev": "4446c7a6fc0775df028c5a3f6727945ba8400e64", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "numtide", | ||||
|         "repo": "treefmt-nix", | ||||
|         "type": "github" | ||||
|       } | ||||
|     } | ||||
|   | ||||
							
								
								
									
										22
									
								
								flake.nix
									
									
									
									
									
								
							
							
						
						
									
										22
									
								
								flake.nix
									
									
									
									
									
								
							| @@ -2,9 +2,10 @@ | ||||
|   description = "Torjus nixos config flake"; | ||||
|  | ||||
|   inputs = { | ||||
|     nixpkgs-stable.url = "github:nixos/nixpkgs?ref=nixos-25.05"; | ||||
|     nixpkgs-stable.url = "github:nixos/nixpkgs?ref=nixos-24.11"; | ||||
|     #nixpkgs-master.url = "github:nixos/nixpkgs?ref=master"; | ||||
|     nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable"; | ||||
|     nixpkgs-small.url = "github:nixos/nixpkgs?ref=nixos-unstable-small"; | ||||
|     home-manager = { | ||||
|       url = "github:nix-community/home-manager"; | ||||
|       inputs.nixpkgs.follows = "nixpkgs"; | ||||
| @@ -30,10 +31,6 @@ | ||||
|       url = "git+https://git.t-juice.club/torjus/nixprstatus?ref=master"; | ||||
|       inputs.nixpkgs.follows = "nixpkgs"; | ||||
|     }; | ||||
|     natstonotify = { | ||||
|       url = "git+https://git.t-juice.club/torjus/natstonotify?ref=master"; | ||||
|       inputs.nixpkgs.follows = "nixpkgs"; | ||||
|     }; | ||||
|   }; | ||||
|  | ||||
|   outputs = | ||||
| @@ -42,11 +39,11 @@ | ||||
|       nixpkgs, | ||||
|       # nixpkgs-master, | ||||
|       nixpkgs-stable, | ||||
|       nixpkgs-small, | ||||
|       nixprstatus, | ||||
|       sops-nix, | ||||
|       ghettoptt, | ||||
|       huecli, | ||||
|       natstonotify, | ||||
|       nix-packages, | ||||
|       ... | ||||
|     }@inputs: | ||||
| @@ -59,6 +56,17 @@ | ||||
|           config.allowUnfree = true; | ||||
|         }; | ||||
|       }; | ||||
|       overlay-pyside6 = | ||||
|         final: prev: | ||||
|         let | ||||
|           small = import nixpkgs-small { | ||||
|             inherit system; | ||||
|             config.allowUnfree = true; | ||||
|           }; | ||||
|         in | ||||
|         { | ||||
|           python312Packages = small.lib.warn "Using python312Packages from nixos-unstable-small #" small.python312Packages; | ||||
|         }; | ||||
|       # overlay-master = final: prev: { | ||||
|       #   master = import nixpkgs-master { | ||||
|       #     inherit system; | ||||
| @@ -76,11 +84,11 @@ | ||||
|       commonOverlays = [ | ||||
|         overlay-stable | ||||
|         # overlay-master | ||||
|         overlay-pyside6 | ||||
|         ghettoptt.overlays.default | ||||
|         huecli.overlays.default | ||||
|         nix-packages.overlays.default | ||||
|         nixprstatus.overlays.default | ||||
|         natstonotify.overlays.default | ||||
|       ]; | ||||
|     in | ||||
|     { | ||||
|   | ||||
| @@ -5,9 +5,6 @@ | ||||
|       enable = true; | ||||
|       defaultEditor = true; | ||||
|       vimAlias = true; | ||||
|       extraPackages = with pkgs; [ | ||||
|         nodePackages_latest.nodejs | ||||
|       ]; | ||||
|       plugins = with pkgs.vimPlugins; [ | ||||
|         vim-fugitive | ||||
|         undotree | ||||
| @@ -43,8 +40,8 @@ | ||||
|         ])) | ||||
|       ]; | ||||
|       extraLuaConfig = '' | ||||
|         ${builtins.readFile ./plugins.lua} | ||||
|         ${builtins.readFile ./options.lua} | ||||
|         ${builtins.readFile ./plugins.lua} | ||||
|         ${builtins.readFile ./keybinds.lua} | ||||
|       ''; | ||||
|     }; | ||||
|   | ||||
| @@ -11,8 +11,3 @@ vim.o.relativenumber = true | ||||
| vim.o.tabstop = 4 | ||||
| vim.o.shiftwidth = 4 | ||||
| vim.o.expandtab = true | ||||
|  | ||||
| vim.o.termguicolors = true | ||||
|  | ||||
| vim.o.list = true | ||||
| vim.o.listchars = 'tab:» ,trail:·,extends:»,precedes:«,nbsp:␣' | ||||
|   | ||||
| @@ -17,7 +17,7 @@ lsp_zero.format_on_save({ | ||||
| 		['gopls'] = { 'go' }, | ||||
| 		['nil_ls'] = { 'nix' }, | ||||
| 		['lua_ls'] = { 'lua' }, | ||||
| 		['ts_ls'] = { 'typescript', 'javascript', 'typescriptreact' }, | ||||
| 		['ts_ls'] = { 'typescript', 'javascript' }, | ||||
| 	}, | ||||
| }) | ||||
| -- LSP: go | ||||
| @@ -120,7 +120,6 @@ lspconfig.ts_ls.setup({ | ||||
| 	filetypes = { | ||||
| 		"typescript", | ||||
| 		"javascript", | ||||
| 		"typescriptreact", | ||||
| 	}, | ||||
| }) | ||||
|  | ||||
| @@ -298,6 +297,6 @@ cmp.setup({ | ||||
|  | ||||
|  | ||||
| -- Colorscheme | ||||
| require('catppuccin').setup { | ||||
| } | ||||
| require('catppuccin').setup({ | ||||
| }) | ||||
| vim.cmd.colorscheme "catppuccin" | ||||
|   | ||||
| @@ -31,7 +31,6 @@ | ||||
|           ./scripts | ||||
|           ./services/backup-home.nix | ||||
|           ./services/ghettoptt.nix | ||||
|           ./services/natstonotify.nix | ||||
|           ./sops | ||||
|           ./ssh | ||||
|           ./zsh | ||||
|   | ||||
| @@ -1,33 +1,21 @@ | ||||
| { | ||||
|   inputs, | ||||
|   pkgs, | ||||
|   lib, | ||||
|   config, | ||||
|   ... | ||||
| }: | ||||
| let | ||||
|   lockhelper = pkgs.callPackage ../scripts/lockhelper.nix { }; | ||||
|   monitorTopDesc = "BNQ G2420HDBL T2B04424SL000"; | ||||
|   monitorTopName = "desc:${monitorTopDesc}"; | ||||
|   monitorTopHash = builtins.substring 0 8 (builtins.hashString "sha256" monitorTopDesc); | ||||
|  | ||||
|   monitorLeftDesc = "Samsung Electric Company LS27A600U HNMT502389"; | ||||
|   monitorLeftName = "desc:${monitorLeftDesc}"; | ||||
|   monitorLeftHash = builtins.substring 0 8 (builtins.hashString "sha256" monitorLeftDesc); | ||||
|  | ||||
|   monitorCenterDesc = "Acer Technologies XB271HU #ASPVEKfgZ8Dd"; | ||||
|   monitorCenterName = "desc:${monitorCenterDesc}"; | ||||
|   monitorCenterHash = builtins.substring 0 8 (builtins.hashString "sha256" monitorCenterDesc); | ||||
|  | ||||
|   monitorRightDesc = "Samsung Electric Company LS27A600U HNMT502390"; | ||||
|   monitorRightName = "desc:${monitorRightDesc}"; | ||||
|   monitorRightHash = builtins.substring 0 8 (builtins.hashString "sha256" monitorRightDesc); | ||||
|  | ||||
| in | ||||
| { | ||||
|   imports = [ | ||||
|     ./hyprlock.nix | ||||
|     ./hypridle.nix | ||||
|   ]; | ||||
|   options.hyprland.enable = lib.mkEnableOption "Hyprland"; | ||||
|   config = { | ||||
|     home.packages = with pkgs; [ | ||||
|       dunst | ||||
|       # hyprlock | ||||
|       hyprpaper | ||||
|       rofi-wayland | ||||
|       slurp | ||||
|       swww | ||||
| @@ -40,175 +28,35 @@ in | ||||
|       libsForQt5.qt5ct | ||||
|     ]; | ||||
|  | ||||
|     services.hyprpaper = { | ||||
|       enable = true; | ||||
|       settings = { | ||||
|         splash = false; | ||||
|       }; | ||||
|     }; | ||||
|     services.hypridle = { | ||||
|       enable = true; | ||||
|       settings = { | ||||
|         general = { | ||||
|           lock_cmd = "${pkgs.hyprlock}/bin/hyprlock"; | ||||
|           before_sleep_cmd = "${lockhelper}/bin/lockhelper"; | ||||
|           ignore_dbus_inhibit = false; | ||||
|         }; | ||||
|         listener = { | ||||
|           timeout = 240; | ||||
|           on-timeout = "${lockhelper}/bin/lockhelper"; | ||||
|         }; | ||||
|       }; | ||||
|     }; | ||||
|  | ||||
|     programs.hyprlock = { | ||||
|       enable = true; | ||||
|       settings = { | ||||
|         background = [ | ||||
|           { | ||||
|             monitor = monitorTopName; | ||||
|             # path = "/tmp/lockscreen/${monitorTopHash}.png"; | ||||
|             path = "screenshot"; | ||||
|             color = "rgba(17, 17, 17, 1.0)"; | ||||
|             blur_passes = 3; | ||||
|             contrast = 0.8916; | ||||
|             brightness = 0.8172; | ||||
|             vibrancy = 0.1696; | ||||
|             vibrancy_darkness = 0.0; | ||||
|           } | ||||
|           { | ||||
|             monitor = monitorLeftName; | ||||
|             # path = "/tmp/lockscreen/${monitorLeftHash}.png"; | ||||
|             path = "screenshot"; | ||||
|             color = "rgba(17, 17, 17, 1.0)"; | ||||
|             blur_passes = 3; | ||||
|             contrast = 0.8916; | ||||
|             brightness = 0.8172; | ||||
|             vibrancy = 0.1696; | ||||
|             vibrancy_darkness = 0.0; | ||||
|             zindex = 1; | ||||
|           } | ||||
|           { | ||||
|             monitor = monitorCenterName; | ||||
|             # path = "/tmp/lockscreen/${monitorCenterHash}.png"; | ||||
|             path = "screenshot"; | ||||
|             color = "rgba(17, 17, 17, 1.0)"; | ||||
|             blur_passes = 3; | ||||
|             contrast = 0.8916; | ||||
|             brightness = 0.8172; | ||||
|             vibrancy = 0.1696; | ||||
|             vibrancy_darkness = 0.0; | ||||
|           } | ||||
|           { | ||||
|             monitor = monitorRightName; | ||||
|             # path = "/tmp/lockscreen/${monitorRightHash}.png"; | ||||
|             path = "screenshot"; | ||||
|             color = "rgba(17, 17, 17, 1.0)"; | ||||
|             blur_passes = 3; | ||||
|             contrast = 0.8916; | ||||
|             brightness = 0.8172; | ||||
|             vibrancy = 0.1696; | ||||
|             vibrancy_darkness = 0.0; | ||||
|           } | ||||
|         ]; | ||||
|  | ||||
|         general = { | ||||
|           grace = 0; | ||||
|         }; | ||||
|  | ||||
|         input-field = [ | ||||
|           { | ||||
|             size = "250, 60"; | ||||
|             outline_thickness = 2; | ||||
|             dots_size = 0.2; | ||||
|             dots_spacing = 0.2; | ||||
|             dots_center = true; | ||||
|             outer_color = "rgba(0, 0, 0, 0)"; | ||||
|             inner_color = "rgba(0, 0, 0, 0.5)"; | ||||
|             font_color = "rgb(200, 200, 200)"; | ||||
|             fade_on_empty = false; | ||||
|             font_family = "JetBrains Mono Nerd Font Mono"; | ||||
|             placeholder_text = "<i><span foreground=\"##cdd6f4\">Input Password...</span></i>"; | ||||
|             hide_input = false; | ||||
|             position = "0, -120"; | ||||
|             halign = "center"; | ||||
|             valign = "center"; | ||||
|           } | ||||
|         ]; | ||||
|  | ||||
|         label = [ | ||||
|           { | ||||
|             text = "cmd[update:2000] echo \"$(date +\"%b %d %H:%M\")\""; | ||||
|             color = "rgba(255, 255, 255, 0.6)"; | ||||
|             font_size = 120; | ||||
|             font_family = "JetBrains Mono Nerd Font Mono ExtraBold"; | ||||
|             position = "0, -300"; | ||||
|             halign = "center"; | ||||
|             valign = "top"; | ||||
|           } | ||||
|         ]; | ||||
|       }; | ||||
|     }; | ||||
|  | ||||
|     # streamcontroller service | ||||
|  | ||||
|     systemd.user.services = { | ||||
|       streamcontroller = { | ||||
|         Unit = { | ||||
|           Description = "Streamcontroller service"; | ||||
|           PartOf = [ "graphical-session.target" ]; | ||||
|           After = [ "graphical-session.target" ]; | ||||
|           Requisite = [ "graphical-session.target" ]; | ||||
|         }; | ||||
|  | ||||
|         Service = { | ||||
|           ExecStart = "${pkgs.streamcontroller}/bin/streamcontroller -b"; | ||||
|           Restart = "on-failure"; | ||||
|         }; | ||||
|  | ||||
|         Install = { | ||||
|           WantedBy = [ "graphical-session.target" ]; | ||||
|         }; | ||||
|       }; | ||||
|     }; | ||||
|  | ||||
|     wayland.windowManager.hyprland = { | ||||
|       enable = true; | ||||
|       package = pkgs.hyprland; | ||||
|       systemd.enable = false; | ||||
|       settings = { | ||||
|         "$mainMod" = "SUPER"; | ||||
|         "$shiftMainMod" = "SUPER_SHIFT"; | ||||
|         "$term" = "kitty"; | ||||
|  | ||||
|         # monitors | ||||
|         "$mon_top" = monitorTopName; | ||||
|         "$mon_left" = monitorLeftName; | ||||
|         "$mon_center" = monitorCenterName; | ||||
|         "$mon_right" = monitorRightName; | ||||
|         "$mon_top" = "desc:BNQ G2420HDBL T2B04424SL000"; | ||||
|         "$mon_left" = "desc:Samsung Electric Company LS27A600U HNMT502389"; | ||||
|         "$mon_center" = "desc:Acer Technologies XB271HU #ASPVEKfgZ8Dd"; | ||||
|         "$mon_right" = "desc:Samsung Electric Company LS27A600U HNMT502390"; | ||||
|  | ||||
|         monitor = [ | ||||
|           "$mon_top,1920x1080@60,2560x0,1" # top T2B04424SL000 | ||||
|           # "DP-8,1920x1080@60,2560x0,1" # top T2B04424SL000 60 | ||||
|           "$mon_left,2560x1440@75,0x1080,1" # left | ||||
|           # "DP-6,2560x1440@75,0x1080,1" # left 75hz | ||||
|           "$mon_center,2560x1440@120,2560x1080,1" # main #ASPVEKfgZ8Dd | ||||
|           # "DP-4,2560x1440@144,2560x1080,1" # main #ASPVEKfgZ8Dd 120hz | ||||
|           "$mon_right,2560x1440@75,5120x1080,1" # right | ||||
|           # "DP-7,2560x1440@75,5120x1080,1" # right 75hz | ||||
|           # "$mon_top,1920x1080@60,2560x0,1" # top T2B04424SL000 | ||||
|           "DP-6,1920x1080@60,2560x0,1" # top T2B04424SL000 60 | ||||
|           # "$mon_left,2560x1440@75,0x1080,1" # left | ||||
|           "DP-8,2560x1440@75,0x1080,1" # left 75hz | ||||
|           # "$mon_center,2560x1440@120,2560x1080,1" # main #ASPVEKfgZ8Dd | ||||
|           "DP-5,2560x1440@144,2560x1080,1" # main #ASPVEKfgZ8Dd 120hz | ||||
|           # "$mon_right,2560x1440@75,5120x1080,1" # right | ||||
|           "DP-7,2560x1440@75,5120x1080,1" # right 75hz | ||||
|         ]; | ||||
|         input = { | ||||
|           kb_layout = "no"; | ||||
|           follow_mouse = 1; | ||||
|         }; | ||||
|  | ||||
|         device = [ | ||||
|           { | ||||
|             name = "wacom-one-by-wacom-m-pen"; | ||||
|             output = "$mon_center"; | ||||
|           } | ||||
|         ]; | ||||
|  | ||||
|         cursor = { | ||||
|           no_hardware_cursors = true; | ||||
|         }; | ||||
| @@ -223,6 +71,9 @@ in | ||||
|  | ||||
|         decoration = { | ||||
|           rounding = 10; | ||||
|           drop_shadow = true; | ||||
|           shadow_range = 4; | ||||
|           shadow_render_power = 3; | ||||
|           blur = { | ||||
|             enabled = true; | ||||
|             size = 3; | ||||
| @@ -303,7 +154,7 @@ in | ||||
|           "$mainMod,Return,exec,$term" | ||||
|  | ||||
|           # hyprlock | ||||
|           "$shiftMainMod,l,exec,${lockhelper}/bin/lockhelper" | ||||
|           "$shiftMainMod,l,exec,lockhelper" | ||||
|  | ||||
|           # rofi | ||||
|           "$mainMod,D,exec,rofi-launcher" | ||||
| @@ -366,6 +217,12 @@ in | ||||
|         ]; | ||||
|  | ||||
|         exec-once = [ | ||||
|           "waybar" | ||||
|           "hyprpaper & sleep 10 && randomwp" | ||||
|           "easyeffects --gapplication-service" | ||||
|           "hypridle" | ||||
|           "streamcontroller -b" | ||||
|           # "dunst" | ||||
|         ]; | ||||
|       }; | ||||
|     }; | ||||
|   | ||||
| @@ -1,9 +1,15 @@ | ||||
| { | ||||
|   inputs, | ||||
|   pkgs, | ||||
|   lib, | ||||
|   config, | ||||
|   ... | ||||
| }: | ||||
| { | ||||
|   imports = [ | ||||
|     ./hyprlock.nix | ||||
|     ./hypridle.nix | ||||
|   ]; | ||||
|   options.hyprland.enable = lib.mkEnableOption "Hyprland"; | ||||
|   config = { | ||||
|     home.packages = with pkgs; [ | ||||
| @@ -22,82 +28,6 @@ | ||||
|       libsForQt5.qt5ct | ||||
|     ]; | ||||
|  | ||||
|     services.hyprpaper = { | ||||
|       enable = true; | ||||
|       settings = { | ||||
|         splash = false; | ||||
|       }; | ||||
|     }; | ||||
|  | ||||
|     services.hypridle = { | ||||
|       enable = true; | ||||
|       settings = { | ||||
|         general = { | ||||
|           lock_cmd = "${pkgs.hyprlock}/bin/hyprlock"; | ||||
|           before_sleep_cmd = "${pkgs.hyprlock}/bin/hyprlock"; | ||||
|           ignore_dbus_inhibit = false; | ||||
|         }; | ||||
|         listener = { | ||||
|           timeout = 240; | ||||
|           on-timeout = "${pkgs.hyprlock}/bin/hyprlock"; | ||||
|         }; | ||||
|       }; | ||||
|     }; | ||||
|  | ||||
|     programs.hyprlock = { | ||||
|       enable = true; | ||||
|       settings = { | ||||
|         background = [ | ||||
|           { | ||||
|             monitor = ""; | ||||
|             path = "screenshot"; | ||||
|             color = "rgba(17, 17, 17, 1.0)"; | ||||
|             blur_passes = 3; | ||||
|             contrast = 0.8916; | ||||
|             brightness = 0.8172; | ||||
|             vibrancy = 0.1696; | ||||
|             vibrancy_darkness = 0.0; | ||||
|           } | ||||
|         ]; | ||||
|  | ||||
|         general = { | ||||
|           grace = 0; | ||||
|         }; | ||||
|  | ||||
|         input-field = [ | ||||
|           { | ||||
|             size = "250, 60"; | ||||
|             outline_thickness = 2; | ||||
|             dots_size = 0.2; | ||||
|             dots_spacing = 0.2; | ||||
|             dots_center = true; | ||||
|             outer_color = "rgba(0, 0, 0, 0)"; | ||||
|             inner_color = "rgba(0, 0, 0, 0.5)"; | ||||
|             font_color = "rgb(200, 200, 200)"; | ||||
|             fade_on_empty = false; | ||||
|             font_family = "JetBrains Mono Nerd Font Mono"; | ||||
|             placeholder_text = "<i><span foreground=\"##cdd6f4\">Input Password...</span></i>"; | ||||
|             hide_input = false; | ||||
|             position = "0, -120"; | ||||
|             halign = "center"; | ||||
|             valign = "center"; | ||||
|           } | ||||
|         ]; | ||||
|  | ||||
|         label = [ | ||||
|           { | ||||
|             text = "cmd[update:2000] echo \"$(date +\"%b %d %H:%M\")\""; | ||||
|             color = "rgba(255, 255, 255, 0.6)"; | ||||
|             font_size = 120; | ||||
|             font_family = "JetBrains Mono Nerd Font Mono ExtraBold"; | ||||
|             position = "0, -300"; | ||||
|             halign = "center"; | ||||
|             valign = "top"; | ||||
|           } | ||||
|         ]; | ||||
|       }; | ||||
|     }; | ||||
|  | ||||
|     wayland.windowManager.hyprland = { | ||||
|       enable = true; | ||||
|       package = pkgs.hyprland; | ||||
| @@ -116,6 +46,9 @@ | ||||
|  | ||||
|         decoration = { | ||||
|           rounding = 10; | ||||
|           drop_shadow = true; | ||||
|           shadow_range = 4; | ||||
|           shadow_render_power = 3; | ||||
|           blur = { | ||||
|             enabled = true; | ||||
|             size = 3; | ||||
| @@ -166,12 +99,13 @@ | ||||
|           "special:special, on-created-empty:kitty, rounding:true, decorate:false, border:false" | ||||
|         ]; | ||||
|  | ||||
|         bindm = [ | ||||
|           "$mainMod,mouse:272,movewindow" | ||||
|           "$shiftMainMod,mouse:272,resizewindow" | ||||
|         ]; | ||||
|         bindm = [ "ALT,mouse:272,movewindow" ]; | ||||
|  | ||||
|         bindr = [ | ||||
|           # mumble ptt release | ||||
|           # ",code:202,exec,mumble rpc stoptalking" | ||||
|           # ",code:202,exec,pamixer --source 63 -m" | ||||
|           # ",code:202,exec,sleep 0.5 && pamixer --default-source -m" | ||||
|         ]; | ||||
|  | ||||
|         bind = [ | ||||
| @@ -183,7 +117,7 @@ | ||||
|           "$mainMod,P,exec,rofi-rbw" | ||||
|  | ||||
|           # hyprlock | ||||
|           "$shiftMainMod,l,exec,${pkgs.hyprlock}/bin/hyprlock" | ||||
|           "$shiftMainMod,l,exec,lockhelper" | ||||
|  | ||||
|           # hyprland | ||||
|           "$mainMod,Q,killactive," | ||||
| @@ -206,6 +140,12 @@ | ||||
|           # Force opacity | ||||
|           "$shiftMainMod,o,exec, hl-no-opacity" | ||||
|  | ||||
|           # mumble ptt click | ||||
|           # ",code:202,exec,mumble rpc starttalking" | ||||
|           #",code:202,pass,^(info\.mumble\.Mumble)$" | ||||
|           # ",code:202,exec,pamixer --default-source -u" | ||||
|           # ",code:202,pass,^discord$" | ||||
|  | ||||
|           # worspace switching | ||||
|           "$mainMod,1,workspace,1" | ||||
|           "$mainMod,2,workspace,2" | ||||
| @@ -220,6 +160,10 @@ | ||||
|         ]; | ||||
|  | ||||
|         exec-once = [ | ||||
|           "waybar" | ||||
|           "hyprpaper & sleep 2 && randomwp" | ||||
|           "hypridle" | ||||
|           # "dunst" | ||||
|         ]; | ||||
|       }; | ||||
|     }; | ||||
|   | ||||
| @@ -6,7 +6,6 @@ from datetime import datetime, date, timedelta | ||||
|  | ||||
| SECRET_DIR = "/home/torjus/.config/sops-nix/secrets" | ||||
|  | ||||
|  | ||||
| def sonarr_url(): | ||||
|     xdg_dir = os.environ["XDG_RUNTIME_DIR"] | ||||
|     if not xdg_dir: | ||||
| @@ -14,31 +13,26 @@ def sonarr_url(): | ||||
|     with open(f"{SECRET_DIR}/sonarr_base_url") as f: | ||||
|         return f.read().strip() | ||||
|  | ||||
|  | ||||
| def radarr_url(): | ||||
|     with open(f"{SECRET_DIR}/radarr_base_url") as f: | ||||
|         return f.read().strip() | ||||
|  | ||||
|  | ||||
| def make_header(api_key: str): | ||||
|     return {"X-Api-Key": api_key, "Accept": "application/json"} | ||||
|  | ||||
|  | ||||
| def get_sonarr_key(): | ||||
|     with open(f"{SECRET_DIR}/sonarr_api_key") as f: | ||||
|         return f.read().strip() | ||||
|  | ||||
|  | ||||
| def get_radarr_key(): | ||||
|     with open(f"{SECRET_DIR}/radarr_api_key") as f: | ||||
|         return f.read().strip() | ||||
|  | ||||
|  | ||||
| def get_sonarr_history(since: datetime|None=None): | ||||
|     api_key = get_sonarr_key() | ||||
|     if not since: | ||||
|         since = datetime.combine(date.today()-timedelta(days=1),datetime.min.time()) | ||||
|     url = f"{sonarr_url()}/api/v3/history/since" | ||||
|     url = f"{sonarr_url()}/api/history/since" | ||||
|     url += f"?date={since.isoformat()}" | ||||
|     response = requests.get(url, headers=make_header(api_key)) | ||||
|     response.raise_for_status() | ||||
| @@ -50,7 +44,6 @@ def get_sonarr_history(since: datetime | None = None): | ||||
|             items.append(item["sourceTitle"]) | ||||
|     return items | ||||
|  | ||||
|  | ||||
| def get_radarr_history(since: datetime|None=None): | ||||
|     api_key = get_radarr_key() | ||||
|     if not since: | ||||
| @@ -67,17 +60,12 @@ def get_radarr_history(since: datetime | None = None): | ||||
|             items.append(item["sourceTitle"]) | ||||
|     return items | ||||
|  | ||||
|  | ||||
| if __name__ == "__main__": | ||||
|     sonarr_items = get_sonarr_history() | ||||
|     radarr_items = get_radarr_history() | ||||
|  | ||||
|     output = { | ||||
|         "text": f"Son: {len(sonarr_items)}|Rad: {len(radarr_items)}", | ||||
|         "tooltip": "Radarr: \n" | ||||
|         + "\n".join(radarr_items) | ||||
|         + "\n" | ||||
|         + "Sonarr: \n" | ||||
|         + "\n".join(sonarr_items), | ||||
|         "tooltip": "Radarr: \n" + "\n".join(radarr_items) + "\n" + "Sonarr: \n" + "\n".join(sonarr_items) | ||||
|     } | ||||
|     print(json.dumps(output)) | ||||
|   | ||||
| @@ -45,7 +45,7 @@ in | ||||
|   programs.waybar = { | ||||
|     enable = true; | ||||
|     systemd = { | ||||
|       enable = true; # disable it,autostart it in hyprland conf | ||||
|       enable = false; # disable it,autostart it in hyprland conf | ||||
|       target = "graphical-session.target"; | ||||
|     }; | ||||
|     style = '' | ||||
|   | ||||
| @@ -27,6 +27,7 @@ | ||||
|           ./programs/obs-studio | ||||
|           ./programs/vscode | ||||
|           ./programs/pywal | ||||
|           ./programs/zellij | ||||
|           ./scripts | ||||
|           ./scripts/batlvl.nix | ||||
|           ./zsh | ||||
|   | ||||
| @@ -5,14 +5,13 @@ in | ||||
| { | ||||
|   imports = [ | ||||
|     ./zoom.nix | ||||
|     ./tacl.nix | ||||
|   ]; | ||||
|   home.packages = with pkgs; [ | ||||
|     # CLI utils | ||||
|     act | ||||
|     age | ||||
|     bat | ||||
|     bzip2 | ||||
|     chromium | ||||
|     croc | ||||
|     devenv | ||||
|     distrobox | ||||
| @@ -23,8 +22,10 @@ in | ||||
|     ffmpeg | ||||
|     file | ||||
|     fzf | ||||
|     glib | ||||
|     grimblast | ||||
|     ijq | ||||
|     incus | ||||
|     jq | ||||
|     kitty | ||||
|     kubectl | ||||
| @@ -36,19 +37,19 @@ in | ||||
|     nwg-look | ||||
|     most | ||||
|     pinentry | ||||
|     pre-commit | ||||
|     pulseaudio | ||||
|     pulsemixer | ||||
|     rbw | ||||
|     restic | ||||
|     ripgrep | ||||
|     sidequest | ||||
|     sops | ||||
|     sshfs | ||||
|     step-cli | ||||
|     tea | ||||
|     tldr | ||||
|     tokei | ||||
|     unzip | ||||
|     ventoy | ||||
|     wtype | ||||
|  | ||||
|     # Non-CLI stuff | ||||
| @@ -59,18 +60,30 @@ in | ||||
|     mpv | ||||
|     mumble | ||||
|     pamixer | ||||
|     pwvucontrol | ||||
|     prismlauncher | ||||
|     rofi-rbw-wayland | ||||
|     spicetify-cli | ||||
|     spotify | ||||
|     virt-manager | ||||
|     # omnissa-horizon-client | ||||
|     vmware-horizon-client | ||||
|     yt-dlp | ||||
|  | ||||
|     # k8s tools | ||||
|     cilium-cli | ||||
|     cmctl | ||||
|     k9s | ||||
|     krew | ||||
|     kubernetes-helm | ||||
|     talosctl | ||||
|  | ||||
|     # Go stuff | ||||
|     go | ||||
|     gopls | ||||
|     delve | ||||
|     gopls | ||||
|  | ||||
|     # js/ts | ||||
|     nodejs | ||||
|     nodePackages.pnpm | ||||
|     typescript | ||||
|  | ||||
|     # Py stuff | ||||
|     (python312.withPackages ( | ||||
| @@ -79,7 +92,7 @@ in | ||||
|         ipython | ||||
|       ] | ||||
|     )) | ||||
|     uv | ||||
|     poetry | ||||
|     ruff | ||||
|  | ||||
|     # rust stuff | ||||
| @@ -93,20 +106,13 @@ in | ||||
|     nixprstatus | ||||
|  | ||||
|     # Stuff with overrides | ||||
|     # Btop | ||||
|     (btop.override { cudaSupport = withCuda; }) | ||||
|     # PrismLauncher | ||||
|     prismlauncher | ||||
|  | ||||
|     # Extract logcli from grafana-loki | ||||
|     (pkgs.linkFarm "logcli" [ | ||||
|       { | ||||
|         name = "bin/logcli"; | ||||
|         path = "${pkgs.grafana-loki}/bin/logcli"; | ||||
|       } | ||||
|     ]) | ||||
|     (lutris.override { | ||||
|       extraLibraries = pkgs: [ | ||||
|         nspr | ||||
|         xorg.libXdamage | ||||
|       ]; | ||||
|     }) | ||||
|     # From nix-packages flake | ||||
|     path-of-building-beta | ||||
|     awakened-poe-trade | ||||
|   ]; | ||||
| } | ||||
|   | ||||
| @@ -1,30 +0,0 @@ | ||||
| { pkgs, ... }: | ||||
| { | ||||
|   home.packages = [ | ||||
|     (pkgs.python3Packages.buildPythonApplication rec { | ||||
|       pname = "tacl"; | ||||
|       version = "3.9.0"; | ||||
|       pyproject = true; | ||||
|  | ||||
|       src = pkgs.fetchFromGitHub { | ||||
|         owner = "unioslo"; | ||||
|         repo = "tsd-api-client"; | ||||
|         rev = "v${version}"; | ||||
|         sha256 = "sha256-R8fSAhpdjspIoLy3m6NnHZBCBTSLQGWOqAiDkBZlWOc="; | ||||
|       }; | ||||
|  | ||||
|       build-system = with pkgs.python3Packages; [ | ||||
|         poetry-core | ||||
|         poetry-dynamic-versioning | ||||
|       ]; | ||||
|       dependencies = with pkgs.python3Packages; [ | ||||
|         pyyaml | ||||
|         click | ||||
|         humanfriendly | ||||
|         libnacl | ||||
|         requests | ||||
|         rich | ||||
|       ]; | ||||
|     }) | ||||
|   ]; | ||||
| } | ||||
| @@ -1,108 +0,0 @@ | ||||
| { | ||||
|   lib, | ||||
|   stdenv, | ||||
|   fetchurl, | ||||
|   makeWrapper, | ||||
|   makeDesktopItem, | ||||
|   copyDesktopItems, | ||||
|   xorg, | ||||
|   gtk2, | ||||
|   sqlite, | ||||
|   openal, | ||||
|   cairo, | ||||
|   libGLU, | ||||
|   SDL2, | ||||
|   freealut, | ||||
|   libglvnd, | ||||
|   pipewire, | ||||
|   libpulseaudio, | ||||
|   dotnet-runtime_8, | ||||
| }: | ||||
|  | ||||
| stdenv.mkDerivation rec { | ||||
|   pname = "vintagestory"; | ||||
|   version = "1.20.0-rc.8"; | ||||
|  | ||||
|   src = fetchurl { | ||||
|     url = "https://cdn.vintagestory.at/gamefiles/unstable/vs_client_linux-x64_${version}.tar.gz"; | ||||
|     hash = "sha256-/MPR6PAkZv93zT6YbJatg67aRYfzp9vFRY82gtVksAs="; | ||||
|   }; | ||||
|  | ||||
|   nativeBuildInputs = [ | ||||
|     makeWrapper | ||||
|     copyDesktopItems | ||||
|   ]; | ||||
|  | ||||
|   buildInputs = [ dotnet-runtime_8 ]; | ||||
|  | ||||
|   runtimeLibs = lib.makeLibraryPath ( | ||||
|     [ | ||||
|       gtk2 | ||||
|       sqlite | ||||
|       openal | ||||
|       cairo | ||||
|       libGLU | ||||
|       SDL2 | ||||
|       freealut | ||||
|       libglvnd | ||||
|       pipewire | ||||
|       libpulseaudio | ||||
|     ] | ||||
|     ++ (with xorg; [ | ||||
|       libX11 | ||||
|       libXi | ||||
|       libXcursor | ||||
|     ]) | ||||
|   ); | ||||
|  | ||||
|   desktopItems = [ | ||||
|     (makeDesktopItem { | ||||
|       name = "vintagestory"; | ||||
|       desktopName = "Vintage Story"; | ||||
|       exec = "vintagestory"; | ||||
|       icon = "vintagestory"; | ||||
|       comment = "Innovate and explore in a sandbox world"; | ||||
|       categories = [ "Game" ]; | ||||
|     }) | ||||
|   ]; | ||||
|  | ||||
|   installPhase = '' | ||||
|     runHook preInstall | ||||
|  | ||||
|     mkdir -p $out/share/vintagestory $out/bin $out/share/pixmaps $out/share/fonts/truetype | ||||
|     cp -r * $out/share/vintagestory | ||||
|     cp $out/share/vintagestory/assets/gameicon.xpm $out/share/pixmaps/vintagestory.xpm | ||||
|     cp $out/share/vintagestory/assets/game/fonts/*.ttf $out/share/fonts/truetype | ||||
|  | ||||
|     runHook postInstall | ||||
|   ''; | ||||
|  | ||||
|   preFixup = | ||||
|     '' | ||||
|       sed -i 's/net7.0/net8.0/' $out/share/vintagestory/Vintagestory.runtimeconfig.json | ||||
|       sed -i 's/7.0.0/8.0.11/' $out/share/vintagestory/Vintagestory.runtimeconfig.json | ||||
|  | ||||
|       makeWrapper ${dotnet-runtime_8}/bin/dotnet $out/bin/vintagestory \ | ||||
|         --prefix LD_LIBRARY_PATH : "${runtimeLibs}" \ | ||||
|         --add-flags $out/share/vintagestory/Vintagestory.dll | ||||
|       makeWrapper ${dotnet-runtime_8}/bin/dotnet $out/bin/vintagestory-server \ | ||||
|         --prefix LD_LIBRARY_PATH : "${runtimeLibs}" \ | ||||
|         --add-flags $out/share/vintagestory/VintagestoryServer.dll | ||||
|     '' | ||||
|     + '' | ||||
|       find "$out/share/vintagestory/assets/" -not -path "*/fonts/*" -regex ".*/.*[A-Z].*" | while read -r file; do | ||||
|         local filename="$(basename -- "$file")" | ||||
|         ln -sf "$filename" "''${file%/*}"/"''${filename,,}" | ||||
|       done | ||||
|     ''; | ||||
|  | ||||
|   meta = with lib; { | ||||
|     description = "In-development indie sandbox game about innovation and exploration"; | ||||
|     homepage = "https://www.vintagestory.at/"; | ||||
|     license = licenses.unfree; | ||||
|     maintainers = with maintainers; [ | ||||
|       artturin | ||||
|       gigglesquid | ||||
|     ]; | ||||
|   }; | ||||
| } | ||||
| @@ -1,17 +1,16 @@ | ||||
| { pkgs, lib, ... }: | ||||
| # let | ||||
| #   version = "6.2.6.2503"; | ||||
| #   zoom-override = pkgs.zoom-us.overrideAttrs (old: { | ||||
| #     inherit version; | ||||
| #     src = pkgs.fetchurl { | ||||
| #       url = "https://zoom.us/client/${version}/zoom_x86_64.pkg.tar.xz"; | ||||
| #       hash = "sha256-qhymegXkXSl9fK/5klSi5uRPwFVN88QH/5EVGaBUbfc="; | ||||
| #     }; | ||||
| #   }); | ||||
| # in | ||||
| let | ||||
|   version = "6.2.6.2503"; | ||||
|   zoom-override = pkgs.zoom-us.overrideAttrs (old: { | ||||
|     inherit version; | ||||
|     src = pkgs.fetchurl { | ||||
|       url = "https://zoom.us/client/${version}/zoom_x86_64.pkg.tar.xz"; | ||||
|       hash = "sha256-qhymegXkXSl9fK/5klSi5uRPwFVN88QH/5EVGaBUbfc="; | ||||
|     }; | ||||
|   }); | ||||
| in | ||||
| { | ||||
|   home.packages = [ | ||||
|     pkgs.zoom-us | ||||
|     #(lib.warn "Using overridden zoom version" zoom-override) | ||||
|     (lib.warn "Using overridden zoom version" zoom-override) | ||||
|   ]; | ||||
| } | ||||
|   | ||||
| @@ -1,4 +1,6 @@ | ||||
| { | ||||
|   config, | ||||
|   lib, | ||||
|   pkgs, | ||||
|   ... | ||||
| }: | ||||
| @@ -12,12 +14,13 @@ | ||||
|     }; | ||||
|     settings = { | ||||
|       global = { | ||||
|         rounded = "yes"; | ||||
|         origin = "top-right"; | ||||
|         monitor = "4"; | ||||
|         alignment = "left"; | ||||
|         vertical_alignment = "center"; | ||||
|         width = "(0, 400)"; | ||||
|         height = "(0, 400)"; | ||||
|         width = "400"; | ||||
|         height = "400"; | ||||
|         scale = 0; | ||||
|         gap_size = 0; | ||||
|         progress_bar = true; | ||||
| @@ -41,7 +44,7 @@ | ||||
|         format = "<b>%s</b>\\n%b"; # format = "<span foreground='#f3f4f5'><b>%s %p</b></span>\n%b" | ||||
|         frame_color = "#232323"; | ||||
|         frame_width = 1; | ||||
|         offset = "(15, 15)"; | ||||
|         offset = "15x15"; | ||||
|         horizontal_padding = 10; | ||||
|         icon_position = "left"; | ||||
|         indicate_hidden = "yes"; | ||||
| @@ -51,6 +54,7 @@ | ||||
|         mouse_middle_click = "close_current"; | ||||
|         mouse_right_click = "close_all"; | ||||
|         padding = 10; | ||||
|         plain_text = "no"; | ||||
|         separator_height = 2; | ||||
|         show_indicators = "yes"; | ||||
|         shrink = "no"; | ||||
|   | ||||
| @@ -7,7 +7,11 @@ | ||||
| let | ||||
|   withCuda = osConfig.system.name == "gunter"; | ||||
|  | ||||
|   onnxruntime-gpu = (pkgs.onnxruntime.override { cudaSupport = withCuda; }); | ||||
|   onnxruntime-gpu = (pkgs.onnxruntime.override { cudaSupport = withCuda; }).overrideAttrs (old: { | ||||
|     # TODO: Remove when fixed in nixpkgs | ||||
|     # https://github.com/NixOS/nixpkgs/blob/nixos-unstable/pkgs/development/libraries/onnxruntime/default.nix#L154 | ||||
|     buildInputs = old.buildInputs ++ [ pkgs.cudaPackages.nccl ]; | ||||
|   }); | ||||
|  | ||||
|   obs-backgrounremoval-gpu = ( | ||||
|     (pkgs.obs-studio-plugins.obs-backgroundremoval.override { onnxruntime = onnxruntime-gpu; }) | ||||
| @@ -31,9 +35,6 @@ in | ||||
| { | ||||
|   programs.obs-studio = { | ||||
|     enable = true; | ||||
|     package = pkgs.obs-studio.override { | ||||
|       cudaSupport = withCuda; | ||||
|     }; | ||||
|     plugins = | ||||
|       with pkgs.obs-studio-plugins; | ||||
|       [ | ||||
|   | ||||
| @@ -2,29 +2,19 @@ | ||||
| { | ||||
|   programs.vscode = { | ||||
|     enable = true; | ||||
|     profiles.default = { | ||||
|     enableUpdateCheck = true; | ||||
|     enableExtensionUpdateCheck = true; | ||||
|       userSettings = { | ||||
|         "window.titleBarStyle" = "custom"; | ||||
|         "rust-analyzer.testExplorer" = true; | ||||
|         "rust-analyzer.restartServerOnConfigChange" = true; | ||||
|         "direnv.restart.automatic" = true; | ||||
|       }; | ||||
|     extensions = with pkgs.vscode-extensions; [ | ||||
|         bbenoist.nix | ||||
|       catppuccin.catppuccin-vsc | ||||
|       catppuccin.catppuccin-vsc-icons | ||||
|         github.copilot | ||||
|         github.copilot-chat | ||||
|       golang.go | ||||
|         mkhl.direnv | ||||
|       vscodevim.vim | ||||
|       ms-python.python | ||||
|       ms-vscode-remote.remote-ssh | ||||
|         rooveterinaryinc.roo-cline | ||||
|         rust-lang.rust-analyzer | ||||
|         vscodevim.vim | ||||
|       bbenoist.nix | ||||
|     ]; | ||||
|     userSettings = { | ||||
|       "window.titleBarStyle" = "custom"; | ||||
|     }; | ||||
|   }; | ||||
| } | ||||
|   | ||||
| @@ -1,8 +1,6 @@ | ||||
| { pkgs, config, ... }: | ||||
| { | ||||
|   imports = [ | ||||
|     ./noita-helper.nix | ||||
|   ]; | ||||
|   imports = [ ./lockhelper.nix ]; | ||||
|   home.file.".local/bin/hl-no-opacity" = { | ||||
|     source = ./hl-no-opacity.sh; | ||||
|     executable = true; | ||||
|   | ||||
| @@ -1,21 +1,14 @@ | ||||
| { | ||||
|   writeShellApplication, | ||||
|   grim, | ||||
|   jq, | ||||
|   gawk, | ||||
|   hyprland, | ||||
|   hyprlock, | ||||
|   procps, | ||||
| }: | ||||
| writeShellApplication { | ||||
| { pkgs, ... }: | ||||
| let | ||||
|   lockhelper = pkgs.writeShellApplication { | ||||
|     name = "lockhelper"; | ||||
|   runtimeInputs = [ | ||||
|     runtimeInputs = with pkgs; [ | ||||
|       grim | ||||
|       jq | ||||
|     gawk | ||||
|     hyprland | ||||
|     hyprlock | ||||
|     procps | ||||
|     ]; | ||||
|     text = (builtins.readFile ./lockhelper.sh); | ||||
|   }; | ||||
| in | ||||
| { | ||||
|   home.packages = [ lockhelper ]; | ||||
| } | ||||
|   | ||||
| @@ -3,14 +3,11 @@ set -eo pipefail | ||||
|  | ||||
| mkdir -p /tmp/lockscreen || true | ||||
|  | ||||
| monitor_lines=$(hyprctl monitors -j | jq -r '.[] | select (.name | contains ("DP")) | [.name, .description]| @tsv') | ||||
| monitors=$(hyprctl monitors -j | jq -r '.[] | select( .name | contains ("DP")) | .name') | ||||
|  | ||||
| while IFS= read -r m; do | ||||
|     name=$(echo "$m" | awk -F $'\t' '{print $1}') | ||||
|     sum=$(echo "$m" | awk -F $'\t' '{printf $2}' | sha256sum | awk '{print substr($1,1,8)}') | ||||
|  | ||||
|     grim -o "$name" "/tmp/lockscreen/$sum.png" || true | ||||
| done <<< "$monitor_lines" | ||||
|     grim -o "$m" "/tmp/lockscreen/$m.png" || true | ||||
| done <<< "$monitors" | ||||
|  | ||||
| # Only lock if not already running | ||||
| if [ -z "$(pgrep hyprlock)" ]  | ||||
|   | ||||
| @@ -1,14 +0,0 @@ | ||||
| { pkgs, ... }: | ||||
| let | ||||
|   noita-helper = pkgs.writeShellApplication { | ||||
|     name = "noita-helper"; | ||||
|     runtimeInputs = with pkgs; [ | ||||
|       grim | ||||
|       jq | ||||
|     ]; | ||||
|     text = (builtins.readFile ./noita-helper.sh); | ||||
|   }; | ||||
| in | ||||
| { | ||||
|   home.packages = [ noita-helper ]; | ||||
| } | ||||
| @@ -1,50 +0,0 @@ | ||||
| #!/usr/bin/env bash | ||||
|  | ||||
| SAVE_DIR="/home/torjus/.local/share/Steam/steamapps/compatdata/881100/pfx/drive_c/users/steamuser/AppData/LocalLow/Nolla_Games_Noita" | ||||
|  | ||||
| RESTIC_REPOSITORY="/home/$(whoami)/tmp/noita-backup" | ||||
| export RESTIC_REPOSITORY | ||||
| export RESTIC_PASSWORD="noita" | ||||
|  | ||||
| function start { | ||||
|     echo "Doing initial backup" | ||||
|     restic backup -q "$SAVE_DIR" | ||||
|     echo "Backup done" | ||||
|  | ||||
|     echo "Mounting tmpfs for save folder..." | ||||
|     sudo mount -o size=2G,noswap -t tmpfs none "$SAVE_DIR" | ||||
|  | ||||
|     echo "Restoring initial backup..." | ||||
|     restic restore "latest:$SAVE_DIR" --target "$SAVE_DIR" | ||||
|  | ||||
|     echo "Ready to play Noita!" | ||||
|     echo "Remember to run $0 stop when done." | ||||
|  | ||||
|     while true | ||||
|     do | ||||
|         restic backup -q "$SAVE_DIR" | ||||
|         echo "Periodic backup done..." | ||||
|         sleep 10m | ||||
|     done | ||||
| } | ||||
|  | ||||
| function stop { | ||||
|     restic backup -q $SAVE_DIR | ||||
|     sudo umount $SAVE_DIR | ||||
|     restic restore latest:$SAVE_DIR --target $SAVE_DIR | ||||
|     echo "Backup and unmount done..." | ||||
| } | ||||
|  | ||||
| if [ "$#" -ne 1 ]; then | ||||
|     echo "Usage: $0 {start|stop}" | ||||
|     exit 1 | ||||
| fi | ||||
|  | ||||
| if [ "$1" == "start" ]; then | ||||
|     start | ||||
| elif [ "$1" == "stop" ]; then | ||||
|     stop | ||||
| else | ||||
|     echo "Usage: $0 {start|stop}" | ||||
|     exit 1 | ||||
| fi | ||||
| @@ -26,6 +26,11 @@ if [ -z "$wallpaper_path" ]; then | ||||
|     exit 1 | ||||
| fi | ||||
|  | ||||
| if ! command -v hyprpaper &> /dev/null; then | ||||
|     echo "Could not find hyprpaper command" | ||||
|     exit 1 | ||||
| fi | ||||
|  | ||||
| echo "setting $wallpaper_path as wallpaper" | ||||
| hyprctl hyprpaper unload all | ||||
| hyprctl hyprpaper preload "$wallpaper_path" | ||||
|   | ||||
| @@ -44,7 +44,6 @@ let | ||||
|           --exclude '/home/torjus/.npm' \ | ||||
|           --exclude '/home/torjus/.factorio/mods' \ | ||||
|           --exclude '/home/torjus/.zoom' \ | ||||
|           --exclude '/home/torjus/Games' \ | ||||
|           --exclude '/home/torjus/git/nixpkgs' | ||||
|       retval=$? | ||||
|       if [ $retval -ne 0 ]; then | ||||
|   | ||||
| @@ -1,21 +0,0 @@ | ||||
| { pkgs, config, ... }: | ||||
| { | ||||
|   sops.secrets."nats_nkey" = { }; | ||||
|   systemd.user.services.natstonotify = { | ||||
|     Unit = { | ||||
|       Description = "Run natstonotify"; | ||||
|       After = [ "sops-nix.service" ]; | ||||
|     }; | ||||
|     Service = { | ||||
|       Environment = [ | ||||
|         "NATS_URL=nats://nats1.home.2rjus.net:4222" | ||||
|         "NATS_NKEY_FILE=${config.sops.secrets.nats_nkey.path}" | ||||
|       ]; | ||||
|       Type = "simple"; | ||||
|       ExecStart = "${pkgs.natstonotify}/bin/natstonotify server"; | ||||
|     }; | ||||
|     Install = { | ||||
|       WantedBy = [ "graphical-session.target" ]; | ||||
|     }; | ||||
|   }; | ||||
| } | ||||
| @@ -18,35 +18,27 @@ in | ||||
| { | ||||
|   programs.ssh = { | ||||
|     enable = true; | ||||
|     enableDefaultConfig = false; | ||||
|     controlMaster = "auto"; | ||||
|  | ||||
|     matchBlocks = { | ||||
|       "bmo.uio.no-on-eduroam" = ( | ||||
|         lib.mkIf (osConfig.system.name == "magicman") ( | ||||
|           lib.hm.dag.entryBefore [ "bmo.uio.no" "*" ] { | ||||
|           lib.hm.dag.entryBefore [ "bmo.uio.no" ] { | ||||
|             match = "host bmo.uio.no exec \"nmcli -g GENERAL.STATE c s eduroam|grep -q -E '\\bactiv'\""; | ||||
|             hostname = "bmo.uio.no"; | ||||
|             forwardAgent = false; | ||||
|             serverAliveInterval = 30; | ||||
|             controlMaster = "auto"; | ||||
|           } | ||||
|         ) | ||||
|       ); | ||||
|  | ||||
|       "bmo.uio.no" = lib.hm.dag.entryBefore [ "*" ] { | ||||
|       "bmo.uio.no" = { | ||||
|         setEnv = { | ||||
|           # TERM = "xterm-256color"; | ||||
|         }; | ||||
|         hostname = "bmo.uio.no"; | ||||
|         forwardAgent = false; | ||||
|         proxyJump = "torjus@rlogin.uio.no"; | ||||
|         serverAliveInterval = 30; | ||||
|         controlMaster = "auto"; | ||||
|       }; | ||||
|  | ||||
|       "*" = { | ||||
|         serverAliveInterval = 30; | ||||
|         controlMaster = "auto"; | ||||
|       }; | ||||
|     }; | ||||
|   }; | ||||
|  | ||||
|   services.ssh-agent.enable = true; | ||||
| } | ||||
|   | ||||
| @@ -24,7 +24,7 @@ | ||||
|       nrebuild = "sudo nixos-rebuild switch --flake /home/${user}/nixos"; | ||||
|       ndiffbuild = "sudo nixos-rebuild build --flake /home/${user}/nixos && nvd diff /run/current-system /home/${user}/nixos/result"; | ||||
|     }; | ||||
|     initContent = '' | ||||
|     initExtra = '' | ||||
|       bindkey -v | ||||
|       bindkey '^R' history-incremental-search-backward | ||||
|  | ||||
| @@ -33,8 +33,6 @@ | ||||
|       promptinit | ||||
|       prompt pure | ||||
|       export PATH="''${KREW_ROOT:-$HOME/.krew}/bin:$PATH" | ||||
|       export MANPAGER="nvim +Man!" | ||||
|       export LOKI_ADDR="http://monitoring01:3100" | ||||
|  | ||||
|       # Aliases | ||||
|       alias ls=eza | ||||
|   | ||||
| @@ -1,4 +0,0 @@ | ||||
| { pkgs, ... }: | ||||
| { | ||||
|   programs.alvr.enable = true; | ||||
| } | ||||
| @@ -9,7 +9,7 @@ | ||||
| { | ||||
|   imports = [ | ||||
|     ./hardware-configuration.nix | ||||
|     ../../system/monitoring | ||||
|     ../../system/monitoring.nix | ||||
|   ]; | ||||
|  | ||||
|   # Sops stuff | ||||
| @@ -24,8 +24,9 @@ | ||||
|   # Bootloader stuff | ||||
|   boot = { | ||||
|     # Kernel stuff | ||||
|     # kernelPackages = pkgs.linuxPackages_xanmod_latest; | ||||
|     kernelPackages = pkgs.linuxPackages_latest; | ||||
|     # kernelPackages = lib.warn "Pinned to kernel 6.14 due to nvidia issues" pkgs.linuxPackages_6_14; | ||||
|     # kernelPackages = lib.warn "Pinned to kernel 6.10 due to nvidia fbdev trouble!" pkgs.linuxPackages_6_10; | ||||
|     kernelParams = [ | ||||
|       "quiet" | ||||
|       "splash" | ||||
| @@ -53,9 +54,6 @@ | ||||
|   networking.nftables.enable = true; | ||||
|   networking.firewall = { | ||||
|     enable = true; | ||||
|     allowedTCPPorts = [ | ||||
|       8989 | ||||
|     ]; | ||||
|   }; | ||||
|  | ||||
|   # Set time stuff | ||||
| @@ -97,13 +95,14 @@ | ||||
|   #     }; | ||||
|   #   }) | ||||
|   # ]; | ||||
|   services.displayManager.gdm.wayland = true; | ||||
|  | ||||
|   services.xserver.enable = true; | ||||
|   services.xserver.videoDrivers = [ "nvidia" ]; | ||||
|   services.xserver.displayManager.gdm.wayland = true; | ||||
|   services.xserver.displayManager.lightdm.enable = false; | ||||
|   services.xserver.displayManager.startx.enable = true; | ||||
|   services.xserver.windowManager.i3.enable = true; | ||||
|   programs.hyprland = { | ||||
|     enable = true; | ||||
|     withUWSM = true; | ||||
|     xwayland.enable = true; | ||||
|     portalPackage = pkgs.xdg-desktop-portal-hyprland; | ||||
|   }; | ||||
| @@ -141,19 +140,8 @@ | ||||
|       "root" | ||||
|       "torjus" | ||||
|     ]; | ||||
|     trusted-substituters = [ | ||||
|       "https://nix-cache.home.2rjus.net" | ||||
|       "https://cache.nixos.org" | ||||
|       "https://cuda-maintainers.cachix.org" | ||||
|     ]; | ||||
|     substituters = [ | ||||
|       "https://nix-cache.home.2rjus.net" | ||||
|       "https://cache.nixos.org" | ||||
|       "https://cuda-maintainers.cachix.org" | ||||
|     ]; | ||||
|     substituters = [ "https://cuda-maintainers.cachix.org" ]; | ||||
|     trusted-public-keys = [ | ||||
|       "nix-cache.home.2rjus.net-1:2kowZOG6pvhoK4AHVO3alBlvcghH20wchzoR0V86UWI=" | ||||
|       "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" | ||||
|       "cuda-maintainers.cachix.org-1:0dq3bujKpuEPMCX6U4WylrUDZ9JyUG0VpVZa7CNfq5E=" | ||||
|     ]; | ||||
|   }; | ||||
| @@ -178,7 +166,6 @@ | ||||
|     # xorg.xf86inputlibinput | ||||
|     # xorg.xinit | ||||
|   ]; | ||||
|   services.udev.packages = [ pkgs.android-udev-rules ]; | ||||
|  | ||||
|   # Do NOT change this value unless you have manually inspected all the changes it would make to your configuration, | ||||
|   # and migrated your data accordingly. | ||||
|   | ||||
| @@ -12,8 +12,6 @@ | ||||
|     ./nfs.nix | ||||
|     ./ollama.nix | ||||
|     ./streamdeck.nix | ||||
|     ./alvr.nix | ||||
|     ./ratbagd.nix | ||||
|     ../../system | ||||
|     ../../home/gunter.nix | ||||
|   ]; | ||||
|   | ||||
| @@ -25,9 +25,7 @@ | ||||
|     "kvm-amd" | ||||
|     "v4l2loopback" | ||||
|   ]; | ||||
|   boot.extraModulePackages = with config.boot.kernelPackages; [ | ||||
|     v4l2loopback | ||||
|   ]; | ||||
|   boot.extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback ]; | ||||
|  | ||||
|   fileSystems."/" = { | ||||
|     device = "/dev/disk/by-uuid/a7d4b697-fffa-4bcb-9dd7-cbbd6121a50c"; | ||||
|   | ||||
| @@ -1,20 +0,0 @@ | ||||
| { ... }: | ||||
| { | ||||
|   services.hostapd = { | ||||
|     enable = true; | ||||
|     radios = { | ||||
|       wlp13s0 = { | ||||
|         countryCode = "NO"; | ||||
|         wifi6.enable = true; | ||||
|         networks.wlp13s0 = { | ||||
|           ssid = "TESTLOL"; | ||||
|           band = "5g"; | ||||
|           authentication = { | ||||
|             wpaPassword = "lol passord"; | ||||
|             mode = "wpa2-sha256"; | ||||
|           }; | ||||
|         }; | ||||
|       }; | ||||
|     }; | ||||
|   }; | ||||
| } | ||||
| @@ -6,11 +6,7 @@ | ||||
|   }; | ||||
|   services.open-webui = { | ||||
|     enable = true; | ||||
|     package = pkgs.stable.open-webui; | ||||
|     # enable = lib.warn "Open WebUI is disabled" false; | ||||
|     environment = { | ||||
|       VECTOR_DB = "pgvector"; | ||||
|       PGVECTOR_DB_URL = "postgresql://openwebui:openwebui@pgdb1.home.2rjus.net:5432/openwebui"; | ||||
|       DO_NOT_TRACK = "True"; | ||||
|       SCARF_NO_ANALYTICS = "True"; | ||||
|       OLLAMA_API_BASE_URL = "http://127.0.0.1:11434"; | ||||
| @@ -18,8 +14,4 @@ | ||||
|     }; | ||||
|     port = 11444; | ||||
|   }; | ||||
|  | ||||
|   # Ensure networking is ok before starting | ||||
|   systemd.services.open-webui.after = [ "network-online.target" ]; | ||||
|   systemd.services.open-webui.wants = [ "network-online.target" ]; | ||||
| } | ||||
|   | ||||
| @@ -1,5 +0,0 @@ | ||||
| { pkgs, ... }: | ||||
| { | ||||
|   services.ratbagd.enable = true; | ||||
|   environment.systemPackages = with pkgs; [ piper ]; | ||||
| } | ||||
| @@ -1,4 +1,4 @@ | ||||
| { pkgs, ... }: | ||||
| { | ||||
|   programs.streamcontroller.enable = pkgs.lib.warn "streamcontroller broken due to textual" false; | ||||
|   programs.streamcontroller.enable = true; | ||||
| } | ||||
|   | ||||
| @@ -1,4 +1,6 @@ | ||||
| { | ||||
|   config, | ||||
|   lib, | ||||
|   pkgs, | ||||
|   ... | ||||
| }: | ||||
| @@ -22,7 +24,6 @@ | ||||
|     enable = true; | ||||
|     configurationLimit = 3; | ||||
|   }; | ||||
|  | ||||
|   boot.loader.efi = { | ||||
|     canTouchEfiVariables = true; | ||||
|   }; | ||||
| @@ -48,12 +49,8 @@ | ||||
|   # Set time stuff | ||||
|   time.timeZone = "Europe/Oslo"; | ||||
|  | ||||
|   hardware = { | ||||
|     enableRedistributableFirmware = true; | ||||
|     enableAllFirmware = true; | ||||
|  | ||||
|   # Enable opengl | ||||
|     graphics = { | ||||
|   hardware.graphics = { | ||||
|     enable = true; | ||||
|     extraPackages = with pkgs; [ | ||||
|       intel-media-driver | ||||
| @@ -61,7 +58,6 @@ | ||||
|       libvdpau-va-gl | ||||
|     ]; | ||||
|   }; | ||||
|   }; | ||||
|  | ||||
|   # Bluetooth stuff | ||||
|   services.blueman.enable = true; | ||||
| @@ -82,13 +78,12 @@ | ||||
|  | ||||
|   # Setup hyprland | ||||
|   services.xserver.enable = true; | ||||
|   services.displayManager.gdm.wayland = { | ||||
|   services.xserver.displayManager = { | ||||
|     gdm.wayland = true; | ||||
|     lightdm.enable = false; | ||||
|   }; | ||||
|   programs.hyprland = { | ||||
|     enable = true; | ||||
|     withUWSM = true; | ||||
|     xwayland.enable = true; | ||||
|     portalPackage = pkgs.xdg-desktop-portal-hyprland; | ||||
|   }; | ||||
| @@ -96,6 +91,12 @@ | ||||
|   # TRIM | ||||
|   services.fstrim.enable = true; | ||||
|  | ||||
|   # TLP | ||||
|   services.tlp.enable = true; | ||||
|  | ||||
|   # Brillo | ||||
|   hardware.brillo.enable = true; | ||||
|  | ||||
|   # Setup common XDG env vars | ||||
|   environment.sessionVariables = rec { | ||||
|     XDG_CACHE_HOME = "$HOME/.cache"; | ||||
|   | ||||
| @@ -8,7 +8,6 @@ | ||||
|   imports = [ | ||||
|     ./configuration.nix | ||||
|     ./hardware-configuration.nix | ||||
|     ./laptop.nix | ||||
|     ../../system | ||||
|     ../../home/magicman.nix | ||||
|   ]; | ||||
|   | ||||
| @@ -1,21 +0,0 @@ | ||||
| { ... }: | ||||
| { | ||||
|   hardware.brillo.enable = true; | ||||
|   powerManagement.enable = true; | ||||
|  | ||||
|   services.tlp.enable = true; | ||||
|  | ||||
|   services.auto-cpufreq = { | ||||
|     enable = true; | ||||
|     settings = { | ||||
|       battery = { | ||||
|         governor = "powersave"; | ||||
|         turbo = "never"; | ||||
|       }; | ||||
|       charger = { | ||||
|         governor = "performance"; | ||||
|         turbo = "auto"; | ||||
|       }; | ||||
|     }; | ||||
|   }; | ||||
| } | ||||
| @@ -3,7 +3,6 @@ sonarr_api_key: ENC[AES256_GCM,data:mg19hxs+DY6wsLjt4FupjavwmnmMJAP2Us5i1Rt/yyk= | ||||
| sonarr_base_url: ENC[AES256_GCM,data:0HiHIX4KcPEE62Ti1fLH230rC1A7xYg=,iv:mkAnl6t2H5xP9RPjTsbSZkfbrgli/7XKnPE5aGuZpTo=,tag:P2osFM60Jk8qkXJgLaGpjg==,type:str] | ||||
| radarr_api_key: ENC[AES256_GCM,data:Db1ISKTF+m2H1on55/4vdGticfqBdxfIzKHBxC9LAx4=,iv:NhiG4SmsRYIunW1ljFbxeHvRoi9fOVE+9DJn6kmZ6oI=,tag:DoJzo56CW3kJlySYmB8NYQ==,type:str] | ||||
| radarr_base_url: ENC[AES256_GCM,data:3UgOPQMblYhm0ysRB6VVosvZToIM5IA=,iv:o/s0bVBrjrma2Df2LlCCFL5Ks80063/4mABc6vzDrYg=,tag:eHKntLPM9yRRkMfIWSpIdg==,type:str] | ||||
| nats_nkey: ENC[AES256_GCM,data:TcIDFkFXB1+qfTqLylDI46w4/+Cy9XdXyXS26qCbwDaDoQNaRUsC6dw94mbT37352IWOCypTY0hweA==,iv:DC5GQyIXbNSx/mOLAOWTf5AyeFeViLxbKTMgZEfTEXE=,tag:krxk/dnZ58a8dcuWb7zhnA==,type:str] | ||||
| sops: | ||||
|     kms: [] | ||||
|     gcp_kms: [] | ||||
| @@ -13,23 +12,14 @@ sops: | ||||
|         - recipient: age1lznyk4ee7e7x8n92cq2n87kz9920473ks5u9jlhd3dczfzq4wamqept56u | ||||
|           enc: | | ||||
|             -----BEGIN AGE ENCRYPTED FILE----- | ||||
|             YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBnaUlVOWtoRTFvMHljV0Fu | ||||
|             TFp2Ym1jcThqbWRjUjdNSnhxRUsrOWl6S3dBCmh0L0YzaXNlRTFHMXFHTGc1T3I2 | ||||
|             WE03WjJCSlJSV2lmSExTWDBQRnlOcDAKLS0tIFJoeEM5b0IrdWxTRWhvNnd0c3NG | ||||
|             dENGdjJteFFaQTNFaDgvSGV2UEtyT0EKbdg4atS91rB99l7zKKkfPzKk4T5Mq2x5 | ||||
|             bX825DPrxauAhvrT7ca/A2OwA4kaFuxPrQGd3VOPAXTVhlbcFgIAdw== | ||||
|             YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBDdDRDc0UvaWY4U0loZzQ0 | ||||
|             bDZCMitGbGVYaGJyUXNrZGpnZHJlWHRkK3drCnJ2TlovSUI0OEVrV2FBbVdlSm1z | ||||
|             OE9lYXNMSXpCS0NMSkZDcjhtWENOUTAKLS0tIEZFMnVqcktwWkR5VHBGQXdobXlp | ||||
|             Q3gxalhGVjNlS3B3YlFsK0VQMUFITEUKE87+RpOG6ucXHHQ0DMQ9F3yo0n1aXbv7 | ||||
|             OX5ibHU7RroUQwFmDj87u59VUTvpWRQjsBW4c4WrZRk9KcjwinZZZQ== | ||||
|             -----END AGE ENCRYPTED FILE----- | ||||
|         - recipient: age1stlqqspmt5fepyz35udrwr5avf9zuju79f787p26pu2d2j08yqps2q2t2c | ||||
|           enc: | | ||||
|             -----BEGIN AGE ENCRYPTED FILE----- | ||||
|             YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAvSEZJWldRcmJ3c1BjbUpT | ||||
|             bmZXSmlHU0hVRTV3SG91bXpiTXhZd1RkY0Y4ClBxc0RabWJmMi8reHZYWnlmK3pC | ||||
|             bUw5V2FEV0pZdkZEMTJ5ZDZXWDM2NjgKLS0tIGZ6dEZ4dERYQXFRQTVkRHhycndz | ||||
|             dkgwQlRrdEp6b2FIVnowaDlUMEZpeHcK2icvVv+UpbcdVErRjjQhlQb6PuluC/K7 | ||||
|             Vy8Rh7dTn++bSEdGidDNGYeUQBrVy2qooq04lQqbeOOrdmXVhTamdA== | ||||
|             -----END AGE ENCRYPTED FILE----- | ||||
|     lastmodified: "2025-02-11T19:22:47Z" | ||||
|     mac: ENC[AES256_GCM,data:vd8O5y1GNDTDrlundbNZcGRAQzKLDly4qyxTqRO2JrnDYOqD/vQ8TqRQYiUgGY+5AcgjoLMER8keE8OUmcngN16cbGx1zKTpdqyHb7B2KR7ZfWOjW5kTk5KWM1gLDA4hA2GBEjHFBPGKdcrjURek9MrT+iM+qArbizSjWlKuehc=,iv:cicEnvWynZizJqrUzPIzbJWl6O8uL65Vs7fAYsuqSNA=,tag:l5jBXQfFedVE/VccZh+1qQ==,type:str] | ||||
|     lastmodified: "2024-04-25T19:19:54Z" | ||||
|     mac: ENC[AES256_GCM,data:VGBiDi71DHAXLhi7XC0XSTqnSwcJXv1Lj53qriFER7BXXZNPUdbeknlYR+KMdL3hgKGiK+ElWK5foDAy6jpl1H3U7Y9B4d40pVZSzEoN+fCwUgfP+yym1HwKZZoJok2ksXZIL4MZyZSNS+ONjDeFEcyHobIx8pRThxic3CcvptI=,iv:QwnFcYeIWibx5q8C/ur1eE8F9vbyGHg5raInDHBoyVs=,tag:JJWEYAyVhfny4hWrKBAKig==,type:str] | ||||
|     pgp: [] | ||||
|     unencrypted_suffix: _unencrypted | ||||
|     version: 3.9.4 | ||||
|     version: 3.8.1 | ||||
|   | ||||
| @@ -1,12 +1,10 @@ | ||||
| { | ||||
|   imports = [ | ||||
|     ./fonts.nix | ||||
|     ./root-ca.nix | ||||
|     ./fwupd.nix | ||||
|     ./git.nix | ||||
|     ./greetd.nix | ||||
|     ./libvirt.nix | ||||
|     ./locale.nix | ||||
|     ./podman.nix | ||||
|     ./security.nix | ||||
|     ./services.nix | ||||
|   | ||||
| @@ -5,10 +5,14 @@ | ||||
|     fira-code | ||||
|     fira-code-symbols | ||||
|     font-awesome | ||||
|     nerd-fonts.jetbrains-mono | ||||
|     nerd-fonts.fira-code | ||||
|     nerd-fonts.droid-sans-mono | ||||
|     nerd-fonts.dejavu-sans-mono | ||||
|     (nerdfonts.override { | ||||
|       fonts = [ | ||||
|         "JetBrainsMono" | ||||
|         "FiraCode" | ||||
|         "DroidSansMono" | ||||
|         "DejaVuSansMono" | ||||
|       ]; | ||||
|     }) | ||||
|     noto-fonts | ||||
|     noto-fonts-cjk-sans | ||||
|     noto-fonts-emoji | ||||
|   | ||||
| @@ -4,7 +4,7 @@ | ||||
|     enable = true; | ||||
|     settings = { | ||||
|       default_session = { | ||||
|         command = "${pkgs.tuigreet}/bin/tuigreet --time --cmd \"uwsm start default\""; | ||||
|         command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --cmd \"dbus-run-session Hyprland\""; | ||||
|         user = "greeter"; | ||||
|       }; | ||||
|     }; | ||||
|   | ||||
| @@ -1,12 +0,0 @@ | ||||
| { ... }: | ||||
| { | ||||
|   i18n = { | ||||
|     supportedLocales = [ | ||||
|       "en_US.UTF-8/UTF-8" | ||||
|       "nb_NO.UTF-8/UTF-8" | ||||
|     ]; | ||||
|     extraLocaleSettings = { | ||||
|       LC_TIME = "nb_NO.UTF-8"; | ||||
|     }; | ||||
|   }; | ||||
| } | ||||
							
								
								
									
										37
									
								
								system/monitoring.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										37
									
								
								system/monitoring.nix
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,37 @@ | ||||
| { pkgs, ... }: | ||||
| { | ||||
|   environment.systemPackages = with pkgs; [ | ||||
|     prometheus-node-exporter | ||||
|     prometheus-systemd-exporter | ||||
|   ]; | ||||
|  | ||||
|   systemd.services."node-exporter" = { | ||||
|     enable = true; | ||||
|     unitConfig = { | ||||
|       Description = "Prometheus Node Exporter"; | ||||
|       After = [ "network.target" ]; | ||||
|     }; | ||||
|     serviceConfig = { | ||||
|       ExecStart = "${pkgs.prometheus-node-exporter}/bin/node_exporter"; | ||||
|     }; | ||||
|     wantedBy = [ "multi-user.target" ]; | ||||
|   }; | ||||
|  | ||||
|   systemd.services."systemd-exporter" = { | ||||
|     enable = true; | ||||
|     unitConfig = { | ||||
|       Description = "Prometheus Systemd Exporter"; | ||||
|       After = [ "network.target" ]; | ||||
|     }; | ||||
|     serviceConfig = { | ||||
|       ExecStart = "${pkgs.prometheus-systemd-exporter}/bin/systemd_exporter"; | ||||
|     }; | ||||
|     wantedBy = [ "multi-user.target" ]; | ||||
|   }; | ||||
|  | ||||
|   networking.firewall.allowedTCPPorts = [ | ||||
|     9100 | ||||
|     9558 | ||||
|     8989 | ||||
|   ]; | ||||
| } | ||||
| @@ -1,7 +0,0 @@ | ||||
| { ... }: | ||||
| { | ||||
|   imports = [ | ||||
|     ./metrics.nix | ||||
|     ./logs.nix | ||||
|   ]; | ||||
| } | ||||
| @@ -1,39 +0,0 @@ | ||||
| { ... }: | ||||
| { | ||||
|   services.promtail = { | ||||
|     enable = true; | ||||
|     configuration = { | ||||
|       server = { | ||||
|         http_listen_address = "0.0.0.0"; | ||||
|         http_listen_port = 9099; | ||||
|         grpc_listen_address = "0.0.0.0"; | ||||
|         grpc_listen_port = 9098; | ||||
|       }; | ||||
|  | ||||
|       clients = [ | ||||
|         { | ||||
|           url = "http://monitoring01.home.2rjus.net:3100/loki/api/v1/push"; | ||||
|         } | ||||
|       ]; | ||||
|  | ||||
|       scrape_configs = [ | ||||
|         { | ||||
|           job_name = "journal"; | ||||
|           journal = { | ||||
|             json = true; | ||||
|           }; | ||||
|           relabel_configs = [ | ||||
|             { | ||||
|               source_labels = [ "__journal__systemd_unit" ]; | ||||
|               target_label = "systemd_unit"; | ||||
|             } | ||||
|             { | ||||
|               source_labels = [ "__journal__hostname" ]; | ||||
|               target_label = "host"; | ||||
|             } | ||||
|           ]; | ||||
|         } | ||||
|       ]; | ||||
|     }; | ||||
|   }; | ||||
| } | ||||
| @@ -1,18 +0,0 @@ | ||||
| { ... }: | ||||
| { | ||||
|   services.prometheus.exporters = { | ||||
|     node = { | ||||
|       enable = true; | ||||
|       openFirewall = true; | ||||
|       enabledCollectors = [ | ||||
|         "systemd" | ||||
|         "logind" | ||||
|       ]; | ||||
|     }; | ||||
|     smartctl = { | ||||
|       enable = true; | ||||
|       openFirewall = true; | ||||
|       devices = [ "/dev/nvme0n1" ]; | ||||
|     }; | ||||
|   }; | ||||
| } | ||||
| @@ -1,12 +0,0 @@ | ||||
| -----BEGIN CERTIFICATE----- | ||||
| MIIBxDCCAWmgAwIBAgIQQCSzuOLIKLj1dGbC+NFttjAKBggqhkjOPQQDAjBAMRow | ||||
| GAYDVQQKExFob21lLjJyanVzLm5ldCBDQTEiMCAGA1UEAxMZaG9tZS4ycmp1cy5u | ||||
| ZXQgQ0EgUm9vdCBDQTAeFw0yNDEwMjEwOTEyNDRaFw0zNDEwMTkwOTEyNDRaMEAx | ||||
| GjAYBgNVBAoTEWhvbWUuMnJqdXMubmV0IENBMSIwIAYDVQQDExlob21lLjJyanVz | ||||
| Lm5ldCBDQSBSb290IENBMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEGDE4ss9y | ||||
| 9msphQ/Sa/tAoEaGoDHQcg5oRcxWL5SZYjUPNl+zbRZzqkvCz2S1XrHJPiPWbyJX | ||||
| cZAlPxbwZrWDyKNFMEMwDgYDVR0PAQH/BAQDAgEGMBIGA1UdEwEB/wQIMAYBAf8C | ||||
| AQEwHQYDVR0OBBYEFPZx6AahX5diBMChZbv5N4dh+vCTMAoGCCqGSM49BAMCA0kA | ||||
| MEYCIQC6yqMM9/s1Dct5jlq0NAGsDA68hVTDcO3RP61lxQlfBwIhAL1jlmIwaSJc | ||||
| TjdIMjPQ3ombBRqDJBDvDr8o6oOUjret | ||||
| -----END CERTIFICATE----- | ||||
| @@ -1,9 +0,0 @@ | ||||
| { pkgs, ... }: | ||||
| { | ||||
|   security.pki = { | ||||
|     certificateFiles = [ | ||||
|       "${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt" | ||||
|       ./root-ca.crt | ||||
|     ]; | ||||
|   }; | ||||
| } | ||||
| @@ -12,6 +12,7 @@ | ||||
|     locate = { | ||||
|       enable = true; | ||||
|       package = pkgs.plocate; | ||||
|       localuser = null; | ||||
|     }; | ||||
|   }; | ||||
| } | ||||
|   | ||||
| @@ -3,7 +3,6 @@ | ||||
| { | ||||
|   programs.zsh.enable = true; | ||||
|   environment.shells = with pkgs; [ zsh ]; | ||||
|   programs.adb.enable = true; | ||||
|  | ||||
|   # Setup torjus user | ||||
|   users.users.torjus = { | ||||
| @@ -21,7 +20,6 @@ | ||||
|       "gamemode" | ||||
|       "libvirtd" | ||||
|       "podman" | ||||
|       "adbusers" | ||||
|     ]; | ||||
|     # Install some user packages | ||||
|     packages = with pkgs; [ ]; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user