Compare commits
	
		
			1 Commits
		
	
	
		
			e2131f900c
			...
			temp-small
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| aad01c1271 | 
| @@ -8,7 +8,6 @@ creation_rules: | |||||||
|     key_groups: |     key_groups: | ||||||
|       - age: |       - age: | ||||||
|         - *admin_torjus |         - *admin_torjus | ||||||
|         - *server_magicman |  | ||||||
|   - path_regex: secrets/gunter/[^/]+\.(yaml|json|env|ini|toml) |   - path_regex: secrets/gunter/[^/]+\.(yaml|json|env|ini|toml) | ||||||
|     key_groups: |     key_groups: | ||||||
|       - age: |       - age: | ||||||
| @@ -28,4 +27,3 @@ creation_rules: | |||||||
|     key_groups: |     key_groups: | ||||||
|       - age: |       - age: | ||||||
|         - *admin_torjus |         - *admin_torjus | ||||||
|         - *server_magicman |  | ||||||
|   | |||||||
							
								
								
									
										449
									
								
								flake.lock
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										449
									
								
								flake.lock
									
									
									
										generated
									
									
									
								
							| @@ -1,5 +1,77 @@ | |||||||
| { | { | ||||||
|   "nodes": { |   "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": { |     "ghettoptt": { | ||||||
|       "inputs": { |       "inputs": { | ||||||
|         "nixpkgs": [ |         "nixpkgs": [ | ||||||
| @@ -28,11 +100,11 @@ | |||||||
|         ] |         ] | ||||||
|       }, |       }, | ||||||
|       "locked": { |       "locked": { | ||||||
|         "lastModified": 1756734952, |         "lastModified": 1732025103, | ||||||
|         "narHash": "sha256-H6jmduj4QIncLPAPODPSG/8ry9lpr1kRq6fYytU52qU=", |         "narHash": "sha256-qjEI64RKvDxRyEarY0jTzrZMa8ebezh2DEZmJJrpVdo=", | ||||||
|         "owner": "nix-community", |         "owner": "nix-community", | ||||||
|         "repo": "home-manager", |         "repo": "home-manager", | ||||||
|         "rev": "29ab63bbb3d9eee4a491f7ce701b189becd34068", |         "rev": "a46e702093a5c46e192243edbd977d5749e7f294", | ||||||
|         "type": "github" |         "type": "github" | ||||||
|       }, |       }, | ||||||
|       "original": { |       "original": { | ||||||
| @@ -43,19 +115,18 @@ | |||||||
|     }, |     }, | ||||||
|     "huecli": { |     "huecli": { | ||||||
|       "inputs": { |       "inputs": { | ||||||
|  |         "flake-utils": "flake-utils", | ||||||
|         "nixpkgs": [ |         "nixpkgs": [ | ||||||
|           "nixpkgs" |           "nixpkgs" | ||||||
|         ], |         ], | ||||||
|         "pyproject-build-systems": "pyproject-build-systems", |         "poetry2nix": "poetry2nix" | ||||||
|         "pyproject-nix": "pyproject-nix", |  | ||||||
|         "uv2nix": "uv2nix" |  | ||||||
|       }, |       }, | ||||||
|       "locked": { |       "locked": { | ||||||
|         "lastModified": 1732927393, |         "lastModified": 1728336978, | ||||||
|         "narHash": "sha256-S/StGXd2t8VvvnZ81uPyggc0dHfgHyrFMmXWkGhsJqg=", |         "narHash": "sha256-7FX4K8QBH/9jiYyCMs2JyCTzlx1/D5Cw6upaFThSVg4=", | ||||||
|         "ref": "master", |         "ref": "master", | ||||||
|         "rev": "c2ff98ce55605e57370ea216300d0e58df602c26", |         "rev": "700ece0bada9833fcfd3b6ce698cd74bc00e4493", | ||||||
|         "revCount": 31, |         "revCount": 22, | ||||||
|         "type": "git", |         "type": "git", | ||||||
|         "url": "https://git.t-juice.club/torjus/huecli" |         "url": "https://git.t-juice.club/torjus/huecli" | ||||||
|       }, |       }, | ||||||
| @@ -65,25 +136,48 @@ | |||||||
|         "url": "https://git.t-juice.club/torjus/huecli" |         "url": "https://git.t-juice.club/torjus/huecli" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|     "natstonotify": { |     "nix-github-actions": { | ||||||
|       "inputs": { |       "inputs": { | ||||||
|         "nixpkgs": [ |         "nixpkgs": [ | ||||||
|  |           "huecli", | ||||||
|  |           "poetry2nix", | ||||||
|           "nixpkgs" |           "nixpkgs" | ||||||
|         ] |         ] | ||||||
|       }, |       }, | ||||||
|       "locked": { |       "locked": { | ||||||
|         "lastModified": 1739302828, |         "lastModified": 1703863825, | ||||||
|         "narHash": "sha256-D6l5tAh1FDpdz9/tQC7kYhFPQzqI1HICwNh7fRejfrw=", |         "narHash": "sha256-rXwqjtwiGKJheXB43ybM8NwWB8rO2dSRrEqes0S7F5Y=", | ||||||
|         "ref": "master", |         "owner": "nix-community", | ||||||
|         "rev": "bfcf518fe0b2fe19075667f7b22227376d102509", |         "repo": "nix-github-actions", | ||||||
|         "revCount": 7, |         "rev": "5163432afc817cf8bd1f031418d1869e4c9d5547", | ||||||
|         "type": "git", |         "type": "github" | ||||||
|         "url": "https://git.t-juice.club/torjus/natstonotify" |  | ||||||
|       }, |       }, | ||||||
|       "original": { |       "original": { | ||||||
|         "ref": "master", |         "owner": "nix-community", | ||||||
|         "type": "git", |         "repo": "nix-github-actions", | ||||||
|         "url": "https://git.t-juice.club/torjus/natstonotify" |         "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": { |     "nix-packages": { | ||||||
| @@ -93,11 +187,11 @@ | |||||||
|         ] |         ] | ||||||
|       }, |       }, | ||||||
|       "locked": { |       "locked": { | ||||||
|         "lastModified": 1747129247, |         "lastModified": 1728153756, | ||||||
|         "narHash": "sha256-twZe3IIZraF+OD8YUFiASuzCEqSUvyP2ZOftyEtmTW4=", |         "narHash": "sha256-kNpO8yC2MioSRc2SNxNM5egVvFjA2Ox0b4SAs6GnM8w=", | ||||||
|         "ref": "master", |         "ref": "master", | ||||||
|         "rev": "4f44b54b23defabf4058d26951d8f549e2d76239", |         "rev": "2fc840c15280d2dd3da1aba7272243b4aa11e611", | ||||||
|         "revCount": 30, |         "revCount": 21, | ||||||
|         "type": "git", |         "type": "git", | ||||||
|         "url": "https://git.t-juice.club/torjus/nix-packages" |         "url": "https://git.t-juice.club/torjus/nix-packages" | ||||||
|       }, |       }, | ||||||
| @@ -109,11 +203,11 @@ | |||||||
|     }, |     }, | ||||||
|     "nixpkgs": { |     "nixpkgs": { | ||||||
|       "locked": { |       "locked": { | ||||||
|         "lastModified": 1756542300, |         "lastModified": 1731676054, | ||||||
|         "narHash": "sha256-tlOn88coG5fzdyqz6R93SQL5Gpq+m/DsWpekNFhqPQk=", |         "narHash": "sha256-OZiZ3m8SCMfh3B6bfGC/Bm4x3qc1m2SVEAlkV6iY7Yg=", | ||||||
|         "owner": "nixos", |         "owner": "nixos", | ||||||
|         "repo": "nixpkgs", |         "repo": "nixpkgs", | ||||||
|         "rev": "d7600c775f877cd87b4f5a831c28aa94137377aa", |         "rev": "5e4fbfb6b3de1aa2872b76d49fafc942626e2add", | ||||||
|         "type": "github" |         "type": "github" | ||||||
|       }, |       }, | ||||||
|       "original": { |       "original": { | ||||||
| @@ -123,37 +217,52 @@ | |||||||
|         "type": "github" |         "type": "github" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|     "nixpkgs-stable": { |     "nixpkgs-small": { | ||||||
|       "locked": { |       "locked": { | ||||||
|         "lastModified": 1756617294, |         "lastModified": 1732007104, | ||||||
|         "narHash": "sha256-aGnd4AHIYCWQKChAkHPpX+YYCt7pA6y2LFFA/s8q0wQ=", |         "narHash": "sha256-qaWPxgLAvtIHTDcm0qJuc+WNYjcy4ZKigOyn2ag4ihM=", | ||||||
|         "owner": "nixos", |         "owner": "nixos", | ||||||
|         "repo": "nixpkgs", |         "repo": "nixpkgs", | ||||||
|         "rev": "b4c2c57c31e68544982226d07e4719a2d86302a8", |         "rev": "0705964c881cea8896474610188905ba41b59b08", | ||||||
|         "type": "github" |         "type": "github" | ||||||
|       }, |       }, | ||||||
|       "original": { |       "original": { | ||||||
|         "owner": "nixos", |         "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", |         "repo": "nixpkgs", | ||||||
|         "type": "github" |         "type": "github" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|     "nixprstatus": { |     "nixprstatus": { | ||||||
|       "inputs": { |       "inputs": { | ||||||
|  |         "flake-utils": "flake-utils_3", | ||||||
|         "nixpkgs": [ |         "nixpkgs": [ | ||||||
|           "nixpkgs" |           "nixpkgs" | ||||||
|         ], |         ], | ||||||
|         "pyproject-build-systems": "pyproject-build-systems_2", |         "poetry2nix": "poetry2nix_2" | ||||||
|         "pyproject-nix": "pyproject-nix_2", |  | ||||||
|         "uv2nix": "uv2nix_2" |  | ||||||
|       }, |       }, | ||||||
|       "locked": { |       "locked": { | ||||||
|         "lastModified": 1748349633, |         "lastModified": 1729118937, | ||||||
|         "narHash": "sha256-SyFF/p3G7YsJH0p5jgeOqdtc3ehzGuI05ZqiJbZNAZA=", |         "narHash": "sha256-7xYCJXTh92OpKwfshYYnxrWmfNjqaH9SzQ0stuBARVM=", | ||||||
|         "ref": "master", |         "ref": "master", | ||||||
|         "rev": "ef55b5b9478390b535fe708edfa297729ac75572", |         "rev": "58b113d934f5d62f27dc50439b89fece4eb621f5", | ||||||
|         "revCount": 60, |         "revCount": 37, | ||||||
|         "type": "git", |         "type": "git", | ||||||
|         "url": "https://git.t-juice.club/torjus/nixprstatus" |         "url": "https://git.t-juice.club/torjus/nixprstatus" | ||||||
|       }, |       }, | ||||||
| @@ -163,103 +272,53 @@ | |||||||
|         "url": "https://git.t-juice.club/torjus/nixprstatus" |         "url": "https://git.t-juice.club/torjus/nixprstatus" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|     "pyproject-build-systems": { |     "poetry2nix": { | ||||||
|       "inputs": { |       "inputs": { | ||||||
|  |         "flake-utils": "flake-utils_2", | ||||||
|  |         "nix-github-actions": "nix-github-actions", | ||||||
|         "nixpkgs": [ |         "nixpkgs": [ | ||||||
|           "huecli", |           "huecli", | ||||||
|           "nixpkgs" |           "nixpkgs" | ||||||
|         ], |         ], | ||||||
|         "pyproject-nix": [ |         "systems": "systems_3", | ||||||
|           "huecli", |         "treefmt-nix": "treefmt-nix" | ||||||
|           "pyproject-nix" |  | ||||||
|         ], |  | ||||||
|         "uv2nix": [ |  | ||||||
|           "huecli", |  | ||||||
|           "uv2nix" |  | ||||||
|         ] |  | ||||||
|       }, |       }, | ||||||
|       "locked": { |       "locked": { | ||||||
|         "lastModified": 1732506638, |         "lastModified": 1724208502, | ||||||
|         "narHash": "sha256-aIjGCa8Lvhb8QnbHPOtkZ6yTrb8KURRlYzlo7UaBeac=", |         "narHash": "sha256-TCRcEPSfgAw/t7kClmlr23s591N06mQCrhzlAO7cyFw=", | ||||||
|         "owner": "pyproject-nix", |         "owner": "nix-community", | ||||||
|         "repo": "build-system-pkgs", |         "repo": "poetry2nix", | ||||||
|         "rev": "70c271e7a64199c71c9dbcbe513c7b2402573789", |         "rev": "884b66152b0c625b8220b570a31dc7acc36749a3", | ||||||
|         "type": "github" |         "type": "github" | ||||||
|       }, |       }, | ||||||
|       "original": { |       "original": { | ||||||
|         "owner": "pyproject-nix", |         "owner": "nix-community", | ||||||
|         "repo": "build-system-pkgs", |         "repo": "poetry2nix", | ||||||
|         "type": "github" |         "type": "github" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|     "pyproject-build-systems_2": { |     "poetry2nix_2": { | ||||||
|       "inputs": { |       "inputs": { | ||||||
|  |         "flake-utils": "flake-utils_4", | ||||||
|  |         "nix-github-actions": "nix-github-actions_2", | ||||||
|         "nixpkgs": [ |         "nixpkgs": [ | ||||||
|           "nixprstatus", |           "nixprstatus", | ||||||
|           "nixpkgs" |           "nixpkgs" | ||||||
|         ], |         ], | ||||||
|         "pyproject-nix": [ |         "systems": "systems_6", | ||||||
|           "nixprstatus", |         "treefmt-nix": "treefmt-nix_2" | ||||||
|           "pyproject-nix" |  | ||||||
|         ], |  | ||||||
|         "uv2nix": [ |  | ||||||
|           "nixprstatus", |  | ||||||
|           "uv2nix" |  | ||||||
|         ] |  | ||||||
|       }, |       }, | ||||||
|       "locked": { |       "locked": { | ||||||
|         "lastModified": 1744599653, |         "lastModified": 1729073785, | ||||||
|         "narHash": "sha256-nysSwVVjG4hKoOjhjvE6U5lIKA8sEr1d1QzEfZsannU=", |         "narHash": "sha256-KaDC7emuamQblDdka+gkBUUdEjQf3YGYozMb+zomgSM=", | ||||||
|         "owner": "pyproject-nix", |         "owner": "nix-community", | ||||||
|         "repo": "build-system-pkgs", |         "repo": "poetry2nix", | ||||||
|         "rev": "7dba6dbc73120e15b558754c26024f6c93015dd7", |         "rev": "795fddefc9f910671c1cf0752c29802ce27322d6", | ||||||
|         "type": "github" |         "type": "github" | ||||||
|       }, |       }, | ||||||
|       "original": { |       "original": { | ||||||
|         "owner": "pyproject-nix", |         "owner": "nix-community", | ||||||
|         "repo": "build-system-pkgs", |         "repo": "poetry2nix", | ||||||
|         "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", |  | ||||||
|         "type": "github" |         "type": "github" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
| @@ -268,9 +327,9 @@ | |||||||
|         "ghettoptt": "ghettoptt", |         "ghettoptt": "ghettoptt", | ||||||
|         "home-manager": "home-manager", |         "home-manager": "home-manager", | ||||||
|         "huecli": "huecli", |         "huecli": "huecli", | ||||||
|         "natstonotify": "natstonotify", |  | ||||||
|         "nix-packages": "nix-packages", |         "nix-packages": "nix-packages", | ||||||
|         "nixpkgs": "nixpkgs", |         "nixpkgs": "nixpkgs", | ||||||
|  |         "nixpkgs-small": "nixpkgs-small", | ||||||
|         "nixpkgs-stable": "nixpkgs-stable", |         "nixpkgs-stable": "nixpkgs-stable", | ||||||
|         "nixprstatus": "nixprstatus", |         "nixprstatus": "nixprstatus", | ||||||
|         "sops-nix": "sops-nix" |         "sops-nix": "sops-nix" | ||||||
| @@ -283,11 +342,11 @@ | |||||||
|         ] |         ] | ||||||
|       }, |       }, | ||||||
|       "locked": { |       "locked": { | ||||||
|         "lastModified": 1754988908, |         "lastModified": 1731954233, | ||||||
|         "narHash": "sha256-t+voe2961vCgrzPFtZxha0/kmFSHFobzF00sT8p9h0U=", |         "narHash": "sha256-vvXx1m2Rsw7MkbKJdpcICzz4YPgZPApGKQGhNZfkhOI=", | ||||||
|         "owner": "Mic92", |         "owner": "Mic92", | ||||||
|         "repo": "sops-nix", |         "repo": "sops-nix", | ||||||
|         "rev": "3223c7a92724b5d804e9988c6b447a0d09017d48", |         "rev": "e39947d0ee8e341fa7108bd02a33cdfa24a1360e", | ||||||
|         "type": "github" |         "type": "github" | ||||||
|       }, |       }, | ||||||
|       "original": { |       "original": { | ||||||
| @@ -296,53 +355,135 @@ | |||||||
|         "type": "github" |         "type": "github" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|     "uv2nix": { |     "systems": { | ||||||
|       "inputs": { |  | ||||||
|         "nixpkgs": [ |  | ||||||
|           "huecli", |  | ||||||
|           "nixpkgs" |  | ||||||
|         ], |  | ||||||
|         "pyproject-nix": [ |  | ||||||
|           "huecli", |  | ||||||
|           "pyproject-nix" |  | ||||||
|         ] |  | ||||||
|       }, |  | ||||||
|       "locked": { |       "locked": { | ||||||
|         "lastModified": 1732759365, |         "lastModified": 1681028828, | ||||||
|         "narHash": "sha256-kOOlzfAsFpfiLltRbqFysVhT86erXVe4TZCNIq5zv0o=", |         "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", | ||||||
|         "owner": "pyproject-nix", |         "owner": "nix-systems", | ||||||
|         "repo": "uv2nix", |         "repo": "default", | ||||||
|         "rev": "f932943b62a0b4fade224f18df13558f8015dd99", |         "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", | ||||||
|         "type": "github" |         "type": "github" | ||||||
|       }, |       }, | ||||||
|       "original": { |       "original": { | ||||||
|         "owner": "pyproject-nix", |         "owner": "nix-systems", | ||||||
|         "repo": "uv2nix", |         "repo": "default", | ||||||
|         "type": "github" |         "type": "github" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|     "uv2nix_2": { |     "systems_2": { | ||||||
|       "inputs": { |  | ||||||
|         "nixpkgs": [ |  | ||||||
|           "nixprstatus", |  | ||||||
|           "nixpkgs" |  | ||||||
|         ], |  | ||||||
|         "pyproject-nix": [ |  | ||||||
|           "nixprstatus", |  | ||||||
|           "pyproject-nix" |  | ||||||
|         ] |  | ||||||
|       }, |  | ||||||
|       "locked": { |       "locked": { | ||||||
|         "lastModified": 1747949765, |         "lastModified": 1681028828, | ||||||
|         "narHash": "sha256-1v8SFHOwUCvHDXFmQRjHZYawY19nxmtZ7zH/kwAGgj0=", |         "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", | ||||||
|         "owner": "pyproject-nix", |         "owner": "nix-systems", | ||||||
|         "repo": "uv2nix", |         "repo": "default", | ||||||
|         "rev": "ec0502250b48116fd3aa8e1347a2d0254bacd05e", |         "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", | ||||||
|         "type": "github" |         "type": "github" | ||||||
|       }, |       }, | ||||||
|       "original": { |       "original": { | ||||||
|         "owner": "pyproject-nix", |         "owner": "nix-systems", | ||||||
|         "repo": "uv2nix", |         "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" |         "type": "github" | ||||||
|       } |       } | ||||||
|     } |     } | ||||||
|   | |||||||
							
								
								
									
										22
									
								
								flake.nix
									
									
									
									
									
								
							
							
						
						
									
										22
									
								
								flake.nix
									
									
									
									
									
								
							| @@ -2,9 +2,10 @@ | |||||||
|   description = "Torjus nixos config flake"; |   description = "Torjus nixos config flake"; | ||||||
|  |  | ||||||
|   inputs = { |   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-master.url = "github:nixos/nixpkgs?ref=master"; | ||||||
|     nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable"; |     nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable"; | ||||||
|  |     nixpkgs-small.url = "github:nixos/nixpkgs?ref=nixos-unstable-small"; | ||||||
|     home-manager = { |     home-manager = { | ||||||
|       url = "github:nix-community/home-manager"; |       url = "github:nix-community/home-manager"; | ||||||
|       inputs.nixpkgs.follows = "nixpkgs"; |       inputs.nixpkgs.follows = "nixpkgs"; | ||||||
| @@ -30,10 +31,6 @@ | |||||||
|       url = "git+https://git.t-juice.club/torjus/nixprstatus?ref=master"; |       url = "git+https://git.t-juice.club/torjus/nixprstatus?ref=master"; | ||||||
|       inputs.nixpkgs.follows = "nixpkgs"; |       inputs.nixpkgs.follows = "nixpkgs"; | ||||||
|     }; |     }; | ||||||
|     natstonotify = { |  | ||||||
|       url = "git+https://git.t-juice.club/torjus/natstonotify?ref=master"; |  | ||||||
|       inputs.nixpkgs.follows = "nixpkgs"; |  | ||||||
|     }; |  | ||||||
|   }; |   }; | ||||||
|  |  | ||||||
|   outputs = |   outputs = | ||||||
| @@ -42,11 +39,11 @@ | |||||||
|       nixpkgs, |       nixpkgs, | ||||||
|       # nixpkgs-master, |       # nixpkgs-master, | ||||||
|       nixpkgs-stable, |       nixpkgs-stable, | ||||||
|  |       nixpkgs-small, | ||||||
|       nixprstatus, |       nixprstatus, | ||||||
|       sops-nix, |       sops-nix, | ||||||
|       ghettoptt, |       ghettoptt, | ||||||
|       huecli, |       huecli, | ||||||
|       natstonotify, |  | ||||||
|       nix-packages, |       nix-packages, | ||||||
|       ... |       ... | ||||||
|     }@inputs: |     }@inputs: | ||||||
| @@ -59,6 +56,17 @@ | |||||||
|           config.allowUnfree = true; |           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: { |       # overlay-master = final: prev: { | ||||||
|       #   master = import nixpkgs-master { |       #   master = import nixpkgs-master { | ||||||
|       #     inherit system; |       #     inherit system; | ||||||
| @@ -76,11 +84,11 @@ | |||||||
|       commonOverlays = [ |       commonOverlays = [ | ||||||
|         overlay-stable |         overlay-stable | ||||||
|         # overlay-master |         # overlay-master | ||||||
|  |         overlay-pyside6 | ||||||
|         ghettoptt.overlays.default |         ghettoptt.overlays.default | ||||||
|         huecli.overlays.default |         huecli.overlays.default | ||||||
|         nix-packages.overlays.default |         nix-packages.overlays.default | ||||||
|         nixprstatus.overlays.default |         nixprstatus.overlays.default | ||||||
|         natstonotify.overlays.default |  | ||||||
|       ]; |       ]; | ||||||
|     in |     in | ||||||
|     { |     { | ||||||
|   | |||||||
| @@ -5,9 +5,6 @@ | |||||||
|       enable = true; |       enable = true; | ||||||
|       defaultEditor = true; |       defaultEditor = true; | ||||||
|       vimAlias = true; |       vimAlias = true; | ||||||
|       extraPackages = with pkgs; [ |  | ||||||
|         nodePackages_latest.nodejs |  | ||||||
|       ]; |  | ||||||
|       plugins = with pkgs.vimPlugins; [ |       plugins = with pkgs.vimPlugins; [ | ||||||
|         vim-fugitive |         vim-fugitive | ||||||
|         undotree |         undotree | ||||||
| @@ -43,8 +40,8 @@ | |||||||
|         ])) |         ])) | ||||||
|       ]; |       ]; | ||||||
|       extraLuaConfig = '' |       extraLuaConfig = '' | ||||||
|         ${builtins.readFile ./plugins.lua} |  | ||||||
|         ${builtins.readFile ./options.lua} |         ${builtins.readFile ./options.lua} | ||||||
|  |         ${builtins.readFile ./plugins.lua} | ||||||
|         ${builtins.readFile ./keybinds.lua} |         ${builtins.readFile ./keybinds.lua} | ||||||
|       ''; |       ''; | ||||||
|     }; |     }; | ||||||
|   | |||||||
| @@ -11,8 +11,3 @@ vim.o.relativenumber = true | |||||||
| vim.o.tabstop = 4 | vim.o.tabstop = 4 | ||||||
| vim.o.shiftwidth = 4 | vim.o.shiftwidth = 4 | ||||||
| vim.o.expandtab = true | 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' }, | 		['gopls'] = { 'go' }, | ||||||
| 		['nil_ls'] = { 'nix' }, | 		['nil_ls'] = { 'nix' }, | ||||||
| 		['lua_ls'] = { 'lua' }, | 		['lua_ls'] = { 'lua' }, | ||||||
| 		['ts_ls'] = { 'typescript', 'javascript', 'typescriptreact' }, | 		['ts_ls'] = { 'typescript', 'javascript' }, | ||||||
| 	}, | 	}, | ||||||
| }) | }) | ||||||
| -- LSP: go | -- LSP: go | ||||||
| @@ -120,7 +120,6 @@ lspconfig.ts_ls.setup({ | |||||||
| 	filetypes = { | 	filetypes = { | ||||||
| 		"typescript", | 		"typescript", | ||||||
| 		"javascript", | 		"javascript", | ||||||
| 		"typescriptreact", |  | ||||||
| 	}, | 	}, | ||||||
| }) | }) | ||||||
|  |  | ||||||
| @@ -298,6 +297,6 @@ cmp.setup({ | |||||||
|  |  | ||||||
|  |  | ||||||
| -- Colorscheme | -- Colorscheme | ||||||
| require('catppuccin').setup { | require('catppuccin').setup({ | ||||||
| } | }) | ||||||
| vim.cmd.colorscheme "catppuccin" | vim.cmd.colorscheme "catppuccin" | ||||||
|   | |||||||
| @@ -31,7 +31,6 @@ | |||||||
|           ./scripts |           ./scripts | ||||||
|           ./services/backup-home.nix |           ./services/backup-home.nix | ||||||
|           ./services/ghettoptt.nix |           ./services/ghettoptt.nix | ||||||
|           ./services/natstonotify.nix |  | ||||||
|           ./sops |           ./sops | ||||||
|           ./ssh |           ./ssh | ||||||
|           ./zsh |           ./zsh | ||||||
|   | |||||||
| @@ -1,33 +1,21 @@ | |||||||
| { | { | ||||||
|  |   inputs, | ||||||
|   pkgs, |   pkgs, | ||||||
|   lib, |   lib, | ||||||
|   config, |   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"; |   options.hyprland.enable = lib.mkEnableOption "Hyprland"; | ||||||
|   config = { |   config = { | ||||||
|     home.packages = with pkgs; [ |     home.packages = with pkgs; [ | ||||||
|       dunst |       dunst | ||||||
|  |       # hyprlock | ||||||
|  |       hyprpaper | ||||||
|       rofi-wayland |       rofi-wayland | ||||||
|       slurp |       slurp | ||||||
|       swww |       swww | ||||||
| @@ -40,175 +28,35 @@ in | |||||||
|       libsForQt5.qt5ct |       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 = { |     wayland.windowManager.hyprland = { | ||||||
|       enable = true; |       enable = true; | ||||||
|       package = pkgs.hyprland; |       package = pkgs.hyprland; | ||||||
|       systemd.enable = false; |  | ||||||
|       settings = { |       settings = { | ||||||
|         "$mainMod" = "SUPER"; |         "$mainMod" = "SUPER"; | ||||||
|         "$shiftMainMod" = "SUPER_SHIFT"; |         "$shiftMainMod" = "SUPER_SHIFT"; | ||||||
|         "$term" = "kitty"; |         "$term" = "kitty"; | ||||||
|  |  | ||||||
|         # monitors |         # monitors | ||||||
|         "$mon_top" = monitorTopName; |         "$mon_top" = "desc:BNQ G2420HDBL T2B04424SL000"; | ||||||
|         "$mon_left" = monitorLeftName; |         "$mon_left" = "desc:Samsung Electric Company LS27A600U HNMT502389"; | ||||||
|         "$mon_center" = monitorCenterName; |         "$mon_center" = "desc:Acer Technologies XB271HU #ASPVEKfgZ8Dd"; | ||||||
|         "$mon_right" = monitorRightName; |         "$mon_right" = "desc:Samsung Electric Company LS27A600U HNMT502390"; | ||||||
|  |  | ||||||
|         monitor = [ |         monitor = [ | ||||||
|           "$mon_top,1920x1080@60,2560x0,1" # top T2B04424SL000 |           # "$mon_top,1920x1080@60,2560x0,1" # top T2B04424SL000 | ||||||
|           # "DP-8,1920x1080@60,2560x0,1" # top T2B04424SL000 60 |           "DP-6,1920x1080@60,2560x0,1" # top T2B04424SL000 60 | ||||||
|           "$mon_left,2560x1440@75,0x1080,1" # left |           # "$mon_left,2560x1440@75,0x1080,1" # left | ||||||
|           # "DP-6,2560x1440@75,0x1080,1" # left 75hz |           "DP-8,2560x1440@75,0x1080,1" # left 75hz | ||||||
|           "$mon_center,2560x1440@120,2560x1080,1" # main #ASPVEKfgZ8Dd |           # "$mon_center,2560x1440@120,2560x1080,1" # main #ASPVEKfgZ8Dd | ||||||
|           # "DP-4,2560x1440@144,2560x1080,1" # main #ASPVEKfgZ8Dd 120hz |           "DP-5,2560x1440@144,2560x1080,1" # main #ASPVEKfgZ8Dd 120hz | ||||||
|           "$mon_right,2560x1440@75,5120x1080,1" # right |           # "$mon_right,2560x1440@75,5120x1080,1" # right | ||||||
|           # "DP-7,2560x1440@75,5120x1080,1" # right 75hz |           "DP-7,2560x1440@75,5120x1080,1" # right 75hz | ||||||
|         ]; |         ]; | ||||||
|         input = { |         input = { | ||||||
|           kb_layout = "no"; |           kb_layout = "no"; | ||||||
|           follow_mouse = 1; |           follow_mouse = 1; | ||||||
|         }; |         }; | ||||||
|  |  | ||||||
|         device = [ |  | ||||||
|           { |  | ||||||
|             name = "wacom-one-by-wacom-m-pen"; |  | ||||||
|             output = "$mon_center"; |  | ||||||
|           } |  | ||||||
|         ]; |  | ||||||
|  |  | ||||||
|         cursor = { |         cursor = { | ||||||
|           no_hardware_cursors = true; |           no_hardware_cursors = true; | ||||||
|         }; |         }; | ||||||
| @@ -223,6 +71,9 @@ in | |||||||
|  |  | ||||||
|         decoration = { |         decoration = { | ||||||
|           rounding = 10; |           rounding = 10; | ||||||
|  |           drop_shadow = true; | ||||||
|  |           shadow_range = 4; | ||||||
|  |           shadow_render_power = 3; | ||||||
|           blur = { |           blur = { | ||||||
|             enabled = true; |             enabled = true; | ||||||
|             size = 3; |             size = 3; | ||||||
| @@ -303,7 +154,7 @@ in | |||||||
|           "$mainMod,Return,exec,$term" |           "$mainMod,Return,exec,$term" | ||||||
|  |  | ||||||
|           # hyprlock |           # hyprlock | ||||||
|           "$shiftMainMod,l,exec,${lockhelper}/bin/lockhelper" |           "$shiftMainMod,l,exec,lockhelper" | ||||||
|  |  | ||||||
|           # rofi |           # rofi | ||||||
|           "$mainMod,D,exec,rofi-launcher" |           "$mainMod,D,exec,rofi-launcher" | ||||||
| @@ -366,6 +217,12 @@ in | |||||||
|         ]; |         ]; | ||||||
|  |  | ||||||
|         exec-once = [ |         exec-once = [ | ||||||
|  |           "waybar" | ||||||
|  |           "hyprpaper & sleep 10 && randomwp" | ||||||
|  |           "easyeffects --gapplication-service" | ||||||
|  |           "hypridle" | ||||||
|  |           "streamcontroller -b" | ||||||
|  |           # "dunst" | ||||||
|         ]; |         ]; | ||||||
|       }; |       }; | ||||||
|     }; |     }; | ||||||
|   | |||||||
| @@ -1,9 +1,15 @@ | |||||||
| { | { | ||||||
|  |   inputs, | ||||||
|   pkgs, |   pkgs, | ||||||
|   lib, |   lib, | ||||||
|  |   config, | ||||||
|   ... |   ... | ||||||
| }: | }: | ||||||
| { | { | ||||||
|  |   imports = [ | ||||||
|  |     ./hyprlock.nix | ||||||
|  |     ./hypridle.nix | ||||||
|  |   ]; | ||||||
|   options.hyprland.enable = lib.mkEnableOption "Hyprland"; |   options.hyprland.enable = lib.mkEnableOption "Hyprland"; | ||||||
|   config = { |   config = { | ||||||
|     home.packages = with pkgs; [ |     home.packages = with pkgs; [ | ||||||
| @@ -22,82 +28,6 @@ | |||||||
|       libsForQt5.qt5ct |       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 = { |     wayland.windowManager.hyprland = { | ||||||
|       enable = true; |       enable = true; | ||||||
|       package = pkgs.hyprland; |       package = pkgs.hyprland; | ||||||
| @@ -116,6 +46,9 @@ | |||||||
|  |  | ||||||
|         decoration = { |         decoration = { | ||||||
|           rounding = 10; |           rounding = 10; | ||||||
|  |           drop_shadow = true; | ||||||
|  |           shadow_range = 4; | ||||||
|  |           shadow_render_power = 3; | ||||||
|           blur = { |           blur = { | ||||||
|             enabled = true; |             enabled = true; | ||||||
|             size = 3; |             size = 3; | ||||||
| @@ -166,12 +99,13 @@ | |||||||
|           "special:special, on-created-empty:kitty, rounding:true, decorate:false, border:false" |           "special:special, on-created-empty:kitty, rounding:true, decorate:false, border:false" | ||||||
|         ]; |         ]; | ||||||
|  |  | ||||||
|         bindm = [ |         bindm = [ "ALT,mouse:272,movewindow" ]; | ||||||
|           "$mainMod,mouse:272,movewindow" |  | ||||||
|           "$shiftMainMod,mouse:272,resizewindow" |  | ||||||
|         ]; |  | ||||||
|  |  | ||||||
|         bindr = [ |         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 = [ |         bind = [ | ||||||
| @@ -183,7 +117,7 @@ | |||||||
|           "$mainMod,P,exec,rofi-rbw" |           "$mainMod,P,exec,rofi-rbw" | ||||||
|  |  | ||||||
|           # hyprlock |           # hyprlock | ||||||
|           "$shiftMainMod,l,exec,${pkgs.hyprlock}/bin/hyprlock" |           "$shiftMainMod,l,exec,lockhelper" | ||||||
|  |  | ||||||
|           # hyprland |           # hyprland | ||||||
|           "$mainMod,Q,killactive," |           "$mainMod,Q,killactive," | ||||||
| @@ -206,6 +140,12 @@ | |||||||
|           # Force opacity |           # Force opacity | ||||||
|           "$shiftMainMod,o,exec, hl-no-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 |           # worspace switching | ||||||
|           "$mainMod,1,workspace,1" |           "$mainMod,1,workspace,1" | ||||||
|           "$mainMod,2,workspace,2" |           "$mainMod,2,workspace,2" | ||||||
| @@ -220,6 +160,10 @@ | |||||||
|         ]; |         ]; | ||||||
|  |  | ||||||
|         exec-once = [ |         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" | SECRET_DIR = "/home/torjus/.config/sops-nix/secrets" | ||||||
|  |  | ||||||
|  |  | ||||||
| def sonarr_url(): | def sonarr_url(): | ||||||
|     xdg_dir = os.environ["XDG_RUNTIME_DIR"] |     xdg_dir = os.environ["XDG_RUNTIME_DIR"] | ||||||
|     if not xdg_dir: |     if not xdg_dir: | ||||||
| @@ -14,31 +13,26 @@ def sonarr_url(): | |||||||
|     with open(f"{SECRET_DIR}/sonarr_base_url") as f: |     with open(f"{SECRET_DIR}/sonarr_base_url") as f: | ||||||
|         return f.read().strip() |         return f.read().strip() | ||||||
|  |  | ||||||
|  |  | ||||||
| def radarr_url(): | def radarr_url(): | ||||||
|     with open(f"{SECRET_DIR}/radarr_base_url") as f: |     with open(f"{SECRET_DIR}/radarr_base_url") as f: | ||||||
|         return f.read().strip() |         return f.read().strip() | ||||||
|  |  | ||||||
|  |  | ||||||
| def make_header(api_key: str): | def make_header(api_key: str): | ||||||
|     return {"X-Api-Key": api_key, "Accept": "application/json"} |     return {"X-Api-Key": api_key, "Accept": "application/json"} | ||||||
|  |  | ||||||
|  |  | ||||||
| def get_sonarr_key(): | def get_sonarr_key(): | ||||||
|     with open(f"{SECRET_DIR}/sonarr_api_key") as f: |     with open(f"{SECRET_DIR}/sonarr_api_key") as f: | ||||||
|         return f.read().strip() |         return f.read().strip() | ||||||
|  |  | ||||||
|  |  | ||||||
| def get_radarr_key(): | def get_radarr_key(): | ||||||
|     with open(f"{SECRET_DIR}/radarr_api_key") as f: |     with open(f"{SECRET_DIR}/radarr_api_key") as f: | ||||||
|         return f.read().strip() |         return f.read().strip() | ||||||
|  |  | ||||||
|  | def get_sonarr_history(since: datetime|None=None): | ||||||
| def get_sonarr_history(since: datetime | None = None): |  | ||||||
|     api_key = get_sonarr_key() |     api_key = get_sonarr_key() | ||||||
|     if not since: |     if not since: | ||||||
|         since = datetime.combine(date.today() - timedelta(days=1), datetime.min.time()) |         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()}" |     url += f"?date={since.isoformat()}" | ||||||
|     response = requests.get(url, headers=make_header(api_key)) |     response = requests.get(url, headers=make_header(api_key)) | ||||||
|     response.raise_for_status() |     response.raise_for_status() | ||||||
| @@ -50,11 +44,10 @@ def get_sonarr_history(since: datetime | None = None): | |||||||
|             items.append(item["sourceTitle"]) |             items.append(item["sourceTitle"]) | ||||||
|     return items |     return items | ||||||
|  |  | ||||||
|  | def get_radarr_history(since: datetime|None=None): | ||||||
| def get_radarr_history(since: datetime | None = None): |  | ||||||
|     api_key = get_radarr_key() |     api_key = get_radarr_key() | ||||||
|     if not since: |     if not since: | ||||||
|         since = datetime.combine(date.today() - timedelta(days=7), datetime.min.time()) |         since = datetime.combine(date.today()-timedelta(days=7),datetime.min.time()) | ||||||
|     url = f"{radarr_url()}/api/v3/history/since" |     url = f"{radarr_url()}/api/v3/history/since" | ||||||
|     url += f"?date={since.isoformat()}" |     url += f"?date={since.isoformat()}" | ||||||
|     response = requests.get(url, headers=make_header(api_key)) |     response = requests.get(url, headers=make_header(api_key)) | ||||||
| @@ -67,17 +60,12 @@ def get_radarr_history(since: datetime | None = None): | |||||||
|             items.append(item["sourceTitle"]) |             items.append(item["sourceTitle"]) | ||||||
|     return items |     return items | ||||||
|  |  | ||||||
|  |  | ||||||
| if __name__ == "__main__": | if __name__ == "__main__": | ||||||
|     sonarr_items = get_sonarr_history() |     sonarr_items = get_sonarr_history() | ||||||
|     radarr_items = get_radarr_history() |     radarr_items = get_radarr_history() | ||||||
|  |  | ||||||
|     output = { |     output = { | ||||||
|         "text": f"Son: {len(sonarr_items)}|Rad: {len(radarr_items)}", |         "text": f"Son: {len(sonarr_items)}|Rad: {len(radarr_items)}", | ||||||
|         "tooltip": "Radarr: \n" |         "tooltip": "Radarr: \n" + "\n".join(radarr_items) + "\n" + "Sonarr: \n" + "\n".join(sonarr_items) | ||||||
|         + "\n".join(radarr_items) |  | ||||||
|         + "\n" |  | ||||||
|         + "Sonarr: \n" |  | ||||||
|         + "\n".join(sonarr_items), |  | ||||||
|     } |     } | ||||||
|     print(json.dumps(output)) |     print(json.dumps(output)) | ||||||
|   | |||||||
| @@ -45,7 +45,7 @@ in | |||||||
|   programs.waybar = { |   programs.waybar = { | ||||||
|     enable = true; |     enable = true; | ||||||
|     systemd = { |     systemd = { | ||||||
|       enable = true; # disable it,autostart it in hyprland conf |       enable = false; # disable it,autostart it in hyprland conf | ||||||
|       target = "graphical-session.target"; |       target = "graphical-session.target"; | ||||||
|     }; |     }; | ||||||
|     style = '' |     style = '' | ||||||
|   | |||||||
| @@ -27,6 +27,7 @@ | |||||||
|           ./programs/obs-studio |           ./programs/obs-studio | ||||||
|           ./programs/vscode |           ./programs/vscode | ||||||
|           ./programs/pywal |           ./programs/pywal | ||||||
|  |           ./programs/zellij | ||||||
|           ./scripts |           ./scripts | ||||||
|           ./scripts/batlvl.nix |           ./scripts/batlvl.nix | ||||||
|           ./zsh |           ./zsh | ||||||
|   | |||||||
| @@ -5,14 +5,13 @@ in | |||||||
| { | { | ||||||
|   imports = [ |   imports = [ | ||||||
|     ./zoom.nix |     ./zoom.nix | ||||||
|     ./tacl.nix |  | ||||||
|   ]; |   ]; | ||||||
|   home.packages = with pkgs; [ |   home.packages = with pkgs; [ | ||||||
|     # CLI utils |     # CLI utils | ||||||
|  |     act | ||||||
|     age |     age | ||||||
|     bat |     bat | ||||||
|     bzip2 |     bzip2 | ||||||
|     chromium |  | ||||||
|     croc |     croc | ||||||
|     devenv |     devenv | ||||||
|     distrobox |     distrobox | ||||||
| @@ -23,8 +22,10 @@ in | |||||||
|     ffmpeg |     ffmpeg | ||||||
|     file |     file | ||||||
|     fzf |     fzf | ||||||
|  |     glib | ||||||
|     grimblast |     grimblast | ||||||
|     ijq |     ijq | ||||||
|  |     incus | ||||||
|     jq |     jq | ||||||
|     kitty |     kitty | ||||||
|     kubectl |     kubectl | ||||||
| @@ -36,19 +37,19 @@ in | |||||||
|     nwg-look |     nwg-look | ||||||
|     most |     most | ||||||
|     pinentry |     pinentry | ||||||
|  |     pre-commit | ||||||
|     pulseaudio |     pulseaudio | ||||||
|     pulsemixer |     pulsemixer | ||||||
|     rbw |     rbw | ||||||
|     restic |     restic | ||||||
|     ripgrep |     ripgrep | ||||||
|     sidequest |  | ||||||
|     sops |     sops | ||||||
|     sshfs |     sshfs | ||||||
|     step-cli |  | ||||||
|     tea |     tea | ||||||
|     tldr |     tldr | ||||||
|     tokei |     tokei | ||||||
|     unzip |     unzip | ||||||
|  |     ventoy | ||||||
|     wtype |     wtype | ||||||
|  |  | ||||||
|     # Non-CLI stuff |     # Non-CLI stuff | ||||||
| @@ -59,18 +60,30 @@ in | |||||||
|     mpv |     mpv | ||||||
|     mumble |     mumble | ||||||
|     pamixer |     pamixer | ||||||
|     pwvucontrol |  | ||||||
|     prismlauncher |  | ||||||
|     rofi-rbw-wayland |     rofi-rbw-wayland | ||||||
|  |     spicetify-cli | ||||||
|     spotify |     spotify | ||||||
|     virt-manager |     virt-manager | ||||||
|     # omnissa-horizon-client |     vmware-horizon-client | ||||||
|     yt-dlp |     yt-dlp | ||||||
|  |  | ||||||
|  |     # k8s tools | ||||||
|  |     cilium-cli | ||||||
|  |     cmctl | ||||||
|  |     k9s | ||||||
|  |     krew | ||||||
|  |     kubernetes-helm | ||||||
|  |     talosctl | ||||||
|  |  | ||||||
|     # Go stuff |     # Go stuff | ||||||
|     go |     go | ||||||
|     gopls |  | ||||||
|     delve |     delve | ||||||
|  |     gopls | ||||||
|  |  | ||||||
|  |     # js/ts | ||||||
|  |     nodejs | ||||||
|  |     nodePackages.pnpm | ||||||
|  |     typescript | ||||||
|  |  | ||||||
|     # Py stuff |     # Py stuff | ||||||
|     (python312.withPackages ( |     (python312.withPackages ( | ||||||
| @@ -79,7 +92,7 @@ in | |||||||
|         ipython |         ipython | ||||||
|       ] |       ] | ||||||
|     )) |     )) | ||||||
|     uv |     poetry | ||||||
|     ruff |     ruff | ||||||
|  |  | ||||||
|     # rust stuff |     # rust stuff | ||||||
| @@ -93,20 +106,13 @@ in | |||||||
|     nixprstatus |     nixprstatus | ||||||
|  |  | ||||||
|     # Stuff with overrides |     # Stuff with overrides | ||||||
|  |     # Btop | ||||||
|     (btop.override { cudaSupport = withCuda; }) |     (btop.override { cudaSupport = withCuda; }) | ||||||
|  |     # PrismLauncher | ||||||
|  |     prismlauncher | ||||||
|  |  | ||||||
|     # Extract logcli from grafana-loki |     # From nix-packages flake | ||||||
|     (pkgs.linkFarm "logcli" [ |     path-of-building-beta | ||||||
|       { |     awakened-poe-trade | ||||||
|         name = "bin/logcli"; |  | ||||||
|         path = "${pkgs.grafana-loki}/bin/logcli"; |  | ||||||
|       } |  | ||||||
|     ]) |  | ||||||
|     (lutris.override { |  | ||||||
|       extraLibraries = pkgs: [ |  | ||||||
|         nspr |  | ||||||
|         xorg.libXdamage |  | ||||||
|       ]; |  | ||||||
|     }) |  | ||||||
|   ]; |   ]; | ||||||
| } | } | ||||||
|   | |||||||
| @@ -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, ... }: | { pkgs, lib, ... }: | ||||||
| # let | let | ||||||
| #   version = "6.2.6.2503"; |   version = "6.2.6.2503"; | ||||||
| #   zoom-override = pkgs.zoom-us.overrideAttrs (old: { |   zoom-override = pkgs.zoom-us.overrideAttrs (old: { | ||||||
| #     inherit version; |     inherit version; | ||||||
| #     src = pkgs.fetchurl { |     src = pkgs.fetchurl { | ||||||
| #       url = "https://zoom.us/client/${version}/zoom_x86_64.pkg.tar.xz"; |       url = "https://zoom.us/client/${version}/zoom_x86_64.pkg.tar.xz"; | ||||||
| #       hash = "sha256-qhymegXkXSl9fK/5klSi5uRPwFVN88QH/5EVGaBUbfc="; |       hash = "sha256-qhymegXkXSl9fK/5klSi5uRPwFVN88QH/5EVGaBUbfc="; | ||||||
| #     }; |     }; | ||||||
| #   }); |   }); | ||||||
| # in | in | ||||||
| { | { | ||||||
|   home.packages = [ |   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, |   pkgs, | ||||||
|   ... |   ... | ||||||
| }: | }: | ||||||
| @@ -12,12 +14,13 @@ | |||||||
|     }; |     }; | ||||||
|     settings = { |     settings = { | ||||||
|       global = { |       global = { | ||||||
|  |         rounded = "yes"; | ||||||
|         origin = "top-right"; |         origin = "top-right"; | ||||||
|         monitor = "4"; |         monitor = "4"; | ||||||
|         alignment = "left"; |         alignment = "left"; | ||||||
|         vertical_alignment = "center"; |         vertical_alignment = "center"; | ||||||
|         width = "(0, 400)"; |         width = "400"; | ||||||
|         height = "(0, 400)"; |         height = "400"; | ||||||
|         scale = 0; |         scale = 0; | ||||||
|         gap_size = 0; |         gap_size = 0; | ||||||
|         progress_bar = true; |         progress_bar = true; | ||||||
| @@ -41,7 +44,7 @@ | |||||||
|         format = "<b>%s</b>\\n%b"; # format = "<span foreground='#f3f4f5'><b>%s %p</b></span>\n%b" |         format = "<b>%s</b>\\n%b"; # format = "<span foreground='#f3f4f5'><b>%s %p</b></span>\n%b" | ||||||
|         frame_color = "#232323"; |         frame_color = "#232323"; | ||||||
|         frame_width = 1; |         frame_width = 1; | ||||||
|         offset = "(15, 15)"; |         offset = "15x15"; | ||||||
|         horizontal_padding = 10; |         horizontal_padding = 10; | ||||||
|         icon_position = "left"; |         icon_position = "left"; | ||||||
|         indicate_hidden = "yes"; |         indicate_hidden = "yes"; | ||||||
| @@ -51,6 +54,7 @@ | |||||||
|         mouse_middle_click = "close_current"; |         mouse_middle_click = "close_current"; | ||||||
|         mouse_right_click = "close_all"; |         mouse_right_click = "close_all"; | ||||||
|         padding = 10; |         padding = 10; | ||||||
|  |         plain_text = "no"; | ||||||
|         separator_height = 2; |         separator_height = 2; | ||||||
|         show_indicators = "yes"; |         show_indicators = "yes"; | ||||||
|         shrink = "no"; |         shrink = "no"; | ||||||
|   | |||||||
| @@ -7,7 +7,11 @@ | |||||||
| let | let | ||||||
|   withCuda = osConfig.system.name == "gunter"; |   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 = ( |   obs-backgrounremoval-gpu = ( | ||||||
|     (pkgs.obs-studio-plugins.obs-backgroundremoval.override { onnxruntime = onnxruntime-gpu; }) |     (pkgs.obs-studio-plugins.obs-backgroundremoval.override { onnxruntime = onnxruntime-gpu; }) | ||||||
| @@ -31,9 +35,6 @@ in | |||||||
| { | { | ||||||
|   programs.obs-studio = { |   programs.obs-studio = { | ||||||
|     enable = true; |     enable = true; | ||||||
|     package = pkgs.obs-studio.override { |  | ||||||
|       cudaSupport = withCuda; |  | ||||||
|     }; |  | ||||||
|     plugins = |     plugins = | ||||||
|       with pkgs.obs-studio-plugins; |       with pkgs.obs-studio-plugins; | ||||||
|       [ |       [ | ||||||
|   | |||||||
| @@ -2,29 +2,19 @@ | |||||||
| { | { | ||||||
|   programs.vscode = { |   programs.vscode = { | ||||||
|     enable = true; |     enable = true; | ||||||
|     profiles.default = { |  | ||||||
|     enableUpdateCheck = true; |     enableUpdateCheck = true; | ||||||
|     enableExtensionUpdateCheck = true; |     enableExtensionUpdateCheck = true; | ||||||
|       userSettings = { |  | ||||||
|         "window.titleBarStyle" = "custom"; |  | ||||||
|         "rust-analyzer.testExplorer" = true; |  | ||||||
|         "rust-analyzer.restartServerOnConfigChange" = true; |  | ||||||
|         "direnv.restart.automatic" = true; |  | ||||||
|       }; |  | ||||||
|     extensions = with pkgs.vscode-extensions; [ |     extensions = with pkgs.vscode-extensions; [ | ||||||
|         bbenoist.nix |  | ||||||
|       catppuccin.catppuccin-vsc |       catppuccin.catppuccin-vsc | ||||||
|       catppuccin.catppuccin-vsc-icons |       catppuccin.catppuccin-vsc-icons | ||||||
|         github.copilot |  | ||||||
|         github.copilot-chat |  | ||||||
|       golang.go |       golang.go | ||||||
|         mkhl.direnv |       vscodevim.vim | ||||||
|       ms-python.python |       ms-python.python | ||||||
|       ms-vscode-remote.remote-ssh |       ms-vscode-remote.remote-ssh | ||||||
|         rooveterinaryinc.roo-cline |       bbenoist.nix | ||||||
|         rust-lang.rust-analyzer |  | ||||||
|         vscodevim.vim |  | ||||||
|     ]; |     ]; | ||||||
|  |     userSettings = { | ||||||
|  |       "window.titleBarStyle" = "custom"; | ||||||
|     }; |     }; | ||||||
|   }; |   }; | ||||||
| } | } | ||||||
|   | |||||||
| @@ -1,8 +1,6 @@ | |||||||
| { pkgs, config, ... }: | { pkgs, config, ... }: | ||||||
| { | { | ||||||
|   imports = [ |   imports = [ ./lockhelper.nix ]; | ||||||
|     ./noita-helper.nix |  | ||||||
|   ]; |  | ||||||
|   home.file.".local/bin/hl-no-opacity" = { |   home.file.".local/bin/hl-no-opacity" = { | ||||||
|     source = ./hl-no-opacity.sh; |     source = ./hl-no-opacity.sh; | ||||||
|     executable = true; |     executable = true; | ||||||
|   | |||||||
| @@ -1,21 +1,14 @@ | |||||||
| { | { pkgs, ... }: | ||||||
|   writeShellApplication, | let | ||||||
|   grim, |   lockhelper = pkgs.writeShellApplication { | ||||||
|   jq, |  | ||||||
|   gawk, |  | ||||||
|   hyprland, |  | ||||||
|   hyprlock, |  | ||||||
|   procps, |  | ||||||
| }: |  | ||||||
| writeShellApplication { |  | ||||||
|     name = "lockhelper"; |     name = "lockhelper"; | ||||||
|   runtimeInputs = [ |     runtimeInputs = with pkgs; [ | ||||||
|       grim |       grim | ||||||
|       jq |       jq | ||||||
|     gawk |  | ||||||
|     hyprland |  | ||||||
|     hyprlock |  | ||||||
|     procps |  | ||||||
|     ]; |     ]; | ||||||
|     text = (builtins.readFile ./lockhelper.sh); |     text = (builtins.readFile ./lockhelper.sh); | ||||||
|  |   }; | ||||||
|  | in | ||||||
|  | { | ||||||
|  |   home.packages = [ lockhelper ]; | ||||||
| } | } | ||||||
|   | |||||||
| @@ -3,14 +3,11 @@ set -eo pipefail | |||||||
|  |  | ||||||
| mkdir -p /tmp/lockscreen || true | 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 | while IFS= read -r m; do | ||||||
|     name=$(echo "$m" | awk -F $'\t' '{print $1}') |     grim -o "$m" "/tmp/lockscreen/$m.png" || true | ||||||
|     sum=$(echo "$m" | awk -F $'\t' '{printf $2}' | sha256sum | awk '{print substr($1,1,8)}') | done <<< "$monitors" | ||||||
|  |  | ||||||
|     grim -o "$name" "/tmp/lockscreen/$sum.png" || true |  | ||||||
| done <<< "$monitor_lines" |  | ||||||
|  |  | ||||||
| # Only lock if not already running | # Only lock if not already running | ||||||
| if [ -z "$(pgrep hyprlock)" ]  | 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 |     exit 1 | ||||||
| fi | fi | ||||||
|  |  | ||||||
|  | if ! command -v hyprpaper &> /dev/null; then | ||||||
|  |     echo "Could not find hyprpaper command" | ||||||
|  |     exit 1 | ||||||
|  | fi | ||||||
|  |  | ||||||
| echo "setting $wallpaper_path as wallpaper" | echo "setting $wallpaper_path as wallpaper" | ||||||
| hyprctl hyprpaper unload all | hyprctl hyprpaper unload all | ||||||
| hyprctl hyprpaper preload "$wallpaper_path" | hyprctl hyprpaper preload "$wallpaper_path" | ||||||
|   | |||||||
| @@ -44,7 +44,6 @@ let | |||||||
|           --exclude '/home/torjus/.npm' \ |           --exclude '/home/torjus/.npm' \ | ||||||
|           --exclude '/home/torjus/.factorio/mods' \ |           --exclude '/home/torjus/.factorio/mods' \ | ||||||
|           --exclude '/home/torjus/.zoom' \ |           --exclude '/home/torjus/.zoom' \ | ||||||
|           --exclude '/home/torjus/Games' \ |  | ||||||
|           --exclude '/home/torjus/git/nixpkgs' |           --exclude '/home/torjus/git/nixpkgs' | ||||||
|       retval=$? |       retval=$? | ||||||
|       if [ $retval -ne 0 ]; then |       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" ]; |  | ||||||
|     }; |  | ||||||
|   }; |  | ||||||
| } |  | ||||||
| @@ -19,7 +19,6 @@ in | |||||||
|   programs.ssh = { |   programs.ssh = { | ||||||
|     enable = true; |     enable = true; | ||||||
|     controlMaster = "auto"; |     controlMaster = "auto"; | ||||||
|     serverAliveInterval = 30; |  | ||||||
|  |  | ||||||
|     matchBlocks = { |     matchBlocks = { | ||||||
|       "bmo.uio.no-on-eduroam" = ( |       "bmo.uio.no-on-eduroam" = ( | ||||||
| @@ -42,6 +41,4 @@ in | |||||||
|       }; |       }; | ||||||
|     }; |     }; | ||||||
|   }; |   }; | ||||||
|  |  | ||||||
|   services.ssh-agent.enable = true; |  | ||||||
| } | } | ||||||
|   | |||||||
| @@ -24,7 +24,7 @@ | |||||||
|       nrebuild = "sudo nixos-rebuild switch --flake /home/${user}/nixos"; |       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"; |       ndiffbuild = "sudo nixos-rebuild build --flake /home/${user}/nixos && nvd diff /run/current-system /home/${user}/nixos/result"; | ||||||
|     }; |     }; | ||||||
|     initContent = '' |     initExtra = '' | ||||||
|       bindkey -v |       bindkey -v | ||||||
|       bindkey '^R' history-incremental-search-backward |       bindkey '^R' history-incremental-search-backward | ||||||
|  |  | ||||||
| @@ -33,8 +33,6 @@ | |||||||
|       promptinit |       promptinit | ||||||
|       prompt pure |       prompt pure | ||||||
|       export PATH="''${KREW_ROOT:-$HOME/.krew}/bin:$PATH" |       export PATH="''${KREW_ROOT:-$HOME/.krew}/bin:$PATH" | ||||||
|       export MANPAGER="nvim +Man!" |  | ||||||
|       export LOKI_ADDR="http://monitoring01:3100" |  | ||||||
|  |  | ||||||
|       # Aliases |       # Aliases | ||||||
|       alias ls=eza |       alias ls=eza | ||||||
|   | |||||||
| @@ -1,4 +0,0 @@ | |||||||
| { pkgs, ... }: |  | ||||||
| { |  | ||||||
|   programs.alvr.enable = true; |  | ||||||
| } |  | ||||||
| @@ -9,7 +9,7 @@ | |||||||
| { | { | ||||||
|   imports = [ |   imports = [ | ||||||
|     ./hardware-configuration.nix |     ./hardware-configuration.nix | ||||||
|     ../../system/monitoring |     ../../system/monitoring.nix | ||||||
|   ]; |   ]; | ||||||
|  |  | ||||||
|   # Sops stuff |   # Sops stuff | ||||||
| @@ -24,8 +24,9 @@ | |||||||
|   # Bootloader stuff |   # Bootloader stuff | ||||||
|   boot = { |   boot = { | ||||||
|     # Kernel stuff |     # Kernel stuff | ||||||
|  |     # kernelPackages = pkgs.linuxPackages_xanmod_latest; | ||||||
|     kernelPackages = pkgs.linuxPackages_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 = [ |     kernelParams = [ | ||||||
|       "quiet" |       "quiet" | ||||||
|       "splash" |       "splash" | ||||||
| @@ -53,9 +54,6 @@ | |||||||
|   networking.nftables.enable = true; |   networking.nftables.enable = true; | ||||||
|   networking.firewall = { |   networking.firewall = { | ||||||
|     enable = true; |     enable = true; | ||||||
|     allowedTCPPorts = [ |  | ||||||
|       8989 |  | ||||||
|     ]; |  | ||||||
|   }; |   }; | ||||||
|  |  | ||||||
|   # Set time stuff |   # Set time stuff | ||||||
| @@ -97,13 +95,14 @@ | |||||||
|   #     }; |   #     }; | ||||||
|   #   }) |   #   }) | ||||||
|   # ]; |   # ]; | ||||||
|   services.displayManager.gdm.wayland = true; |  | ||||||
|  |  | ||||||
|   services.xserver.enable = true; |   services.xserver.enable = true; | ||||||
|   services.xserver.videoDrivers = [ "nvidia" ]; |   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 = { |   programs.hyprland = { | ||||||
|     enable = true; |     enable = true; | ||||||
|     withUWSM = true; |  | ||||||
|     xwayland.enable = true; |     xwayland.enable = true; | ||||||
|     portalPackage = pkgs.xdg-desktop-portal-hyprland; |     portalPackage = pkgs.xdg-desktop-portal-hyprland; | ||||||
|   }; |   }; | ||||||
| @@ -141,19 +140,8 @@ | |||||||
|       "root" |       "root" | ||||||
|       "torjus" |       "torjus" | ||||||
|     ]; |     ]; | ||||||
|     trusted-substituters = [ |     substituters = [ "https://cuda-maintainers.cachix.org" ]; | ||||||
|       "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" |  | ||||||
|     ]; |  | ||||||
|     trusted-public-keys = [ |     trusted-public-keys = [ | ||||||
|       "nix-cache.home.2rjus.net-1:2kowZOG6pvhoK4AHVO3alBlvcghH20wchzoR0V86UWI=" |  | ||||||
|       "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" |  | ||||||
|       "cuda-maintainers.cachix.org-1:0dq3bujKpuEPMCX6U4WylrUDZ9JyUG0VpVZa7CNfq5E=" |       "cuda-maintainers.cachix.org-1:0dq3bujKpuEPMCX6U4WylrUDZ9JyUG0VpVZa7CNfq5E=" | ||||||
|     ]; |     ]; | ||||||
|   }; |   }; | ||||||
| @@ -178,7 +166,6 @@ | |||||||
|     # xorg.xf86inputlibinput |     # xorg.xf86inputlibinput | ||||||
|     # xorg.xinit |     # 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, |   # Do NOT change this value unless you have manually inspected all the changes it would make to your configuration, | ||||||
|   # and migrated your data accordingly. |   # and migrated your data accordingly. | ||||||
|   | |||||||
| @@ -12,8 +12,6 @@ | |||||||
|     ./nfs.nix |     ./nfs.nix | ||||||
|     ./ollama.nix |     ./ollama.nix | ||||||
|     ./streamdeck.nix |     ./streamdeck.nix | ||||||
|     ./alvr.nix |  | ||||||
|     ./ratbagd.nix |  | ||||||
|     ../../system |     ../../system | ||||||
|     ../../home/gunter.nix |     ../../home/gunter.nix | ||||||
|   ]; |   ]; | ||||||
|   | |||||||
| @@ -25,9 +25,7 @@ | |||||||
|     "kvm-amd" |     "kvm-amd" | ||||||
|     "v4l2loopback" |     "v4l2loopback" | ||||||
|   ]; |   ]; | ||||||
|   boot.extraModulePackages = with config.boot.kernelPackages; [ |   boot.extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback ]; | ||||||
|     v4l2loopback |  | ||||||
|   ]; |  | ||||||
|  |  | ||||||
|   fileSystems."/" = { |   fileSystems."/" = { | ||||||
|     device = "/dev/disk/by-uuid/a7d4b697-fffa-4bcb-9dd7-cbbd6121a50c"; |     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 = { |   services.open-webui = { | ||||||
|     enable = true; |     enable = true; | ||||||
|     package = pkgs.stable.open-webui; |  | ||||||
|     # enable = lib.warn "Open WebUI is disabled" false; |  | ||||||
|     environment = { |     environment = { | ||||||
|       VECTOR_DB = "pgvector"; |  | ||||||
|       PGVECTOR_DB_URL = "postgresql://openwebui:openwebui@pgdb1.home.2rjus.net:5432/openwebui"; |  | ||||||
|       DO_NOT_TRACK = "True"; |       DO_NOT_TRACK = "True"; | ||||||
|       SCARF_NO_ANALYTICS = "True"; |       SCARF_NO_ANALYTICS = "True"; | ||||||
|       OLLAMA_API_BASE_URL = "http://127.0.0.1:11434"; |       OLLAMA_API_BASE_URL = "http://127.0.0.1:11434"; | ||||||
| @@ -18,8 +14,4 @@ | |||||||
|     }; |     }; | ||||||
|     port = 11444; |     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, ... }: | { pkgs, ... }: | ||||||
| { | { | ||||||
|   programs.streamcontroller.enable = pkgs.lib.warn "streamcontroller broken due to textual" false; |   programs.streamcontroller.enable = true; | ||||||
| } | } | ||||||
|   | |||||||
| @@ -1,4 +1,6 @@ | |||||||
| { | { | ||||||
|  |   config, | ||||||
|  |   lib, | ||||||
|   pkgs, |   pkgs, | ||||||
|   ... |   ... | ||||||
| }: | }: | ||||||
| @@ -22,7 +24,6 @@ | |||||||
|     enable = true; |     enable = true; | ||||||
|     configurationLimit = 3; |     configurationLimit = 3; | ||||||
|   }; |   }; | ||||||
|  |  | ||||||
|   boot.loader.efi = { |   boot.loader.efi = { | ||||||
|     canTouchEfiVariables = true; |     canTouchEfiVariables = true; | ||||||
|   }; |   }; | ||||||
| @@ -48,12 +49,8 @@ | |||||||
|   # Set time stuff |   # Set time stuff | ||||||
|   time.timeZone = "Europe/Oslo"; |   time.timeZone = "Europe/Oslo"; | ||||||
|  |  | ||||||
|   hardware = { |  | ||||||
|     enableRedistributableFirmware = true; |  | ||||||
|     enableAllFirmware = true; |  | ||||||
|  |  | ||||||
|   # Enable opengl |   # Enable opengl | ||||||
|     graphics = { |   hardware.graphics = { | ||||||
|     enable = true; |     enable = true; | ||||||
|     extraPackages = with pkgs; [ |     extraPackages = with pkgs; [ | ||||||
|       intel-media-driver |       intel-media-driver | ||||||
| @@ -61,7 +58,6 @@ | |||||||
|       libvdpau-va-gl |       libvdpau-va-gl | ||||||
|     ]; |     ]; | ||||||
|   }; |   }; | ||||||
|   }; |  | ||||||
|  |  | ||||||
|   # Bluetooth stuff |   # Bluetooth stuff | ||||||
|   services.blueman.enable = true; |   services.blueman.enable = true; | ||||||
| @@ -82,13 +78,12 @@ | |||||||
|  |  | ||||||
|   # Setup hyprland |   # Setup hyprland | ||||||
|   services.xserver.enable = true; |   services.xserver.enable = true; | ||||||
|   services.displayManager.gdm.wayland = { |   services.xserver.displayManager = { | ||||||
|     gdm.wayland = true; |     gdm.wayland = true; | ||||||
|     lightdm.enable = false; |     lightdm.enable = false; | ||||||
|   }; |   }; | ||||||
|   programs.hyprland = { |   programs.hyprland = { | ||||||
|     enable = true; |     enable = true; | ||||||
|     withUWSM = true; |  | ||||||
|     xwayland.enable = true; |     xwayland.enable = true; | ||||||
|     portalPackage = pkgs.xdg-desktop-portal-hyprland; |     portalPackage = pkgs.xdg-desktop-portal-hyprland; | ||||||
|   }; |   }; | ||||||
| @@ -96,6 +91,12 @@ | |||||||
|   # TRIM |   # TRIM | ||||||
|   services.fstrim.enable = true; |   services.fstrim.enable = true; | ||||||
|  |  | ||||||
|  |   # TLP | ||||||
|  |   services.tlp.enable = true; | ||||||
|  |  | ||||||
|  |   # Brillo | ||||||
|  |   hardware.brillo.enable = true; | ||||||
|  |  | ||||||
|   # Setup common XDG env vars |   # Setup common XDG env vars | ||||||
|   environment.sessionVariables = rec { |   environment.sessionVariables = rec { | ||||||
|     XDG_CACHE_HOME = "$HOME/.cache"; |     XDG_CACHE_HOME = "$HOME/.cache"; | ||||||
|   | |||||||
| @@ -8,7 +8,6 @@ | |||||||
|   imports = [ |   imports = [ | ||||||
|     ./configuration.nix |     ./configuration.nix | ||||||
|     ./hardware-configuration.nix |     ./hardware-configuration.nix | ||||||
|     ./laptop.nix |  | ||||||
|     ../../system |     ../../system | ||||||
|     ../../home/magicman.nix |     ../../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] | 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_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] | 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: | sops: | ||||||
|     kms: [] |     kms: [] | ||||||
|     gcp_kms: [] |     gcp_kms: [] | ||||||
| @@ -13,23 +12,14 @@ sops: | |||||||
|         - recipient: age1lznyk4ee7e7x8n92cq2n87kz9920473ks5u9jlhd3dczfzq4wamqept56u |         - recipient: age1lznyk4ee7e7x8n92cq2n87kz9920473ks5u9jlhd3dczfzq4wamqept56u | ||||||
|           enc: | |           enc: | | ||||||
|             -----BEGIN AGE ENCRYPTED FILE----- |             -----BEGIN AGE ENCRYPTED FILE----- | ||||||
|             YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBnaUlVOWtoRTFvMHljV0Fu |             YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBDdDRDc0UvaWY4U0loZzQ0 | ||||||
|             TFp2Ym1jcThqbWRjUjdNSnhxRUsrOWl6S3dBCmh0L0YzaXNlRTFHMXFHTGc1T3I2 |             bDZCMitGbGVYaGJyUXNrZGpnZHJlWHRkK3drCnJ2TlovSUI0OEVrV2FBbVdlSm1z | ||||||
|             WE03WjJCSlJSV2lmSExTWDBQRnlOcDAKLS0tIFJoeEM5b0IrdWxTRWhvNnd0c3NG |             OE9lYXNMSXpCS0NMSkZDcjhtWENOUTAKLS0tIEZFMnVqcktwWkR5VHBGQXdobXlp | ||||||
|             dENGdjJteFFaQTNFaDgvSGV2UEtyT0EKbdg4atS91rB99l7zKKkfPzKk4T5Mq2x5 |             Q3gxalhGVjNlS3B3YlFsK0VQMUFITEUKE87+RpOG6ucXHHQ0DMQ9F3yo0n1aXbv7 | ||||||
|             bX825DPrxauAhvrT7ca/A2OwA4kaFuxPrQGd3VOPAXTVhlbcFgIAdw== |             OX5ibHU7RroUQwFmDj87u59VUTvpWRQjsBW4c4WrZRk9KcjwinZZZQ== | ||||||
|             -----END AGE ENCRYPTED FILE----- |             -----END AGE ENCRYPTED FILE----- | ||||||
|         - recipient: age1stlqqspmt5fepyz35udrwr5avf9zuju79f787p26pu2d2j08yqps2q2t2c |     lastmodified: "2024-04-25T19:19:54Z" | ||||||
|           enc: | |     mac: ENC[AES256_GCM,data:VGBiDi71DHAXLhi7XC0XSTqnSwcJXv1Lj53qriFER7BXXZNPUdbeknlYR+KMdL3hgKGiK+ElWK5foDAy6jpl1H3U7Y9B4d40pVZSzEoN+fCwUgfP+yym1HwKZZoJok2ksXZIL4MZyZSNS+ONjDeFEcyHobIx8pRThxic3CcvptI=,iv:QwnFcYeIWibx5q8C/ur1eE8F9vbyGHg5raInDHBoyVs=,tag:JJWEYAyVhfny4hWrKBAKig==,type:str] | ||||||
|             -----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] |  | ||||||
|     pgp: [] |     pgp: [] | ||||||
|     unencrypted_suffix: _unencrypted |     unencrypted_suffix: _unencrypted | ||||||
|     version: 3.9.4 |     version: 3.8.1 | ||||||
|   | |||||||
| @@ -1,12 +1,10 @@ | |||||||
| { | { | ||||||
|   imports = [ |   imports = [ | ||||||
|     ./fonts.nix |     ./fonts.nix | ||||||
|     ./root-ca.nix |  | ||||||
|     ./fwupd.nix |     ./fwupd.nix | ||||||
|     ./git.nix |     ./git.nix | ||||||
|     ./greetd.nix |     ./greetd.nix | ||||||
|     ./libvirt.nix |     ./libvirt.nix | ||||||
|     ./locale.nix |  | ||||||
|     ./podman.nix |     ./podman.nix | ||||||
|     ./security.nix |     ./security.nix | ||||||
|     ./services.nix |     ./services.nix | ||||||
|   | |||||||
| @@ -5,10 +5,14 @@ | |||||||
|     fira-code |     fira-code | ||||||
|     fira-code-symbols |     fira-code-symbols | ||||||
|     font-awesome |     font-awesome | ||||||
|     nerd-fonts.jetbrains-mono |     (nerdfonts.override { | ||||||
|     nerd-fonts.fira-code |       fonts = [ | ||||||
|     nerd-fonts.droid-sans-mono |         "JetBrainsMono" | ||||||
|     nerd-fonts.dejavu-sans-mono |         "FiraCode" | ||||||
|  |         "DroidSansMono" | ||||||
|  |         "DejaVuSansMono" | ||||||
|  |       ]; | ||||||
|  |     }) | ||||||
|     noto-fonts |     noto-fonts | ||||||
|     noto-fonts-cjk-sans |     noto-fonts-cjk-sans | ||||||
|     noto-fonts-emoji |     noto-fonts-emoji | ||||||
|   | |||||||
| @@ -4,7 +4,7 @@ | |||||||
|     enable = true; |     enable = true; | ||||||
|     settings = { |     settings = { | ||||||
|       default_session = { |       default_session = { | ||||||
|         command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --cmd \"uwsm start default\""; |         command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --cmd \"dbus-run-session Hyprland\""; | ||||||
|         user = "greeter"; |         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 = { |     locate = { | ||||||
|       enable = true; |       enable = true; | ||||||
|       package = pkgs.plocate; |       package = pkgs.plocate; | ||||||
|  |       localuser = null; | ||||||
|     }; |     }; | ||||||
|   }; |   }; | ||||||
| } | } | ||||||
|   | |||||||
| @@ -3,7 +3,6 @@ | |||||||
| { | { | ||||||
|   programs.zsh.enable = true; |   programs.zsh.enable = true; | ||||||
|   environment.shells = with pkgs; [ zsh ]; |   environment.shells = with pkgs; [ zsh ]; | ||||||
|   programs.adb.enable = true; |  | ||||||
|  |  | ||||||
|   # Setup torjus user |   # Setup torjus user | ||||||
|   users.users.torjus = { |   users.users.torjus = { | ||||||
| @@ -21,7 +20,6 @@ | |||||||
|       "gamemode" |       "gamemode" | ||||||
|       "libvirtd" |       "libvirtd" | ||||||
|       "podman" |       "podman" | ||||||
|       "adbusers" |  | ||||||
|     ]; |     ]; | ||||||
|     # Install some user packages |     # Install some user packages | ||||||
|     packages = with pkgs; [ ]; |     packages = with pkgs; [ ]; | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user