forked from jan-leila/nix-config
		
	main #1
					 8 changed files with 536 additions and 519 deletions
				
			
		|  | @ -1,10 +1,4 @@ | ||||||
| { | {osConfig, ...}: let | ||||||
|   pkgs, |  | ||||||
|   lib, |  | ||||||
|   config, |  | ||||||
|   osConfig, |  | ||||||
|   ... |  | ||||||
| }: let |  | ||||||
|   userConfig = osConfig.host.users.eve; |   userConfig = osConfig.host.users.eve; | ||||||
| in { | in { | ||||||
|   nixpkgs.config = { |   nixpkgs.config = { | ||||||
|  | @ -57,42 +51,5 @@ in { | ||||||
|     sessionVariables = { |     sessionVariables = { | ||||||
|       # EDITOR = "emacs"; |       # EDITOR = "emacs"; | ||||||
|     }; |     }; | ||||||
| 
 |  | ||||||
|     packages = lib.lists.optionals userConfig.isDesktopUser ( |  | ||||||
|       with pkgs; [ |  | ||||||
|         firefox |  | ||||||
|         bitwarden |  | ||||||
|         discord |  | ||||||
|         makemkv |  | ||||||
|         signal-desktop-bin |  | ||||||
|         ungoogled-chromium |  | ||||||
|       ] |  | ||||||
|     ); |  | ||||||
|   }; |  | ||||||
| 
 |  | ||||||
|   programs = { |  | ||||||
|     # Let Home Manager install and manage itself. |  | ||||||
|     home-manager.enable = true; |  | ||||||
| 
 |  | ||||||
|     git = { |  | ||||||
|       enable = true; |  | ||||||
|       userName = "Eve"; |  | ||||||
|       userEmail = "evesnrobins@gmail.com"; |  | ||||||
|       extraConfig.init.defaultBranch = "main"; |  | ||||||
|     }; |  | ||||||
|      |  | ||||||
|     vscode = { |  | ||||||
|       enable = true; |  | ||||||
|       package = pkgs.vscodium; |  | ||||||
|     }; |  | ||||||
| 
 |  | ||||||
|     openssh = { |  | ||||||
|       hostKeys = [ |  | ||||||
|         { |  | ||||||
|           type = "ed25519"; |  | ||||||
|           path = "${config.home.username}_${osConfig.networking.hostName}_ed25519"; |  | ||||||
|         } |  | ||||||
|       ]; |  | ||||||
|     }; |  | ||||||
|   }; |   }; | ||||||
| } | } | ||||||
|  |  | ||||||
							
								
								
									
										52
									
								
								configurations/home-manager/eve/packages.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										52
									
								
								configurations/home-manager/eve/packages.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,52 @@ | ||||||
|  | { | ||||||
|  |   lib, | ||||||
|  |   pkgs, | ||||||
|  |   config, | ||||||
|  |   osConfig, | ||||||
|  |   ... | ||||||
|  | }: let | ||||||
|  |   userConfig = osConfig.host.users.eve; | ||||||
|  | in { | ||||||
|  |   config = { | ||||||
|  |     # Packages that can be installed without any extra configuration | ||||||
|  |     # See https://search.nixos.org/packages for all options | ||||||
|  |     home.packages = lib.lists.optionals userConfig.isDesktopUser ( | ||||||
|  |       with pkgs; [ | ||||||
|  |         firefox | ||||||
|  |         bitwarden | ||||||
|  |         discord | ||||||
|  |         makemkv | ||||||
|  |         signal-desktop-bin | ||||||
|  |         ungoogled-chromium | ||||||
|  |       ] | ||||||
|  |     ); | ||||||
|  | 
 | ||||||
|  |     # Packages that need to be installed with some extra configuration | ||||||
|  |     # See https://home-manager-options.extranix.com/ for all options | ||||||
|  |     programs = { | ||||||
|  |       # Let Home Manager install and manage itself. | ||||||
|  |       home-manager.enable = true; | ||||||
|  | 
 | ||||||
|  |       git = { | ||||||
|  |         enable = true; | ||||||
|  |         userName = "Eve"; | ||||||
|  |         userEmail = "evesnrobins@gmail.com"; | ||||||
|  |         extraConfig.init.defaultBranch = "main"; | ||||||
|  |       }; | ||||||
|  | 
 | ||||||
|  |       vscode = { | ||||||
|  |         enable = true; | ||||||
|  |         package = pkgs.vscodium; | ||||||
|  |       }; | ||||||
|  | 
 | ||||||
|  |       openssh = { | ||||||
|  |         hostKeys = [ | ||||||
|  |           { | ||||||
|  |             type = "ed25519"; | ||||||
|  |             path = "${config.home.username}_${osConfig.networking.hostName}_ed25519"; | ||||||
|  |           } | ||||||
|  |         ]; | ||||||
|  |       }; | ||||||
|  |     }; | ||||||
|  |   }; | ||||||
|  | } | ||||||
|  | @ -1,8 +1,4 @@ | ||||||
| { | {osConfig, ...}: { | ||||||
|   osConfig, |  | ||||||
|   config, |  | ||||||
|   ... |  | ||||||
| }: { |  | ||||||
|   imports = [ |   imports = [ | ||||||
|     ./i18n.nix |     ./i18n.nix | ||||||
|     ./packages.nix |     ./packages.nix | ||||||
|  | @ -108,44 +104,5 @@ | ||||||
|         }; |         }; | ||||||
|       }; |       }; | ||||||
|     }; |     }; | ||||||
| 
 |  | ||||||
|     programs = { |  | ||||||
|       # Let Home Manager install and manage itself. |  | ||||||
|       home-manager.enable = true; |  | ||||||
| 
 |  | ||||||
|       # set up git defaults |  | ||||||
|       git = { |  | ||||||
|         enable = true; |  | ||||||
|         userName = "Leyla Becker"; |  | ||||||
|         userEmail = "git@jan-leila.com"; |  | ||||||
|         extraConfig.init.defaultBranch = "main"; |  | ||||||
|       }; |  | ||||||
| 
 |  | ||||||
|       # add direnv to auto load flakes for development |  | ||||||
|       direnv = { |  | ||||||
|         enable = true; |  | ||||||
|         enableBashIntegration = true; |  | ||||||
|         nix-direnv.enable = true; |  | ||||||
|         config = { |  | ||||||
|           global.hide_env_diff = true; |  | ||||||
|           whitelist.exact = ["/home/leyla/documents/code/nix-config"]; |  | ||||||
|         }; |  | ||||||
|       }; |  | ||||||
|       bash.enable = true; |  | ||||||
| 
 |  | ||||||
|       openssh = { |  | ||||||
|         authorizedKeys = [ |  | ||||||
|           "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJHeItmt8TRW43uNcOC+eIurYC7Eunc0V3LGocQqLaYj leyla@horizon" |  | ||||||
|           "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIILimFIW2exEH/Xo7LtXkqgE04qusvnPNpPWSCeNrFkP leyla@defiant" |  | ||||||
|           "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKBiZkg1c2aaNHiieBX4cEziqvJVj9pcDfzUrKU/mO0I leyla@twilight" |  | ||||||
|         ]; |  | ||||||
|         hostKeys = [ |  | ||||||
|           { |  | ||||||
|             type = "ed25519"; |  | ||||||
|             path = "${config.home.username}_${osConfig.networking.hostName}_ed25519"; |  | ||||||
|           } |  | ||||||
|         ]; |  | ||||||
|       }; |  | ||||||
|     }; |  | ||||||
|   }; |   }; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -2,340 +2,345 @@ | ||||||
|   lib, |   lib, | ||||||
|   pkgs, |   pkgs, | ||||||
|   inputs, |   inputs, | ||||||
|  |   osConfig, | ||||||
|   ... |   ... | ||||||
| }: { | }: let | ||||||
|   programs.firefox = { |   is-desktop-user = osConfig.host.users.leyla.isDesktopUser; | ||||||
|     enable = true; | in { | ||||||
|     profiles.leyla = { |   config = lib.mkIf is-desktop-user { | ||||||
|       settings = { |     programs.firefox = { | ||||||
|         "browser.search.defaultenginename" = "Searx"; |       enable = true; | ||||||
|         "browser.search.order.1" = "Searx"; |       profiles.leyla = { | ||||||
|       }; |         settings = { | ||||||
|  |           "browser.search.defaultenginename" = "Searx"; | ||||||
|  |           "browser.search.order.1" = "Searx"; | ||||||
|  |         }; | ||||||
| 
 | 
 | ||||||
|       search = { |         search = { | ||||||
|         force = true; |           force = true; | ||||||
|         default = "Searx"; |           default = "Searx"; | ||||||
|         engines = { |           engines = { | ||||||
|           "Nix Packages" = { |             "Nix Packages" = { | ||||||
|             urls = [ |               urls = [ | ||||||
|               { |                 { | ||||||
|                 template = "https://search.nixos.org/packages"; |                   template = "https://search.nixos.org/packages"; | ||||||
|                 params = [ |                   params = [ | ||||||
|                   { |                     { | ||||||
|                     name = "type"; |                       name = "type"; | ||||||
|                     value = "packages"; |                       value = "packages"; | ||||||
|                   } |                     } | ||||||
|                   { |                     { | ||||||
|                     name = "query"; |                       name = "query"; | ||||||
|                     value = "{searchTerms}"; |                       value = "{searchTerms}"; | ||||||
|                   } |                     } | ||||||
|                 ]; |                   ]; | ||||||
|               } |                 } | ||||||
|             ]; |               ]; | ||||||
|             icon = "''${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg"; |               icon = "''${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg"; | ||||||
|             definedAliases = ["@np"]; |               definedAliases = ["@np"]; | ||||||
|           }; |             }; | ||||||
|           "NixOS Wiki" = { |             "NixOS Wiki" = { | ||||||
|             urls = [{template = "https://nixos.wiki/index.php?search={searchTerms}";}]; |               urls = [{template = "https://nixos.wiki/index.php?search={searchTerms}";}]; | ||||||
|             icon = "https://nixos.wiki/favicon.png"; |               icon = "https://nixos.wiki/favicon.png"; | ||||||
|             updateInterval = 24 * 60 * 60 * 1000; # every day |               updateInterval = 24 * 60 * 60 * 1000; # every day | ||||||
|             definedAliases = ["@nw"]; |               definedAliases = ["@nw"]; | ||||||
|           }; |             }; | ||||||
|           "Searx" = { |             "Searx" = { | ||||||
|             urls = [{template = "https://search.jan-leila.com/?q={searchTerms}";}]; |               urls = [{template = "https://search.jan-leila.com/?q={searchTerms}";}]; | ||||||
|             icon = "https://nixos.wiki/favicon.png"; |               icon = "https://nixos.wiki/favicon.png"; | ||||||
|             updateInterval = 24 * 60 * 60 * 1000; # every day |               updateInterval = 24 * 60 * 60 * 1000; # every day | ||||||
|             definedAliases = ["@searx"]; |               definedAliases = ["@searx"]; | ||||||
|  |             }; | ||||||
|           }; |           }; | ||||||
|         }; |         }; | ||||||
|       }; |  | ||||||
| 
 | 
 | ||||||
|       extensions.packages = with inputs.firefox-addons.packages.${pkgs.system}; [ |         extensions.packages = with inputs.firefox-addons.packages.${pkgs.system}; [ | ||||||
|         bitwarden |           bitwarden | ||||||
|         terms-of-service-didnt-read |           terms-of-service-didnt-read | ||||||
|         multi-account-containers |           multi-account-containers | ||||||
|         shinigami-eyes |           shinigami-eyes | ||||||
| 
 | 
 | ||||||
|         ublock-origin |           ublock-origin | ||||||
|         sponsorblock |           sponsorblock | ||||||
|         dearrow |           dearrow | ||||||
|         df-youtube |           df-youtube | ||||||
|         return-youtube-dislikes |           return-youtube-dislikes | ||||||
| 
 | 
 | ||||||
|         privacy-badger |           privacy-badger | ||||||
|         decentraleyes |           decentraleyes | ||||||
|         clearurls |           clearurls | ||||||
|         localcdn |           localcdn | ||||||
| 
 | 
 | ||||||
|         snowflake |           snowflake | ||||||
| 
 | 
 | ||||||
|         deutsch-de-language-pack |           deutsch-de-language-pack | ||||||
|         dictionary-german |           dictionary-german | ||||||
| 
 | 
 | ||||||
|         # ( |           # ( | ||||||
|         #   buildFirefoxXpiAddon rec { |           #   buildFirefoxXpiAddon rec { | ||||||
|         #     pname = "italiano-it-language-pack"; |           #     pname = "italiano-it-language-pack"; | ||||||
|         #     version = "132.0.20241110.231641"; |           #     version = "132.0.20241110.231641"; | ||||||
|         #     addonId = "langpack-it@firefox.mozilla.org"; |           #     addonId = "langpack-it@firefox.mozilla.org"; | ||||||
|         #     url = "https://addons.mozilla.org/firefox/downloads/file/4392453/italiano_it_language_pack-${version}.xpi"; |           #     url = "https://addons.mozilla.org/firefox/downloads/file/4392453/italiano_it_language_pack-${version}.xpi"; | ||||||
|         #     sha256 = ""; |           #     sha256 = ""; | ||||||
|         #     meta = with lib; |           #     meta = with lib; | ||||||
|         #     { |           #     { | ||||||
|         #       description = "Firefox Language Pack for Italiano (it) – Italian"; |           #       description = "Firefox Language Pack for Italiano (it) – Italian"; | ||||||
|         #       license = licenses.mpl20; |           #       license = licenses.mpl20; | ||||||
|         #       mozPermissions = []; |           #       mozPermissions = []; | ||||||
|         #       platforms = platforms.all; |           #       platforms = platforms.all; | ||||||
|         #     }; |           #     }; | ||||||
|         #   } |           #   } | ||||||
|         # ) |           # ) | ||||||
|         # ( |           # ( | ||||||
|         #   buildFirefoxXpiAddon rec { |           #   buildFirefoxXpiAddon rec { | ||||||
|         #     pname = "dizionario-italiano"; |           #     pname = "dizionario-italiano"; | ||||||
|         #     version = "5.1"; |           #     version = "5.1"; | ||||||
|         #     addonId = "it-IT@dictionaries.addons.mozilla.org"; |           #     addonId = "it-IT@dictionaries.addons.mozilla.org"; | ||||||
|         #     url = "https://addons.mozilla.org/firefox/downloads/file/1163874/dizionario_italiano-${version}.xpi"; |           #     url = "https://addons.mozilla.org/firefox/downloads/file/1163874/dizionario_italiano-${version}.xpi"; | ||||||
|         #     sha256 = ""; |           #     sha256 = ""; | ||||||
|         #     meta = with lib; |           #     meta = with lib; | ||||||
|         #     { |           #     { | ||||||
|         #       description = "Add support for Italian to spellchecking"; |           #       description = "Add support for Italian to spellchecking"; | ||||||
|         #       license = licenses.gpl3; |           #       license = licenses.gpl3; | ||||||
|         #       mozPermissions = []; |           #       mozPermissions = []; | ||||||
|         #       platforms = platforms.all; |           #       platforms = platforms.all; | ||||||
|         #     }; |           #     }; | ||||||
|         #   } |           #   } | ||||||
|         # ) |           # ) | ||||||
|       ]; |         ]; | ||||||
| 
 | 
 | ||||||
|       settings = { |         settings = { | ||||||
|         # Disable irritating first-run stuff |           # Disable irritating first-run stuff | ||||||
|         "browser.disableResetPrompt" = true; |           "browser.disableResetPrompt" = true; | ||||||
|         "browser.download.panel.shown" = true; |           "browser.download.panel.shown" = true; | ||||||
|         "browser.feeds.showFirstRunUI" = false; |           "browser.feeds.showFirstRunUI" = false; | ||||||
|         "browser.messaging-system.whatsNewPanel.enabled" = false; |           "browser.messaging-system.whatsNewPanel.enabled" = false; | ||||||
|         "browser.rights.3.shown" = true; |           "browser.rights.3.shown" = true; | ||||||
|         "browser.shell.checkDefaultBrowser" = false; |           "browser.shell.checkDefaultBrowser" = false; | ||||||
|         "browser.shell.defaultBrowserCheckCount" = 1; |           "browser.shell.defaultBrowserCheckCount" = 1; | ||||||
|         "browser.startup.homepage_override.mstone" = "ignore"; |           "browser.startup.homepage_override.mstone" = "ignore"; | ||||||
|         "browser.uitour.enabled" = false; |           "browser.uitour.enabled" = false; | ||||||
|         "startup.homepage_override_url" = ""; |           "startup.homepage_override_url" = ""; | ||||||
|         "trailhead.firstrun.didSeeAboutWelcome" = true; |           "trailhead.firstrun.didSeeAboutWelcome" = true; | ||||||
|         "browser.bookmarks.restore_default_bookmarks" = false; |           "browser.bookmarks.restore_default_bookmarks" = false; | ||||||
|         "browser.bookmarks.addedImportButton" = true; |           "browser.bookmarks.addedImportButton" = true; | ||||||
|         "browser.newtabpage.activity-stream.feeds.section.topstories" = false; |           "browser.newtabpage.activity-stream.feeds.section.topstories" = false; | ||||||
| 
 | 
 | ||||||
|         # Usage Experience |           # Usage Experience | ||||||
|         "browser.startup.homepage" = "about:home"; |           "browser.startup.homepage" = "about:home"; | ||||||
|         "browser.download.useDownloadDir" = false; |           "browser.download.useDownloadDir" = false; | ||||||
|         "browser.uiCustomization.state" = builtins.toJSON { |           "browser.uiCustomization.state" = builtins.toJSON { | ||||||
|           "currentVersion" = 20; |             "currentVersion" = 20; | ||||||
|           "newElementCount" = 6; |             "newElementCount" = 6; | ||||||
|           "dirtyAreaCache" = [ |             "dirtyAreaCache" = [ | ||||||
|             "nav-bar" |               "nav-bar" | ||||||
|             "PersonalToolbar" |               "PersonalToolbar" | ||||||
|             "toolbar-menubar" |               "toolbar-menubar" | ||||||
|             "TabsToolbar" |               "TabsToolbar" | ||||||
|             "unified-extensions-area" |               "unified-extensions-area" | ||||||
|             "vertical-tabs" |               "vertical-tabs" | ||||||
|           ]; |             ]; | ||||||
|           "placements" = { |             "placements" = { | ||||||
|             "widget-overflow-fixed-list" = []; |               "widget-overflow-fixed-list" = []; | ||||||
|             "unified-extensions-area" = [ |               "unified-extensions-area" = [ | ||||||
|  |                 "privacy_privacy_com-browser-action" | ||||||
|  |                 # bitwarden | ||||||
|  |                 "_446900e4-71c2-419f-a6a7-df9c091e268b_-browser-action" | ||||||
|  |                 "ublock0_raymondhill_net-browser-action" | ||||||
|  |                 "sponsorblocker_ajay_app-browser-action" | ||||||
|  |                 "dearrow_ajay_app-browser-action" | ||||||
|  |                 "jid1-mnnxcxisbpnsxq_jetpack-browser-action" | ||||||
|  |                 "_testpilot-containers-browser-action" | ||||||
|  |                 "addon_simplelogin-browser-action" | ||||||
|  |                 "_74145f27-f039-47ce-a470-a662b129930a_-browser-action" | ||||||
|  |                 "jid1-bofifl9vbdl2zq_jetpack-browser-action" | ||||||
|  |                 "dfyoutube_example_com-browser-action" | ||||||
|  |                 "_b86e4813-687a-43e6-ab65-0bde4ab75758_-browser-action" | ||||||
|  |                 "_762f9885-5a13-4abd-9c77-433dcd38b8fd_-browser-action" | ||||||
|  |                 "_b11bea1f-a888-4332-8d8a-cec2be7d24b9_-browse-action" | ||||||
|  |                 "jid0-3guet1r69sqnsrca5p8kx9ezc3u_jetpack-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" |               "privacy_privacy_com-browser-action" | ||||||
|               # bitwarden |  | ||||||
|               "_446900e4-71c2-419f-a6a7-df9c091e268b_-browser-action" |  | ||||||
|               "ublock0_raymondhill_net-browser-action" |  | ||||||
|               "sponsorblocker_ajay_app-browser-action" |               "sponsorblocker_ajay_app-browser-action" | ||||||
|               "dearrow_ajay_app-browser-action" |               "ublock0_raymondhill_net-browser-action" | ||||||
|               "jid1-mnnxcxisbpnsxq_jetpack-browser-action" |  | ||||||
|               "_testpilot-containers-browser-action" |  | ||||||
|               "addon_simplelogin-browser-action" |               "addon_simplelogin-browser-action" | ||||||
|  |               "dearrow_ajay_app-browser-action" | ||||||
|  |               "_446900e4-71c2-419f-a6a7-df9c091e268b_-browser-action" | ||||||
|               "_74145f27-f039-47ce-a470-a662b129930a_-browser-action" |               "_74145f27-f039-47ce-a470-a662b129930a_-browser-action" | ||||||
|               "jid1-bofifl9vbdl2zq_jetpack-browser-action" |               "jid1-bofifl9vbdl2zq_jetpack-browser-action" | ||||||
|               "dfyoutube_example_com-browser-action" |               "dfyoutube_example_com-browser-action" | ||||||
|  |               "_testpilot-containers-browser-action" | ||||||
|               "_b86e4813-687a-43e6-ab65-0bde4ab75758_-browser-action" |               "_b86e4813-687a-43e6-ab65-0bde4ab75758_-browser-action" | ||||||
|  |               "jid1-mnnxcxisbpnsxq_jetpack-browser-action" | ||||||
|               "_762f9885-5a13-4abd-9c77-433dcd38b8fd_-browser-action" |               "_762f9885-5a13-4abd-9c77-433dcd38b8fd_-browser-action" | ||||||
|               "_b11bea1f-a888-4332-8d8a-cec2be7d24b9_-browse-action" |               "_b11bea1f-a888-4332-8d8a-cec2be7d24b9_-browser-action" | ||||||
|               "jid0-3guet1r69sqnsrca5p8kx9ezc3u_jetpack-browser-action" |               "jid0-3guet1r69sqnsrca5p8kx9ezc3u_jetpack-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" = [ |           "browser.newtabpage.activity-stream.feeds.topsites" = false; | ||||||
|             "save-to-pocket-button" |           "browser.newtabpage.activity-stream.showSponsoredTopSites" = false; | ||||||
|             "developer-button" |           "browser.newtabpage.activity-stream.improvesearch.topSiteSearchShortcuts" = false; | ||||||
|             "privacy_privacy_com-browser-action" |           "browser.newtabpage.blocked" = lib.genAttrs [ | ||||||
|             "sponsorblocker_ajay_app-browser-action" |             # Facebook | ||||||
|             "ublock0_raymondhill_net-browser-action" |             "4gPpjkxgZzXPVtuEoAL9Ig==" | ||||||
|             "addon_simplelogin-browser-action" |             # Reddit | ||||||
|             "dearrow_ajay_app-browser-action" |             "gLv0ja2RYVgxKdp0I5qwvA==" | ||||||
|             "_446900e4-71c2-419f-a6a7-df9c091e268b_-browser-action" |             # Amazon | ||||||
|             "_74145f27-f039-47ce-a470-a662b129930a_-browser-action" |             "K00ILysCaEq8+bEqV/3nuw==" | ||||||
|             "jid1-bofifl9vbdl2zq_jetpack-browser-action" |             # Twitter | ||||||
|             "dfyoutube_example_com-browser-action" |             "T9nJot5PurhJSy8n038xGA==" | ||||||
|             "_testpilot-containers-browser-action" |           ] (_: 1); | ||||||
|             "_b86e4813-687a-43e6-ab65-0bde4ab75758_-browser-action" |           "identity.fxaccounts.enabled" = false; | ||||||
|             "jid1-mnnxcxisbpnsxq_jetpack-browser-action" | 
 | ||||||
|             "_762f9885-5a13-4abd-9c77-433dcd38b8fd_-browser-action" |           # Security | ||||||
|             "_b11bea1f-a888-4332-8d8a-cec2be7d24b9_-browser-action" |           "privacy.trackingprotection.enabled" = true; | ||||||
|             "jid0-3guet1r69sqnsrca5p8kx9ezc3u_jetpack-browser-action" |           "dom.security.https_only_mode" = true; | ||||||
|  | 
 | ||||||
|  |           "extensions.formautofill.addresses.enabled" = false; | ||||||
|  |           "extensions.formautofill.creditCards.enabled" = false; | ||||||
|  |           "signon.rememberSignons" = false; | ||||||
|  |           "privacy.sanitize.sanitizeOnShutdown" = true; | ||||||
|  |           "privacy.clearOnShutdown_v2.cache" = true; | ||||||
|  |           "privacy.clearOnShutdown_v2.cookiesAndStorage" = true; | ||||||
|  |           "privacy.clearOnShutdown_v2.historyFormDataAndDownloads" = true; | ||||||
|  |           "urlclassifier.trackingSkipURLs" = ""; | ||||||
|  |           "urlclassifier.features.socialtracking.skipURLs" = ""; | ||||||
|  |           "dom.security.https_only_mode_pbm" = true; | ||||||
|  |           "dom.security.https_only_mode_error_page_user_suggestions" = 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 = { | ||||||
|  |           force = true; | ||||||
|  |           settings = [ | ||||||
|  |             { | ||||||
|  |               name = "Media"; | ||||||
|  |               url = "https://media.jan-leila.com/"; | ||||||
|  |               keyword = ""; | ||||||
|  |               tags = [""]; | ||||||
|  |             } | ||||||
|  |             { | ||||||
|  |               name = "Photos"; | ||||||
|  |               url = "https://photos.jan-leila.com"; | ||||||
|  |               keyword = ""; | ||||||
|  |               tags = [""]; | ||||||
|  |             } | ||||||
|  |             { | ||||||
|  |               name = "Git"; | ||||||
|  |               url = "https://git.jan-leila.com/"; | ||||||
|  |               keyword = ""; | ||||||
|  |               tags = [""]; | ||||||
|  |             } | ||||||
|  |             { | ||||||
|  |               name = "Home Automation"; | ||||||
|  |               url = "https://home.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 = [""]; | ||||||
|  |             # } | ||||||
|           ]; |           ]; | ||||||
|         }; |         }; | ||||||
|         "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); |  | ||||||
|         "identity.fxaccounts.enabled" = false; |  | ||||||
| 
 |  | ||||||
|         # Security |  | ||||||
|         "privacy.trackingprotection.enabled" = true; |  | ||||||
|         "dom.security.https_only_mode" = true; |  | ||||||
| 
 |  | ||||||
|         "extensions.formautofill.addresses.enabled" = false; |  | ||||||
|         "extensions.formautofill.creditCards.enabled" = false; |  | ||||||
|         "signon.rememberSignons" = false; |  | ||||||
|         "privacy.sanitize.sanitizeOnShutdown" = true; |  | ||||||
|         "privacy.clearOnShutdown_v2.cache" = true; |  | ||||||
|         "privacy.clearOnShutdown_v2.cookiesAndStorage" = true; |  | ||||||
|         "privacy.clearOnShutdown_v2.historyFormDataAndDownloads" = true; |  | ||||||
|         "urlclassifier.trackingSkipURLs" = ""; |  | ||||||
|         "urlclassifier.features.socialtracking.skipURLs" = ""; |  | ||||||
|         "dom.security.https_only_mode_pbm" = true; |  | ||||||
|         "dom.security.https_only_mode_error_page_user_suggestions" = 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 = { |  | ||||||
|         force = true; |  | ||||||
|         settings = [ |  | ||||||
|           { |  | ||||||
|             name = "Media"; |  | ||||||
|             url = "https://media.jan-leila.com/"; |  | ||||||
|             keyword = ""; |  | ||||||
|             tags = [""]; |  | ||||||
|           } |  | ||||||
|           { |  | ||||||
|             name = "Photos"; |  | ||||||
|             url = "https://photos.jan-leila.com"; |  | ||||||
|             keyword = ""; |  | ||||||
|             tags = [""]; |  | ||||||
|           } |  | ||||||
|           { |  | ||||||
|             name = "Git"; |  | ||||||
|             url = "https://git.jan-leila.com/"; |  | ||||||
|             keyword = ""; |  | ||||||
|             tags = [""]; |  | ||||||
|           } |  | ||||||
|           { |  | ||||||
|             name = "Home Automation"; |  | ||||||
|             url = "https://home.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 = [""]; |  | ||||||
|           # } |  | ||||||
|         ]; |  | ||||||
|       }; |       }; | ||||||
|     }; |     }; | ||||||
|   }; |   }; | ||||||
|  |  | ||||||
|  | @ -1,5 +1,6 @@ | ||||||
| { | { | ||||||
|   lib, |   lib, | ||||||
|  |   config, | ||||||
|   osConfig, |   osConfig, | ||||||
|   pkgs, |   pkgs, | ||||||
|   ... |   ... | ||||||
|  | @ -12,22 +13,22 @@ in { | ||||||
|     ./firefox.nix |     ./firefox.nix | ||||||
|   ]; |   ]; | ||||||
| 
 | 
 | ||||||
|   nixpkgs.config = { |   config = lib.mkMerge [ | ||||||
|     allowUnfree = true; |     (lib.mkIf userConfig.isTerminalUser { | ||||||
|   }; |       home.packages = with pkgs; [ | ||||||
|  |         # command line tools | ||||||
|  |         sox | ||||||
|  |         yt-dlp | ||||||
|  |         ffmpeg | ||||||
|  |         imagemagick | ||||||
|  |       ]; | ||||||
|  |     }) | ||||||
|  |     (lib.mkIf userConfig.isDesktopUser { | ||||||
|  |       nixpkgs.config = { | ||||||
|  |         allowUnfree = true; | ||||||
|  |       }; | ||||||
| 
 | 
 | ||||||
|   home = { |       home.packages = ( | ||||||
|     packages = |  | ||||||
|       lib.lists.optionals userConfig.isTerminalUser ( |  | ||||||
|         with pkgs; [ |  | ||||||
|           # command line tools |  | ||||||
|           sox |  | ||||||
|           yt-dlp |  | ||||||
|           ffmpeg |  | ||||||
|           imagemagick |  | ||||||
|         ] |  | ||||||
|       ) |  | ||||||
|       ++ ( |  | ||||||
|         lib.lists.optionals userConfig.isDesktopUser ( |         lib.lists.optionals userConfig.isDesktopUser ( | ||||||
|           (with pkgs; [ |           (with pkgs; [ | ||||||
|             # helvetica font |             # helvetica font | ||||||
|  | @ -91,5 +92,44 @@ in { | ||||||
|           ) |           ) | ||||||
|         ) |         ) | ||||||
|       ); |       ); | ||||||
|   }; |       programs = lib.mkIf userConfig.isDesktopUser { | ||||||
|  |         # Let Home Manager install and manage itself. | ||||||
|  |         home-manager.enable = true; | ||||||
|  | 
 | ||||||
|  |         # set up git defaults | ||||||
|  |         git = { | ||||||
|  |           enable = true; | ||||||
|  |           userName = "Leyla Becker"; | ||||||
|  |           userEmail = "git@jan-leila.com"; | ||||||
|  |           extraConfig.init.defaultBranch = "main"; | ||||||
|  |         }; | ||||||
|  | 
 | ||||||
|  |         # add direnv to auto load flakes for development | ||||||
|  |         direnv = { | ||||||
|  |           enable = true; | ||||||
|  |           enableBashIntegration = true; | ||||||
|  |           nix-direnv.enable = true; | ||||||
|  |           config = { | ||||||
|  |             global.hide_env_diff = true; | ||||||
|  |             whitelist.exact = ["/home/leyla/documents/code/nix-config"]; | ||||||
|  |           }; | ||||||
|  |         }; | ||||||
|  |         bash.enable = true; | ||||||
|  | 
 | ||||||
|  |         openssh = { | ||||||
|  |           authorizedKeys = [ | ||||||
|  |             "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJHeItmt8TRW43uNcOC+eIurYC7Eunc0V3LGocQqLaYj leyla@horizon" | ||||||
|  |             "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIILimFIW2exEH/Xo7LtXkqgE04qusvnPNpPWSCeNrFkP leyla@defiant" | ||||||
|  |             "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKBiZkg1c2aaNHiieBX4cEziqvJVj9pcDfzUrKU/mO0I leyla@twilight" | ||||||
|  |           ]; | ||||||
|  |           hostKeys = [ | ||||||
|  |             { | ||||||
|  |               type = "ed25519"; | ||||||
|  |               path = "${config.home.username}_${osConfig.networking.hostName}_ed25519"; | ||||||
|  |             } | ||||||
|  |           ]; | ||||||
|  |         }; | ||||||
|  |       }; | ||||||
|  |     }) | ||||||
|  |   ]; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -8,110 +8,113 @@ | ||||||
| }: let | }: let | ||||||
|   nix-development-enabled = osConfig.host.nix-development.enable; |   nix-development-enabled = osConfig.host.nix-development.enable; | ||||||
|   ai-tooling-enabled = config.user.continue.enable && osConfig.host.ai.enable; |   ai-tooling-enabled = config.user.continue.enable && osConfig.host.ai.enable; | ||||||
|  |   is-desktop-user = osConfig.host.users.leyla.isDesktopUser; | ||||||
| in { | in { | ||||||
|   nixpkgs = { |   config = lib.mkIf is-desktop-user { | ||||||
|     overlays = [ |     nixpkgs = { | ||||||
|       inputs.nix-vscode-extensions.overlays.default |       overlays = [ | ||||||
|     ]; |         inputs.nix-vscode-extensions.overlays.default | ||||||
|   }; |       ]; | ||||||
| 
 |  | ||||||
|   programs = { |  | ||||||
|     bash.shellAliases = { |  | ||||||
|       code = "codium"; |  | ||||||
|     }; |     }; | ||||||
| 
 | 
 | ||||||
|     vscode = let |     programs = { | ||||||
|       extensions = inputs.nix-vscode-extensions.extensions.${pkgs.system}; |       bash.shellAliases = { | ||||||
|       open-vsx = extensions.open-vsx; |         code = "codium"; | ||||||
|       vscode-marketplace = extensions.vscode-marketplace; |       }; | ||||||
|     in { |  | ||||||
|       enable = true; |  | ||||||
| 
 | 
 | ||||||
|       package = pkgs.vscodium; |       vscode = let | ||||||
|  |         extensions = inputs.nix-vscode-extensions.extensions.${pkgs.system}; | ||||||
|  |         open-vsx = extensions.open-vsx; | ||||||
|  |         vscode-marketplace = extensions.vscode-marketplace; | ||||||
|  |       in { | ||||||
|  |         enable = true; | ||||||
| 
 | 
 | ||||||
|       mutableExtensionsDir = false; |         package = pkgs.vscodium; | ||||||
| 
 | 
 | ||||||
|       profiles.default = { |         mutableExtensionsDir = false; | ||||||
|         enableUpdateCheck = false; |  | ||||||
|         enableExtensionUpdateCheck = false; |  | ||||||
| 
 | 
 | ||||||
|         userSettings = lib.mkMerge [ |         profiles.default = { | ||||||
|           { |           enableUpdateCheck = false; | ||||||
|             "workbench.colorTheme" = "Atom One Dark"; |           enableExtensionUpdateCheck = false; | ||||||
|             "cSpell.userWords" = import ./user-words.nix; |  | ||||||
|             "javascript.updateImportsOnFileMove.enabled" = "always"; |  | ||||||
|             "editor.tabSize" = 2; |  | ||||||
|             "editor.insertSpaces" = false; |  | ||||||
|           } |  | ||||||
|           (lib.mkIf nix-development-enabled { |  | ||||||
|             "nix.enableLanguageServer" = true; |  | ||||||
|             "nix.serverPath" = "nil"; |  | ||||||
|             "[nix]" = { |  | ||||||
|               "editor.defaultFormatter" = "kamadorueda.alejandra"; |  | ||||||
|               "editor.formatOnPaste" = true; |  | ||||||
|               "editor.formatOnSave" = true; |  | ||||||
|               "editor.formatOnType" = true; |  | ||||||
|             }; |  | ||||||
|             "alejandra.program" = "alejandra"; |  | ||||||
|             "nixpkgs" = { |  | ||||||
|               "expr" = "import <nixpkgs> {}"; |  | ||||||
|             }; |  | ||||||
|           }) |  | ||||||
|           (lib.mkIf ai-tooling-enabled { |  | ||||||
|             "continue.telemetryEnabled" = false; |  | ||||||
|           }) |  | ||||||
|         ]; |  | ||||||
| 
 | 
 | ||||||
|         extensions = ( |           userSettings = lib.mkMerge [ | ||||||
|           with open-vsx; |             { | ||||||
|             [ |               "workbench.colorTheme" = "Atom One Dark"; | ||||||
|               # vs code feel extensions |               "cSpell.userWords" = import ./user-words.nix; | ||||||
|               ms-vscode.atom-keybindings |               "javascript.updateImportsOnFileMove.enabled" = "always"; | ||||||
|               akamud.vscode-theme-onedark |               "editor.tabSize" = 2; | ||||||
|               streetsidesoftware.code-spell-checker |               "editor.insertSpaces" = false; | ||||||
|               streetsidesoftware.code-spell-checker-german |             } | ||||||
|               streetsidesoftware.code-spell-checker-italian |             (lib.mkIf nix-development-enabled { | ||||||
|               jeanp413.open-remote-ssh |               "nix.enableLanguageServer" = true; | ||||||
|  |               "nix.serverPath" = "nil"; | ||||||
|  |               "[nix]" = { | ||||||
|  |                 "editor.defaultFormatter" = "kamadorueda.alejandra"; | ||||||
|  |                 "editor.formatOnPaste" = true; | ||||||
|  |                 "editor.formatOnSave" = true; | ||||||
|  |                 "editor.formatOnType" = true; | ||||||
|  |               }; | ||||||
|  |               "alejandra.program" = "alejandra"; | ||||||
|  |               "nixpkgs" = { | ||||||
|  |                 "expr" = "import <nixpkgs> {}"; | ||||||
|  |               }; | ||||||
|  |             }) | ||||||
|  |             (lib.mkIf ai-tooling-enabled { | ||||||
|  |               "continue.telemetryEnabled" = false; | ||||||
|  |             }) | ||||||
|  |           ]; | ||||||
| 
 | 
 | ||||||
|               # html extensions |           extensions = ( | ||||||
|               formulahendry.auto-rename-tag |             with open-vsx; | ||||||
|               ms-vscode.live-server |               [ | ||||||
|  |                 # vs code feel extensions | ||||||
|  |                 ms-vscode.atom-keybindings | ||||||
|  |                 akamud.vscode-theme-onedark | ||||||
|  |                 streetsidesoftware.code-spell-checker | ||||||
|  |                 streetsidesoftware.code-spell-checker-german | ||||||
|  |                 streetsidesoftware.code-spell-checker-italian | ||||||
|  |                 jeanp413.open-remote-ssh | ||||||
| 
 | 
 | ||||||
|               # js extensions |                 # html extensions | ||||||
|               dsznajder.es7-react-js-snippets |                 formulahendry.auto-rename-tag | ||||||
|               dbaeumer.vscode-eslint |                 ms-vscode.live-server | ||||||
|               standard.vscode-standard |  | ||||||
|               firsttris.vscode-jest-runner |  | ||||||
|               stylelint.vscode-stylelint |  | ||||||
|               tauri-apps.tauri-vscode |  | ||||||
| 
 | 
 | ||||||
|               # go extensions |                 # js extensions | ||||||
|               golang.go |                 dsznajder.es7-react-js-snippets | ||||||
|  |                 dbaeumer.vscode-eslint | ||||||
|  |                 standard.vscode-standard | ||||||
|  |                 firsttris.vscode-jest-runner | ||||||
|  |                 stylelint.vscode-stylelint | ||||||
|  |                 tauri-apps.tauri-vscode | ||||||
| 
 | 
 | ||||||
|               # astro blog extensions |                 # go extensions | ||||||
|               astro-build.astro-vscode |                 golang.go | ||||||
|               unifiedjs.vscode-mdx |  | ||||||
| 
 | 
 | ||||||
|               # misc extensions |                 # astro blog extensions | ||||||
|               tamasfe.even-better-toml |                 astro-build.astro-vscode | ||||||
|             ] |                 unifiedjs.vscode-mdx | ||||||
|             ++ (lib.lists.optionals nix-development-enabled [ | 
 | ||||||
|               # nix extensions |                 # misc extensions | ||||||
|               pinage404.nix-extension-pack |                 tamasfe.even-better-toml | ||||||
|               jnoortheen.nix-ide |               ] | ||||||
|               kamadorueda.alejandra |               ++ (lib.lists.optionals nix-development-enabled [ | ||||||
|             ]) |                 # nix extensions | ||||||
|             ++ ( |                 pinage404.nix-extension-pack | ||||||
|               with vscode-marketplace; |                 jnoortheen.nix-ide | ||||||
|                 [ |                 kamadorueda.alejandra | ||||||
|                   # js extensions |               ]) | ||||||
|                   karyfoundation.nearley |               ++ ( | ||||||
|                 ] |                 with vscode-marketplace; | ||||||
|                 ++ (lib.lists.optionals ai-tooling-enabled [ |                   [ | ||||||
|                   continue.continue |                     # js extensions | ||||||
|                 ]) |                     karyfoundation.nearley | ||||||
|             ) |                   ] | ||||||
|         ); |                   ++ (lib.lists.optionals ai-tooling-enabled [ | ||||||
|  |                     continue.continue | ||||||
|  |                   ]) | ||||||
|  |               ) | ||||||
|  |           ); | ||||||
|  |         }; | ||||||
|       }; |       }; | ||||||
|     }; |     }; | ||||||
|   }; |   }; | ||||||
|  |  | ||||||
|  | @ -83,13 +83,14 @@ | ||||||
| 
 | 
 | ||||||
|   nixpkgs.config.allowUnfree = true; |   nixpkgs.config.allowUnfree = true; | ||||||
| 
 | 
 | ||||||
|   # List packages installed in system profile. |   # Packages that can be installed without any extra configuration | ||||||
|   # You can use https://search.nixos.org/ to find more packages (and options). |   # See https://search.nixos.org/packages for all options | ||||||
|   # environment.systemPackages = with pkgs; [ |   environment.systemPackages = with pkgs; [ | ||||||
|   #   vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default. |     wget | ||||||
|   #   wget |   ]; | ||||||
|   # ]; |  | ||||||
| 
 | 
 | ||||||
|  |   # Packages that need to be installed with some extra configuration | ||||||
|  |   # See https://search.nixos.org/options for all options | ||||||
|   programs.steam = { |   programs.steam = { | ||||||
|     enable = true; |     enable = true; | ||||||
|     remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play |     remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play | ||||||
|  |  | ||||||
|  | @ -1,6 +1,9 @@ | ||||||
| { config, lib, pkgs, ... }: |  | ||||||
| { | { | ||||||
| 
 |   config, | ||||||
|  |   lib, | ||||||
|  |   pkgs, | ||||||
|  |   ... | ||||||
|  | }: { | ||||||
|   # Enable OpenGL |   # Enable OpenGL | ||||||
|   hardware.graphics = { |   hardware.graphics = { | ||||||
|     enable = true; |     enable = true; | ||||||
|  | @ -10,7 +13,6 @@ | ||||||
|   services.xserver.videoDrivers = ["nvidia"]; |   services.xserver.videoDrivers = ["nvidia"]; | ||||||
| 
 | 
 | ||||||
|   hardware.nvidia = { |   hardware.nvidia = { | ||||||
| 
 |  | ||||||
|     # Modesetting is required. |     # Modesetting is required. | ||||||
|     modesetting.enable = true; |     modesetting.enable = true; | ||||||
| 
 | 
 | ||||||
|  | @ -33,10 +35,10 @@ | ||||||
|     open = false; |     open = false; | ||||||
| 
 | 
 | ||||||
|     # Enable the Nvidia settings menu, |     # Enable the Nvidia settings menu, | ||||||
| 	# accessible via `nvidia-settings`. |     # accessible via `nvidia-settings`. | ||||||
|     nvidiaSettings = true; |     nvidiaSettings = true; | ||||||
| 
 | 
 | ||||||
|     # Optionally, you may need to select the appropriate driver version for your specific GPU. |     # Optionally, you may need to select the appropriate driver version for your specific GPU. | ||||||
|     package = config.boot.kernelPackages.nvidiaPackages.stable; |     package = config.boot.kernelPackages.nvidiaPackages.stable; | ||||||
|   }; |   }; | ||||||
|  } | } | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue