Personal-use NixOS configuration

Split some home config into shared

+215 -185
+6 -14
homes/encode42/common/bat.nix
··· 1 - { pkgs, ... }: 2 - 3 1 { 4 - programs.bat = { 5 - enable = true; 2 + imports = [ 3 + ../../shared/common/bat.nix 4 + ]; 6 5 6 + programs.bat = { 7 7 config = { 8 - paging = "never"; 8 + color = "auto"; 9 9 10 10 theme = "base16"; 11 11 ··· 14 14 ]; 15 15 }; 16 16 }; 17 - 18 - home.shellAliases = { 19 - cat = "bat"; 20 - }; 21 - 22 - home.packages = with pkgs; [ 23 - bat 24 - ]; 25 - } 17 + }
+3 -2
homes/encode42/common/default.nix
··· 7 7 ./git.nix 8 8 9 9 ./bat.nix 10 - ./eza.nix 11 - ./xh.nix 10 + 11 + ../../shared/common/eza.nix 12 + ../../shared/common/xh.nix 12 13 ]; 13 14 }
homes/encode42/common/eza.nix homes/shared/common/eza.nix
homes/encode42/common/xh.nix homes/shared/common/xh.nix
+4 -156
homes/encode42/desktop/firefox.nix
··· 1 1 { firefox-addons, pkgs, ... }: 2 2 3 3 { 4 - programs.firefox = { 5 - enable = true; 6 - 7 - policies = { 8 - BlockAboutConfig = true; 9 - }; 4 + imports = [ 5 + ../../shared/desktop/firefox.nix 6 + ]; 10 7 8 + programs.firefox = { 11 9 profiles.default = { 12 10 settings = { 13 - "extensions.autoDisableScopes" = 0; 14 - 15 11 "sidebar.verticalTabs" = true; 16 12 "sidebar.main.tools" = "history"; 17 13 "browser.toolbars.bookmarks.visibility" = "never"; ··· 36 32 "privacy.trackingprotection.enabled" = true; 37 33 "browser.safebrowsing.malware.enabled" = false; 38 34 "browser.safebrowsing.phishing.enabled" = false; 39 - 40 - # Fastfox 41 - "content.notify.interval" = 100000; 42 - 43 - "gfx.canvas.accelerated.cache-size" = 512; 44 - "gfx.content.skia-font-cache-size" = 20; 45 - 46 - "browser.cache.disk.enable" = false; 47 - "browser.sessionhistory.max_total_viewers" = 4; 48 - "media.memory_cache_max_size" = 65536; 49 - "media.cache_readahead_limit" = 7200; 50 - "media.cache_resume_threshold" = 3600; 51 - "image.mem.decode_bytes_at_a_time" = 32768; 52 - 53 - "network.http.max-connections" = 1800; 54 - "network.http.max-persistent-connections-per-server" = 10; 55 - "network.http.max-urgent-start-excessive-connections-per-host" = 5; 56 - "network.http.pacing.requests.enabled" = false; 57 - "network.dnsCacheExpiration" = 3600; 58 - "network.ssl_tokens_cache_capacity" = 10240; 59 - 60 - "network.http.speculative-parallel-limit" = 0; 61 - "network.dns.disablePrefetch" = true; 62 - "network.dns.disablePrefetchFromHTTPS" = true; 63 - "browser.urlbar.speculativeConnect.enabled" = false; 64 - "browser.places.speculativeConnect.enabled" = false; 65 - "network.prefetch-next" = false; 66 - "network.predictor.enabled" = false; 67 - 68 - "layout.css.grid-template-masonry-value.enabled" = true; 69 - 70 - # Securefox 71 - "browser.contentblocking.category" = "strict"; 72 - "browser.download.start_downloads_in_tmp_dir" = true; 73 - "browser.helperApps.deleteTempFileOnExit" = true; 74 - "browser.uitour.enabled" = false; 75 - "privacy.globalprivacycontrol.enabled" = true; 76 - 77 - "security.OCSP.enabled" = 0; 78 - "security.pki.crlite_mode" = 2; 79 - 80 - "security.ssl.treat_unsafe_negotiation_as_broken" = true; 81 - "browser.xul.error_pages.expert_bad_cert" = true; 82 - "security.tls.enable_0rtt_data" = false; 83 - 84 - "browser.privatebrowsing.forceMediaMemoryCache" = true; 85 - "browser.sessionstore.interval" = 60000; 86 - 87 - "browser.privatebrowsing.resetPBM.enabled" = true; 88 - "privacy.history.custom" = true; 89 - 90 - "browser.urlbar.trimHttps" = true; 91 - "browser.urlbar.untrimOnUserInteraction.featureGate" = true; 92 - "browser.search.separatePrivateDefault.ui.enabled" = true; 93 - "browser.search.suggest.enabled" = false; 94 - "browser.urlbar.quicksuggest.enabled" = false; 95 - "browser.urlbar.groupLabels.enabled" = false; 96 - "browser.formfill.enable" = false; 97 - "network.IDN_show_punycode" = true; 98 - 99 - "signon.formlessCapture.enabled" = false; 100 - "signon.privateBrowsingCapture.enabled" = false; 101 - "network.auth.subresource-http-auth-allow" = 1; 102 - "editor.truncate_user_pastes" = false; 103 - 104 - "security.mixed_content.block_display_content" = true; 105 - "pdfjs.enableScripting" = false; 106 - 107 - "extensions.enabledScopes" = 5; 108 - 109 - "network.http.referer.XOriginTrimmingPolicy" = 2; 110 - 111 - "privacy.userContext.ui.enabled" = true; 112 - 113 - "browser.safebrowsing.downloads.remote.enabled" = false; 114 - 115 - "permissions.default.desktop-notification" = 2; 116 - "permissions.default.geo" = 2; 117 - "geo.provider.network.url" = "https://beacondb.net/v1/geolocate"; 118 - "browser.search.update" = false; 119 - "permissions.manager.defaultsUrl" = ""; 120 - "extensions.getAddons.cache.enabled" = false; 121 - 122 - "datareporting.policy.dataSubmissionEnabled" = false; 123 - "datareporting.healthreport.uploadEnabled" = false; 124 - "toolkit.telemetry.unified" = false; 125 - "toolkit.telemetry.enabled" = false; 126 - "toolkit.telemetry.server" = "data:,"; 127 - "toolkit.telemetry.archive.enabled" = false; 128 - "toolkit.telemetry.newProfilePing.enabled" = false; 129 - "toolkit.telemetry.shutdownPingSender.enabled" = false; 130 - "toolkit.telemetry.updatePing.enabled" = false; 131 - "toolkit.telemetry.bhrPing.enabled" = false; 132 - "toolkit.telemetry.firstShutdownPing.enabled" = false; 133 - "toolkit.telemetry.coverage.opt-out" = true; 134 - "toolkit.coverage.opt-out" = true; 135 - "toolkit.coverage.endpoint.base" = ""; 136 - "browser.newtabpage.activity-stream.feeds.telemetry" = false; 137 - "browser.newtabpage.activity-stream.telemetry" = false; 138 - "datareporting.usage.uploadEnabled" = false; 139 - 140 - "app.shield.optoutstudies.enabled" = false; 141 - "app.normandy.enabled" = false; 142 - "app.normandy.api_url" = ""; 143 - 144 - "breakpad.reportURL" = ""; 145 - "browser.tabs.crashReporting.sendReport" = false; 146 - 147 - # Peskyfox 148 - "browser.privatebrowsing.vpnpromourl" = ""; 149 - "extensions.getAddons.showPane" = false; 150 - "extensions.htmlaboutaddons.recommendations.enabled" = false; 151 - "browser.discovery.enabled" = false; 152 - "browser.shell.checkDefaultBrowser" = false; 153 - "browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons" = false; 154 - "browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features" = false; 155 - "browser.preferences.moreFromMozilla" = false; 156 - "browser.aboutConfig.showWarning" = false; 157 - "browser.aboutwelcome.enabled" = false; 158 - "browser.profiles.enabled" = true; 159 - 160 - "toolkit.legacyUserProfileCustomizations.stylesheets" = true; 161 - "browser.compactmode.show" = true; 162 - 163 - "full-screen-api.transition-duration.enter" = "0 0"; 164 - "full-screen-api.transition-duration.leave" = "0 0"; 165 - "full-screen-api.warning.timeout" = 0; 166 - 167 - "browser.urlbar.unitConversion.enabled" = true; 168 - "browser.urlbar.trending.featureGate" = false; 169 - 170 - "browser.newtabpage.activity-stream.default.sites" = ""; 171 - "browser.newtabpage.activity-stream.showSponsoredTopSites" = false; 172 - "browser.newtabpage.activity-stream.feeds.section.topstories" = false; 173 - "browser.newtabpage.activity-stream.showSponsored" = false; 174 - 175 - "extensions.pocket.enabled" = false; 176 - 177 - "browser.download.manager.addToRecentDocs" = false; 178 - 179 - "browser.download.open_pdf_attachments_inline" = true; 180 - 181 - "browser.bookmarks.openInTabClosesMenu" = false; 182 - "browser.menu.showViewImageInfo" = true; 183 - "findbar.highlightAll" = true; 184 - "layout.word_select.eat_space_to_next_word" = false; 185 35 }; 186 36 187 37 extensions = { ··· 192 42 }; 193 43 194 44 search = { 195 - force = true; 196 - 197 45 default = "searx"; 198 46 199 47 engines = {
homes/encode42/desktop/prismlauncher.nix homes/shared/desktop/prismlauncher.nix
+25
homes/shared/common/bat.nix
··· 1 + { lib, pkgs, ... }: 2 + 3 + { 4 + programs.bat = { 5 + enable = true; 6 + 7 + config = { 8 + paging = lib.mkDefault "never"; 9 + 10 + color = lib.mkDefault "never"; 11 + 12 + style = lib.mkDefault [ 13 + "plain" 14 + ]; 15 + }; 16 + }; 17 + 18 + home.shellAliases = { 19 + cat = "bat"; 20 + }; 21 + 22 + home.packages = with pkgs; [ 23 + bat 24 + ]; 25 + }
+174
homes/shared/desktop/firefox.nix
··· 1 + { lib, firefox-addons, pkgs, ... }: 2 + 3 + { 4 + programs.firefox = { 5 + enable = true; 6 + 7 + policies = { 8 + BlockAboutConfig = true; 9 + }; 10 + 11 + profiles.default = { 12 + settings = { 13 + "extensions.autoDisableScopes" = 0; 14 + 15 + # Fastfox 16 + "content.notify.interval" = 100000; 17 + 18 + "gfx.canvas.accelerated.cache-size" = 512; 19 + "gfx.content.skia-font-cache-size" = 20; 20 + 21 + "browser.cache.disk.enable" = false; 22 + "browser.sessionhistory.max_total_viewers" = 4; 23 + "media.memory_cache_max_size" = 65536; 24 + "media.cache_readahead_limit" = 7200; 25 + "media.cache_resume_threshold" = 3600; 26 + "image.mem.decode_bytes_at_a_time" = 32768; 27 + 28 + "network.http.max-connections" = 1800; 29 + "network.http.max-persistent-connections-per-server" = 10; 30 + "network.http.max-urgent-start-excessive-connections-per-host" = 5; 31 + "network.http.pacing.requests.enabled" = false; 32 + "network.dnsCacheExpiration" = 3600; 33 + "network.ssl_tokens_cache_capacity" = 10240; 34 + 35 + "network.http.speculative-parallel-limit" = 0; 36 + "network.dns.disablePrefetch" = true; 37 + "network.dns.disablePrefetchFromHTTPS" = true; 38 + "browser.urlbar.speculativeConnect.enabled" = false; 39 + "browser.places.speculativeConnect.enabled" = false; 40 + "network.prefetch-next" = false; 41 + "network.predictor.enabled" = false; 42 + 43 + "layout.css.grid-template-masonry-value.enabled" = true; 44 + 45 + # Securefox 46 + "browser.contentblocking.category" = "strict"; 47 + "browser.download.start_downloads_in_tmp_dir" = true; 48 + "browser.helperApps.deleteTempFileOnExit" = true; 49 + "browser.uitour.enabled" = false; 50 + "privacy.globalprivacycontrol.enabled" = true; 51 + 52 + "security.OCSP.enabled" = 0; 53 + "security.pki.crlite_mode" = 2; 54 + 55 + "security.ssl.treat_unsafe_negotiation_as_broken" = true; 56 + "browser.xul.error_pages.expert_bad_cert" = true; 57 + "security.tls.enable_0rtt_data" = false; 58 + 59 + "browser.privatebrowsing.forceMediaMemoryCache" = true; 60 + "browser.sessionstore.interval" = 60000; 61 + 62 + "browser.privatebrowsing.resetPBM.enabled" = true; 63 + "privacy.history.custom" = true; 64 + 65 + "browser.urlbar.trimHttps" = true; 66 + "browser.urlbar.untrimOnUserInteraction.featureGate" = true; 67 + "browser.search.separatePrivateDefault.ui.enabled" = true; 68 + "browser.search.suggest.enabled" = false; 69 + "browser.urlbar.quicksuggest.enabled" = false; 70 + "browser.urlbar.groupLabels.enabled" = false; 71 + "browser.formfill.enable" = false; 72 + "network.IDN_show_punycode" = true; 73 + 74 + "signon.formlessCapture.enabled" = false; 75 + "signon.privateBrowsingCapture.enabled" = false; 76 + "network.auth.subresource-http-auth-allow" = 1; 77 + "editor.truncate_user_pastes" = false; 78 + 79 + "security.mixed_content.block_display_content" = true; 80 + "pdfjs.enableScripting" = false; 81 + 82 + "extensions.enabledScopes" = 5; 83 + 84 + "network.http.referer.XOriginTrimmingPolicy" = 2; 85 + 86 + "privacy.userContext.ui.enabled" = true; 87 + 88 + "browser.safebrowsing.downloads.remote.enabled" = false; 89 + 90 + "permissions.default.desktop-notification" = 2; 91 + "permissions.default.geo" = 2; 92 + "geo.provider.network.url" = "https://beacondb.net/v1/geolocate"; 93 + "browser.search.update" = false; 94 + "permissions.manager.defaultsUrl" = ""; 95 + "extensions.getAddons.cache.enabled" = false; 96 + 97 + "datareporting.policy.dataSubmissionEnabled" = false; 98 + "datareporting.healthreport.uploadEnabled" = false; 99 + "toolkit.telemetry.unified" = false; 100 + "toolkit.telemetry.enabled" = false; 101 + "toolkit.telemetry.server" = "data:,"; 102 + "toolkit.telemetry.archive.enabled" = false; 103 + "toolkit.telemetry.newProfilePing.enabled" = false; 104 + "toolkit.telemetry.shutdownPingSender.enabled" = false; 105 + "toolkit.telemetry.updatePing.enabled" = false; 106 + "toolkit.telemetry.bhrPing.enabled" = false; 107 + "toolkit.telemetry.firstShutdownPing.enabled" = false; 108 + "toolkit.telemetry.coverage.opt-out" = true; 109 + "toolkit.coverage.opt-out" = true; 110 + "toolkit.coverage.endpoint.base" = ""; 111 + "browser.newtabpage.activity-stream.feeds.telemetry" = false; 112 + "browser.newtabpage.activity-stream.telemetry" = false; 113 + "datareporting.usage.uploadEnabled" = false; 114 + 115 + "app.shield.optoutstudies.enabled" = false; 116 + "app.normandy.enabled" = false; 117 + "app.normandy.api_url" = ""; 118 + 119 + "breakpad.reportURL" = ""; 120 + "browser.tabs.crashReporting.sendReport" = false; 121 + 122 + # Peskyfox 123 + "browser.privatebrowsing.vpnpromourl" = ""; 124 + "extensions.getAddons.showPane" = false; 125 + "extensions.htmlaboutaddons.recommendations.enabled" = false; 126 + "browser.discovery.enabled" = false; 127 + "browser.shell.checkDefaultBrowser" = false; 128 + "browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons" = false; 129 + "browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features" = false; 130 + "browser.preferences.moreFromMozilla" = false; 131 + "browser.aboutConfig.showWarning" = false; 132 + "browser.aboutwelcome.enabled" = false; 133 + "browser.profiles.enabled" = true; 134 + 135 + "toolkit.legacyUserProfileCustomizations.stylesheets" = true; 136 + "browser.compactmode.show" = true; 137 + 138 + "full-screen-api.transition-duration.enter" = "0 0"; 139 + "full-screen-api.transition-duration.leave" = "0 0"; 140 + "full-screen-api.warning.timeout" = 0; 141 + 142 + "browser.urlbar.unitConversion.enabled" = true; 143 + "browser.urlbar.trending.featureGate" = false; 144 + 145 + "browser.newtabpage.activity-stream.default.sites" = ""; 146 + "browser.newtabpage.activity-stream.showSponsoredTopSites" = false; 147 + "browser.newtabpage.activity-stream.feeds.section.topstories" = false; 148 + "browser.newtabpage.activity-stream.showSponsored" = false; 149 + 150 + "extensions.pocket.enabled" = false; 151 + 152 + "browser.download.manager.addToRecentDocs" = false; 153 + 154 + "browser.download.open_pdf_attachments_inline" = true; 155 + 156 + "browser.bookmarks.openInTabClosesMenu" = false; 157 + "browser.menu.showViewImageInfo" = true; 158 + "findbar.highlightAll" = true; 159 + "layout.word_select.eat_space_to_next_word" = false; 160 + }; 161 + 162 + search = { 163 + force = true; 164 + 165 + default = lib.mkDefault "ddg"; 166 + 167 + order = lib.mkDefault [ 168 + "ddg" 169 + "google" 170 + ]; 171 + }; 172 + }; 173 + }; 174 + }
+1 -5
hosts/decryption/homes/encode42.nix
··· 12 12 (flakeRoot + /homes/encode42/common/github.nix) 13 13 (flakeRoot + /homes/encode42/common/direnv.nix) 14 14 15 - (flakeRoot + /homes/encode42/common/bat.nix) 16 - (flakeRoot + /homes/encode42/common/eza.nix) 17 - (flakeRoot + /homes/encode42/common/xh.nix) 18 - 19 15 (flakeRoot + /homes/encode42/desktop/cursor.nix) 20 16 (flakeRoot + /homes/encode42/desktop/fonts.nix) 21 17 ··· 26 22 (flakeRoot + /homes/encode42/desktop/discord.nix) 27 23 (flakeRoot + /homes/encode42/desktop/firefox.nix) 28 24 29 - (flakeRoot + /homes/encode42/desktop/prismlauncher.nix) 25 + (flakeRoot + /homes/shared/desktop/prismlauncher.nix) 30 26 ]; 31 27 32 28 home.packages = with pkgs; [
+1 -1
hosts/encryption/homes/encode42.nix
··· 26 26 (flakeRoot + /homes/encode42/desktop/discord.nix) 27 27 (flakeRoot + /homes/encode42/desktop/firefox.nix) 28 28 29 - (flakeRoot + /homes/encode42/desktop/prismlauncher.nix) 29 + (flakeRoot + /homes/shared/desktop/prismlauncher.nix) 30 30 ]; 31 31 32 32 home.packages = with pkgs; [
+1 -7
hosts/prospect/homes/encode42.nix
··· 36 36 37 37 (flakeRoot + /homes/encode42/common/github.nix) 38 38 39 - (flakeRoot + /homes/encode42/common/bat.nix) 40 - (flakeRoot + /homes/encode42/common/eza.nix) 41 - (flakeRoot + /homes/encode42/common/xh.nix) 42 - 43 39 (flakeRoot + /homes/encode42/desktop/cursor.nix) 44 40 (flakeRoot + /homes/encode42/desktop/fonts.nix) 45 41 ··· 47 43 48 44 (flakeRoot + /homes/encode42/desktop/firefox.nix) 49 45 50 - (flakeRoot + /homes/encode42/desktop/prismlauncher.nix) 46 + (flakeRoot + /homes/shared/desktop/prismlauncher.nix) 51 47 ]; 52 48 53 49 home.packages = with pkgs; [ 54 - r2modman 55 - pkgs-unstable.olympus 56 50 ] 57 51 ++ stable-emulators 58 52 ++ unstable-emulators;