mirror of
				https://github.com/Jokiller230/puzzlevision.git
				synced 2025-10-31 13:50:04 +00:00 
			
		
		
		
	Compare commits
	
		
			5 commits
		
	
	
		
			dc92ba46c9
			...
			124d6b7ede
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 124d6b7ede | |||
| c5283fe60b | |||
| a9726ee734 | |||
| 18337ad778 | |||
| c32bb1c696 | 
					 34 changed files with 177 additions and 343 deletions
				
			
		
							
								
								
									
										299
									
								
								flake.lock
									
										
									
										generated
									
									
									
								
							
							
						
						
									
										299
									
								
								flake.lock
									
										
									
										generated
									
									
									
								
							|  | @ -2,22 +2,16 @@ | |||
|   "nodes": { | ||||
|     "catppuccin": { | ||||
|       "inputs": { | ||||
|         "catppuccin-v1_1": "catppuccin-v1_1", | ||||
|         "catppuccin-v1_2": "catppuccin-v1_2", | ||||
|         "home-manager": "home-manager", | ||||
|         "home-manager-stable": "home-manager-stable", | ||||
|         "nixpkgs": [ | ||||
|           "nixpkgs" | ||||
|         ], | ||||
|         "nixpkgs-stable": "nixpkgs-stable", | ||||
|         "nuscht-search": "nuscht-search" | ||||
|         ] | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1736069220, | ||||
|         "narHash": "sha256-76MaB3COao55nlhWmSmq9PKgu2iGIs54C1cAE0E5J6Y=", | ||||
|         "lastModified": 1737579274, | ||||
|         "narHash": "sha256-8kBIYfn8TI9jbffhDNS12SdbQHb9ITXflwcgIJBeGqw=", | ||||
|         "owner": "catppuccin", | ||||
|         "repo": "nix", | ||||
|         "rev": "8eada392fd6571a747e1c5fc358dd61c14c8704e", | ||||
|         "rev": "06f0ea19334bcc8112e6d671fd53e61f9e3ad63a", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|  | @ -26,52 +20,6 @@ | |||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "catppuccin-v1_1": { | ||||
|       "locked": { | ||||
|         "lastModified": 1734055249, | ||||
|         "narHash": "sha256-pCWJgwo77KD7EJpwynwKrWPZ//dwypHq2TfdzZWqK68=", | ||||
|         "rev": "7221d6ca17ac36ed20588e1c3a80177ac5843fa7", | ||||
|         "revCount": 326, | ||||
|         "type": "tarball", | ||||
|         "url": "https://api.flakehub.com/f/pinned/catppuccin/nix/1.1.1/0193bdc0-b045-7eed-bbec-95611a8ecdf5/source.tar.gz" | ||||
|       }, | ||||
|       "original": { | ||||
|         "type": "tarball", | ||||
|         "url": "https://flakehub.com/f/catppuccin/nix/1.1.%2A.tar.gz" | ||||
|       } | ||||
|     }, | ||||
|     "catppuccin-v1_2": { | ||||
|       "locked": { | ||||
|         "lastModified": 1734728407, | ||||
|         "narHash": "sha256-Let3uJo4YDyfqbqaw66dpZxhJB2TrDyZWSFd5rpPLJA=", | ||||
|         "rev": "23ee86dbf4ed347878115a78971d43025362fab1", | ||||
|         "revCount": 341, | ||||
|         "type": "tarball", | ||||
|         "url": "https://api.flakehub.com/f/pinned/catppuccin/nix/1.2.0/0193e5e0-33b7-7149-a362-bfe56b20f64e/source.tar.gz" | ||||
|       }, | ||||
|       "original": { | ||||
|         "type": "tarball", | ||||
|         "url": "https://flakehub.com/f/catppuccin/nix/1.2.%2A.tar.gz" | ||||
|       } | ||||
|     }, | ||||
|     "elanmoc2": { | ||||
|       "inputs": { | ||||
|         "nixpkgs": "nixpkgs" | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1731852525, | ||||
|         "narHash": "sha256-t3wgLs3I38Ijc/JuxUKuVGZFF3eeYeFNibps5wbSsv4=", | ||||
|         "owner": "sandptel", | ||||
|         "repo": "elanmoc2", | ||||
|         "rev": "8b049aa1f184b34b7f6829472b10ea8453bd5806", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "sandptel", | ||||
|         "repo": "elanmoc2", | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "flake-compat": { | ||||
|       "flake": false, | ||||
|       "locked": { | ||||
|  | @ -109,11 +57,11 @@ | |||
|         "systems": "systems" | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1731533236, | ||||
|         "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", | ||||
|         "lastModified": 1705309234, | ||||
|         "narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=", | ||||
|         "owner": "numtide", | ||||
|         "repo": "flake-utils", | ||||
|         "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", | ||||
|         "rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|  | @ -124,7 +72,7 @@ | |||
|     }, | ||||
|     "flake-utils-plus": { | ||||
|       "inputs": { | ||||
|         "flake-utils": "flake-utils_3" | ||||
|         "flake-utils": "flake-utils_2" | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1715533576, | ||||
|  | @ -145,24 +93,6 @@ | |||
|       "inputs": { | ||||
|         "systems": "systems_2" | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1705309234, | ||||
|         "narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=", | ||||
|         "owner": "numtide", | ||||
|         "repo": "flake-utils", | ||||
|         "rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "numtide", | ||||
|         "repo": "flake-utils", | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "flake-utils_3": { | ||||
|       "inputs": { | ||||
|         "systems": "systems_3" | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1694529238, | ||||
|         "narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=", | ||||
|  | @ -180,16 +110,16 @@ | |||
|     "ghostty": { | ||||
|       "inputs": { | ||||
|         "flake-compat": "flake-compat", | ||||
|         "nixpkgs-stable": "nixpkgs-stable_2", | ||||
|         "nixpkgs-stable": "nixpkgs-stable", | ||||
|         "nixpkgs-unstable": "nixpkgs-unstable", | ||||
|         "zig": "zig" | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1736402835, | ||||
|         "narHash": "sha256-SiG2B2KfU4BIOggrJJa9nKoagXtLXWWo9vXJ88a+ls8=", | ||||
|         "lastModified": 1738275804, | ||||
|         "narHash": "sha256-n9cSCLlWjc8Bc5QyZYLo5+c6MfTZjgDpUGx/FGxBiY8=", | ||||
|         "owner": "ghostty-org", | ||||
|         "repo": "ghostty", | ||||
|         "rev": "2d7706ec4f7042b9072d3b8ac8ea496dee209bc8", | ||||
|         "rev": "c5508e7d1922842ecd3160ea73b97da1282168b3", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|  | @ -200,11 +130,11 @@ | |||
|     }, | ||||
|     "hardware": { | ||||
|       "locked": { | ||||
|         "lastModified": 1736283893, | ||||
|         "narHash": "sha256-BG1FfTexFwNty5VhYjaQLMR6CMPfI3QRcaZrFQYu2EM=", | ||||
|         "lastModified": 1737751639, | ||||
|         "narHash": "sha256-ZEbOJ9iT72iwqXsiEMbEa8wWjyFvRA9Ugx8utmYbpz4=", | ||||
|         "owner": "NixOS", | ||||
|         "repo": "nixos-hardware", | ||||
|         "rev": "4f339f6be2b61662f957c2ee9eda0fa597d8a6d6", | ||||
|         "rev": "dfad538f751a5aa5d4436d9781ab27a6128ec9d4", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|  | @ -217,16 +147,15 @@ | |||
|     "home-manager": { | ||||
|       "inputs": { | ||||
|         "nixpkgs": [ | ||||
|           "catppuccin", | ||||
|           "nixpkgs" | ||||
|         ] | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1734622215, | ||||
|         "narHash": "sha256-OOfI0XhSJGHblfdNDhfnn8QnZxng63rWk9eeJ2tCbiI=", | ||||
|         "lastModified": 1738275749, | ||||
|         "narHash": "sha256-PM+cGduJ05EZ+YXulqAwUFjvfKpPmW080mcuN6R1POw=", | ||||
|         "owner": "nix-community", | ||||
|         "repo": "home-manager", | ||||
|         "rev": "1395379a7a36e40f2a76e7b9936cc52950baa1be", | ||||
|         "rev": "a8159195bfaef3c64df75d3b1e6a68d49d392be9", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|  | @ -235,125 +164,39 @@ | |||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "home-manager-stable": { | ||||
|       "inputs": { | ||||
|         "nixpkgs": [ | ||||
|           "catppuccin", | ||||
|           "nixpkgs-stable" | ||||
|         ] | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1734366194, | ||||
|         "narHash": "sha256-vykpJ1xsdkv0j8WOVXrRFHUAdp9NXHpxdnn1F4pYgSw=", | ||||
|         "owner": "nix-community", | ||||
|         "repo": "home-manager", | ||||
|         "rev": "80b0fdf483c5d1cb75aaad909bd390d48673857f", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "nix-community", | ||||
|         "ref": "release-24.11", | ||||
|         "repo": "home-manager", | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "home-manager_2": { | ||||
|       "inputs": { | ||||
|         "nixpkgs": [ | ||||
|           "nixpkgs" | ||||
|         ] | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1736366465, | ||||
|         "narHash": "sha256-Fo68EF6p/N9GJyHiAUbXtiE7IJlb3IMjK86LuxFMsRU=", | ||||
|         "owner": "nix-community", | ||||
|         "repo": "home-manager", | ||||
|         "rev": "7e00856596891850ba5ad4c5ecd2ed74468c08c5", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "nix-community", | ||||
|         "repo": "home-manager", | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "ixx": { | ||||
|       "inputs": { | ||||
|         "flake-utils": [ | ||||
|           "catppuccin", | ||||
|           "nuscht-search", | ||||
|           "flake-utils" | ||||
|         ], | ||||
|         "nixpkgs": [ | ||||
|           "catppuccin", | ||||
|           "nuscht-search", | ||||
|           "nixpkgs" | ||||
|         ] | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1729958008, | ||||
|         "narHash": "sha256-EiOq8jF4Z/zQe0QYVc3+qSKxRK//CFHMB84aYrYGwEs=", | ||||
|         "owner": "NuschtOS", | ||||
|         "repo": "ixx", | ||||
|         "rev": "9fd01aad037f345350eab2cd45e1946cc66da4eb", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "NuschtOS", | ||||
|         "ref": "v0.0.6", | ||||
|         "repo": "ixx", | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "nix-flatpak": { | ||||
|       "locked": { | ||||
|         "lastModified": 1711997201, | ||||
|         "narHash": "sha256-J71xzQlVYsjagA4AsVwRazhBh2rZrPpKvxTgs6UzL7c=", | ||||
|         "lastModified": 1734128415, | ||||
|         "narHash": "sha256-HLwdVNxpuTsLlM3tCkpbQU6yCehdgf3kOS1G2SDlkzY=", | ||||
|         "owner": "gmodena", | ||||
|         "repo": "nix-flatpak", | ||||
|         "rev": "b76fa31346db7fc958a9898f3c594696ca71c4fd", | ||||
|         "rev": "8bdc2540da516006d07b04019eb57ae0781a04b3", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "gmodena", | ||||
|         "ref": "v0.4.1", | ||||
|         "ref": "latest", | ||||
|         "repo": "nix-flatpak", | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "nixpkgs": { | ||||
|       "locked": { | ||||
|         "lastModified": 1737062831, | ||||
|         "narHash": "sha256-Tbk1MZbtV2s5aG+iM99U8FqwxU/YNArMcWAv6clcsBc=", | ||||
|         "lastModified": 1738136902, | ||||
|         "narHash": "sha256-pUvLijVGARw4u793APze3j6mU1Zwdtz7hGkGGkD87qw=", | ||||
|         "owner": "nixos", | ||||
|         "repo": "nixpkgs", | ||||
|         "rev": "5df43628fdf08d642be8ba5b3625a6c70731c19c", | ||||
|         "rev": "9a5db3142ce450045840cc8d832b13b8a2018e0c", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "nixos", | ||||
|         "ref": "nixos-unstable", | ||||
|         "ref": "nixpkgs-unstable", | ||||
|         "repo": "nixpkgs", | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "nixpkgs-stable": { | ||||
|       "locked": { | ||||
|         "lastModified": 1734600368, | ||||
|         "narHash": "sha256-nbG9TijTMcfr+au7ZVbKpAhMJzzE2nQBYmRvSdXUD8g=", | ||||
|         "owner": "NixOS", | ||||
|         "repo": "nixpkgs", | ||||
|         "rev": "b47fd6fa00c6afca88b8ee46cfdb00e104f50bca", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "NixOS", | ||||
|         "ref": "nixos-24.11", | ||||
|         "repo": "nixpkgs", | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "nixpkgs-stable_2": { | ||||
|       "locked": { | ||||
|         "lastModified": 1733423277, | ||||
|         "narHash": "sha256-TxabjxEgkNbCGFRHgM/b9yZWlBj60gUOUnRT/wbVQR8=", | ||||
|  | @ -385,57 +228,16 @@ | |||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "nixpkgs_2": { | ||||
|       "locked": { | ||||
|         "lastModified": 1736241350, | ||||
|         "narHash": "sha256-CHd7yhaDigUuJyDeX0SADbTM9FXfiWaeNyY34FL1wQU=", | ||||
|         "owner": "nixos", | ||||
|         "repo": "nixpkgs", | ||||
|         "rev": "8c9fd3e564728e90829ee7dbac6edc972971cd0f", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "nixos", | ||||
|         "ref": "nixpkgs-unstable", | ||||
|         "repo": "nixpkgs", | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "nuscht-search": { | ||||
|       "inputs": { | ||||
|         "flake-utils": "flake-utils", | ||||
|         "ixx": "ixx", | ||||
|         "nixpkgs": [ | ||||
|           "catppuccin", | ||||
|           "nixpkgs" | ||||
|         ] | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1733773348, | ||||
|         "narHash": "sha256-Y47y+LesOCkJaLvj+dI/Oa6FAKj/T9sKVKDXLNsViPw=", | ||||
|         "owner": "NuschtOS", | ||||
|         "repo": "search", | ||||
|         "rev": "3051be7f403bff1d1d380e4612f0c70675b44fc9", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "NuschtOS", | ||||
|         "repo": "search", | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "root": { | ||||
|       "inputs": { | ||||
|         "catppuccin": "catppuccin", | ||||
|         "elanmoc2": "elanmoc2", | ||||
|         "ghostty": "ghostty", | ||||
|         "hardware": "hardware", | ||||
|         "home-manager": "home-manager_2", | ||||
|         "home-manager": "home-manager", | ||||
|         "nix-flatpak": "nix-flatpak", | ||||
|         "nixpkgs": "nixpkgs_2", | ||||
|         "nixpkgs": "nixpkgs", | ||||
|         "snowfall-lib": "snowfall-lib", | ||||
|         "sops-nix": "sops-nix", | ||||
|         "zen-browser": "zen-browser" | ||||
|         "sops-nix": "sops-nix" | ||||
|       } | ||||
|     }, | ||||
|     "snowfall-lib": { | ||||
|  | @ -467,11 +269,11 @@ | |||
|         ] | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1736203741, | ||||
|         "narHash": "sha256-eSjkBwBdQk+TZWFlLbclF2rAh4JxbGg8az4w/Lfe7f4=", | ||||
|         "lastModified": 1737411508, | ||||
|         "narHash": "sha256-j9IdflJwRtqo9WpM0OfAZml47eBblUHGNQTe62OUqTw=", | ||||
|         "owner": "Mic92", | ||||
|         "repo": "sops-nix", | ||||
|         "rev": "c9c88f08e3ee495e888b8d7c8624a0b2519cb773", | ||||
|         "rev": "015d461c16678fc02a2f405eb453abb509d4e1d4", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|  | @ -510,47 +312,12 @@ | |||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "systems_3": { | ||||
|       "locked": { | ||||
|         "lastModified": 1681028828, | ||||
|         "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", | ||||
|         "owner": "nix-systems", | ||||
|         "repo": "default", | ||||
|         "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "nix-systems", | ||||
|         "repo": "default", | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "zen-browser": { | ||||
|       "inputs": { | ||||
|         "nixpkgs": [ | ||||
|           "nixpkgs" | ||||
|         ] | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1736267677, | ||||
|         "narHash": "sha256-7FH/gFShKOzf46yKqA4VWAaWxuyHBRnXOdaffbTxVo4=", | ||||
|         "owner": "0xc000022070", | ||||
|         "repo": "zen-browser-flake", | ||||
|         "rev": "c96c6a1ebf1bea782f9528dc316d986a6087ebc0", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "0xc000022070", | ||||
|         "repo": "zen-browser-flake", | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "zig": { | ||||
|       "inputs": { | ||||
|         "flake-compat": [ | ||||
|           "ghostty" | ||||
|         ], | ||||
|         "flake-utils": "flake-utils_2", | ||||
|         "flake-utils": "flake-utils", | ||||
|         "nixpkgs": [ | ||||
|           "ghostty", | ||||
|           "nixpkgs-stable" | ||||
|  |  | |||
|  | @ -17,17 +17,11 @@ | |||
|     # Hardware specific tweaks and performance optimizations. | ||||
|     hardware = { url = "github:NixOS/nixos-hardware/master"; }; | ||||
| 
 | ||||
|     # Support for ElanTech fingerprint scanner 04f3:0c00 | ||||
|     elanmoc2 = { | ||||
|       url = "github:sandptel/elanmoc2"; | ||||
|       inputs.nixpkgs.follows = "nixpkgs"; | ||||
|     }; | ||||
| 
 | ||||
|     # Catppuccin theme nix configuration. | ||||
|     catppuccin = { url = "github:catppuccin/nix"; inputs.nixpkgs.follows = "nixpkgs"; }; | ||||
| 
 | ||||
|     # Declarative management of Flatpak packages. | ||||
|     nix-flatpak = { url = "github:gmodena/nix-flatpak/?ref=v0.4.1"; }; | ||||
|     nix-flatpak = { url = "github:gmodena/nix-flatpak/?ref=latest"; }; | ||||
| 
 | ||||
|     # Apps | ||||
|     ghostty = { url = "github:ghostty-org/ghostty"; }; | ||||
|  |  | |||
|  | @ -1,9 +1,7 @@ | |||
| { | ||||
|   lib, | ||||
|   pkgs, | ||||
|   namespace, | ||||
|   ... | ||||
| }: with lib; with lib.${namespace}; | ||||
| }: | ||||
| { | ||||
|   # Declare user packages. | ||||
|   home.packages = with pkgs; [ | ||||
|  |  | |||
|  | @ -1,9 +1,7 @@ | |||
| { | ||||
|   lib, | ||||
|   pkgs, | ||||
|   namespace, | ||||
|   ... | ||||
| }: with lib; with lib.${namespace}; | ||||
| }: | ||||
| { | ||||
|   puzzlevision = { | ||||
|     themes.catppuccin = { | ||||
|  | @ -24,6 +22,60 @@ | |||
|     packages = []; | ||||
|   }; | ||||
| 
 | ||||
|   programs = { | ||||
|       nushell = { | ||||
|         enable = true; | ||||
| 
 | ||||
|         # for editing directly to config.nu | ||||
|         extraConfig = '' | ||||
|           let carapace_completer = {|spans| | ||||
|           carapace $spans.0 nushell $spans | from json | ||||
|           } | ||||
|           $env.config = { | ||||
|           show_banner: false, | ||||
|           completions: { | ||||
|           case_sensitive: false # case-sensitive completions | ||||
|           quick: true    # set to false to prevent auto-selecting completions | ||||
|           partial: true    # set to false to prevent partial filling of the prompt | ||||
|           algorithm: "fuzzy"    # prefix or fuzzy | ||||
|           external: { | ||||
|           # set to false to prevent nushell looking into $env.PATH to find more suggestions | ||||
|               enable: true | ||||
|           # set to lower can improve completion performance at the cost of omitting some options | ||||
|               max_results: 100 | ||||
|               completer: $carapace_completer # check 'carapace_completer' | ||||
|             } | ||||
|           } | ||||
|           } | ||||
|           $env.PATH = ($env.PATH | | ||||
|           split row (char esep) | | ||||
|           prepend /home/myuser/.apps | | ||||
|           append /usr/bin/env | ||||
|           ) | ||||
|         ''; | ||||
| 
 | ||||
|         shellAliases = { | ||||
|           vi = "hx"; | ||||
|           vim = "hx"; | ||||
|           nano = "hx"; | ||||
|         }; | ||||
|       }; | ||||
| 
 | ||||
|       carapace.enable = true; | ||||
|       carapace.enableNushellIntegration = true; | ||||
| 
 | ||||
|       starship = { | ||||
|         enable = true; | ||||
|         settings = { | ||||
|           add_newline = true; | ||||
|           character = { | ||||
|           success_symbol = "[➜](bold green)"; | ||||
|           error_symbol = "[➜](bold red)"; | ||||
|         }; | ||||
|       }; | ||||
|     }; | ||||
|   }; | ||||
| 
 | ||||
|   # TODO: look at git-sync for syncing stuff like obsidian vaults. | ||||
|   programs.git-credential-oauth.enable = true; | ||||
| 
 | ||||
|  | @ -45,17 +97,16 @@ | |||
|     avra | ||||
|     avrdude | ||||
|     jetbrains.phpstorm | ||||
|     jetbrains-toolbox | ||||
|     git | ||||
|     nodejs_22 | ||||
|     bun | ||||
|     devenv | ||||
|     python39 | ||||
|     poetry | ||||
|     nixd | ||||
|     nil | ||||
|     zed-editor | ||||
|     bruno | ||||
|     deno | ||||
|     carapace | ||||
| 
 | ||||
|     ### Work | ||||
|     teams-for-linux | ||||
|  |  | |||
|  | @ -1,8 +1,11 @@ | |||
| { | ||||
|   lib, | ||||
|   ... | ||||
| }: with lib; | ||||
| rec { | ||||
| }: | ||||
| let | ||||
|   inherit (lib) mkOption; | ||||
| in | ||||
| { | ||||
|   ## Create a NixOS module option. (Stolen from Jake Hamilton) | ||||
|   ## | ||||
|   ## ```nix | ||||
|  |  | |||
|  | @ -5,12 +5,14 @@ | |||
|   osConfig, | ||||
|   namespace, | ||||
|   ... | ||||
| }: with lib; with lib.${namespace}; | ||||
| }: | ||||
| let | ||||
|   inherit (lib) mkIf mkOption; | ||||
|   inherit (lib.${namespace}) mkOpt; | ||||
|   cfg = config.${namespace}.desktop.gnome; | ||||
| in | ||||
| { | ||||
|   options.${namespace}.desktop.gnome = with types; { | ||||
|   options.${namespace}.desktop.gnome = with lib.types; { | ||||
|     enabled-extensions = mkOption { | ||||
|       type = listOf package; | ||||
|       default = with pkgs.gnomeExtensions; [ dash-to-dock user-themes blur-my-shell appindicator unite color-picker clipboard-history ]; | ||||
|  | @ -19,7 +21,7 @@ in | |||
|     }; | ||||
|     favorite-apps = mkOption { | ||||
|       type = listOf str; | ||||
|       default = ["org.gnome.Nautilus.desktop" "obsidian.desktop" "zen.desktop" "dev.zed.Zed.desktop"]; | ||||
|       default = ["org.gnome.Nautilus.desktop" "obsidian.desktop" "firefox.desktop" "dev.zed.Zed.desktop"]; | ||||
|       example = ["org.gnome.Nautilus.desktop" "obsidian.desktop"]; | ||||
|       description = "Specify your favorite apps (sorted left to right)."; | ||||
|     }; | ||||
|  | @ -42,7 +44,7 @@ in | |||
|         enable-blur = mkOpt bool false "Whether to enable blur-my-shell application blur."; | ||||
|       }; | ||||
|     }; | ||||
|     wallpaper = mkOpt str (builtins.toString ./wallpapers/abstract/amber-d.jxl) "Specify the path of your prefered Gnome wallpaper."; | ||||
|     wallpaper = mkOpt str (builtins.toString ./wallpapers/arcane/jinx_flare.jpg) "Specify the path of your prefered Gnome wallpaper."; | ||||
|   }; | ||||
| 
 | ||||
|   config = mkIf osConfig.${namespace}.desktop.gnome.enable { | ||||
|  | @ -51,7 +53,7 @@ in | |||
|     dconf.settings = { | ||||
|       "org/gnome/shell" = { | ||||
|         favorite-apps = cfg.favorite-apps; | ||||
|         enabled-extensions = forEach cfg.enabled-extensions (x: x.extensionUuid); | ||||
|         enabled-extensions = lib.forEach cfg.enabled-extensions (x: x.extensionUuid); | ||||
|         disabled-extensions = []; # Make sure none of our extensions are disabled on system rebuild | ||||
|       }; | ||||
|       "org/gnome/shell/extensions/unite" = mkIf (builtins.elem pkgs.gnomeExtensions.unite cfg.enabled-extensions) { | ||||
|  |  | |||
							
								
								
									
										
											BIN
										
									
								
								modules/home/desktop/gnome/wallpapers/arcane/jinx_flare.jpg
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								modules/home/desktop/gnome/wallpapers/arcane/jinx_flare.jpg
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 516 KiB | 
							
								
								
									
										
											BIN
										
									
								
								modules/home/desktop/gnome/wallpapers/arcane/jinx_stand.webp
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								modules/home/desktop/gnome/wallpapers/arcane/jinx_stand.webp
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 1.6 MiB | 
|  | @ -1,15 +1,15 @@ | |||
| { | ||||
|   lib, | ||||
|   namespace, | ||||
|   config, | ||||
|   pkgs, | ||||
|   ... | ||||
| }: with lib; with lib.${namespace}; | ||||
| }: | ||||
| let | ||||
|   inherit (lib) mkOption; | ||||
|   palette = (pkgs.lib.importJSON (config.catppuccin.sources.palette + "/palette.json")).${config.catppuccin.flavor}.colors; | ||||
| in | ||||
| { | ||||
|   options.palette = mkOption { type = types.attrsOf types.raw; }; | ||||
|   options.palette = mkOption { type = lib.types.attrsOf lib.types.raw; }; | ||||
| 
 | ||||
|   config = { | ||||
|     inherit palette; | ||||
|  |  | |||
|  | @ -4,8 +4,10 @@ | |||
|   config, | ||||
|   pkgs, | ||||
|   ... | ||||
| }: with lib; with lib.${namespace}; | ||||
| }: | ||||
| let | ||||
|   inherit (lib) mkEnableOption mkIf; | ||||
| 
 | ||||
|   # Stolen from Oli @ git.gay, basically just themes default libadwaita components. | ||||
|   css = pkgs.writeTextFile { | ||||
|     name = "gtk-css"; | ||||
|  |  | |||
|  | @ -4,11 +4,10 @@ | |||
|   ... | ||||
| }: | ||||
| let | ||||
|   inherit (lib) types; | ||||
|   inherit (lib.${namespace}) mkOpt; | ||||
| in | ||||
| { | ||||
|   options.${namespace}.admin = with types; { | ||||
|   options.${namespace}.admin = with lib.types; { | ||||
|     name = mkOpt str "Jo" "The short name of the system admin."; | ||||
|     full-name = mkOpt str "Johannes Reckers" "The full name of the system admin."; | ||||
|     email = mkOpt str "system@thevoid.cafe" "The E-Mail of the system admin. (Used for system services by default)"; | ||||
|  |  | |||
|  | @ -3,8 +3,9 @@ | |||
|   namespace, | ||||
|   config, | ||||
|   ... | ||||
| }: with lib; with lib.${namespace}; | ||||
| }: | ||||
| let | ||||
|   inherit (lib) mkEnableOption mkIf; | ||||
|   cfg = config.${namespace}.archetypes.server; | ||||
| in { | ||||
|   options.${namespace}.archetypes.server = { enable = mkEnableOption "Enable the server archetype for your current system"; }; | ||||
|  |  | |||
|  | @ -3,8 +3,9 @@ | |||
|   namespace, | ||||
|   config, | ||||
|   ... | ||||
| }: with lib; with lib.${namespace}; | ||||
| }: | ||||
| let | ||||
|   inherit (lib) mkEnableOption mkIf; | ||||
|   cfg = config.${namespace}.archetypes.workstation; | ||||
| in { | ||||
|   options.${namespace}.archetypes.workstation = { enable = mkEnableOption "Enable the workstation archetype for your current system"; }; | ||||
|  |  | |||
|  | @ -3,8 +3,9 @@ | |||
|   namespace, | ||||
|   config, | ||||
|   ... | ||||
| }: with lib; with lib.${namespace}; | ||||
| }: | ||||
| let | ||||
|   inherit (lib) mkEnableOption mkIf; | ||||
|   cfg = config.${namespace}.common.audio; | ||||
| in { | ||||
|   options.${namespace}.common.audio = { enable = mkEnableOption "whether to enable common audio support and tweaks"; }; | ||||
|  |  | |||
|  | @ -4,8 +4,9 @@ | |||
|   namespace, | ||||
|   config, | ||||
|   ... | ||||
| }: with lib; with lib.${namespace}; | ||||
| }: | ||||
| let | ||||
|   inherit (lib) mkEnableOption mkIf; | ||||
|   cfg = config.${namespace}.common.bluetooth; | ||||
| in { | ||||
|   options.${namespace}.common.bluetooth = { enable = mkEnableOption "Enable bluetooth support on your current system"; }; | ||||
|  |  | |||
|  | @ -4,11 +4,12 @@ | |||
|   namespace, | ||||
|   config, | ||||
|   ... | ||||
| }: with lib; with lib.${namespace}; | ||||
| }: | ||||
| let | ||||
|   inherit (lib) mkEnableOption mkIf mkOption; | ||||
|   cfg = config.${namespace}.common.fonts; | ||||
| in { | ||||
|   options.${namespace}.common.fonts = with types; { | ||||
|   options.${namespace}.common.fonts = with lib.types; { | ||||
|     enable = mkEnableOption "Enable system font management"; | ||||
|     fonts = mkOption { | ||||
|       type = listOf package; | ||||
|  |  | |||
|  | @ -3,8 +3,9 @@ | |||
|   namespace, | ||||
|   config, | ||||
|   ... | ||||
| }: with lib; with lib.${namespace}; | ||||
| }: | ||||
| let | ||||
|   inherit (lib) mkEnableOption mkIf; | ||||
|   cfg = config.${namespace}.common.grub; | ||||
| in { | ||||
|   options.${namespace}.common.grub = { enable = mkEnableOption "grub"; }; | ||||
|  |  | |||
|  | @ -3,8 +3,9 @@ | |||
|   namespace, | ||||
|   config, | ||||
|   ... | ||||
| }: with lib; with lib.${namespace}; | ||||
| }: | ||||
| let | ||||
|   inherit (lib) mkEnableOption mkIf; | ||||
|   cfg = config.${namespace}.common.hardware; | ||||
| in { | ||||
|   options.${namespace}.common.hardware = { enable = mkEnableOption "whether to enable common hardware support"; }; | ||||
|  |  | |||
|  | @ -4,18 +4,15 @@ | |||
|   namespace, | ||||
|   config, | ||||
|   ... | ||||
| }: with lib; with lib.${namespace}; | ||||
| }: | ||||
| let | ||||
|   inherit (lib) mkEnableOption mkIf; | ||||
|   inherit (lib.${namespace}) mkOpt; | ||||
|   cfg = config.${namespace}.common.kernel; | ||||
| in { | ||||
|   options.${namespace}.common.kernel = { | ||||
|     enable = mkEnableOption "Modify the standard kernel settings"; | ||||
|     version = mkOption { | ||||
|       type = types.str; | ||||
|       default = "linuxPackages_latest"; | ||||
|       example = "linuxPackages_latest"; | ||||
|       description = "Set the kernel version to be used by your system"; | ||||
|     }; | ||||
|     version = mkOpt lib.types.str "linuxPackages_latest" "Set the kernel version to be used by your system"; | ||||
|   }; | ||||
| 
 | ||||
|   config = mkIf cfg.enable { | ||||
|  |  | |||
|  | @ -3,29 +3,30 @@ | |||
|   namespace, | ||||
|   config, | ||||
|   ... | ||||
| }: with lib; with lib.${namespace}; | ||||
| }: | ||||
| let | ||||
|   inherit (lib) mkEnableOption mkIf mkOption; | ||||
|   cfg = config.${namespace}.common.locale; | ||||
| in { | ||||
|   options.${namespace}.common.locale = { | ||||
|     enable = mkEnableOption "whether to enable common locale tweaks"; | ||||
| 
 | ||||
|     language = mkOption { | ||||
|       type = types.str; | ||||
|       type = lib.types.str; | ||||
|       default = "en_US"; | ||||
|       example = "en_US"; | ||||
|       description = "Sets the language for most text, doesn't include monetary or measurement settings"; | ||||
|     }; | ||||
| 
 | ||||
|     country = mkOption { | ||||
|       type = types.str; | ||||
|       type = lib.types.str; | ||||
|       default = "de_DE"; | ||||
|       example = "de_DE"; | ||||
|       description = "Sets the language used for monetary or measurement settings (USD vs Euro, etc...)"; | ||||
|     }; | ||||
| 
 | ||||
|     keymap = mkOption { | ||||
|       type = types.str; | ||||
|       type = lib.types.str; | ||||
|       default = "de"; | ||||
|       example = "de"; | ||||
|       description = "Sets the keymap to be used by the system"; | ||||
|  |  | |||
|  | @ -4,8 +4,9 @@ | |||
|   namespace, | ||||
|   config, | ||||
|   ... | ||||
| }: with lib; with lib.${namespace}; | ||||
| }: | ||||
| let | ||||
|   inherit (lib) mkEnableOption mkIf; | ||||
|   cfg = config.${namespace}.common.nix; | ||||
| in { | ||||
|   options.${namespace}.common.nix = { | ||||
|  |  | |||
|  | @ -4,8 +4,9 @@ | |||
|   config, | ||||
|   pkgs, | ||||
|   ... | ||||
| }: with lib; with lib.${namespace}; | ||||
| }: | ||||
| let | ||||
|   inherit (lib) mkEnableOption mkIf; | ||||
|   cfg = config.${namespace}.common.shell; | ||||
| in { | ||||
|   options.${namespace}.common.shell = { | ||||
|  | @ -13,8 +14,8 @@ in { | |||
|   }; | ||||
| 
 | ||||
|   config = mkIf cfg.enable { | ||||
|     environment.shells = with pkgs; [ fish ]; | ||||
|     users.defaultUserShell = pkgs.fish; | ||||
|     environment.shells = with pkgs; [ nushell fish ]; | ||||
|     users.defaultUserShell = pkgs.nushell; | ||||
|     programs.fish.enable = true; | ||||
|   }; | ||||
| } | ||||
|  |  | |||
|  | @ -4,8 +4,9 @@ | |||
|   namespace, | ||||
|   config, | ||||
|   ... | ||||
| }: with lib; with lib.${namespace}; | ||||
| }: | ||||
| let | ||||
|   inherit (lib) mkEnableOption mkIf; | ||||
|   cfg = config.${namespace}.desktop.gnome; | ||||
| in { | ||||
|   options.${namespace}.desktop.gnome = { enable = mkEnableOption "gnome"; }; | ||||
|  |  | |||
|  | @ -3,8 +3,9 @@ | |||
|   namespace, | ||||
|   config, | ||||
|   ... | ||||
| }: with lib; with lib.${namespace}; | ||||
| }: | ||||
| let | ||||
|   inherit (lib) mkEnableOption mkIf; | ||||
|   cfg = config.${namespace}.desktop.plasma; | ||||
| in { | ||||
|   options.${namespace}.desktop.plasma = { enable = mkEnableOption "Whether to enable the KDE Plasma desktop environment"; }; | ||||
|  | @ -17,4 +18,4 @@ in { | |||
| 
 | ||||
|     programs.kdeconnect.enable = true; | ||||
|   }; | ||||
| } | ||||
| } | ||||
|  |  | |||
|  | @ -4,12 +4,13 @@ | |||
|   config, | ||||
|   namespace, | ||||
|   ... | ||||
| }: with lib; with lib.${namespace}; | ||||
| }: | ||||
| let | ||||
|   inherit (lib) mkEnableOption mkIf mkOption; | ||||
|   cfg = config.${namespace}.security.yubikey; | ||||
| in | ||||
| { | ||||
|   options.${namespace}.security.yubikey = with types; { | ||||
|   options.${namespace}.security.yubikey = with lib.types; { | ||||
|     enable = mkEnableOption "Enable the Yubikey as a security device."; | ||||
|     key-id = mkOption { | ||||
|       type = listOf str; | ||||
|  |  | |||
|  | @ -4,8 +4,9 @@ | |||
|   config, | ||||
|   host, | ||||
|   ... | ||||
| }: with lib; with lib.${namespace}; | ||||
| }: | ||||
| let | ||||
|   inherit (lib) mkEnableOption mkIf; | ||||
|   cfg = config.${namespace}.services.bluesky.pds; | ||||
| in { | ||||
|   options.${namespace}.services.bluesky.pds = { | ||||
|  |  | |||
|  | @ -4,8 +4,9 @@ | |||
|   config, | ||||
|   host, | ||||
|   ... | ||||
| }: with lib; with lib.${namespace}; | ||||
| }: | ||||
| let | ||||
|   inherit (lib) mkEnableOption mkIf; | ||||
|   cfg = config.${namespace}.services.duckdns; | ||||
| in { | ||||
|   options.${namespace}.services.duckdns = { | ||||
|  |  | |||
|  | @ -4,9 +4,11 @@ | |||
|   config, | ||||
|   host, | ||||
|   ... | ||||
| }: with lib; with lib.${namespace}; | ||||
| }: | ||||
| let | ||||
|   inherit (lib) mkEnableOption mkIf; | ||||
|   cfg = config.${namespace}.services.homepage; | ||||
| 
 | ||||
|   homepageConfigDirectory = lib.snowfall.fs.get-file "resources/services/homepage"; | ||||
| in { | ||||
|   options.${namespace}.services.homepage = { enable = mkEnableOption "Enable Homepage, an intuitive dashboard for your services."; }; | ||||
|  |  | |||
|  | @ -4,8 +4,9 @@ | |||
|   config, | ||||
|   host, | ||||
|   ... | ||||
| }: with lib; with lib.${namespace}; | ||||
| }: | ||||
| let | ||||
|   inherit (lib) mkEnableOption mkIf; | ||||
|   cfg = config.${namespace}.services.sharkey; | ||||
| in { | ||||
|   options.${namespace}.services.sharkey = { enable = mkEnableOption "Enable Sharkey, the activitypub-based microblogging service."; }; | ||||
|  |  | |||
|  | @ -3,14 +3,15 @@ | |||
|   namespace, | ||||
|   config, | ||||
|   ... | ||||
| }: with lib; with lib.${namespace}; | ||||
| }: | ||||
| let | ||||
|   inherit (lib) mkEnableOption mkIf mkOption; | ||||
|   cfg = config.${namespace}.services.traefik; | ||||
| in { | ||||
|   options.${namespace}.services.traefik = { | ||||
|     enable = mkEnableOption "Enable the Traefik service."; | ||||
|     cloudflareEmail = mkOption { | ||||
|       type = types.str; | ||||
|       type = lib.types.str; | ||||
|       default = config.${namespace}.admin.email; | ||||
|       example = "system@thevoid.cafe"; | ||||
|       description = "Specify the E-Mail associated with your Cloudflare account for ACME."; | ||||
|  |  | |||
|  | @ -4,8 +4,9 @@ | |||
|   config, | ||||
|   host, | ||||
|   ... | ||||
| }: with lib; with lib.${namespace}; | ||||
| }: | ||||
| let | ||||
|   inherit (lib) mkEnableOption mkIf; | ||||
|   cfg = config.${namespace}.services.vaultwarden; | ||||
| in { | ||||
|   options.${namespace}.services.vaultwarden = { enable = mkEnableOption "Enable Vaultwarden, a self-hostable password manager."; }; | ||||
|  |  | |||
|  | @ -3,9 +3,10 @@ | |||
|   pkgs, | ||||
|   namespace, | ||||
|   config, | ||||
|   ...  | ||||
| }: with lib; with lib.${namespace}; | ||||
|   ... | ||||
| }: | ||||
| let | ||||
|   inherit (lib) mkEnableOption mkIf; | ||||
|   cfg = config.${namespace}.tools.cachix; | ||||
| in { | ||||
|   options.${namespace}.tools.cachix = { enable = mkEnableOption "Enable the cachix binary cache service on your system."; }; | ||||
|  | @ -14,4 +15,3 @@ in { | |||
|     environment.systemPackages = with pkgs; [ cachix ]; | ||||
|   }; | ||||
| } | ||||
| 
 | ||||
|  |  | |||
|  | @ -2,9 +2,8 @@ | |||
|   lib, | ||||
|   pkgs, | ||||
|   inputs, | ||||
|   namespace, | ||||
|   ... | ||||
| }: with lib; with lib.${namespace}; | ||||
| }: | ||||
| { | ||||
|   imports = [ | ||||
|     ./hardware-configuration.nix | ||||
|  |  | |||
|  | @ -2,17 +2,15 @@ | |||
|   lib, | ||||
|   pkgs, | ||||
|   inputs, | ||||
|   namespace, | ||||
|   config, | ||||
|   ... | ||||
| }: with lib; with lib.${namespace}; | ||||
| }: | ||||
| { | ||||
|   imports = [ | ||||
|     ./hardware-configuration.nix | ||||
|     inputs.hardware.nixosModules.common-pc-laptop | ||||
|     inputs.hardware.nixosModules.common-cpu-intel | ||||
|     inputs.hardware.nixosModules.common-pc-laptop-ssd | ||||
|     inputs.elanmoc2.nixosModules.elanmoc2 | ||||
|   ]; | ||||
| 
 | ||||
|   # Configure Sops | ||||
|  | @ -29,7 +27,7 @@ | |||
|   boot = { | ||||
|     # Configure additional kernel modules. | ||||
|     extraModulePackages = [ | ||||
|       pkgs.linuxPackages_latest.rtl8821ce # Use custom network-card driver. | ||||
|       pkgs.linuxKernel.packages.linux_6_12.rtl8821ce # Use custom network-card driver. | ||||
|     ]; | ||||
| 
 | ||||
|     blacklistedKernelModules = [ | ||||
|  | @ -46,15 +44,14 @@ | |||
|   # Enable printing. | ||||
|   services.printing.enable = true; | ||||
| 
 | ||||
|   # Enable fingerprint support for ElanTech scanner 04f3:0c00 | ||||
|   services.fprintd.elanmoc2.enable = true; | ||||
| 
 | ||||
|   # Enable docker | ||||
|   virtualisation.docker.enable = true; | ||||
| 
 | ||||
|   # Set system configuration | ||||
|   puzzlevision = { | ||||
|     archetypes.workstation.enable = true; | ||||
|     common.kernel.version = "linuxPackages_6_12"; | ||||
| 
 | ||||
|     security.yubikey = { | ||||
|       enable = true; | ||||
|       enable-agent = true; | ||||
|  | @ -67,10 +64,15 @@ | |||
|   # Set trusted users (Primarily used for cachix) | ||||
|   nix.settings.trusted-users = [ "root" "jo" ]; | ||||
| 
 | ||||
|   # Configure additional groups | ||||
|   users.groups.www-data = { | ||||
|     gid = 33; | ||||
|   }; | ||||
| 
 | ||||
|   # Configure users. | ||||
|   snowfallorg.users.jo.admin = true; | ||||
|   users.users.jo.isNormalUser = true; | ||||
|   users.users.jo.extraGroups = [ "dialout" "docker" ]; | ||||
|   users.users.jo.extraGroups = [ "dialout" "docker" "www-data" ]; | ||||
|   users.users.jo.hashedPasswordFile = config.sops.secrets."user/jo/password_hash".path; | ||||
| 
 | ||||
|   # Configure home-manager | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue