Compare commits
	
		
			No commits in common. "2bd027e333944e66fe3ec5a023e65d25d96f8b4b" and "8f3c53dee5c0ec811c4837f813b6f93cea6fdd9c" have entirely different histories.
		
	
	
		
			2bd027e333
			...
			8f3c53dee5
		
	
		
					 26 changed files with 287 additions and 1426 deletions
				
			
		
							
								
								
									
										10
									
								
								.sops.yaml
									
										
									
									
									
								
							
							
						
						
									
										10
									
								
								.sops.yaml
									
										
									
									
									
								
							|  | @ -5,13 +5,3 @@ creation_rules: | |||
|     key_groups:  | ||||
|     - age: | ||||
|       - *primary | ||||
| 
 | ||||
|   - path_regex: secrets/secrets-yggdrasil.yaml$ | ||||
|     key_groups:  | ||||
|     - age: | ||||
|       - *primary | ||||
|        | ||||
|   - path_regex: secrets/secrets-loptland.yaml$ | ||||
|     key_groups:  | ||||
|     - age: | ||||
|       - *primary | ||||
|  |  | |||
							
								
								
									
										342
									
								
								flake.lock
									
										
									
										generated
									
									
									
								
							
							
						
						
									
										342
									
								
								flake.lock
									
										
									
										generated
									
									
									
								
							|  | @ -1,24 +1,5 @@ | |||
| { | ||||
|   "nodes": { | ||||
|     "ags": { | ||||
|       "inputs": { | ||||
|         "nixpkgs": "nixpkgs_3", | ||||
|         "systems": "systems_4" | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1728326430, | ||||
|         "narHash": "sha256-tV1ABHuA1HItMdCTuNdA8fMB+qw7LpjvI945VwMSABI=", | ||||
|         "owner": "Aylur", | ||||
|         "repo": "ags", | ||||
|         "rev": "60180a184cfb32b61a1d871c058b31a3b9b0743d", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "Aylur", | ||||
|         "repo": "ags", | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "aquamarine": { | ||||
|       "inputs": { | ||||
|         "hyprutils": [ | ||||
|  | @ -39,11 +20,11 @@ | |||
|         ] | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1730968822, | ||||
|         "narHash": "sha256-NocDjINsh6ismkhb0Xr6xPRksmhuB2WGf8ZmXMhxu7Y=", | ||||
|         "lastModified": 1728902391, | ||||
|         "narHash": "sha256-44bnoY0nAvbBQ/lVjmn511yL39Sv7SknV0BDxn34P3Q=", | ||||
|         "owner": "hyprwm", | ||||
|         "repo": "aquamarine", | ||||
|         "rev": "a49bc3583ff223f426cb3526fdaa4bcaa247ec14", | ||||
|         "rev": "9874e08eec85b5542ca22494e127b0cdce46b786", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|  | @ -53,12 +34,18 @@ | |||
|       } | ||||
|     }, | ||||
|     "crane": { | ||||
|       "inputs": { | ||||
|         "nixpkgs": [ | ||||
|           "helix", | ||||
|           "nixpkgs" | ||||
|         ] | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1727974419, | ||||
|         "narHash": "sha256-WD0//20h+2/yPGkO88d2nYbb23WMWYvnRyDQ9Dx4UHg=", | ||||
|         "lastModified": 1709610799, | ||||
|         "narHash": "sha256-5jfLQx0U9hXbi2skYMGodDJkIgffrjIOgMRjZqms2QE=", | ||||
|         "owner": "ipetkov", | ||||
|         "repo": "crane", | ||||
|         "rev": "37e4f9f0976cb9281cd3f0c70081e5e0ecaee93f", | ||||
|         "rev": "81c393c776d5379c030607866afef6406ca1be57", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|  | @ -75,11 +62,11 @@ | |||
|         "rust-analyzer-src": "rust-analyzer-src" | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1730961036, | ||||
|         "narHash": "sha256-nkho9Dq4WzyF4xr83UdxrlDS5Sm7ZKkPaqGVupLOpOI=", | ||||
|         "lastModified": 1728973961, | ||||
|         "narHash": "sha256-Jkqaw9O7WXTf5SHrK7xr9HpVU/mEPVg0Sp6s3AENC90=", | ||||
|         "owner": "nix-community", | ||||
|         "repo": "fenix", | ||||
|         "rev": "9bf50cb857db8dba15528f3905e271d948cbff06", | ||||
|         "rev": "d6a9ff4d1e60c347a23bc96ccdb058d37a810541", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|  | @ -192,11 +179,11 @@ | |||
|         "systems": "systems" | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1726560853, | ||||
|         "narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=", | ||||
|         "lastModified": 1709126324, | ||||
|         "narHash": "sha256-q6EQdSeUZOG26WelxqkmR7kArjgWCdw5sfJVHPH/7j8=", | ||||
|         "owner": "numtide", | ||||
|         "repo": "flake-utils", | ||||
|         "rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a", | ||||
|         "rev": "d465f4819400de7c8d874d50b982301f28a84605", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|  | @ -245,7 +232,7 @@ | |||
|     }, | ||||
|     "flake-utils_2": { | ||||
|       "inputs": { | ||||
|         "systems": "systems_5" | ||||
|         "systems": "systems_4" | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1710146030, | ||||
|  | @ -263,7 +250,7 @@ | |||
|     }, | ||||
|     "flake-utils_3": { | ||||
|       "inputs": { | ||||
|         "systems": "systems_6" | ||||
|         "systems": "systems_5" | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1726560853, | ||||
|  | @ -296,7 +283,7 @@ | |||
|     }, | ||||
|     "flake-utils_5": { | ||||
|       "inputs": { | ||||
|         "systems": "systems_7" | ||||
|         "systems": "systems_6" | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1694529238, | ||||
|  | @ -315,7 +302,7 @@ | |||
|     "gen-luarc": { | ||||
|       "inputs": { | ||||
|         "flake-parts": "flake-parts", | ||||
|         "nixpkgs": "nixpkgs_5" | ||||
|         "nixpkgs": "nixpkgs_3" | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1718922730, | ||||
|  | @ -379,11 +366,11 @@ | |||
|         "rust-overlay": "rust-overlay" | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1730790589, | ||||
|         "narHash": "sha256-xJ6bQ4VmdTB7A+dMbmOMaZ8a6erB6rkZkB+yzqD7gd4=", | ||||
|         "lastModified": 1729331287, | ||||
|         "narHash": "sha256-CiQsoNEOGHkSfG/0JJMegHfwXUAI0PwAIVj3i3FmGao=", | ||||
|         "owner": "helix-editor", | ||||
|         "repo": "helix", | ||||
|         "rev": "b53dafe326d51b7f64a1c52379e3d4150cd2991e", | ||||
|         "rev": "be2884d80061493ab1999d73ffa51dfb4f59639d", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|  | @ -399,11 +386,11 @@ | |||
|         ] | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1730837930, | ||||
|         "narHash": "sha256-0kZL4m+bKBJUBQse0HanewWO0g8hDdCvBhudzxgehqc=", | ||||
|         "lastModified": 1729321331, | ||||
|         "narHash": "sha256-KVyQq+ez/oB30/WbdNgVD8g/bda34z8NiU187QKQb74=", | ||||
|         "owner": "nix-community", | ||||
|         "repo": "home-manager", | ||||
|         "rev": "2f607e07f3ac7e53541120536708e824acccfaa8", | ||||
|         "rev": "122f70545b29ccb922e655b08acfe05bfb44ec68", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|  | @ -420,11 +407,11 @@ | |||
|         ] | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1730065367, | ||||
|         "narHash": "sha256-XIsgB/tgaenHorewWrfU2gkDsbkMfPA87Z/LXjeKM7Y=", | ||||
|         "lastModified": 1729122023, | ||||
|         "narHash": "sha256-OJNfAveVogmpSIJ7V3eCSWVGvmWOVQfMQTfOpK163HQ=", | ||||
|         "owner": "outfoxxed", | ||||
|         "repo": "hy3", | ||||
|         "rev": "4c79361db9c065886c163d1cf873889e1e641e44", | ||||
|         "rev": "29293bf7d509cd18e25a59e15841538fcdef580a", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|  | @ -476,11 +463,11 @@ | |||
|         "xdph": "xdph" | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1730969692, | ||||
|         "narHash": "sha256-yHY98IWTLDz57TrseUxdh5QnpngcNCjNXTJ2XCeNhtk=", | ||||
|         "lastModified": 1729353802, | ||||
|         "narHash": "sha256-6OkHeoC3Iva55uVd7MRKS7RLvln8Ma61H9xpcZtU2eY=", | ||||
|         "ref": "refs/heads/main", | ||||
|         "rev": "e58e97b0a38b8ccc87a4304c9e4e2b37c9966875", | ||||
|         "revCount": 5425, | ||||
|         "rev": "ce3ba798df6bca5be1da4396644a9ef08a2acab4", | ||||
|         "revCount": 5358, | ||||
|         "submodules": true, | ||||
|         "type": "git", | ||||
|         "url": "https://github.com/hyprwm/Hyprland" | ||||
|  | @ -508,11 +495,11 @@ | |||
|         ] | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1730755630, | ||||
|         "narHash": "sha256-IA5U8lHx/lnHwbx25dpPpeLbaALqNNjalYCf19tIoj0=", | ||||
|         "lastModified": 1728383680, | ||||
|         "narHash": "sha256-/SeOrMuPEOjngI+MBlzqxQ/sJxkJFIYoef+wJ/PmX2w=", | ||||
|         "owner": "hyprwm", | ||||
|         "repo": "hyprland-plugins", | ||||
|         "rev": "44859f877739c05d031fcab4a2991ec004fa9bc4", | ||||
|         "rev": "d05eb1ffba2ebffb5b4e1b407f134a4dcb411a88", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|  | @ -612,11 +599,11 @@ | |||
|         "systems": "systems_3" | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1730911842, | ||||
|         "narHash": "sha256-stAVRv13iACAIJ6mheJOwZXWD24YDupyshaUDovVNi4=", | ||||
|         "lastModified": 1729175038, | ||||
|         "narHash": "sha256-4eTSbHMPUgap+63YW2IJreM//HL/meaGR0r5IOonH9g=", | ||||
|         "owner": "hyprwm", | ||||
|         "repo": "hyprlock", | ||||
|         "rev": "4fc133c96fa1ad2968cad44f8e9e9e923cd0381a", | ||||
|         "rev": "b8080862869af28bafdafb512682d414d9de063a", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|  | @ -625,25 +612,6 @@ | |||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "hyprpanel": { | ||||
|       "inputs": { | ||||
|         "ags": "ags", | ||||
|         "nixpkgs": "nixpkgs_4" | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1730958442, | ||||
|         "narHash": "sha256-8vmh+ehnDnIenBNibGTPCu8p7cJiFP6bzj0E7pBxgQQ=", | ||||
|         "owner": "Jas-SinghFSU", | ||||
|         "repo": "HyprPanel", | ||||
|         "rev": "dbd932941b46ced4eac5da30994d5af2ca80530c", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "Jas-SinghFSU", | ||||
|         "repo": "HyprPanel", | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "hyprutils": { | ||||
|       "inputs": { | ||||
|         "nixpkgs": [ | ||||
|  | @ -656,11 +624,11 @@ | |||
|         ] | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1730968903, | ||||
|         "narHash": "sha256-zFvzLXcSm0Ia4XI1SE4FQ9KE63hlGrRWhLtwMolWuR8=", | ||||
|         "lastModified": 1728941256, | ||||
|         "narHash": "sha256-WRypmcZ2Bw94lLmcmxYokVOHPJSZ7T06V49QZ4tkZeQ=", | ||||
|         "owner": "hyprwm", | ||||
|         "repo": "hyprutils", | ||||
|         "rev": "3ce0cde8709cdacbfba471f8e828433b58a561e9", | ||||
|         "rev": "fd4be8b9ca932f7384e454bcd923c5451ef2aa85", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|  | @ -744,7 +712,7 @@ | |||
|     "nix-ld": { | ||||
|       "inputs": { | ||||
|         "nixpkgs": [ | ||||
|           "nixpkgs-unstable" | ||||
|           "unstable" | ||||
|         ] | ||||
|       }, | ||||
|       "locked": { | ||||
|  | @ -763,11 +731,11 @@ | |||
|     }, | ||||
|     "nixos-hardware": { | ||||
|       "locked": { | ||||
|         "lastModified": 1730919458, | ||||
|         "narHash": "sha256-yMO0T0QJlmT/x4HEyvrCyigGrdYfIXX3e5gWqB64wLg=", | ||||
|         "lastModified": 1729333370, | ||||
|         "narHash": "sha256-NU+tYe3QWzDNpB8RagpqR3hNQXn4BNuBd7ZGosMHLL8=", | ||||
|         "owner": "nixos", | ||||
|         "repo": "nixos-hardware", | ||||
|         "rev": "e1cc1f6483393634aee94514186d21a4871e78d7", | ||||
|         "rev": "38279034170b1e2929b2be33bdaedbf14a57bfeb", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|  | @ -785,11 +753,11 @@ | |||
|         ] | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1730453870, | ||||
|         "narHash": "sha256-d+kIgz4BvTXb7emjSFV3zjNydGmLUmuluQjdBb51R9o=", | ||||
|         "lastModified": 1729300178, | ||||
|         "narHash": "sha256-mkAPu2o5u7F/glAAfBzDji726iL1u2pm2fyN1SPWRQk=", | ||||
|         "owner": "nix-community", | ||||
|         "repo": "NixOS-WSL", | ||||
|         "rev": "adb6bc4b661a43328752b4575be4968a4990c033", | ||||
|         "rev": "42c23a6d5a2a1cbfd3fd137a7ff3d47c6d718033", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|  | @ -800,11 +768,11 @@ | |||
|     }, | ||||
|     "nixpkgs": { | ||||
|       "locked": { | ||||
|         "lastModified": 1730785428, | ||||
|         "narHash": "sha256-Zwl8YgTVJTEum+L+0zVAWvXAGbWAuXHax3KzuejaDyo=", | ||||
|         "lastModified": 1728888510, | ||||
|         "narHash": "sha256-nsNdSldaAyu6PE3YUA+YQLqUDJh+gRbBooMMekZJwvI=", | ||||
|         "owner": "NixOS", | ||||
|         "repo": "nixpkgs", | ||||
|         "rev": "4aa36568d413aca0ea84a1684d2d46f55dbabad7", | ||||
|         "rev": "a3c0b3b21515f74fd2665903d4ce6bc4dc81c77c", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|  | @ -814,22 +782,6 @@ | |||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "nixpkgs-latest-factorio": { | ||||
|       "locked": { | ||||
|         "lastModified": 1730638571, | ||||
|         "narHash": "sha256-z9Wy1jmhFrABK3cEyiVmQtUwOuQW1YPwA8+HMnbEpnE=", | ||||
|         "owner": "Daholli", | ||||
|         "repo": "nixpkgs", | ||||
|         "rev": "d941e9aa2d89f377d45516c5edd765fef15ea90a", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "Daholli", | ||||
|         "repo": "nixpkgs", | ||||
|         "rev": "d941e9aa2d89f377d45516c5edd765fef15ea90a", | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "nixpkgs-lib": { | ||||
|       "locked": { | ||||
|         "lastModified": 1717284937, | ||||
|  | @ -842,29 +794,13 @@ | |||
|         "url": "https://github.com/NixOS/nixpkgs/archive/eb9ceca17df2ea50a250b6b27f7bf6ab0186f198.tar.gz" | ||||
|       } | ||||
|     }, | ||||
|     "nixpkgs-master": { | ||||
|       "locked": { | ||||
|         "lastModified": 1731023751, | ||||
|         "narHash": "sha256-80FIi/BkulfaTxT76BfDeYyKc/Lo6SIs/4Xm+VlYe4o=", | ||||
|         "owner": "nixos", | ||||
|         "repo": "nixpkgs", | ||||
|         "rev": "ed1b9995752699c34e16e5baafaf5e517397bec8", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "nixos", | ||||
|         "ref": "master", | ||||
|         "repo": "nixpkgs", | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "nixpkgs-stable": { | ||||
|       "locked": { | ||||
|         "lastModified": 1730741070, | ||||
|         "narHash": "sha256-edm8WG19kWozJ/GqyYx2VjW99EdhjKwbY3ZwdlPAAlo=", | ||||
|         "lastModified": 1720386169, | ||||
|         "narHash": "sha256-NGKVY4PjzwAa4upkGtAMz1npHGoRzWotlSnVlqI40mo=", | ||||
|         "owner": "NixOS", | ||||
|         "repo": "nixpkgs", | ||||
|         "rev": "d063c1dd113c91ab27959ba540c0d9753409edf3", | ||||
|         "rev": "194846768975b7ad2c4988bdb82572c00222c0d7", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|  | @ -876,11 +812,11 @@ | |||
|     }, | ||||
|     "nixpkgs-stable_2": { | ||||
|       "locked": { | ||||
|         "lastModified": 1730602179, | ||||
|         "narHash": "sha256-efgLzQAWSzJuCLiCaQUCDu4NudNlHdg2NzGLX5GYaEY=", | ||||
|         "lastModified": 1728156290, | ||||
|         "narHash": "sha256-uogSvuAp+1BYtdu6UWuObjHqSbBohpyARXDWqgI12Ss=", | ||||
|         "owner": "NixOS", | ||||
|         "repo": "nixpkgs", | ||||
|         "rev": "3c2f1c4ca372622cb2f9de8016c9a0b1cbd0f37c", | ||||
|         "rev": "17ae88b569bb15590549ff478bab6494dde4a907", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|  | @ -890,22 +826,6 @@ | |||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "nixpkgs-unstable": { | ||||
|       "locked": { | ||||
|         "lastModified": 1730785428, | ||||
|         "narHash": "sha256-Zwl8YgTVJTEum+L+0zVAWvXAGbWAuXHax3KzuejaDyo=", | ||||
|         "owner": "nixos", | ||||
|         "repo": "nixpkgs", | ||||
|         "rev": "4aa36568d413aca0ea84a1684d2d46f55dbabad7", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "nixos", | ||||
|         "ref": "nixos-unstable", | ||||
|         "repo": "nixpkgs", | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "nixpkgs_2": { | ||||
|       "locked": { | ||||
|         "lastModified": 1728492678, | ||||
|  | @ -923,38 +843,6 @@ | |||
|       } | ||||
|     }, | ||||
|     "nixpkgs_3": { | ||||
|       "locked": { | ||||
|         "lastModified": 1725634671, | ||||
|         "narHash": "sha256-v3rIhsJBOMLR8e/RNWxr828tB+WywYIoajrZKFM+0Gg=", | ||||
|         "owner": "NixOS", | ||||
|         "repo": "nixpkgs", | ||||
|         "rev": "574d1eac1c200690e27b8eb4e24887f8df7ac27c", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "NixOS", | ||||
|         "ref": "nixos-unstable", | ||||
|         "repo": "nixpkgs", | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "nixpkgs_4": { | ||||
|       "locked": { | ||||
|         "lastModified": 1729880355, | ||||
|         "narHash": "sha256-RP+OQ6koQQLX5nw0NmcDrzvGL8HDLnyXt/jHhL1jwjM=", | ||||
|         "owner": "nixos", | ||||
|         "repo": "nixpkgs", | ||||
|         "rev": "18536bf04cd71abd345f9579158841376fdd0c5a", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "nixos", | ||||
|         "ref": "nixos-unstable", | ||||
|         "repo": "nixpkgs", | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "nixpkgs_5": { | ||||
|       "locked": { | ||||
|         "lastModified": 1718714799, | ||||
|         "narHash": "sha256-FUZpz9rg3gL8NVPKbqU8ei1VkPLsTIfAJ2fdAf5qjak=", | ||||
|  | @ -970,13 +858,13 @@ | |||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "nixpkgs_6": { | ||||
|     "nixpkgs_4": { | ||||
|       "locked": { | ||||
|         "lastModified": 1730785428, | ||||
|         "narHash": "sha256-Zwl8YgTVJTEum+L+0zVAWvXAGbWAuXHax3KzuejaDyo=", | ||||
|         "lastModified": 1729256560, | ||||
|         "narHash": "sha256-/uilDXvCIEs3C9l73JTACm4quuHUsIHcns1c+cHUJwA=", | ||||
|         "owner": "nixos", | ||||
|         "repo": "nixpkgs", | ||||
|         "rev": "4aa36568d413aca0ea84a1684d2d46f55dbabad7", | ||||
|         "rev": "4c2fcb090b1f3e5b47eaa7bd33913b574a11e0a0", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|  | @ -986,13 +874,13 @@ | |||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "nixpkgs_7": { | ||||
|     "nixpkgs_5": { | ||||
|       "locked": { | ||||
|         "lastModified": 1730272153, | ||||
|         "narHash": "sha256-B5WRZYsRlJgwVHIV6DvidFN7VX7Fg9uuwkRW9Ha8z+w=", | ||||
|         "lastModified": 1728093190, | ||||
|         "narHash": "sha256-CAZF2NRuHmqTtRTNAruWpHA43Gg2UvuCNEIzabP0l6M=", | ||||
|         "owner": "NixOS", | ||||
|         "repo": "nixpkgs", | ||||
|         "rev": "2d2a9ddbe3f2c00747398f3dc9b05f7f2ebb0f53", | ||||
|         "rev": "e2f08f4d8b3ecb5cf5c9fd9cb2d53bb3c71807da", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|  | @ -1002,13 +890,13 @@ | |||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "nixpkgs_8": { | ||||
|     "nixpkgs_6": { | ||||
|       "locked": { | ||||
|         "lastModified": 1730200266, | ||||
|         "narHash": "sha256-l253w0XMT8nWHGXuXqyiIC/bMvh1VRszGXgdpQlfhvU=", | ||||
|         "lastModified": 1729256560, | ||||
|         "narHash": "sha256-/uilDXvCIEs3C9l73JTACm4quuHUsIHcns1c+cHUJwA=", | ||||
|         "owner": "nixos", | ||||
|         "repo": "nixpkgs", | ||||
|         "rev": "807e9154dcb16384b1b765ebe9cd2bba2ac287fd", | ||||
|         "rev": "4c2fcb090b1f3e5b47eaa7bd33913b574a11e0a0", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|  | @ -1029,11 +917,11 @@ | |||
|         "nixpkgs-stable": "nixpkgs-stable" | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1730814269, | ||||
|         "narHash": "sha256-fWPHyhYE6xvMI1eGY3pwBTq85wcy1YXqdzTZF+06nOg=", | ||||
|         "lastModified": 1728778939, | ||||
|         "narHash": "sha256-WybK5E3hpGxtCYtBwpRj1E9JoiVxe+8kX83snTNaFHE=", | ||||
|         "owner": "cachix", | ||||
|         "repo": "git-hooks.nix", | ||||
|         "rev": "d70155fdc00df4628446352fc58adc640cd705c2", | ||||
|         "rev": "ff68f91754be6f3427e4986d7949e6273659be1d", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|  | @ -1052,29 +940,26 @@ | |||
|         "hyprland": "hyprland", | ||||
|         "hyprland-plugins": "hyprland-plugins", | ||||
|         "hyprlock": "hyprlock", | ||||
|         "hyprpanel": "hyprpanel", | ||||
|         "kickstartnvim": "kickstartnvim", | ||||
|         "nix-ld": "nix-ld", | ||||
|         "nixos-hardware": "nixos-hardware", | ||||
|         "nixos-wsl": "nixos-wsl", | ||||
|         "nixpkgs": "nixpkgs_6", | ||||
|         "nixpkgs-latest-factorio": "nixpkgs-latest-factorio", | ||||
|         "nixpkgs-master": "nixpkgs-master", | ||||
|         "nixpkgs-unstable": "nixpkgs-unstable", | ||||
|         "nixpkgs": "nixpkgs_4", | ||||
|         "snowfall-flake": "snowfall-flake", | ||||
|         "snowfall-lib": "snowfall-lib_2", | ||||
|         "sops-nix": "sops-nix", | ||||
|         "unstable": "unstable", | ||||
|         "zen-browser": "zen-browser" | ||||
|       } | ||||
|     }, | ||||
|     "rust-analyzer-src": { | ||||
|       "flake": false, | ||||
|       "locked": { | ||||
|         "lastModified": 1730749868, | ||||
|         "narHash": "sha256-b8UMpLh61z6T4J1NObustAuFGoJiAKBTaPTrEf3Amts=", | ||||
|         "lastModified": 1728921748, | ||||
|         "narHash": "sha256-BOCZ5osPOMh2BPHnkK4sVdTGj7sn47rBn1nxjrzWe5U=", | ||||
|         "owner": "rust-lang", | ||||
|         "repo": "rust-analyzer", | ||||
|         "rev": "b51f9bc736dc0472481a47d7c05de2901323e543", | ||||
|         "rev": "0319586ef2a2636f6d6b891690b7ebebf4337c85", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|  | @ -1086,17 +971,21 @@ | |||
|     }, | ||||
|     "rust-overlay": { | ||||
|       "inputs": { | ||||
|         "flake-utils": [ | ||||
|           "helix", | ||||
|           "flake-utils" | ||||
|         ], | ||||
|         "nixpkgs": [ | ||||
|           "helix", | ||||
|           "nixpkgs" | ||||
|         ] | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1728268235, | ||||
|         "narHash": "sha256-lJMFnMO4maJuNO6PQ5fZesrTmglze3UFTTBuKGwR1Nw=", | ||||
|         "lastModified": 1709604635, | ||||
|         "narHash": "sha256-le4fwmWmjGRYWwkho0Gr7mnnZndOOe4XGbLw68OvF40=", | ||||
|         "owner": "oxalica", | ||||
|         "repo": "rust-overlay", | ||||
|         "rev": "25685cc2c7054efc31351c172ae77b21814f2d42", | ||||
|         "rev": "e86c0fb5d3a22a5f30d7f64ecad88643fe26449d", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|  | @ -1109,7 +998,7 @@ | |||
|       "inputs": { | ||||
|         "flake-compat": "flake-compat_3", | ||||
|         "nixpkgs": [ | ||||
|           "nixpkgs-unstable" | ||||
|           "unstable" | ||||
|         ], | ||||
|         "snowfall-lib": "snowfall-lib" | ||||
|       }, | ||||
|  | @ -1160,11 +1049,11 @@ | |||
|         ] | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1730136121, | ||||
|         "narHash": "sha256-tfVayj13Zw+zzOKrmJhnvBod7Hdb9ixBR6/4GUlyMA0=", | ||||
|         "lastModified": 1719005984, | ||||
|         "narHash": "sha256-mpFl3Jv4fKnn+5znYXG6SsBjfXHJdRG5FEqNSPx0GLA=", | ||||
|         "owner": "snowfallorg", | ||||
|         "repo": "lib", | ||||
|         "rev": "dd348182c1a010993e68004eada86cf0341fe2c4", | ||||
|         "rev": "c6238c83de101729c5de3a29586ba166a9a65622", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|  | @ -1175,15 +1064,15 @@ | |||
|     }, | ||||
|     "sops-nix": { | ||||
|       "inputs": { | ||||
|         "nixpkgs": "nixpkgs_7", | ||||
|         "nixpkgs": "nixpkgs_5", | ||||
|         "nixpkgs-stable": "nixpkgs-stable_2" | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1731008979, | ||||
|         "narHash": "sha256-yN1NxvmqV8UltLkqYBWTeZNgpD/eyh/7LM58caHiEfE=", | ||||
|         "lastModified": 1728345710, | ||||
|         "narHash": "sha256-lpunY1+bf90ts+sA2/FgxVNIegPDKCpEoWwOPu4ITTQ=", | ||||
|         "owner": "Mic92", | ||||
|         "repo": "sops-nix", | ||||
|         "rev": "fe63071416471abdab06caa234122932a7c4b980", | ||||
|         "rev": "06535d0e3d0201e6a8080dd32dbfde339b94f01b", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|  | @ -1239,16 +1128,16 @@ | |||
|     }, | ||||
|     "systems_4": { | ||||
|       "locked": { | ||||
|         "lastModified": 1689347949, | ||||
|         "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", | ||||
|         "lastModified": 1681028828, | ||||
|         "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", | ||||
|         "owner": "nix-systems", | ||||
|         "repo": "default-linux", | ||||
|         "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", | ||||
|         "repo": "default", | ||||
|         "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "nix-systems", | ||||
|         "repo": "default-linux", | ||||
|         "repo": "default", | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|  | @ -1282,18 +1171,19 @@ | |||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "systems_7": { | ||||
|     "unstable": { | ||||
|       "locked": { | ||||
|         "lastModified": 1681028828, | ||||
|         "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", | ||||
|         "owner": "nix-systems", | ||||
|         "repo": "default", | ||||
|         "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", | ||||
|         "lastModified": 1729256560, | ||||
|         "narHash": "sha256-/uilDXvCIEs3C9l73JTACm4quuHUsIHcns1c+cHUJwA=", | ||||
|         "owner": "nixos", | ||||
|         "repo": "nixpkgs", | ||||
|         "rev": "4c2fcb090b1f3e5b47eaa7bd33913b574a11e0a0", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "nix-systems", | ||||
|         "repo": "default", | ||||
|         "owner": "nixos", | ||||
|         "ref": "nixos-unstable", | ||||
|         "repo": "nixpkgs", | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|  | @ -1325,11 +1215,11 @@ | |||
|         ] | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1730743262, | ||||
|         "narHash": "sha256-iTLqj3lU8kFehPm5tXpctzkD274t/k1nwSSq3qCWXeg=", | ||||
|         "lastModified": 1728166987, | ||||
|         "narHash": "sha256-w6dVTguAn9zJ+7aPOhBQgDz8bn6YZ7b56cY8Kg5HJRI=", | ||||
|         "owner": "hyprwm", | ||||
|         "repo": "xdg-desktop-portal-hyprland", | ||||
|         "rev": "09b23cef06fe248e61cec8862c04b9bcb62f4b6d", | ||||
|         "rev": "fb9c8d665af0588bb087f97d0f673ddf0d501787", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|  | @ -1340,14 +1230,14 @@ | |||
|     }, | ||||
|     "zen-browser": { | ||||
|       "inputs": { | ||||
|         "nixpkgs": "nixpkgs_8" | ||||
|         "nixpkgs": "nixpkgs_6" | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1730444716, | ||||
|         "narHash": "sha256-WtqSpYQyG5ad+GK7B0ViDSl0NolHp7yM24TacUslBXE=", | ||||
|         "lastModified": 1729334402, | ||||
|         "narHash": "sha256-elpcQZC6VoZC4jKk09upN2cGPW4j+OjDpD2HjvYe9Z4=", | ||||
|         "owner": "ch4og", | ||||
|         "repo": "zen-browser-flake", | ||||
|         "rev": "d3c639ee7bff20f799f443e18fffa6331a71cd3a", | ||||
|         "rev": "d5adb0791f5cf974b2b480f5d62075e9b3e7dd80", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|  |  | |||
							
								
								
									
										13
									
								
								flake.nix
									
										
									
									
									
								
							
							
						
						
									
										13
									
								
								flake.nix
									
										
									
									
									
								
							|  | @ -4,10 +4,7 @@ | |||
|   inputs = { | ||||
|     # nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05"; | ||||
|     nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; | ||||
|     nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable"; | ||||
| 
 | ||||
|     nixpkgs-master.url = "github:nixos/nixpkgs/master"; | ||||
|     nixpkgs-latest-factorio.url = "github:Daholli/nixpkgs/d941e9aa2d89f377d45516c5edd765fef15ea90a"; | ||||
|     unstable.url = "github:nixos/nixpkgs/nixos-unstable"; | ||||
| 
 | ||||
|     home-manager = { | ||||
|       url = "github:nix-community/home-manager/master"; | ||||
|  | @ -25,7 +22,7 @@ | |||
|     # Run unpatched dynamically compiled binaries | ||||
|     nix-ld = { | ||||
|       url = "github:Mic92/nix-ld"; | ||||
|       inputs.nixpkgs.follows = "nixpkgs-unstable"; | ||||
|       inputs.nixpkgs.follows = "unstable"; | ||||
|     }; | ||||
| 
 | ||||
|     ### | ||||
|  | @ -42,8 +39,6 @@ | |||
|       inputs.hyprland.follows = "hyprland"; | ||||
|     }; | ||||
| 
 | ||||
|     hyprpanel.url = "github:Jas-SinghFSU/HyprPanel"; | ||||
| 
 | ||||
|     ### | ||||
|     # Snowfall dependencies | ||||
|     snowfall-lib = { | ||||
|  | @ -53,10 +48,9 @@ | |||
| 
 | ||||
|     snowfall-flake = { | ||||
|       url = "github:snowfallorg/flake"; | ||||
|       inputs.nixpkgs.follows = "nixpkgs-unstable"; | ||||
|       inputs.nixpkgs.follows = "unstable"; | ||||
|     }; | ||||
| 
 | ||||
|     # still not sure if I like helix or nvim more, for now helix does mostly everything I need it to | ||||
|     kickstartnvim = { | ||||
|       url = "github:Daholli/kickstart-nix-nvim"; | ||||
|       inputs.nixpkgs.follows = "nixpkgs"; | ||||
|  | @ -115,7 +109,6 @@ | |||
|       overlays = with inputs; [ | ||||
|         snowfall-flake.overlays.default | ||||
|         kickstartnvim.overlays.default | ||||
|         hyprpanel.overlay | ||||
|       ]; | ||||
| 
 | ||||
|       systems.modules.nixos = with inputs; [ | ||||
|  |  | |||
|  | @ -1,22 +0,0 @@ | |||
| { | ||||
|   lib, | ||||
|   pkgs, | ||||
|   config, | ||||
|   osConfig ? { }, | ||||
|   format ? "unknown", | ||||
|   ... | ||||
| }: | ||||
| with lib.wyrdgard; | ||||
| { | ||||
|   wyrdgard = { | ||||
|     apps = { | ||||
|       kitty = enabled; | ||||
|     }; | ||||
| 
 | ||||
|     tools = { | ||||
|       direnv = enabled; | ||||
|     }; | ||||
|   }; | ||||
| 
 | ||||
|   home.stateVersion = "24.11"; | ||||
| } | ||||
|  | @ -18,7 +18,7 @@ let | |||
| in | ||||
| { | ||||
|   options.${namespace}.apps.cli-apps.helix = { | ||||
|     enable = mkEnableOption "Whether to enable helix or not"; | ||||
|     enable = mkEnableOption "Whether to enable nixvim or not"; | ||||
|   }; | ||||
| 
 | ||||
|   config = mkIf cfg.enable { | ||||
|  | @ -30,7 +30,8 @@ in | |||
|     }; | ||||
| 
 | ||||
|     ${namespace} = { | ||||
|       home.extraOptions = { | ||||
|       home = { | ||||
|         extraOptions = { | ||||
|           programs.helix = { | ||||
|             enable = true; | ||||
|             package = helix-pkg; | ||||
|  | @ -127,6 +128,9 @@ in | |||
|               ]; | ||||
| 
 | ||||
|               language-server = { | ||||
|                 nil = { | ||||
|                   command = "${pkgs.nil}/bin/nil"; | ||||
|                 }; | ||||
|                 nixd = { | ||||
|                   command = "${pkgs.nixd}/bin/nixd"; | ||||
|                 }; | ||||
|  | @ -148,6 +152,7 @@ in | |||
|             }; | ||||
|           }; | ||||
|         }; | ||||
|       }; | ||||
| 
 | ||||
|       nix.extra-substituters.${cachix-url} = { | ||||
|         key = cachix-key; | ||||
|  |  | |||
|  | @ -1,45 +0,0 @@ | |||
| { | ||||
|   config, | ||||
|   lib, | ||||
|   namespace, | ||||
|   ... | ||||
| }: | ||||
| let | ||||
|   inherit (lib) mkIf mkEnableOption; | ||||
| 
 | ||||
|   cfg = config.${namespace}.desktop.addons.hypridle; | ||||
| 
 | ||||
|   username = config.${namespace}.user.name; | ||||
| in | ||||
| { | ||||
|   options.${namespace}.desktop.addons.hypridle = { | ||||
|     enable = mkEnableOption "Enable HyprIdle"; | ||||
|   }; | ||||
| 
 | ||||
|   config = mkIf cfg.enable { | ||||
|     snowfallorg.users.${username}.home.config = { | ||||
|       services.hypridle = { | ||||
|         enable = true; | ||||
|         settings = { | ||||
|           general = { | ||||
|             after_sleep_cmd = "hyprctl dispatch dpms on"; | ||||
|             ignore_dbus_inhibit = false; | ||||
|             lock_cmd = "hyprlock"; | ||||
|           }; | ||||
| 
 | ||||
|           listener = [ | ||||
|             { | ||||
|               timeout = 900; | ||||
|               on-timeout = "loginctl lock-session"; | ||||
|             } | ||||
|             { | ||||
|               timeout = 1200; | ||||
|               on-timeout = "hyprctl dispatch dpms off"; | ||||
|               on-resume = "hyprctl dispatch dpms on"; | ||||
|             } | ||||
|           ]; | ||||
|         }; | ||||
|       }; | ||||
|     }; | ||||
|   }; | ||||
| } | ||||
|  | @ -1,614 +0,0 @@ | |||
| { | ||||
|   config, | ||||
|   lib, | ||||
|   namespace, | ||||
|   pkgs, | ||||
|   ... | ||||
| }: | ||||
| let | ||||
|   inherit (lib) | ||||
|     mkIf | ||||
|     mkEnableOption | ||||
|     mkMerge | ||||
|     mkOption | ||||
|     literalExpression | ||||
|     ; | ||||
| 
 | ||||
|   cfg = config.${namespace}.desktop.addons.hyprpanel; | ||||
|   username = config.${namespace}.user.name; | ||||
| 
 | ||||
|   settingsFormat = pkgs.formats.json { }; | ||||
| 
 | ||||
|   iconColor = "#242438"; | ||||
| 
 | ||||
|   light-cyan = "#73daca"; | ||||
|   lightBlue = "#414868"; | ||||
|   medium-blue = "#9aa5ce"; | ||||
|   cyan-blue = "#7dcfff"; | ||||
|   navy-blue = "#24283b"; | ||||
|   dark-blue = "#1a1b26"; | ||||
|   dark-blue-gray = "565f89"; | ||||
|   dark-blue-yankees = "#272a3d"; | ||||
|   blue-magenta = "#181825"; | ||||
| 
 | ||||
|   lightPurple = "#bb9af7"; | ||||
| 
 | ||||
|   lightRed = "#f7768e"; | ||||
|   red = "#c0caf5"; | ||||
| 
 | ||||
|   lightGreen = "#9ece6a"; | ||||
|   yellow = "#e0af68"; | ||||
| 
 | ||||
|   settings = { | ||||
|     tear = true; | ||||
|     scalingPriority = "hyprland"; | ||||
|     font.name = "CodeNewRoman Nerd Font Mono"; | ||||
| 
 | ||||
|     bar = { | ||||
|       customModules = { | ||||
|         updates.pollingInterval = 1440000; | ||||
|         ram = { | ||||
|           labelType = "used/total"; | ||||
|           icon = " "; | ||||
|         }; | ||||
|         cpu = { | ||||
|           label = true; | ||||
|           leftClick = "kitty --hold btop"; | ||||
|           icon = " "; | ||||
|         }; | ||||
|       }; | ||||
|       layouts = { | ||||
|         "0" = { | ||||
|           left = [ | ||||
|             "workspaces" | ||||
|           ]; | ||||
|           middle = [ | ||||
|             "windowtitle" | ||||
|           ]; | ||||
|           right = [ | ||||
|             "clock" | ||||
|           ]; | ||||
|         }; | ||||
|         "1" = { | ||||
|           left = [ | ||||
|             "dashboard" | ||||
|             "workspaces" | ||||
|           ]; | ||||
|           middle = [ | ||||
|             "windowtitle" | ||||
|           ]; | ||||
|           right = [ | ||||
|             "volume" | ||||
|             "bluetooth" | ||||
|             "battery" | ||||
|             "systray" | ||||
|             "cpu" | ||||
|             "ram" | ||||
|             "clock" | ||||
|             "notifications" | ||||
|           ]; | ||||
|         }; | ||||
|       }; | ||||
|       workspaces = { | ||||
|         showAllActive = true; | ||||
|         show_icons = false; | ||||
|         numbered_active_indicator = "underline"; | ||||
|         show_numbered = true; | ||||
|         showWsIcons = false; | ||||
|         showApplicationIcons = false; | ||||
|         hideUnoccupied = true; | ||||
|       }; | ||||
|       launcher = { | ||||
|         icon = ""; | ||||
|         rightClick = "hyprpanel -t settings-dialog"; | ||||
|       }; | ||||
|       scrollSpeed = 0; | ||||
|       windowtitle = { | ||||
|         class_name = false; | ||||
|         custom_title = false; | ||||
|         icon = false; | ||||
|         label = true; | ||||
|         title_map = [ | ||||
| 
 | ||||
|         ]; | ||||
|         truncation = true; | ||||
|       }; | ||||
|       network = { | ||||
|         label = false; | ||||
|         truncation = false; | ||||
|       }; | ||||
|       clock.format = "%a %b %d  %H:%M:%S"; | ||||
|       notifications.show_total = true; | ||||
|     }; | ||||
| 
 | ||||
|     menus = { | ||||
|       clock.time.military = true; | ||||
|       dashboard = { | ||||
|         powermenu.avatar.image = "/home/cholli/Pictures/profile.png"; | ||||
| 
 | ||||
|         shortcuts.enabled = false; | ||||
|         directories.left = { | ||||
|           directory1.command = "kitty $HOME/Downloads"; | ||||
|           directory3.command = "kitty $HOME/projects"; | ||||
|         }; | ||||
| 
 | ||||
|         stats = { | ||||
|           enable_gpu = true; | ||||
|           enabled = false; | ||||
|         }; | ||||
|         controls.enabled = false; | ||||
|       }; | ||||
|       bluetooth = { | ||||
|         showBattery = true; | ||||
|         batteryState = "always"; | ||||
|       }; | ||||
|       transition = "crossfade"; | ||||
|     }; | ||||
| 
 | ||||
|     theme = { | ||||
|       bar = { | ||||
|         floating = true; | ||||
|         outer_spacing = "0.2em"; | ||||
|         buttons = { | ||||
|           enableBorders = true; | ||||
| 
 | ||||
|           workspaces = { | ||||
|             enableBorder = false; | ||||
|             fontSize = "1.2em"; | ||||
|             smartHighlight = false; | ||||
|             active = "#f7768e"; | ||||
|             occupied = "#f7768e"; | ||||
|             available = "#7dcfff"; | ||||
|             hover = "#f7768e"; | ||||
|             background = "#272a3d"; | ||||
|             numbered_active_highlighted_text_color = "#181825"; | ||||
|             numbered_active_underline_color = "#c678dd"; | ||||
|             border = "#f7768e"; | ||||
|           }; | ||||
|           modules = { | ||||
|             power = { | ||||
|               icon = "#181825"; | ||||
|               icon_background = "#f7768e"; | ||||
|               background = "#272a3d"; | ||||
|               border = "#f7768e"; | ||||
|             }; | ||||
|             ram = { | ||||
|               enableBorder = false; | ||||
|               spacing = "0.45em"; | ||||
|               icon = "#181825"; | ||||
|               icon_background = "#e0af68"; | ||||
|               text = "#e0af68"; | ||||
|               background = "#272a3d"; | ||||
|               border = "#e0af68"; | ||||
|             }; | ||||
|             cpu = { | ||||
|               enableBorder = false; | ||||
|               background = "#272a3d"; | ||||
|               icon = "#181825"; | ||||
|               icon_background = "#f7768e"; | ||||
|               text = "#f7768e"; | ||||
|               border = "#f7768e"; | ||||
|             }; | ||||
|             submap = { | ||||
|               background = "#272a3d"; | ||||
|               text = "#73daca"; | ||||
|               border = "#73daca"; | ||||
|               icon = "#181825"; | ||||
|               icon_background = "#73daca"; | ||||
|             }; | ||||
|           }; | ||||
| 
 | ||||
|           style = "split"; | ||||
|           icon = "#242438"; | ||||
|           icon_background = "#bb9af7"; | ||||
|           text = "#bb9af7"; | ||||
|           hover = "#414868"; | ||||
|           background = "#272a3d"; | ||||
|           dashboard = { | ||||
|             enableBorder = false; | ||||
|             icon = "#272a3d"; | ||||
|             background = "#e0af68"; | ||||
|             border = "#e0af68"; | ||||
|           }; | ||||
|           volume = { | ||||
|             icon = "#272a3d"; | ||||
|             text = "#f7768e"; | ||||
|             background = "#272a3d"; | ||||
|             icon_background = "#f7768e"; | ||||
|             border = "#f7768e"; | ||||
|           }; | ||||
|           notifications = { | ||||
|             total = "#bb9af7"; | ||||
|             icon = "#272a3d"; | ||||
|             background = "#272a3d"; | ||||
|             icon_background = "#bb9af7"; | ||||
|             border = "#bb9af7"; | ||||
|           }; | ||||
|           clock = { | ||||
|             icon = "#272a3d"; | ||||
|             text = "#f7768e"; | ||||
|             background = "#272a3d"; | ||||
|             icon_background = "#f7768e"; | ||||
|             border = "#f7768e"; | ||||
|           }; | ||||
|           systray = { | ||||
|             background = "#272a3d"; | ||||
|             border = "#414868"; | ||||
|             customIcon = "#c0caf5"; | ||||
|           }; | ||||
|           bluetooth = { | ||||
|             icon = "#272a3d"; | ||||
|             text = "#7dcfff"; | ||||
|             background = "#272a3d"; | ||||
|             icon_background = "#7dcfff"; | ||||
|             border = "#7dcfff"; | ||||
|           }; | ||||
|           windowtitle = { | ||||
|             icon = "#272a3d"; | ||||
|             text = "#f7768e"; | ||||
|             background = "#272a3d"; | ||||
|             icon_background = "#f7768e"; | ||||
|             border = "#f7768e"; | ||||
|             enableBorder = false; | ||||
|           }; | ||||
|           radius = "0.3em"; | ||||
|           borderSize = "0.0em"; | ||||
|           padding_x = "0.7rem"; | ||||
|           padding_y = "0.2rem"; | ||||
|         }; | ||||
| 
 | ||||
|         menus = { | ||||
|           monochrome = false; | ||||
|           opacity = 95; | ||||
|           menu = { | ||||
|             dashboard = { | ||||
|               powermenu = { | ||||
|                 shutdown = "#f7768e"; | ||||
|                 confirmation = { | ||||
|                   deny = "#f7768e"; | ||||
|                   confirm = "#9ece6a"; | ||||
|                   button_text = "#1a1b26"; | ||||
|                   body = "#c0caf5"; | ||||
|                   label = "#bb9af7"; | ||||
|                   border = "#414868"; | ||||
|                   background = "#1a1b26"; | ||||
|                   card = "#24283b"; | ||||
|                 }; | ||||
|                 sleep = "#7dcfff"; | ||||
|                 logout = "#9ece6a"; | ||||
|                 restart = "#e0af68"; | ||||
|               }; | ||||
|               monitors = { | ||||
|                 ram = { | ||||
|                   label = "#e0af68"; | ||||
|                   bar = "#e0af68"; | ||||
|                   icon = "#e0af68"; | ||||
|                 }; | ||||
|                 cpu = { | ||||
|                   label = "#f7768e"; | ||||
|                   bar = "#f7768e"; | ||||
|                   icon = "#f7768e"; | ||||
|                 }; | ||||
|                 bar_background = "#414868"; | ||||
|               }; | ||||
|               directories = { | ||||
|                 right = { | ||||
|                   bottom.color = "#bb9af7"; | ||||
|                   middle.color = "#bb9af7"; | ||||
|                   top.color = "#73daca"; | ||||
|                 }; | ||||
|                 left = { | ||||
|                   bottom.color = "#f7768e"; | ||||
|                   middle.color = "#e0af68"; | ||||
|                   top.color = "#f7768e"; | ||||
|                 }; | ||||
|               }; | ||||
|               controls = { | ||||
|                 input = { | ||||
|                   text = "#1a1b26"; | ||||
|                   background = "#f7768e"; | ||||
|                 }; | ||||
|                 volume = { | ||||
|                   text = "#1a1b26"; | ||||
|                   background = "#f7768e"; | ||||
|                 }; | ||||
|                 notifications = { | ||||
|                   text = "#1a1b26"; | ||||
|                   background = "#e0af68"; | ||||
|                 }; | ||||
|                 bluetooth = { | ||||
|                   text = "#1a1b26"; | ||||
|                   background = "#7dcfff"; | ||||
|                 }; | ||||
|                 disabled = "#414868"; | ||||
|               }; | ||||
|               profile.name = "#f7768e"; | ||||
|               border.color = "#414868"; | ||||
|               background.color = "#1a1b26"; | ||||
|               card.color = "#24283b"; | ||||
|             }; | ||||
|             notifications = { | ||||
|               switch = { | ||||
|                 puck = "#565f89"; | ||||
|                 disabled = "#565f89"; | ||||
|                 enabled = "#bb9af7"; | ||||
|               }; | ||||
|               clear = "#f7768e"; | ||||
|               switch_divider = "#414868"; | ||||
|               border = "#414868"; | ||||
|               card = "#24283b"; | ||||
|               background = "#1a1b26"; | ||||
|               no_notifications_label = "#414868"; | ||||
|               label = "#bb9af7"; | ||||
|               scrollbar.color = "#bb9af7"; | ||||
|               pager = { | ||||
|                 button = "#bb9af7"; | ||||
|                 label = "#565f89"; | ||||
|                 background = "#1a1b26"; | ||||
|               }; | ||||
|             }; | ||||
|             clock = { | ||||
|               text = "#c0caf5"; | ||||
|               border.color = "#414868"; | ||||
|               background.color = "#1a1b26"; | ||||
|               card.color = "#24283b"; | ||||
| 
 | ||||
|               calendar = { | ||||
|                 contextdays = "#414868"; | ||||
|                 days = "#c0caf5"; | ||||
|                 currentday = "#f7768e"; | ||||
|                 paginator = "#f7768e"; | ||||
|                 weekdays = "#f7768e"; | ||||
|                 yearmonth = "#73daca"; | ||||
|               }; | ||||
|               time = { | ||||
|                 timeperiod = "#73daca"; | ||||
|                 time = "#f7768e"; | ||||
|               }; | ||||
|             }; | ||||
|             systray = { | ||||
|               dropdownmenu.divider = "#24283b"; | ||||
|               dropdownmenu.text = "#c0caf5"; | ||||
|               dropdownmenu.background = "#1a1b26"; | ||||
|             }; | ||||
|             bluetooth = { | ||||
|               iconbutton = { | ||||
|                 active = "#7dcfff"; | ||||
|                 passive = "#c0caf5"; | ||||
|               }; | ||||
|               icons = { | ||||
|                 active = "#7dcfff"; | ||||
|                 passive = "#565f89"; | ||||
|               }; | ||||
|               listitems = { | ||||
|                 active = "#7dcfff"; | ||||
|                 passive = "#c0caf5"; | ||||
|               }; | ||||
|               switch = { | ||||
|                 puck = "#565f89"; | ||||
|                 disabled = "#565f89"; | ||||
|                 enabled = "#7dcfff"; | ||||
|               }; | ||||
|               switch_divider = "#414868"; | ||||
|               status = "#565f89"; | ||||
|               text = "#c0caf5"; | ||||
|               label.color = "#7dcfff"; | ||||
|               border.color = "#414868"; | ||||
|               background.color = "#1a1b26"; | ||||
|               card.color = "#24283b"; | ||||
|             }; | ||||
|             volume = { | ||||
|               text = "#c0caf5"; | ||||
|               card.color = "#24283b"; | ||||
|               label.color = "#f7768e"; | ||||
|               input_slider = { | ||||
|                 puck = "#414868"; | ||||
|                 backgroundhover = "#414868"; | ||||
|                 background = "#565f89"; | ||||
|                 primary = "#f7768e"; | ||||
|               }; | ||||
|               audio_slider = { | ||||
|                 puck = "#414868"; | ||||
|                 backgroundhover = "#414868"; | ||||
|                 background = "#565f89"; | ||||
|                 primary = "#f7768e"; | ||||
|               }; | ||||
|               icons = { | ||||
|                 active = "#f7768e"; | ||||
|                 passive = "#565f89"; | ||||
|               }; | ||||
|               iconbutton = { | ||||
|                 active = "#f7768e"; | ||||
|                 passive = "#c0caf5"; | ||||
|               }; | ||||
|               listitems = { | ||||
|                 active = "#f7768e"; | ||||
|                 passive = "#c0caf5"; | ||||
|               }; | ||||
|               border.color = "#414868"; | ||||
|               background.color = "#1a1b26"; | ||||
|             }; | ||||
|             media = { | ||||
|               card.color = "#24283b"; | ||||
|               slider = { | ||||
|                 puck = "#565f89"; | ||||
|                 backgroundhover = "#414868"; | ||||
|                 background = "#565f89"; | ||||
|                 primary = "#f7768e"; | ||||
|               }; | ||||
|               buttons = { | ||||
|                 text = "#1a1b26"; | ||||
|                 background = "#bb9af7"; | ||||
|                 enabled = "#73daca"; | ||||
|                 inactive = "#414868"; | ||||
|               }; | ||||
|               border.color = "#414868"; | ||||
|               background.color = "#1a1b26"; | ||||
|               album = "#f7768e"; | ||||
|               artist = "#73daca"; | ||||
|               song = "#bb9af7"; | ||||
|             }; | ||||
|             power = { | ||||
|               border.color = "#414868"; | ||||
|               buttons = { | ||||
|                 sleep = { | ||||
|                   icon_background = "#7dcfff"; | ||||
|                   text = "#7dcfff"; | ||||
|                   background = "#24283b"; | ||||
|                   icon = "#1a1b26"; | ||||
|                 }; | ||||
|                 restart = { | ||||
|                   text = "#e0af68"; | ||||
|                   icon_background = "#e0af68"; | ||||
|                   icon = "#1a1b26"; | ||||
|                   background = "#24283b"; | ||||
|                 }; | ||||
|                 shutdown = { | ||||
|                   icon = "#1a1b26"; | ||||
|                   background = "#24283b"; | ||||
|                   icon_background = "#f7768e"; | ||||
|                   text = "#f7768e"; | ||||
|                 }; | ||||
|                 logout = { | ||||
|                   icon = "#1a1b26"; | ||||
|                   background = "#24283b"; | ||||
|                   text = "#9ece6a"; | ||||
|                   icon_background = "#9ece6a"; | ||||
|                 }; | ||||
|               }; | ||||
|               background.color = "#1a1b26"; | ||||
|               scaling = 90; | ||||
|             }; | ||||
|           }; | ||||
|           background = "#1a1b26"; | ||||
|           text = "#c0caf5"; | ||||
|           border.color = "#414868"; | ||||
|           popover = { | ||||
|             text = "#bb9af7"; | ||||
|             background = "#1a1b26"; | ||||
|             border = "#1a1b26"; | ||||
|           }; | ||||
|           tooltip = { | ||||
|             text = "#c0caf5"; | ||||
|             background = "#1a1b26"; | ||||
|           }; | ||||
|           dropdownmenu = { | ||||
|             divider = "#24283b"; | ||||
|             text = "#c0caf5"; | ||||
|             background = "#1a1b26"; | ||||
|           }; | ||||
|           slider = { | ||||
|             puck = "#565f89"; | ||||
|             backgroundhover = "#414868"; | ||||
|             background = "#565f89"; | ||||
|             primary = "#bb9af7"; | ||||
|           }; | ||||
|           progressbar = { | ||||
|             background = "#414868"; | ||||
|             foreground = "#bb9af7"; | ||||
|           }; | ||||
|           iconbuttons = { | ||||
|             active = "#bb9af7"; | ||||
|             passive = "#c0caf5"; | ||||
|           }; | ||||
|           buttons = { | ||||
|             text = "#1a1b26"; | ||||
|             disabled = "#565f89"; | ||||
|             active = "#f7768e"; | ||||
|             default = "#bb9af7"; | ||||
|           }; | ||||
|           switch = { | ||||
|             puck = "#565f89"; | ||||
|             disabled = "#565f89"; | ||||
|             enabled = "#bb9af7"; | ||||
|           }; | ||||
|           icons = { | ||||
|             active = "#bb9af7"; | ||||
|             passive = "#414868"; | ||||
|           }; | ||||
|           listitems = { | ||||
|             active = "#bb9af7"; | ||||
|             passive = "#c0caf5"; | ||||
|           }; | ||||
|           label = "#bb9af7"; | ||||
|           feinttext = "#414868"; | ||||
|           dimtext = "#414868"; | ||||
|           cards = "#24283b"; | ||||
|           check_radio_button.background = "#3b4261"; | ||||
|           check_radio_button.active = "#bb9af7"; | ||||
|         }; | ||||
|         transparent = true; | ||||
|         background = "#1a1b26"; | ||||
|         margin_sides = "0.0em"; | ||||
|         location = "top"; | ||||
|       }; | ||||
|       osd = { | ||||
|         monitor = 1; | ||||
|         muted_zero = true; | ||||
|         label = "#bb9af7"; | ||||
|         icon = "#1a1b26"; | ||||
|         bar_overflow_color = "#f7768e"; | ||||
|         bar_empty_color = "#414868"; | ||||
|         bar_color = "#bb9af7"; | ||||
|         icon_container = "#bb9af7"; | ||||
|         bar_container = "#1a1b26"; | ||||
|       }; | ||||
|       notification = { | ||||
|         close_button.label = "#1a1b26"; | ||||
|         close_button.background = "#f7768e"; | ||||
|         labelicon = "#bb9af7"; | ||||
|         text = "#c0caf5"; | ||||
|         time = "#9aa5ce"; | ||||
|         border = "#565f89"; | ||||
|         label = "#bb9af7"; | ||||
|         actions.text = "#24283b"; | ||||
|         actions.background = "#bb9af7"; | ||||
|         background = "#1a1b26"; | ||||
|       }; | ||||
|       font.size = "1.3rem"; | ||||
|     }; | ||||
|     notifications = { | ||||
|       monitor = 1; | ||||
|       active_monitor = false; | ||||
|     }; | ||||
|     wallpaper = { | ||||
|       pywal = false; | ||||
|       image = "/home/cholli/Pictures/firewatch.jpg"; | ||||
|       enable = false; | ||||
|     }; | ||||
|   }; | ||||
| in | ||||
| { | ||||
|   options.${namespace}.desktop.addons.hyprpanel = { | ||||
|     enable = mkEnableOption "Enable HyprIdle"; | ||||
|     extraSettings = mkOption { | ||||
|       default = { }; | ||||
|       inherit (settingsFormat) type; | ||||
|       description = '' | ||||
|         Additional Options to pass to hyprpanel | ||||
|       ''; | ||||
|       example = literalExpression '' | ||||
|         { | ||||
|            | ||||
|         } | ||||
|       ''; | ||||
|     }; | ||||
|   }; | ||||
| 
 | ||||
|   config = mkIf cfg.enable { | ||||
| 
 | ||||
|     snowfallorg.users.${username}.home.config = { | ||||
|       wayland.windowManager.hyprland.settings.exec-once = [ | ||||
|         "${pkgs.hyprpanel}/bin/hyprpanel" | ||||
|       ]; | ||||
|     }; | ||||
| 
 | ||||
|     ${namespace}.home.file = { | ||||
|       ".cache/ags/hyprpanel/options_test.json" = { | ||||
| 
 | ||||
|         # source = pkgs.formats.json.generate "options.json" settings; | ||||
|         text = builtins.toJSON settings; | ||||
|       }; | ||||
|     }; | ||||
|   }; | ||||
| } | ||||
|  | @ -1,16 +1,20 @@ | |||
| { | ||||
|   config, | ||||
|   inputs, | ||||
|   lib, | ||||
|   namespace, | ||||
|   pkgs, | ||||
|   system, | ||||
|   ... | ||||
| }: | ||||
| let | ||||
|   inherit (lib) mkIf mkEnableOption; | ||||
| 
 | ||||
|   # hyprpaper-package = inputs.hyprpaper.packages.${system}.hyprpaper; | ||||
| 
 | ||||
|   cfg = config.${namespace}.desktop.addons.hyprpaper; | ||||
| 
 | ||||
|   username = config.${namespace}.user.name; | ||||
|   picture-path = "/home/${username}/Pictures/firewatch.jpg"; | ||||
| in | ||||
| { | ||||
|   options.${namespace}.desktop.addons.hyprpaper = { | ||||
|  | @ -24,15 +28,13 @@ in | |||
|         "Pictures/firewatch.jpg".source = ./firewatch.jpg; | ||||
|       }; | ||||
| 
 | ||||
|       wayland.windowManager.hyprland.settings.exec-once = [ | ||||
|         ''hyprctl hyprpaper wallpaper "DP-2,${picture-path}"'' | ||||
|       ]; | ||||
| 
 | ||||
|       services.hyprpaper = { | ||||
|         enable = true; | ||||
|         settings = { | ||||
|           preload = [ picture-path ]; | ||||
|           wallpaper = "DP-2,${picture-path}"; | ||||
|           preload = [ | ||||
|             "/home/${username}/Pictures/firewatch.jpg" | ||||
|           ]; | ||||
|           wallpaper = "monitor DP-2, /home/${username}/Pictures/firewatch.jpg"; | ||||
|         }; | ||||
|       }; | ||||
|     }; | ||||
|  |  | |||
|  | @ -6,17 +6,10 @@ | |||
|   ... | ||||
| }: | ||||
| let | ||||
|   inherit (lib) mkIf mkEnableOption; | ||||
|   user = config.${namespace}.user.name; | ||||
| 
 | ||||
|   cfg = config.${namespace}.desktop.hyprland; | ||||
| in | ||||
| { | ||||
|   options.${namespace}.desktop = { | ||||
|     enable = mkEnableOption "Whether to enable desktop theming"; | ||||
|   }; | ||||
| 
 | ||||
|   config = mkIf cfg.enable { | ||||
|   config = { | ||||
|     ${namespace}.home.extraOptions = { | ||||
|       dconf.settings = { | ||||
|         "org/gnome/desktop/interface" = { | ||||
|  |  | |||
|  | @ -30,7 +30,7 @@ let | |||
|         hyprctl dispatch workspace $running | ||||
|     else | ||||
|         # always open on w/space 4 | ||||
|         hyprctl dispatch workspace 9 | ||||
|         hyprctl dispatch workspace 4 | ||||
|         1password& | ||||
|     fi | ||||
|   ''; | ||||
|  | @ -47,30 +47,19 @@ in | |||
| 
 | ||||
|   config = mkIf cfg.enable { | ||||
|     environment.systemPackages = with pkgs; [ | ||||
|       # Auth Agent | ||||
|       hyprpolkitagent | ||||
|       polkit-kde-agent | ||||
| 
 | ||||
|       # Notification daemon | ||||
|       libnotify | ||||
| 
 | ||||
|       # Wayland Utilities | ||||
|       wl-clipboard | ||||
|       wl-screenrec | ||||
|       wlr-randr | ||||
| 
 | ||||
|       # Screenshot Utility | ||||
|       grimblast | ||||
| 
 | ||||
|       # File Manager | ||||
|       xfce.thunar | ||||
|       dunst | ||||
| 
 | ||||
|       # clean sddm theme | ||||
|       elegant-sddm | ||||
| 
 | ||||
|       # json cli parser for bash script to focus 1password | ||||
|       jq | ||||
|       focus-1password | ||||
| 
 | ||||
|       hyprpanel | ||||
|     ]; | ||||
| 
 | ||||
|     programs = { | ||||
|  | @ -90,19 +79,15 @@ in | |||
|     }; | ||||
| 
 | ||||
|     ${namespace} = { | ||||
|       desktop = { | ||||
|         enable = true; | ||||
|         addons = { | ||||
|       desktop.addons = { | ||||
|         waybar = enabled; | ||||
|         rofi = { | ||||
|           enable = true; | ||||
|           package = pkgs.rofi-wayland-unwrapped; | ||||
|         }; | ||||
|           hypridle = enabled; | ||||
|         hyprlock = enabled; | ||||
|           hyprpanel = enabled; | ||||
|         hyprpaper = enabled; | ||||
|       }; | ||||
|       }; | ||||
| 
 | ||||
|       nix.extra-substituters.${cachix-url} = { | ||||
|         key = cachix-key; | ||||
|  | @ -124,17 +109,20 @@ in | |||
|               ]; | ||||
| 
 | ||||
|               exec-once = [ | ||||
|                 "systemctl --user start hyprpolkitagent" | ||||
|                 "hyprpaper" | ||||
|                 "waybar" | ||||
|                 "dunst" | ||||
|                 "systemctl --user start plasma-polkit-agent" | ||||
| 
 | ||||
|                 "[workspace 2 silent] steam --disable-gpu-compositing" # nvidia pls let me have nice things | ||||
|                 "[workspace 8 silent] discord --disable-gpu-compositing" | ||||
|                 "[workspace 9 silent] 1password" | ||||
|                 "[workspace 3 silent] steam" | ||||
|                 "[workspace 2 silent] discord" | ||||
|                 "[workspace 4 silent] 1password" | ||||
|                 "[workspace 1 silent] zen" | ||||
|               ]; | ||||
| 
 | ||||
|               windowrulev2 = [ | ||||
|                 #stean is a bit wierd, since it opens in multiple phases, so just move the last window to the workspace | ||||
|                 "workspace 2 silent, class:^(steam)$, title:^(Steam)" | ||||
|                 "workspace 3 silent, class:^(steam)$, title:^(Steam)" | ||||
| 
 | ||||
|                 # make xwaylandvideobridge window invisible | ||||
|                 "opacity 0.0 override, class:^(xwaylandvideobridge)$" | ||||
|  |  | |||
|  | @ -1,75 +0,0 @@ | |||
| { | ||||
|   config, | ||||
|   lib, | ||||
|   namespace, | ||||
|   pkgs, | ||||
|   ... | ||||
| }: | ||||
| with lib; | ||||
| with lib.${namespace}; | ||||
| let | ||||
|   cfg = config.${namespace}.security.acme; | ||||
| in | ||||
| { | ||||
|   options.${namespace}.security.acme = with lib.types; { | ||||
|     enable = mkEnableOption "Enable sops (Default true)"; | ||||
|     email = mkOpt str config.${namespace}.user.email "The email to use."; | ||||
|     sopsFile = mkOption { | ||||
|       type = lib.types.path; | ||||
|       default = lib.snowfall.fs.get-file "secrets/secrets.yaml"; | ||||
|       description = "SecretFile"; | ||||
|     }; | ||||
|     domainname = mkOpt str "christophhollizeck.dev" "domainname to use"; | ||||
|     staging = mkOpt bool false "Use staging server for testing or not"; | ||||
|   }; | ||||
| 
 | ||||
|   config = mkIf cfg.enable { | ||||
|     sops = { | ||||
|       secrets = { | ||||
|         netcup_customer_number = { | ||||
|           inherit (cfg) sopsFile; | ||||
|         }; | ||||
| 
 | ||||
|         netcup_api_key = { | ||||
|           inherit (cfg) sopsFile; | ||||
|         }; | ||||
| 
 | ||||
|         netcup_api_password = { | ||||
|           inherit (cfg) sopsFile; | ||||
|         }; | ||||
|       }; | ||||
| 
 | ||||
|       templates = { | ||||
|         "netcup.env" = { | ||||
|           content = '' | ||||
|             NETCUP_CUSTOMER_NUMBER=${config.sops.placeholder.netcup_customer_number} | ||||
|             NETCUP_API_KEY=${config.sops.placeholder.netcup_api_key} | ||||
|             NETCUP_API_PASSWORD=${config.sops.placeholder.netcup_api_password} | ||||
|             NETCUP_PROPAGATION_TIMEOUT=1200 | ||||
|           ''; | ||||
|         }; | ||||
|       }; | ||||
| 
 | ||||
|     }; | ||||
| 
 | ||||
|     security.acme = { | ||||
|       acceptTerms = true; | ||||
|       defaults = { | ||||
|         inherit (cfg) email; | ||||
| 
 | ||||
|         group = mkIf config.services.nginx.enable "nginx"; | ||||
|         reloadServices = optional config.services.nginx.enable "nginx.service"; | ||||
| 
 | ||||
|         dnsProvider = "netcup"; | ||||
|         environmentFile = config.sops.templates."netcup.env".path; | ||||
|       }; | ||||
| 
 | ||||
|       certs."${cfg.domainname}" = { | ||||
|         server = mkIf cfg.staging "https://acme-staging-v02.api.letsencrypt.org/directory"; | ||||
|         dnsResolver = "1.1.1.1:53"; | ||||
|         extraDomainNames = [ "*.${cfg.domainname}" ]; | ||||
|       }; | ||||
|     }; | ||||
| 
 | ||||
|   }; | ||||
| } | ||||
|  | @ -8,38 +8,30 @@ | |||
| with lib.${namespace}; | ||||
| let | ||||
|   cfg = config.${namespace}.services.factorio-server; | ||||
|   inherit (lib) mkIf mkOption mkEnableOption; | ||||
|   inherit (lib) mkIf mkEnableOption; | ||||
| in | ||||
| { | ||||
|   options.${namespace}.services.factorio-server = { | ||||
|     enable = mkEnableOption "Enable Factorio Headless Server"; | ||||
|     sopsFile = mkOption { | ||||
|       type = lib.types.path; | ||||
|       default = lib.snowfall.fs.get-file "secrets/secrets.yaml"; | ||||
|       description = "SecretFile"; | ||||
|     }; | ||||
|   }; | ||||
| 
 | ||||
|   config = mkIf cfg.enable { | ||||
|     environment.systemPackages = [ pkgs.factorio-headless ]; | ||||
|     environment.systemPackages = with pkgs; [ factorio-headless ]; | ||||
|     sops = { | ||||
|       secrets = { | ||||
|         factorio_token = { | ||||
|           restartUnits = [ "factorio.service" ]; | ||||
|           inherit (cfg) sopsFile; | ||||
|         }; | ||||
|         factorio_username = { | ||||
|           restartUnits = [ "factorio.service" ]; | ||||
|           inherit (cfg) sopsFile; | ||||
|         }; | ||||
|         factorio_game_password = { | ||||
|           restartUnits = [ "factorio.service" ]; | ||||
|           inherit (cfg) sopsFile; | ||||
|         }; | ||||
|       }; | ||||
|       templates."extraSettingsFile.json".content = '' | ||||
|         { | ||||
|           "name": "SpaceAgeHolli", | ||||
|           "name": "Alles Nix!", | ||||
|           "description": "Trying to run a factorio-headless-server on my nix system", | ||||
|           "tags": ["vanilla"], | ||||
|           "max_players": 10, | ||||
|  | @ -48,6 +40,7 @@ in | |||
|           "autosave_slots": 5, | ||||
|           "ignore_player_limit_for_returning_players": true, | ||||
|           "username" : "${config.sops.placeholder.factorio_username}", | ||||
|           "admins": ["${config.sops.placeholder.factorio_username}"], | ||||
|           "token": "${config.sops.placeholder.factorio_token}" | ||||
|         } | ||||
|       ''; | ||||
|  | @ -60,13 +53,8 @@ in | |||
|       public = true; | ||||
|       lan = true; | ||||
|       nonBlockingSaving = true; | ||||
|       autosave-interval = 15; | ||||
|       saveName = "SpaceAge"; | ||||
|       admins = [ | ||||
|         "daholli" | ||||
|         "galbrain" | ||||
|         "geigeabc" | ||||
|       ]; | ||||
|       autosave-interval = 5; | ||||
|       loadLatestSave = true; | ||||
|       extraSettingsFile = config.sops.templates."extraSettingsFile.json".path; | ||||
|     }; | ||||
|   }; | ||||
|  |  | |||
|  | @ -13,7 +13,7 @@ let | |||
| in | ||||
| { | ||||
|   options.${namespace}.submodules.basics = with types; { | ||||
|     enable = mkEnableOption "Whether or not to enable basic configuration."; | ||||
|     enable = mkBoolOpt false "Whether or not to enable basic configuration."; | ||||
|   }; | ||||
| 
 | ||||
|   config = mkIf cfg.enable { | ||||
|  | @ -29,7 +29,7 @@ in | |||
|       #optional | ||||
|       pciutils | ||||
|       usbutils | ||||
|       btop | ||||
|       htop | ||||
|     ]; | ||||
| 
 | ||||
|     ${namespace} = { | ||||
|  |  | |||
|  | @ -17,7 +17,7 @@ in | |||
| 
 | ||||
|   config = mkIf cfg.enable { | ||||
|     boot = { | ||||
|       kernelPackages = pkgs.linuxPackages_latest; | ||||
|       kernelPackages = pkgs.linuxPackages_6_10; | ||||
|       loader = { | ||||
|         systemd-boot.enable = true; | ||||
|         efi.canTouchEfiVariables = true; | ||||
|  |  | |||
|  | @ -24,7 +24,7 @@ in | |||
|     environment.systemPackages = with pkgs; [ | ||||
|       git | ||||
|       gitAndTools.gh | ||||
|       # gitbutler | ||||
|       gitbutler | ||||
|     ]; | ||||
| 
 | ||||
|     ${namespace}.home.extraOptions = { | ||||
|  |  | |||
|  | @ -48,11 +48,6 @@ in | |||
|     icon = mkOpt (nullOr package) defaultIcon "The profile picture to use for the user."; | ||||
|     extraGroups = mkOpt (listOf str) [ ] "Groups for the user to be assigned."; | ||||
|     extraOptions = mkOpt attrs { } (mdDoc "Extra options passed to `users.users.<name>`."); | ||||
|     trustedPublicKeys = mkOption { | ||||
|       default = [ ]; | ||||
|       type = nullOr (listOf str); | ||||
|       description = "Trusted public keys for this user for the machine"; | ||||
|     }; | ||||
|   }; | ||||
| 
 | ||||
|   config = { | ||||
|  | @ -97,8 +92,6 @@ in | |||
|       # system to select). | ||||
|       uid = 1000; | ||||
| 
 | ||||
|       openssh.authorizedKeys.keys = cfg.trustedPublicKeys; | ||||
| 
 | ||||
|       extraGroups = [ "steamcmd" ] ++ cfg.extraGroups; | ||||
|     } // cfg.extraOptions; | ||||
|   }; | ||||
|  |  | |||
|  | @ -1,9 +0,0 @@ | |||
| { ... }: | ||||
| 
 | ||||
| final: prev: { | ||||
|   discord = prev.discord.overrideAttrs (oldAttrs: { | ||||
|     commandLineArgs = '' | ||||
|       --disable-gpu-compositing | ||||
|     ''; | ||||
|   }); | ||||
| } | ||||
|  | @ -1,3 +0,0 @@ | |||
| { channels, ... }: | ||||
| 
 | ||||
| final: prev: { inherit (channels.nixpkgs-latest-factorio) factorio-headless; } | ||||
|  | @ -1,3 +1,3 @@ | |||
| { channels, ... }: | ||||
| 
 | ||||
| final: prev: { inherit (channels.nixpkgs-unstable) pobfrontend; } | ||||
| final: prev: { inherit (channels.unstable) pobfrontend; } | ||||
|  |  | |||
|  | @ -1,9 +0,0 @@ | |||
| { ... }: | ||||
| 
 | ||||
| final: prev: { | ||||
|   steam = prev.steam.overrideAttrs (oldAttrs: { | ||||
|     commandLineArgs = '' | ||||
|       --disable-gpu-compositing | ||||
|     ''; | ||||
|   }); | ||||
| } | ||||
|  | @ -1,9 +0,0 @@ | |||
| { ... }: | ||||
| 
 | ||||
| final: prev: { | ||||
|   teams-for-linux = prev.teams-for-linux.overrideAttrs (oldAttrs: { | ||||
|     commandLineArgs = '' | ||||
|       --disable-gpu-compositing | ||||
|     ''; | ||||
|   }); | ||||
| } | ||||
|  | @ -1,30 +0,0 @@ | |||
| #ENC[AES256_GCM,data:Cgp+gOU81+rvdlY=,iv:8DxJxnCslDoEu0bxtlTjmNiAUCdiAV/8VYKTb4yqQ50=,tag:ZTkK7WCOBh1It6GuKPUXdg==,type:comment] | ||||
| factorio_username: ENC[AES256_GCM,data:egV5kXtAiw==,iv:Hay0PC2yol5FAJGcWxLkxzNdwpD1V4UfDDnkhsjvjVQ=,tag:QBDS6eAeOswQoHBoi4Gj6A==,type:str] | ||||
| factorio_token: ENC[AES256_GCM,data:whruEJQCNIqqfMA0A3yQdwwrzpIJBt815Lvex4Au,iv:hh3zZt+UxV9ltSHIAjpTRwtDvPgPU5APrB/1bXtKUkE=,tag:AgUmBYWp+Oyxm8O7yD8vlA==,type:str] | ||||
| factorio_game_password: ENC[AES256_GCM,data:Gu/p0+Sbd6Y=,iv:6AB1T3JdleiUnusU7hw/0wOFNSBsAsBgP2yD9FB7zXk=,tag:DMgD4csthynuBon+KNZtOw==,type:str] | ||||
| #ENC[AES256_GCM,data:15i2BBxM4iM=,iv:JV6Lsk8jUZl/eIJWkH/w5I2NraB9J9+0ggsENBGgbdI=,tag:HDwGheUv7dFIztQoJBjGmQ==,type:comment] | ||||
| forgejo_db_password: ENC[AES256_GCM,data:CFsvko1AXRymDBC6WiOBs98rvFM=,iv:Wemhu8URxA6HsWQyYcPSwJzuMP4myrDC3rU3GEDVt7c=,tag:6wcNlDFVdnjez8hzi4E2cw==,type:str] | ||||
| #ENC[AES256_GCM,data:nQnLBl7v,iv:HORr/Uvw4eUXfW5uS6rWr+6FkFF9bTNpMYGaRpVITRY=,tag:/r4n/xpqp7EPecGxDj4N+w==,type:comment] | ||||
| netcup_customer_number: ENC[AES256_GCM,data:pRooJa3O,iv:0U/ONcWa2eqcsT1UpgXmLpAvJndaU8zln2g1HMbBQYE=,tag:+pu8EBl/dnm6DoLAtrjZBQ==,type:str] | ||||
| netcup_api_key: ENC[AES256_GCM,data:nlkDz1VV2NIXxv/tIROWDHN9DLI0lVq9n9l2FlDwt+3H4G4gg6yCeZjGtR+pTCNfwio=,iv:x8HLL10ww52UJDkz7Yi02KBg7jbuLFHAlG0iMYDd8hk=,tag:pcuka4/Hu/QFIwS0b8GlxQ==,type:str] | ||||
| netcup_api_password: ENC[AES256_GCM,data:k2mdQp57x5ZTypRCHbVlq1fembJ0uj5D0rb72K5rac43p888y3TFyiYVuDTosxR66mo=,iv:0OhtKWD/LWeV5ZWN9fbPozebSxvaFRdSn1AkX97ffAM=,tag:uY6A4jBL/9mtGy7++Yvn0A==,type:str] | ||||
| sops: | ||||
|     kms: [] | ||||
|     gcp_kms: [] | ||||
|     azure_kv: [] | ||||
|     hc_vault: [] | ||||
|     age: | ||||
|         - recipient: age1amdd4hu6k0czf3mtlhd03yj3yzkdaynl7q5fdlqmjzpe9pwgxfjs3j0c85 | ||||
|           enc: | | ||||
|             -----BEGIN AGE ENCRYPTED FILE----- | ||||
|             YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA3NFlTd2hOTHBtUDhuT0lF | ||||
|             amtLclY2ZTN0SStZQjFSNkZUd1RmMkdJZ0dJCnB2WU04dk41Qk45aGphMW9GQVJ4 | ||||
|             b2VWQVlOVFFLaGJWaU9FVU5ZUWtlRncKLS0tIGVPYW5DQnJMeW1qdWtINDNlQWFo | ||||
|             NmhrdXhpbVlmUFNsT1VaQjZyYkZkdzgKhL2BKXfPWNWUbFavpmtBQpnNEm/x0xH6 | ||||
|             NsjiV05AcrqPmGjj2kjvTv4ULPSoHiHiC5McUMfFTYIrCJgNvUbmMg== | ||||
|             -----END AGE ENCRYPTED FILE----- | ||||
|     lastmodified: "2024-11-07T14:40:34Z" | ||||
|     mac: ENC[AES256_GCM,data:uk2AeOA9pnhekuofIjXavCGy9ZaO0ObprkvnGhJg5lPr/hyT9l7YcZtMQ7wckKDLS03I1hCAcNg0w/EmSUeU2+EHLb6Z1IUj3l0HBUPtPIJwJZifkrzp9iQwGwlK+i6nfREEgPGeuNMj/rnD67MECO4NRHTzGBzH7ZImoDpu0Us=,iv:ss8Q7i75UOQDMJfw4dQCT0qxPUGwfHizX0c/TUej+vc=,tag:iufeO6sfaToNcJg6E8tuxA==,type:str] | ||||
|     pgp: [] | ||||
|     unencrypted_suffix: _unencrypted | ||||
|     version: 3.9.1 | ||||
|  | @ -1,7 +1,7 @@ | |||
| #ENC[AES256_GCM,data:Y75QxOB7YrOA,iv:mZ2f288IG/pmlQRtCqdcz03dDTYMnnj50Vsk/BwTJ+c=,tag:gPHZgq091G4LYMan9R6z1w==,type:comment] | ||||
| factorio_username: ENC[AES256_GCM,data:rI7vF0XlaQ==,iv:+d5dD+nawphw+g8zavFXUr87bewTL1d+fuFnYKuYJKc=,tag:B8/6I7zi0b6xo8TFsY35Ug==,type:str] | ||||
| factorio_token: ENC[AES256_GCM,data:0JOQv4UGiz2j2KPEoNm2IuE3qt8XfKuVEBWJ2+fF,iv:EUc8vhrB5NcgFKO7xTCxG2PzUuFCJFIl1KB90NqCOXw=,tag:rCilwxD8sw+Ql5HzvcUEJQ==,type:str] | ||||
| factorio_game_password: ENC[AES256_GCM,data:xMpORLbom/w=,iv:ukkPL10vAcQKGGpjqKM58uIfJ3sRLhxUkFyf0JXJkvc=,tag:jw52z23utK7eHM9e2zZvig==,type:str] | ||||
| factorio_game_password: ENC[AES256_GCM,data:wwmltZzhYlQ=,iv:2LPugIqfPLJ5PbdrVfI36+76pAVp5Rano4T6968OsKs=,tag:kRpWL4wYnm/X4SHYypzVyA==,type:str] | ||||
| nixpkgs_review_auth: ENC[AES256_GCM,data:4zd7nThKhMMQxuxVdGZFUyJJ3rDBC29h9ydGmjKBEFy9Lz5X9TCf3w==,iv:u3aasLXSqer50RZDvvwGr0mwEoyywWaMr6q9VhPZieg=,tag:/rfQ4LHfJsvFYH+4hBe4LQ==,type:str] | ||||
| sops: | ||||
|     kms: [] | ||||
|  | @ -18,8 +18,8 @@ sops: | |||
|             TzdjVjVtWmxNNm96WHhXSGM4WjErMkEKoGtyn6M91h+ye8U/ltOuOQ74RUo/2R37 | ||||
|             l5vR47FUyzilUliIK2PDUMXM/S3Yk3Zi6g3XL8OPd53X5I1UYUJmRw== | ||||
|             -----END AGE ENCRYPTED FILE----- | ||||
|     lastmodified: "2024-10-22T00:06:22Z" | ||||
|     mac: ENC[AES256_GCM,data:NFP/q1AwapApQ7osBUIIQRfwuD5CbZphZkxLo1BfnUG7q/TxLbUm7F1uDaHFx55ox7FrvBzm11k/A8njcOQtpmfnBGhwF+X6VUF+CvsnTStRk/4v1TiybFFODSPKVmsZvxKJS1cRnTmptBvDoDfztIvqk4m9XvuVZlYvK5VXQVA=,iv:z61xn9BYygcD5t/z0ZO7yUSS+yFOUNvmcSSx+c1RgAQ=,tag:u1/P68g2jemJhOloZHB7yA==,type:str] | ||||
|     lastmodified: "2024-09-06T19:21:22Z" | ||||
|     mac: ENC[AES256_GCM,data:xgRgCRNtsoa3h7ss9uUyOVmGWoQqZ8+vSk0sNkhOeev1tB9qesTnkqNfRkilRyZPNen5xTV8iupvlB4wLVjODGDLueaimnOjWxrk8urSLPEbCzjLUsWuWiVANIkkyGWn0KH4mxr4pR0lt+Yy2JRKuzKGPYKYHWwnCg1saVCC2VE=,iv:iu86TvF8ur8RALGkJTgam35kJ4QRx6ruMBnj7o99A8k=,tag:AY/hCByZd1SNVIrWZ4qp4A==,type:str] | ||||
|     pgp: [] | ||||
|     unencrypted_suffix: _unencrypted | ||||
|     version: 3.9.1 | ||||
|     version: 3.9.0 | ||||
|  |  | |||
|  | @ -1,122 +0,0 @@ | |||
| { | ||||
|   config, | ||||
|   lib, | ||||
|   namespace, | ||||
|   pkgs, | ||||
|   ... | ||||
| }: | ||||
| let | ||||
|   inherit (lib) mkIf; | ||||
|   inherit (lib.${namespace}) enabled; | ||||
| 
 | ||||
|   domainName = "christophhollizeck.dev"; | ||||
|   forgejoPort = 3000; | ||||
| 
 | ||||
|   cfg.enableAcme = true; | ||||
| 
 | ||||
|   sopsFile = lib.snowfall.fs.get-file "secrets/secrets-loptland.yaml"; | ||||
| in | ||||
| { | ||||
|   imports = [ ./hardware.nix ]; | ||||
| 
 | ||||
|   environment.systemPackages = [ ]; | ||||
| 
 | ||||
|   sops = { | ||||
|     secrets = { | ||||
|       forgejo_db_password = { | ||||
|         inherit sopsFile; | ||||
|       }; | ||||
|     }; | ||||
|   }; | ||||
| 
 | ||||
|   services.openssh = { | ||||
|     enable = true; | ||||
|     settings = { | ||||
|       PasswordAuthentication = false; | ||||
|       KbdInteractiveAuthentication = false; | ||||
|     }; | ||||
|   }; | ||||
| 
 | ||||
|   services.nginx = { | ||||
|     enable = true; | ||||
|     recommendedProxySettings = true; | ||||
| 
 | ||||
|     virtualHosts = { | ||||
|       "git.${domainName}" = { | ||||
|         forceSSL = cfg.enableAcme; | ||||
|         useACMEHost = mkIf cfg.enableAcme domainName; | ||||
| 
 | ||||
|         locations."/" = { | ||||
|           proxyPass = "http://localhost:${toString forgejoPort}/"; | ||||
|         }; | ||||
|       }; | ||||
| 
 | ||||
|       "${domainName}" = { | ||||
|         forceSSL = cfg.enableAcme; | ||||
|         useACMEHost = mkIf cfg.enableAcme domainName; | ||||
| 
 | ||||
|         locations."/" = { | ||||
|           return = "404"; | ||||
|         }; | ||||
|       }; | ||||
|     }; | ||||
|   }; | ||||
| 
 | ||||
|   services.forgejo = { | ||||
|     enable = true; | ||||
|     database.type = "postgres"; | ||||
|     lfs.enable = true; | ||||
|     database = { | ||||
|       passwordFile = config.sops.secrets.forgejo_db_password.path; | ||||
|     }; | ||||
| 
 | ||||
|     settings = { | ||||
|       server = { | ||||
|         DOMAIN = "git.${domainName}"; | ||||
|         ROOT_URL = "http://git.${domainName}:${toString forgejoPort}"; | ||||
|         HTTP_PORT = forgejoPort; | ||||
|       }; | ||||
| 
 | ||||
|       service.DISABLE_REGISTRATION = true; | ||||
|     }; | ||||
|   }; | ||||
| 
 | ||||
|   networking.firewall.allowedTCPPorts = [ | ||||
|     forgejoPort | ||||
|     80 | ||||
|     443 | ||||
|   ]; | ||||
| 
 | ||||
|   ${namespace} = { | ||||
|     submodules = { | ||||
|       basics = enabled; | ||||
|     }; | ||||
| 
 | ||||
|     services = { | ||||
|       factorio-server = { | ||||
|         enable = true; | ||||
|         inherit sopsFile; | ||||
|       }; | ||||
|     }; | ||||
| 
 | ||||
|     security = { | ||||
|       acme = { | ||||
|         enable = cfg.enableAcme; | ||||
|         inherit sopsFile; | ||||
|       }; | ||||
|     }; | ||||
| 
 | ||||
|     user.trustedPublicKeys = [ | ||||
|       "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHFrDiO5+vMfD5MimkzN32iw3MnSMLZ0mHvOrHVVmLD0" | ||||
|       "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAII4Pr7p0jizrvIl0UhcvrmL5SHRQQQWIcHLAnRFyUZS6" | ||||
|     ]; | ||||
|   }; | ||||
| 
 | ||||
|   snowfallorg.users.${config.${namespace}.user.name}.home.config = { | ||||
|     programs.fish.shellInit = '' | ||||
|       eval $(op signin) | ||||
|     ''; | ||||
|   }; | ||||
| 
 | ||||
|   system.stateVersion = "24.11"; | ||||
| } | ||||
|  | @ -1,42 +0,0 @@ | |||
| { | ||||
|   config, | ||||
|   lib, | ||||
|   pkgs, | ||||
|   modulesPath, | ||||
|   ... | ||||
| }: | ||||
| 
 | ||||
| { | ||||
|   imports = [ | ||||
|     (modulesPath + "/profiles/qemu-guest.nix") | ||||
|   ]; | ||||
| 
 | ||||
|   boot.initrd.availableKernelModules = [ | ||||
|     "ata_piix" | ||||
|     "uhci_hcd" | ||||
|     "virtio_pci" | ||||
|     "sr_mod" | ||||
|     "virtio_blk" | ||||
|   ]; | ||||
|   boot.initrd.kernelModules = [ ]; | ||||
|   boot.kernelModules = [ ]; | ||||
|   boot.extraModulePackages = [ ]; | ||||
| 
 | ||||
|   fileSystems."/" = { | ||||
|     device = "/dev/disk/by-uuid/26b098dd-0a15-49c5-9998-75f43d17eb26"; | ||||
|     fsType = "ext4"; | ||||
|   }; | ||||
| 
 | ||||
|   fileSystems."/boot" = { | ||||
|     device = "/dev/disk/by-uuid/30AB-7309"; | ||||
|     fsType = "vfat"; | ||||
|     options = [ | ||||
|       "fmask=0077" | ||||
|       "dmask=0077" | ||||
|     ]; | ||||
|   }; | ||||
| 
 | ||||
|   swapDevices = [ { device = "/dev/disk/by-uuid/b9bcb425-cb1c-40a1-89bb-d7fe6b421834"; } ]; | ||||
| 
 | ||||
|   networking.useDHCP = lib.mkDefault true; | ||||
| } | ||||
|  | @ -5,7 +5,7 @@ | |||
|   ... | ||||
| }: | ||||
| let | ||||
|   inherit (lib.${namespace}) enabled disabled; | ||||
|   inherit (lib.${namespace}) enabled; | ||||
| in | ||||
| { | ||||
|   imports = [ ./hardware.nix ]; | ||||
|  | @ -21,10 +21,6 @@ in | |||
| 
 | ||||
|   virtualisation.waydroid = enabled; | ||||
| 
 | ||||
|   programs.ssh.extraConfig = '' | ||||
|     AddressFamily inet | ||||
|   ''; | ||||
| 
 | ||||
|   ${namespace} = { | ||||
|     archetypes = { | ||||
|       gaming.enable = true; | ||||
|  | @ -61,32 +57,35 @@ in | |||
|         }; | ||||
| 
 | ||||
|         exec-once = [ | ||||
|           "hyprctl dispatch moveworkspacetomonitor 4 HDMI-A-1" | ||||
|           "xrandr --output DP-2 --primary" | ||||
|           "[workspace 1 silent] obsidian --disabled-gpu" | ||||
|           "[workspace 9 silent] git-butler" | ||||
|           "[workspace 4 silent] git-butler" | ||||
|         ]; | ||||
| 
 | ||||
|         workspace = [ | ||||
|           "1, monitor:DP-2" | ||||
|           "2, monitor:DP-2" | ||||
|           "2, monitor:HDMI-A-1" | ||||
|           "3, monitor:DP-2" | ||||
|           "4, monitor:DP-2" | ||||
|           "8, monitor:HDMI-A-1" | ||||
|           "9, monitor:HDMI-A-1" | ||||
|           "4, monitor:HDMI-A-1" | ||||
|         ]; | ||||
| 
 | ||||
|         windowrulev2 = [ | ||||
|           "workspace 8 silent, class:^(steam)$, title:^(Friends List)" | ||||
|           "workspace 8 silent, class:^(discord)$, title:^(Discord)" | ||||
|           "workspace 2 silent, class:^(steam)$, title:^(Friends List)" | ||||
|           "workspace 2 silent, class:^(discord)$, title:^(Discord)" | ||||
|         ]; | ||||
|       }; | ||||
|     }; | ||||
| 
 | ||||
|     services = { | ||||
|       factorio-server = disabled; | ||||
|       factorio-server = enabled; | ||||
|     }; | ||||
| 
 | ||||
|     system = { | ||||
|       autoUpgrade = { | ||||
|         enable = true; | ||||
|         time = "10:00"; | ||||
|       }; | ||||
|       hardware = { | ||||
|         bluetooth = enabled; | ||||
|         gpu.nvidia = enabled; | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue