forked from jan-leila/nix-config
		
	restructured project to split out home manager
This commit is contained in:
		
							parent
							
								
									c8e7944da5
								
							
						
					
					
						commit
						18f51a65c2
					
				
					 24 changed files with 421 additions and 254 deletions
				
			
		|  | @ -4,7 +4,7 @@ | |||
|   ... | ||||
| }: { | ||||
|   imports = [ | ||||
|     ../../users | ||||
|     ./users | ||||
|   ]; | ||||
| 
 | ||||
|   nix = { | ||||
|  |  | |||
							
								
								
									
										9
									
								
								enviroments/common/users/default.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								enviroments/common/users/default.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,9 @@ | |||
| {...}: { | ||||
|   imports = [ | ||||
|     ./leyla | ||||
|     ./ester | ||||
|     ./eve | ||||
|   ]; | ||||
| 
 | ||||
|   users.mutableUsers = false; | ||||
| } | ||||
|  | @ -1,7 +1,6 @@ | |||
| { | ||||
|   lib, | ||||
|   config, | ||||
|   pkgs, | ||||
|   inputs, | ||||
|   ... | ||||
| }: let | ||||
|  | @ -1,7 +1,6 @@ | |||
| { | ||||
|   lib, | ||||
|   config, | ||||
|   pkgs, | ||||
|   inputs, | ||||
|   ... | ||||
| }: let | ||||
							
								
								
									
										78
									
								
								flake.nix
									
										
									
									
									
								
							
							
						
						
									
										78
									
								
								flake.nix
									
										
									
									
									
								
							|  | @ -34,7 +34,7 @@ | |||
|     }; | ||||
| 
 | ||||
|     # firefox-addons = { | ||||
|     #   url = "gitlab.com:rycee/nur-expressions?dir=pkgs/firefox-addons"; | ||||
|     #   url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons"; | ||||
|     #   inputs.nixpkgs.follows = "nixpkgs"; | ||||
|     # }; | ||||
| 
 | ||||
|  | @ -59,32 +59,13 @@ | |||
|     }; | ||||
|   }; | ||||
| 
 | ||||
|   outputs = { | ||||
|     nixpkgs, | ||||
|     disko, | ||||
|     # impermanence, | ||||
|     nixos-hardware, | ||||
|     home-manager, | ||||
|     lix-module, | ||||
|     ... | ||||
|   } @ inputs: let | ||||
|     home-manager-config = { | ||||
|       home-manager.useGlobalPkgs = true; | ||||
|       home-manager.useUserPackages = true; | ||||
|       home-manager.backupFileExtension = "backup"; | ||||
|       home-manager.extraSpecialArgs = {inherit inputs;}; | ||||
|     }; | ||||
|     systems = [ | ||||
|       "aarch64-darwin" | ||||
|       "aarch64-linux" | ||||
|       "x86_64-darwin" | ||||
|       "x86_64-linux" | ||||
|     ]; | ||||
|     forEachSystem = nixpkgs.lib.genAttrs systems; | ||||
|     forEachPkgs = lambda: forEachSystem (system: lambda nixpkgs.legacyPackages.${system}); | ||||
| 
 | ||||
|     callPackage = nixpkgs.lib.callPackageWith (nixpkgs // {lib = lib;}); | ||||
|     lib = callPackage ./util {} // nixpkgs.lib; | ||||
|   outputs = {...} @ inputs: let | ||||
|     util = import ./util {inherit inputs;}; | ||||
|     forEachPkgs = util.forEachPkgs; | ||||
|     mkSystem = util.mkSystem; | ||||
|     # mkHome = util.mkHome; | ||||
|     # callPackage = nixpkgs.lib.callPackageWith (nixpkgs // {lib = lib;}); | ||||
|     # lib = callPackage ./lib {} // nixpkgs.lib; | ||||
|   in { | ||||
|     packages = forEachPkgs (import ./pkgs); | ||||
| 
 | ||||
|  | @ -108,44 +89,15 @@ | |||
|       }; | ||||
|     }); | ||||
| 
 | ||||
|     # homeConfigurations = { | ||||
|     #   "leyla@horizon" = mkHome "leyla" "horizon"; # "x86_64-linux" ./homes/leyla; | ||||
|     # }; | ||||
| 
 | ||||
|     nixosConfigurations = { | ||||
|       # Leyla Laptop | ||||
|       horizon = nixpkgs.lib.nixosSystem { | ||||
|         specialArgs = {inherit inputs lib;}; | ||||
|         modules = [ | ||||
|           lix-module.nixosModules.default | ||||
|           ./overlays | ||||
|           home-manager.nixosModules.home-manager | ||||
|           home-manager-config | ||||
|           ./hosts/horizon/configuration.nix | ||||
|           nixos-hardware.nixosModules.framework-11th-gen-intel | ||||
|         ]; | ||||
|       }; | ||||
|       # Leyla Desktop | ||||
|       twilight = nixpkgs.lib.nixosSystem { | ||||
|         specialArgs = {inherit inputs lib;}; | ||||
|         modules = [ | ||||
|           lix-module.nixosModules.default | ||||
|           ./overlays | ||||
|           home-manager.nixosModules.home-manager | ||||
|           home-manager-config | ||||
|           ./hosts/twilight/configuration.nix | ||||
|         ]; | ||||
|       }; | ||||
|       # NAS Service | ||||
|       defiant = nixpkgs.lib.nixosSystem { | ||||
|         specialArgs = {inherit inputs lib;}; | ||||
|         modules = [ | ||||
|           lix-module.nixosModules.default | ||||
|           ./overlays | ||||
|           # impermanence.nixosModules.impermanence | ||||
|           disko.nixosModules.disko | ||||
|           home-manager.nixosModules.home-manager | ||||
|           home-manager-config | ||||
|           ./hosts/defiant/disko-config.nix | ||||
|           ./hosts/defiant/configuration.nix | ||||
|         ]; | ||||
|       }; | ||||
|       horizon = mkSystem "horizon"; | ||||
|       twilight = mkSystem "twilight"; | ||||
|       defiant = mkSystem "defiant"; | ||||
|     }; | ||||
|   }; | ||||
| } | ||||
|  |  | |||
							
								
								
									
										5
									
								
								homes/default.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								homes/default.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,5 @@ | |||
| { | ||||
|   leyla = import ./leyla; | ||||
|   ester = import ./ester; | ||||
|   eve = import ./eve; | ||||
| } | ||||
|  | @ -1,7 +1,6 @@ | |||
| { | ||||
|   pkgs, | ||||
|   lib, | ||||
|   config, | ||||
|   osConfig, | ||||
|   ... | ||||
| }: let | ||||
							
								
								
									
										304
									
								
								homes/leyla/firefox.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										304
									
								
								homes/leyla/firefox.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,304 @@ | |||
| { | ||||
|   lib, | ||||
|   osConfig, | ||||
|   # buildFirefoxXpiAddon, | ||||
|   pkgs, | ||||
|   inputs, | ||||
|   ... | ||||
| }: let | ||||
|   cfg = osConfig.nixos.users.leyla; | ||||
| in { | ||||
|   # programs.firefox = { | ||||
|   #   enable = cfg.isDesktopUser; | ||||
|   #   profiles.leyla = { | ||||
| 
 | ||||
|   #     settings = { | ||||
|   #         "browser.search.defaultenginename" = "Searx"; | ||||
|   #         "browser.search.order.1" = "Searx"; | ||||
|   #     }; | ||||
| 
 | ||||
|   #     search = { | ||||
|   #       force = true; | ||||
|   #       default = "Searx"; | ||||
|   #       engines = { | ||||
|   #         "Nix Packages" = { | ||||
|   #           urls = [{ | ||||
|   #             template = "https://search.nixos.org/packages"; | ||||
|   #             params = [ | ||||
|   #               { name = "type"; value = "packages"; } | ||||
|   #               { name = "query"; value = "{searchTerms}"; } | ||||
|   #             ]; | ||||
|   #           }]; | ||||
|   #           icon = "''${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg"; | ||||
|   #           definedAliases = [ "@np" ]; | ||||
|   #         }; | ||||
|   #         "NixOS Wiki" = { | ||||
|   #           urls = [{ template = "https://nixos.wiki/index.php?search={searchTerms}"; }]; | ||||
|   #           iconUpdateURL = "https://nixos.wiki/favicon.png"; | ||||
|   #           updateInterval = 24 * 60 * 60 * 1000; # every day | ||||
|   #           definedAliases = [ "@nw" ]; | ||||
|   #         }; | ||||
|   #         "Searx" = { | ||||
|   #           urls = [{ template = "https://search.jan-leila.com/?q={searchTerms}"; }]; | ||||
|   #           iconUpdateURL = "https://nixos.wiki/favicon.png"; | ||||
|   #           updateInterval = 24 * 60 * 60 * 1000; # every day | ||||
|   #           definedAliases = [ "@searx" ]; | ||||
|   #         }; | ||||
|   #       }; | ||||
|   #     }; | ||||
| 
 | ||||
|   #     extentions = with inputs.firefox-addons.packages."x86_64-linux"; [ | ||||
|   #         bitwarden | ||||
|   #         terms-of-service-didnt-read | ||||
|   #         multi-account-containers | ||||
|   #         shinigami-eyes | ||||
| 
 | ||||
|   #         ublock-origin | ||||
|   #         sponsorblock | ||||
|   #         dearrow | ||||
|   #         df-youtube | ||||
|   #         return-youtube-dislikes | ||||
| 
 | ||||
|   #         privacy-badger | ||||
|   #         decentraleyes | ||||
|   #         clearurls | ||||
|   #         localcdn | ||||
| 
 | ||||
|   #         snowflake | ||||
| 
 | ||||
|   #         deutsch-de-language-pack | ||||
|   #         dictionary-german | ||||
| 
 | ||||
|   #         # ( | ||||
|   #         #   buildFirefoxXpiAddon rec { | ||||
|   #         #     pname = "italiano-it-language-pack"; | ||||
|   #         #     version = "132.0.20241110.231641"; | ||||
|   #         #     addonId = "langpack-it@firefox.mozilla.org"; | ||||
|   #         #     url = "https://addons.mozilla.org/firefox/downloads/file/4392453/italiano_it_language_pack-${version}.xpi"; | ||||
|   #         #     sha256 = ""; | ||||
|   #         #     meta = with lib; | ||||
|   #         #     { | ||||
|   #         #       description = "Firefox Language Pack for Italiano (it) – Italian"; | ||||
|   #         #       license = licenses.mpl20; | ||||
|   #         #       mozPermissions = []; | ||||
|   #         #       platforms = platforms.all; | ||||
|   #         #     }; | ||||
|   #         #   } | ||||
|   #         # ) | ||||
|   #         # ( | ||||
|   #         #   buildFirefoxXpiAddon rec { | ||||
|   #         #     pname = "dizionario-italiano"; | ||||
|   #         #     version = "5.1"; | ||||
|   #         #     addonId = "it-IT@dictionaries.addons.mozilla.org"; | ||||
|   #         #     url = "https://addons.mozilla.org/firefox/downloads/file/1163874/dizionario_italiano-${version}.xpi"; | ||||
|   #         #     sha256 = ""; | ||||
|   #         #     meta = with lib; | ||||
|   #         #     { | ||||
|   #         #       description = "Add support for Italian to spellchecking"; | ||||
|   #         #       license = licenses.gpl3; | ||||
|   #         #       mozPermissions = []; | ||||
|   #         #       platforms = platforms.all; | ||||
|   #         #     }; | ||||
|   #         #   } | ||||
|   #         # ) | ||||
|   #     ]; | ||||
| 
 | ||||
|   #     settings = { | ||||
|   #       # Disable irritating first-run stuff | ||||
|   #       "browser.disableResetPrompt" = true; | ||||
|   #       "browser.download.panel.shown" = true; | ||||
|   #       "browser.feeds.showFirstRunUI" = false; | ||||
|   #       "browser.messaging-system.whatsNewPanel.enabled" = false; | ||||
|   #       "browser.rights.3.shown" = true; | ||||
|   #       "browser.shell.checkDefaultBrowser" = false; | ||||
|   #       "browser.shell.defaultBrowserCheckCount" = 1; | ||||
|   #       "browser.startup.homepage_override.mstone" = "ignore"; | ||||
|   #       "browser.uitour.enabled" = false; | ||||
|   #       "startup.homepage_override_url" = ""; | ||||
|   #       "trailhead.firstrun.didSeeAboutWelcome" = true; | ||||
|   #       "browser.bookmarks.restore_default_bookmarks" = false; | ||||
|   #       "browser.bookmarks.addedImportButton" = true; | ||||
| 
 | ||||
|   #       # Usage Experiance | ||||
|   #       "browser.startup.homepage" = "about:home"; | ||||
|   #       "browser.download.useDownloadDir" = false; | ||||
|   #       "browser.uiCustomization.state" = builtins.toJSON { | ||||
|   #         "currentVersion" = 20; | ||||
|   #         "newElementCount" = 6; | ||||
|   #         "dirtyAreaCache" = [ | ||||
|   #           "nav-bar" | ||||
|   #           "PersonalToolbar" | ||||
|   #           "toolbar-menubar" | ||||
|   #           "TabsToolbar" | ||||
|   #           "unified-extensions-area" | ||||
|   #           "vertical-tabs" | ||||
|   #         ]; | ||||
|   #         "placements" = { | ||||
|   #           "widget-overflow-fixed-list" = []; | ||||
|   #           "unified-extensions-area"= [ | ||||
|   #             "ublock0_raymondhill_net-browser-action" | ||||
|   #             "sponsorblocker_ajay_app-browser-action" | ||||
|   #             "dearrow_ajay_app-browser-action" | ||||
|   #             "privacy_privacy_com-browser-action" | ||||
|   #             "addon_simplelogin-browser-action" | ||||
|   #           ]; | ||||
|   #           "nav-bar" = [ | ||||
|   #             "back-button" | ||||
|   #             "forward-button" | ||||
|   #             "stop-reload-button" | ||||
|   #             "urlbar-container" | ||||
|   #             "downloads-button" | ||||
|   #             "unified-extensions-button" | ||||
|   #             "reset-pbm-toolbar-button" | ||||
|   #           ]; | ||||
|   #           "toolbar-menubar" = [ | ||||
|   #             "menubar-items" | ||||
|   #           ]; | ||||
|   #           "TabsToolbar" = [ | ||||
|   #             "firefox-view-button" | ||||
|   #             "tabbrowser-tabs" | ||||
|   #             "new-tab-button" | ||||
|   #             "alltabs-button" | ||||
|   #           ]; | ||||
|   #           "vertical-tabs" = []; | ||||
|   #           "PersonalToolbar" = [ | ||||
|   #             "import-button" | ||||
|   #             "personal-bookmarks" | ||||
|   #           ]; | ||||
|   #         }; | ||||
|   #         "seen" = [ | ||||
|   #           "save-to-pocket-button" | ||||
|   #           "developer-button" | ||||
|   #           "privacy_privacy_com-browser-action" | ||||
|   #           "sponsorblocker_ajay_app-browser-action" | ||||
|   #           "ublock0_raymondhill_net-browser-action" | ||||
|   #           "addon_simplelogin-browser-action" | ||||
|   #           "dearrow_ajay_app-browser-action" | ||||
|   #         ]; | ||||
|   #       }; | ||||
|   #       "browser.newtabpage.activity-stream.feeds.topsites" = false; | ||||
|   #       "browser.newtabpage.activity-stream.showSponsoredTopSites" = false; | ||||
|   #       "browser.newtabpage.activity-stream.improvesearch.topSiteSearchShortcuts" = false; | ||||
|   #       "browser.newtabpage.blocked" = lib.genAttrs [ | ||||
|   #         # Facebook | ||||
|   #         "4gPpjkxgZzXPVtuEoAL9Ig==" | ||||
|   #         # Reddit | ||||
|   #         "gLv0ja2RYVgxKdp0I5qwvA==" | ||||
|   #         # Amazon | ||||
|   #         "K00ILysCaEq8+bEqV/3nuw==" | ||||
|   #         # Twitter | ||||
|   #         "T9nJot5PurhJSy8n038xGA==" | ||||
|   #       ] (_: 1); | ||||
|   #       "signon.rememberSignons" = false; | ||||
|   #       "identity.fxaccounts.enabled" = false; | ||||
| 
 | ||||
|   #       # Security | ||||
|   #       "privacy.trackingprotection.enabled" = true; | ||||
|   #       "dom.security.https_only_mode" = true; | ||||
| 
 | ||||
|   #       # Disable telemetry | ||||
|   #       "app.shield.optoutstudies.enabled" = false; | ||||
|   #       "browser.discovery.enabled" = false; | ||||
|   #       "browser.newtabpage.activity-stream.feeds.telemetry" = false; | ||||
|   #       "browser.newtabpage.activity-stream.telemetry" = false; | ||||
|   #       "browser.ping-centre.telemetry" = false; | ||||
|   #       "datareporting.healthreport.service.enabled" = false; | ||||
|   #       "datareporting.healthreport.uploadEnabled" = false; | ||||
|   #       "datareporting.policy.dataSubmissionEnabled" = false; | ||||
|   #       "datareporting.sessions.current.clean" = true; | ||||
|   #       "devtools.onboarding.telemetry.logged" = false; | ||||
|   #       "toolkit.telemetry.archive.enabled" = false; | ||||
|   #       "toolkit.telemetry.bhrPing.enabled" = false; | ||||
|   #       "toolkit.telemetry.enabled" = false; | ||||
|   #       "toolkit.telemetry.firstShutdownPing.enabled" = false; | ||||
|   #       "toolkit.telemetry.hybridContent.enabled" = false; | ||||
|   #       "toolkit.telemetry.newProfilePing.enabled" = false; | ||||
|   #       "toolkit.telemetry.prompted" = 2; | ||||
|   #       "toolkit.telemetry.rejected" = true; | ||||
|   #       "toolkit.telemetry.reportingpolicy.firstRun" = false; | ||||
|   #       "toolkit.telemetry.server" = ""; | ||||
|   #       "toolkit.telemetry.shutdownPingSender.enabled" = false; | ||||
|   #       "toolkit.telemetry.unified" = false; | ||||
|   #       "toolkit.telemetry.unifiedIsOptIn" = false; | ||||
|   #       "toolkit.telemetry.updatePing.enabled" = false; | ||||
|   #     }; | ||||
| 
 | ||||
|   #     bookmarks = [ | ||||
|   #       { | ||||
|   #         name = "Media"; | ||||
|   #         url = "https://jellyfin.jan-leila.com/"; | ||||
|   #         # url = "https://media.jan-leila.com/"; | ||||
|   #         keyword = ""; | ||||
|   #         tags = [""]; | ||||
|   #       } | ||||
|   #       { | ||||
|   #         name = "Drive"; | ||||
|   #         url = "https://drive.jan-leila.com/"; | ||||
|   #         keyword = ""; | ||||
|   #         tags = [""]; | ||||
|   #       } | ||||
|   #       { | ||||
|   #         name = "Git"; | ||||
|   #         url = "https://git.jan-leila.com/"; | ||||
|   #         keyword = ""; | ||||
|   #         tags = [""]; | ||||
|   #       } | ||||
|   #       { | ||||
|   #         name = "Home Automation"; | ||||
|   #         url = "https://home-assistant.jan-leila.com/"; | ||||
|   #         keyword = ""; | ||||
|   #         tags = [""]; | ||||
|   #       } | ||||
|   #       { | ||||
|   #         name = "Mail"; | ||||
|   #         url = "https://mail.protonmail.com"; | ||||
|   #         keyword = ""; | ||||
|   #         tags = [""]; | ||||
|   #       } | ||||
|   #       { | ||||
|   #         name = "Open Street Map"; | ||||
|   #         url = "https://www.openstreetmap.org/"; | ||||
|   #         keyword = ""; | ||||
|   #         tags = [""]; | ||||
|   #       } | ||||
|   #       { | ||||
|   #         name = "Password Manager"; | ||||
|   #         url = "https://vault.bitwarden.com/"; | ||||
|   #         keyword = ""; | ||||
|   #         tags = [""]; | ||||
|   #       } | ||||
|   #       { | ||||
|   #         name = "Mastodon"; | ||||
|   #         url = "https://mspsocial.net"; | ||||
|   #         keyword = ""; | ||||
|   #         tags = [""]; | ||||
|   #       } | ||||
|   #       { | ||||
|   #         name = "Linked In"; | ||||
|   #         url = "https://www.linkedin.com/"; | ||||
|   #         keyword = ""; | ||||
|   #         tags = [""]; | ||||
|   #       } | ||||
|   #       { | ||||
|   #         name = "Job Search"; | ||||
|   #         url = "https://www.jobsinnetwork.com/?state=cleaned_history&language%5B%5D=en&query=react&locations.countryCode%5B%5D=IT&locations.countryCode%5B%5D=DE&locations.countryCode%5B%5D=NL&experience%5B%5D=medior&experience%5B%5D=junior&page=1"; | ||||
|   #         keyword = ""; | ||||
|   #         tags = [""]; | ||||
|   #       } | ||||
|   #       { | ||||
|   #         name = "React Docs"; | ||||
|   #         url = "https://react.dev/"; | ||||
|   #         keyword = ""; | ||||
|   #         tags = [""]; | ||||
|   #       } | ||||
|   #       # Template | ||||
|   #       # { | ||||
|   #       #   name = ""; | ||||
|   #       #   url = ""; | ||||
|   #       #   keyword = ""; | ||||
|   #       #   tags = [""]; | ||||
|   #       # } | ||||
|   #     ]; | ||||
|   #   }; | ||||
|   # }; | ||||
| } | ||||
|  | @ -23,7 +23,7 @@ in { | |||
|       open-vsx = extensions.open-vsx; | ||||
|       vscode-marketplace = extensions.vscode-marketplace; | ||||
|     in { | ||||
|       enable = true; | ||||
|       enable = cfg.isDesktopUser; | ||||
| 
 | ||||
|       package = pkgs.vscodium; | ||||
| 
 | ||||
|  | @ -1,15 +1,11 @@ | |||
| # server nas | ||||
| { | ||||
|   pkgs, | ||||
|   inputs, | ||||
|   pkgs, | ||||
|   ... | ||||
| }: { | ||||
|   imports = [ | ||||
|     inputs.home-manager.nixosModules.default | ||||
|     inputs.sops-nix.nixosModules.sops | ||||
| 
 | ||||
|     ./hardware-configuration.nix | ||||
| 
 | ||||
|     inputs.disko.nixosModules.disko | ||||
|     ../../enviroments/server | ||||
|   ]; | ||||
| 
 | ||||
|  |  | |||
							
								
								
									
										8
									
								
								hosts/defiant/default.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								hosts/defiant/default.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,8 @@ | |||
| # server nas | ||||
| {...}: { | ||||
|   imports = [ | ||||
|     ./configuration.nix | ||||
|     ./disko-config.nix | ||||
|     ./hardware-configuration.nix | ||||
|   ]; | ||||
| } | ||||
|  | @ -1,10 +1,6 @@ | |||
| # leyla laptop | ||||
| {inputs, ...}: { | ||||
|   imports = [ | ||||
|     inputs.home-manager.nixosModules.default | ||||
|     inputs.sops-nix.nixosModules.sops | ||||
| 
 | ||||
|     ./hardware-configuration.nix | ||||
|     inputs.nixos-hardware.nixosModules.framework-11th-gen-intel | ||||
| 
 | ||||
|     ../../enviroments/client | ||||
|   ]; | ||||
|  | @ -13,12 +9,12 @@ | |||
|     leyla = { | ||||
|       isDesktopUser = true; | ||||
|     }; | ||||
|     ester = { | ||||
|       isDesktopUser = true; | ||||
|     }; | ||||
|     eve = { | ||||
|       isDesktopUser = true; | ||||
|     }; | ||||
|     # ester = { | ||||
|     #   isDesktopUser = true; | ||||
|     # }; | ||||
|     # eve = { | ||||
|     #   isDesktopUser = true; | ||||
|     # }; | ||||
|   }; | ||||
| 
 | ||||
|   # enabled virtualisation for docker | ||||
|  |  | |||
							
								
								
									
										7
									
								
								hosts/horizon/default.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								hosts/horizon/default.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,7 @@ | |||
| # leyla laptop | ||||
| {...}: { | ||||
|   imports = [ | ||||
|     ./configuration.nix | ||||
|     ./hardware-configuration.nix | ||||
|   ]; | ||||
| } | ||||
|  | @ -1,16 +1,5 @@ | |||
| # leyla laptop | ||||
| { | ||||
|   config, | ||||
|   pkgs, | ||||
|   inputs, | ||||
|   ... | ||||
| }: { | ||||
| {pkgs, ...}: { | ||||
|   imports = [ | ||||
|     inputs.home-manager.nixosModules.default | ||||
|     inputs.sops-nix.nixosModules.sops | ||||
| 
 | ||||
|     ./hardware-configuration.nix | ||||
| 
 | ||||
|     ../../enviroments/client | ||||
|   ]; | ||||
|   nixos.users = { | ||||
|  |  | |||
							
								
								
									
										7
									
								
								hosts/twilight/default.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								hosts/twilight/default.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,7 @@ | |||
| # leyla desktop | ||||
| {...}: { | ||||
|   imports = [ | ||||
|     ./configuration.nix | ||||
|     ./hardware-configuration.nix | ||||
|   ]; | ||||
| } | ||||
							
								
								
									
										1
									
								
								secrets
									
										
									
									
									
								
							
							
						
						
									
										1
									
								
								secrets
									
										
									
									
									
								
							|  | @ -1 +0,0 @@ | |||
| Subproject commit ef623d6a9e25c1f0ec9d282ab5ed5dff54674816 | ||||
|  | @ -1,14 +0,0 @@ | |||
| { | ||||
|   lib, | ||||
|   config, | ||||
|   ... | ||||
| }: { | ||||
|   imports = [./leyla ./ester ./eve]; | ||||
| 
 | ||||
|   users.mutableUsers = false; | ||||
| 
 | ||||
|   home-manager.users = import ./home.nix { | ||||
|     lib = lib; | ||||
|     config = config; | ||||
|   }; | ||||
| } | ||||
|  | @ -1,9 +0,0 @@ | |||
| { | ||||
|   lib, | ||||
|   config, | ||||
|   ... | ||||
| }: { | ||||
|   leyla = lib.mkIf (config.nixos.users.leyla.isDesktopUser || config.nixos.users.leyla.isTerminalUser) (import ./leyla/home.nix); | ||||
|   ester = lib.mkIf config.nixos.users.ester.isDesktopUser (import ./ester/home.nix); | ||||
|   eve = lib.mkIf config.nixos.users.eve.isDesktopUser (import ./eve/home.nix); | ||||
| } | ||||
|  | @ -1,132 +0,0 @@ | |||
| { | ||||
|   lib, | ||||
|   config, | ||||
|   pkgs, | ||||
|   inputs, | ||||
|   ... | ||||
| }: { | ||||
|   programs = { | ||||
|     # firefox = { | ||||
|     #   enable = true; | ||||
|     #   profiles.leyla = { | ||||
| 
 | ||||
|     #     settings = { | ||||
|     #         "browser.search.defaultenginename" = "Searx"; | ||||
|     #         "browser.search.order.1" = "Searx"; | ||||
|     #     }; | ||||
| 
 | ||||
|     #     search = { | ||||
|     #       force = true; | ||||
|     #       default = "Searx"; | ||||
|     #       engines = { | ||||
|     #         "Nix Packages" = { | ||||
|     #           urls = [{ | ||||
|     #             template = "https://search.nixos.org/packages"; | ||||
|     #             params = [ | ||||
|     #               { name = "type"; value = "packages"; } | ||||
|     #               { name = "query"; value = "{searchTerms}"; } | ||||
|     #             ]; | ||||
|     #           }]; | ||||
|     #           icon = "''${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg"; | ||||
|     #           definedAliases = [ "@np" ]; | ||||
|     #         }; | ||||
|     #         "NixOS Wiki" = { | ||||
|     #           urls = [{ template = "https://nixos.wiki/index.php?search={searchTerms}"; }]; | ||||
|     #           iconUpdateURL = "https://nixos.wiki/favicon.png"; | ||||
|     #           updateInterval = 24 * 60 * 60 * 1000; # every day | ||||
|     #           definedAliases = [ "@nw" ]; | ||||
|     #         }; | ||||
|     #         "Searx" = { | ||||
|     #           urls = [{ template = "https://search.jan-leila.com/?q={searchTerms}"; }]; | ||||
|     #           iconUpdateURL = "https://nixos.wiki/favicon.png"; | ||||
|     #           updateInterval = 24 * 60 * 60 * 1000; # every day | ||||
|     #           definedAliases = [ "@searx" ]; | ||||
|     #         }; | ||||
|     #       }; | ||||
|     #     }; | ||||
| 
 | ||||
|     #     extentions = with pkgs.nur.repos.rycee.firefox-addons; [ | ||||
|     #         ublock-origin | ||||
|     #         bitwarden | ||||
| 
 | ||||
|     #     ]; | ||||
| 
 | ||||
|     #     bookmarks = [ | ||||
|     #       { | ||||
|     #         name = "Media"; | ||||
|     #         url = "https://jellyfin.jan-leila.com/"; | ||||
|     #         keyword = ""; | ||||
|     #         tags = [""]; | ||||
|     #       } | ||||
|     #       { | ||||
|     #         name = "Drive"; | ||||
|     #         url = "https://drive.jan-leila.com/"; | ||||
|     #         keyword = ""; | ||||
|     #         tags = [""]; | ||||
|     #       } | ||||
|     #       { | ||||
|     #         name = "Git"; | ||||
|     #         url = "https://git.jan-leila.com/"; | ||||
|     #         keyword = ""; | ||||
|     #         tags = [""]; | ||||
|     #       } | ||||
|     #       { | ||||
|     #         name = "Home Automation"; | ||||
|     #         url = "https://home-assistant.jan-leila.com/"; | ||||
|     #         keyword = ""; | ||||
|     #         tags = [""]; | ||||
|     #       } | ||||
|     #       { | ||||
|     #         name = "Mail"; | ||||
|     #         url = "https://mail.protonmail.com"; | ||||
|     #         keyword = ""; | ||||
|     #         tags = [""]; | ||||
|     #       } | ||||
|     #       { | ||||
|     #         name = "Open Street Map"; | ||||
|     #         url = "https://www.openstreetmap.org/"; | ||||
|     #         keyword = ""; | ||||
|     #         tags = [""]; | ||||
|     #       } | ||||
|     #       { | ||||
|     #         name = "Password Manager"; | ||||
|     #         url = "https://vault.bitwarden.com/"; | ||||
|     #         keyword = ""; | ||||
|     #         tags = [""]; | ||||
|     #       } | ||||
|     #       { | ||||
|     #         name = "Mastodon"; | ||||
|     #         url = "https://tech.lgbt"; | ||||
|     #         keyword = ""; | ||||
|     #         tags = [""]; | ||||
|     #       } | ||||
|     #       { | ||||
|     #         name = "Linked In"; | ||||
|     #         url = "https://www.linkedin.com/"; | ||||
|     #         keyword = ""; | ||||
|     #         tags = [""]; | ||||
|     #       } | ||||
|     #       { | ||||
|     #         name = "Job Search"; | ||||
|     #         url = "https://www.jobsinnetwork.com/?state=cleaned_history&language%5B%5D=en&query=react&locations.countryCode%5B%5D=IT&locations.countryCode%5B%5D=DE&locations.countryCode%5B%5D=NL&experience%5B%5D=medior&experience%5B%5D=junior&page=1"; | ||||
|     #         keyword = ""; | ||||
|     #         tags = [""]; | ||||
|     #       } | ||||
|     #       { | ||||
|     #         name = "React Docs"; | ||||
|     #         url = "https://react.dev/"; | ||||
|     #         keyword = ""; | ||||
|     #         tags = [""]; | ||||
|     #       } | ||||
|     #       # Template | ||||
|     #       # { | ||||
|     #       #   name = ""; | ||||
|     #       #   url = ""; | ||||
|     #       #   keyword = ""; | ||||
|     #       #   tags = [""]; | ||||
|     #       # } | ||||
|     #     ]; | ||||
|     #   }; | ||||
|     # } | ||||
|   }; | ||||
| } | ||||
|  | @ -1,8 +1,61 @@ | |||
| {lib, ...}: { | ||||
| {inputs}: let | ||||
|   util = (import ./default.nix) {inherit inputs;}; | ||||
|   outputs = inputs.self.outputs; | ||||
| 
 | ||||
|   lib = inputs.lib; | ||||
|   lix-module = inputs.lix-module; | ||||
|   nixpkgs = inputs.nixpkgs; | ||||
|   home-manager = inputs.home-manager; | ||||
|   sops-nix = inputs.sops-nix; | ||||
| 
 | ||||
|   systems = [ | ||||
|     "aarch64-darwin" | ||||
|     "aarch64-linux" | ||||
|     "x86_64-darwin" | ||||
|     "x86_64-linux" | ||||
|   ]; | ||||
|   forEachSystem = nixpkgs.lib.genAttrs systems; | ||||
|   pkgsFor = system: nixpkgs.legacyPackages.${system}; | ||||
| 
 | ||||
|   home-manager-config = { | ||||
|     home-manager.useGlobalPkgs = true; | ||||
|     home-manager.useUserPackages = true; | ||||
|     home-manager.backupFileExtension = "backup"; | ||||
|     home-manager.extraSpecialArgs = {inherit inputs;}; | ||||
|     home-manager.users = import ../homes; | ||||
|   }; | ||||
| in { | ||||
|   forEachPkgs = lambda: forEachSystem (system: lambda (pkgsFor system)); | ||||
| 
 | ||||
|   mkUnless = condition: yes: (lib.mkIf (!condition) yes); | ||||
|   mkIfElse = condition: yes: no: | ||||
|     lib.mkMerge [ | ||||
|       (lib.mkIf condition yes) | ||||
|       (lib.mkUnless condition no) | ||||
|     ]; | ||||
| 
 | ||||
|   mkSystem = host: | ||||
|     inputs.nixpkgs.lib.nixosSystem { | ||||
|       specialArgs = {inherit inputs outputs util;}; | ||||
|       modules = [ | ||||
|         lix-module.nixosModules.default | ||||
|         sops-nix.nixosModules.sops | ||||
|         home-manager.nixosModules.home-manager | ||||
|         home-manager-config | ||||
|         ../overlays | ||||
|         ../hosts/${host} | ||||
|       ]; | ||||
|     }; | ||||
| 
 | ||||
|   # mkHome = user: host: | ||||
|   #   home-manager.lib.homeManagerConfiguration { | ||||
|   #     # pkgs = pkgsFor system; | ||||
|   #     extraSpecialArgs = { | ||||
|   #       inherit inputs util outputs; | ||||
|   #     }; | ||||
|   #     modules = [ | ||||
|   #       # config | ||||
|   #       outputs.homeManagerModules.default | ||||
|   #     ]; | ||||
|   #   }; | ||||
| } | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue