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 = [ |   imports = [ | ||||||
|     ../../users |     ./users | ||||||
|   ]; |   ]; | ||||||
| 
 | 
 | ||||||
|   nix = { |   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, |   lib, | ||||||
|   config, |   config, | ||||||
|   pkgs, |  | ||||||
|   inputs, |   inputs, | ||||||
|   ... |   ... | ||||||
| }: let | }: let | ||||||
|  | @ -1,7 +1,6 @@ | ||||||
| { | { | ||||||
|   lib, |   lib, | ||||||
|   config, |   config, | ||||||
|   pkgs, |  | ||||||
|   inputs, |   inputs, | ||||||
|   ... |   ... | ||||||
| }: let | }: let | ||||||
							
								
								
									
										78
									
								
								flake.nix
									
										
									
									
									
								
							
							
						
						
									
										78
									
								
								flake.nix
									
										
									
									
									
								
							|  | @ -34,7 +34,7 @@ | ||||||
|     }; |     }; | ||||||
| 
 | 
 | ||||||
|     # firefox-addons = { |     # 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"; |     #   inputs.nixpkgs.follows = "nixpkgs"; | ||||||
|     # }; |     # }; | ||||||
| 
 | 
 | ||||||
|  | @ -59,32 +59,13 @@ | ||||||
|     }; |     }; | ||||||
|   }; |   }; | ||||||
| 
 | 
 | ||||||
|   outputs = { |   outputs = {...} @ inputs: let | ||||||
|     nixpkgs, |     util = import ./util {inherit inputs;}; | ||||||
|     disko, |     forEachPkgs = util.forEachPkgs; | ||||||
|     # impermanence, |     mkSystem = util.mkSystem; | ||||||
|     nixos-hardware, |     # mkHome = util.mkHome; | ||||||
|     home-manager, |     # callPackage = nixpkgs.lib.callPackageWith (nixpkgs // {lib = lib;}); | ||||||
|     lix-module, |     # lib = callPackage ./lib {} // nixpkgs.lib; | ||||||
|     ... |  | ||||||
|   } @ 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; |  | ||||||
|   in { |   in { | ||||||
|     packages = forEachPkgs (import ./pkgs); |     packages = forEachPkgs (import ./pkgs); | ||||||
| 
 | 
 | ||||||
|  | @ -108,44 +89,15 @@ | ||||||
|       }; |       }; | ||||||
|     }); |     }); | ||||||
| 
 | 
 | ||||||
|  |     # homeConfigurations = { | ||||||
|  |     #   "leyla@horizon" = mkHome "leyla" "horizon"; # "x86_64-linux" ./homes/leyla; | ||||||
|  |     # }; | ||||||
|  | 
 | ||||||
|     nixosConfigurations = { |     nixosConfigurations = { | ||||||
|       # Leyla Laptop |       # Leyla Laptop | ||||||
|       horizon = nixpkgs.lib.nixosSystem { |       horizon = mkSystem "horizon"; | ||||||
|         specialArgs = {inherit inputs lib;}; |       twilight = mkSystem "twilight"; | ||||||
|         modules = [ |       defiant = mkSystem "defiant"; | ||||||
|           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 |  | ||||||
|         ]; |  | ||||||
|       }; |  | ||||||
|     }; |     }; | ||||||
|   }; |   }; | ||||||
| } | } | ||||||
|  |  | ||||||
							
								
								
									
										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, |   pkgs, | ||||||
|   lib, |   lib, | ||||||
|   config, |  | ||||||
|   osConfig, |   osConfig, | ||||||
|   ... |   ... | ||||||
| }: let | }: 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; |       open-vsx = extensions.open-vsx; | ||||||
|       vscode-marketplace = extensions.vscode-marketplace; |       vscode-marketplace = extensions.vscode-marketplace; | ||||||
|     in { |     in { | ||||||
|       enable = true; |       enable = cfg.isDesktopUser; | ||||||
| 
 | 
 | ||||||
|       package = pkgs.vscodium; |       package = pkgs.vscodium; | ||||||
| 
 | 
 | ||||||
|  | @ -1,15 +1,11 @@ | ||||||
| # server nas | # server nas | ||||||
| { | { | ||||||
|   pkgs, |  | ||||||
|   inputs, |   inputs, | ||||||
|  |   pkgs, | ||||||
|   ... |   ... | ||||||
| }: { | }: { | ||||||
|   imports = [ |   imports = [ | ||||||
|     inputs.home-manager.nixosModules.default |     inputs.disko.nixosModules.disko | ||||||
|     inputs.sops-nix.nixosModules.sops |  | ||||||
| 
 |  | ||||||
|     ./hardware-configuration.nix |  | ||||||
| 
 |  | ||||||
|     ../../enviroments/server |     ../../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, ...}: { | {inputs, ...}: { | ||||||
|   imports = [ |   imports = [ | ||||||
|     inputs.home-manager.nixosModules.default |     inputs.nixos-hardware.nixosModules.framework-11th-gen-intel | ||||||
|     inputs.sops-nix.nixosModules.sops |  | ||||||
| 
 |  | ||||||
|     ./hardware-configuration.nix |  | ||||||
| 
 | 
 | ||||||
|     ../../enviroments/client |     ../../enviroments/client | ||||||
|   ]; |   ]; | ||||||
|  | @ -13,12 +9,12 @@ | ||||||
|     leyla = { |     leyla = { | ||||||
|       isDesktopUser = true; |       isDesktopUser = true; | ||||||
|     }; |     }; | ||||||
|     ester = { |     # ester = { | ||||||
|       isDesktopUser = true; |     #   isDesktopUser = true; | ||||||
|     }; |     # }; | ||||||
|     eve = { |     # eve = { | ||||||
|       isDesktopUser = true; |     #   isDesktopUser = true; | ||||||
|     }; |     # }; | ||||||
|   }; |   }; | ||||||
| 
 | 
 | ||||||
|   # enabled virtualisation for docker |   # 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 | {pkgs, ...}: { | ||||||
| { |  | ||||||
|   config, |  | ||||||
|   pkgs, |  | ||||||
|   inputs, |  | ||||||
|   ... |  | ||||||
| }: { |  | ||||||
|   imports = [ |   imports = [ | ||||||
|     inputs.home-manager.nixosModules.default |  | ||||||
|     inputs.sops-nix.nixosModules.sops |  | ||||||
| 
 |  | ||||||
|     ./hardware-configuration.nix |  | ||||||
| 
 |  | ||||||
|     ../../enviroments/client |     ../../enviroments/client | ||||||
|   ]; |   ]; | ||||||
|   nixos.users = { |   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); |   mkUnless = condition: yes: (lib.mkIf (!condition) yes); | ||||||
|   mkIfElse = condition: yes: no: |   mkIfElse = condition: yes: no: | ||||||
|     lib.mkMerge [ |     lib.mkMerge [ | ||||||
|       (lib.mkIf condition yes) |       (lib.mkIf condition yes) | ||||||
|       (lib.mkUnless condition no) |       (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