diff options
| author | Natasha Moongrave <natasha@256phi.eu> | 2026-04-29 15:14:21 +0200 |
|---|---|---|
| committer | Natasha Moongrave <natasha@256phi.eu> | 2026-04-29 15:14:21 +0200 |
| commit | 8f1dd62736fcb672fe2c0c2eff7de9df7692e77b (patch) | |
| tree | 7700ee5ac7ef6873ab3c6081ada5d1f45be26a4e | |
| parent | 0aa9c299facc6e784354077c5d8890e923c97472 (diff) | |
| parent | cdab6b5748e60e424f3a81e91ce38034adb6867c (diff) | |
Merge branch 'main' of cgit:/srv/git/NixOS-config
| -rw-r--r-- | home/mun/default.nix | 5 | ||||
| -rw-r--r-- | home/mun/programs/browser.nix | 287 | ||||
| -rw-r--r-- | home/rices/cinnamon/system.nix | 9 | ||||
| -rw-r--r-- | hosts/herra/audio.nix | 58 | ||||
| -rw-r--r-- | hosts/herra/drivers.nix | 50 | ||||
| -rw-r--r-- | system/programs.nix | 48 |
6 files changed, 397 insertions, 60 deletions
diff --git a/home/mun/default.nix b/home/mun/default.nix index 0263f13..872bb07 100644 --- a/home/mun/default.nix +++ b/home/mun/default.nix @@ -9,6 +9,7 @@ ./programs/git.nix ./programs/nvim.nix ./programs/nixcord.nix + ./programs/browser.nix ]; home = { @@ -36,6 +37,7 @@ kicad evolution signal-desktop + famistudio # Utilities pay-respects @@ -50,6 +52,7 @@ syncthing sshfs alacritty + protonup-qt # CLI Tools bat @@ -98,7 +101,7 @@ inherit (texlive) scheme-full; notestex = texlivePackages.notestex; screenplay = texlivePackages.screenplay; - scpzine = pkgs.scpzine-texlive; + #scpzine = pkgs.scpzine-texlive; }) # RetroArch diff --git a/home/mun/programs/browser.nix b/home/mun/programs/browser.nix new file mode 100644 index 0000000..1e702ad --- /dev/null +++ b/home/mun/programs/browser.nix @@ -0,0 +1,287 @@ +{pkgs, ...}: { + programs.firefox = { + enable = true; + + profiles.mun = { + search = { + force = true; + default = "duckduckbleh"; + engines = { + "duckduckbleh" = { + urls = [ + { + template = "https://noai.duckduckgo.com/"; + params = [ + { + name = "q"; + value = "{searchTerms}"; + } + ]; + } + ]; + definedAliases = [ + "duck" + "d" + "ddg" + ]; + }; + "Nix Packages" = { + urls = [ + { + template = "https://search.nixos.org/packages"; + params = [ + { + name = "query"; + value = "{searchTerms}"; + } + ]; + } + ]; + icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg"; + definedAliases = ["pkgs"]; + }; + "Nix Options" = { + urls = [ + { + template = "https://search.nixos.org/options"; + params = [ + { + name = "query"; + value = "{searchTerms}"; + } + ]; + } + ]; + icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg"; + definedAliases = ["opts"]; + }; + "Home manager Options" = { + urls = [ + { + template = "https://home-manager-options.extranix.com/"; + params = [ + { + name = "query"; + value = "{searchTerms}"; + } + { + name = "release"; + value = "master"; + } + ]; + } + ]; + icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg"; + definedAliases = ["hm"]; + }; + "NixOS Wiki" = { + urls = [ + { + template = "https://nixos.wiki/index.php"; + params = [ + { + name = "search"; + value = "{searchTerms}"; + } + ]; + } + ]; + icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg"; + definedAliases = ["nxwk"]; + }; + "rust docs" = { + urls = [ + { + template = "https://docs.rs/releases/search"; + params = [ + { + name = "query"; + value = "{searchTerms}"; + } + ]; + } + ]; + icon = "https://docs.rs/-/static/favicon.ico"; + definedAliases = ["docs"]; + }; + "rust std docs" = { + urls = [ + { + template = "https://docs.rust-lang.org/std/index.html"; + params = [ + { + name = "search"; + value = "{searchTerms}"; + } + ]; + } + ]; + icon = "https://doc.rust-lang.org/favicon.ico"; + definedAliases = ["std"]; + }; + "bing".metaData.hidden = true; + "google".metaData.hidden = true; + "Amazon.de".metaData.hidden = true; + }; + }; + settings = { + "devtools.editor.keymap" = "vim"; + "devtools.toolbox.host" = "right"; + "devtools.theme" = "dark"; + "webgl.disabled" = false; + "browser.urlbar.decodeURLsOnCopy" = true; + "browser.urlbar.unitConversion.enabled" = true; + "browser.urlbar.suggest.calculator" = true; + "browser.compactmode.show" = true; + "browser.uidensity" = 1; + "screenshots.browser.component.enabled" = true; + "browser.aboutConfig.showWarning" = false; + "browser.aboutwelcome.showModal" = false; + "browser.aboutwelcome.enabled" = false; + "browser.preferences.moreFromMozilla" = false; + "browser.menu.showViewImageInfo" = true; + "browser.shopping.experience2023.active" = false; + "browser.shopping.experience2023.survey.enabled" = false; + + "identity.fxaccounts.enabled" = true; + "browser.tabs.firefox-view" = true; + "browser.tabs.firefox-view-next" = true; + "browser.newtabpage.activity-stream.showSponsored" = false; + "browser.newtabpage.activity-stream.showSponsoredTopSites" = false; + "browser.newtabpage.activity-stream.improvesearch.topSiteSearchShortcuts" = false; + "privacy.trackingprotection.emailtracking.enabled" = true; + "privacy.trackingprotection.enabled" = true; + "privacy.trackingprotection.socialtracking.enabled" = true; + + "browser.startup.homepage" = "about:blank"; + "browser.newtabpage.enabled" = false; + "browser.ml.chat.enabled" = false; + "browser.ml.chat.hideLocalhost" = false; + "browser.ml.chat.prompt.prefix" = ""; + "browser.ml.chat.prompts.0" = ""; + "browser.ml.chat.prompts.1" = ""; + "browser.ml.chat.prompts.2" = ""; + "browser.ml.chat.prompts.3" = ""; + "browser.ml.chat.provider" = ""; + "browser.ml.chat.shortcuts" = false; + "browser.ml.chat.shortcuts.custom" = false; + "browser.ml.chat.shortcuts.longPress" = ""; + "browser.ml.chat.sidebar" = false; + + "geo.provider.network.logging.enabled" = true; + "extensions.getAddons.showPane" = false; + "extensions.htmlaboutaddons.recommendations.enabled" = false; + "browser.discovery.enabled" = false; + "browser.shopping.experience2023.enabled" = false; + "datareporting.policy.dataSubmissionEnabled" = false; + "datareporting.healthreport.uploadEnabled" = false; + "toolkit.telemetry.unified" = false; + "toolkit.telemetry.enabled" = false; + "toolkit.telemetry.server" = "data:,"; + "toolkit.telemetry.archive.enabled" = false; + "toolkit.telemetry.newProfilePing.enabled" = false; + "toolkit.telemetry.shutdownPingSender.enabled" = false; + "toolkit.telemetry.updatePing.enabled" = false; + "toolkit.telemetry.bhrPing.enabled" = false; + "toolkit.telemetry.firstShutdownPing.enabled" = false; + "toolkit.telemetry.coverage.opt-out" = true; + "toolkit.coverage.opt-out" = true; + "toolkit.coverage.endpoint.base" = ""; + "toolkit.legacyUserProfileCustomizations.stylesheets" = true; + "browser.ping-centre.telemetry" = false; + "browser.newtabpage.activity-stream.feeds.telemetry" = false; + "browser.newtabpage.activity-stream.telemetry" = false; + "app.shield.optoutstudies.enabled" = false; + "app.normandy.enabled" = false; + "app.normandy.api_url" = ""; + "dom.private-attribution.submission.enabled" = false; + "browser.newtabpage.activity-stream.feeds.showWeather" = false; + "browser.newtabpage.activity-stream.feeds.weatherfeed" = false; + + "browser.safebrowsing.malware.enabled" = false; + "browser.safebrowsing.phishing.enabled" = false; + "browser.safebrowsing.downloads.enabled" = false; + "browser.safebrowsing.downloads.remote.enabled" = false; + "browser.safebrowsing.downloads.remote.url" = ""; + "browser.safebrowsing.downloads.remote.block_potentially_unwanted" = false; + "browser.safebrowsing.downloads.remote.block_uncommon" = false; + "browser.safebrowsing.allowOverride" = false; + + "network.prefetch-next" = false; + "network.dns.disablePrefetch" = true; + "network.dns.disablePrefetchFromHTTPS" = true; + "network.predictor.enabled" = false; + "network.predictor.enable-prefetch" = false; + "network.http.speculative-parallel-limit" = 0; + "browser.places.speculativeConnect.enabled" = false; + "browser.send_pings" = false; + + "browser.urlbar.pocket.featureGate" = false; + "browser.urlbar.weather.featureGate" = false; + "browser.urlbar.speculativeConnect.enabled" = false; + "browser.urlbar.suggest.quicksuggest.nonsponsored" = false; + "browser.urlbar.suggest.quicksuggest.sponsored" = false; + "browser.search.suggest.enabled" = false; + "browser.urlbar.suggest.searches" = false; + "browser.urlbar.trending.featureGate" = false; + + "security.ssl.require_safe_negotiation" = true; + "security.remote_settings.crlite_filters.enabled" = true; + "security.pki.crlite_mode" = 2; + + "dom.security.https_only_mode" = true; + "dom.security.https_only_mode_pbm" = true; + "security.ssl.treat_unsafe_negotiation_as_broken" = true; + "browser.xul.error_pages.expert_bad_cert" = true; + "network.http.referer.XOriginTrimmingPolicy" = 2; + + "privacy.userContext.enabled" = true; + "privacy.userContext.ui.enabled" = true; + "privacy.userContext.newTabContainerOnLeftClick.enabled" = true; + + "dom.disable_window_move_resize" = true; + + "browser.uitour.enabled" = false; + + "browser.uitour.url" = ""; + "permissions.manager.defaultsUrl" = ""; + "webchannel.allowObject.urlWhitelist" = ""; + + "network.IDN_show_punycode" = true; + "pdfjs.disabled" = false; + "pdfjs.enableScripting" = false; + "browser.tabs.searchclipboardfor.middleclick" = false; + "browser.download.useDownloadDir" = false; + "browser.download.alwaysOpenPanel" = false; + + "browser.download.manager.addToRecentDocs" = false; + + "browser.download.always_ask_before_handling_new_types" = true; + "privacy.resistFingerprinting" = true; + "privacy.window.maxInnerWidth" = 1600; + "privacy.window.maxInnerHeight" = 900; + "privacy.resistFingerprinting.block_mozAddonManager" = true; + "privacy.resistFingerprinting.letterboxing" = false; + "widget.non-native-theme.enabled" = true; + "browser.link.open_newwindow" = 3; + "browser.link.open_newwindow.restriction" = 0; + "signon.rememberSignons" = false; + "dom.popup_allowed_events" = "click dblclick mousedown pointerdown"; + "browser.pagethumbnails.capturing_disabled" = true; + + "geo.enabled" = false; + "full-screen-api.enabled" = false; + "permissions.default.geo" = 0; + "permissions.default.camera" = 0; + "permissions.default.microphone" = 0; + "permissions.default.desktop-notification" = 0; + "permissions.default.xr" = 0; + }; + userChrome = '' + #TabsToolbar { display: none !important; } + #sidebar-box #sidebar-header { display: none !important; } + * { border-radius: 0px; } + ''; + }; + }; +} diff --git a/home/rices/cinnamon/system.nix b/home/rices/cinnamon/system.nix index 5800da1..96aa1f1 100644 --- a/home/rices/cinnamon/system.nix +++ b/home/rices/cinnamon/system.nix @@ -13,6 +13,7 @@ in { environment.systemPackages = with pkgs; [ xorg.xrandr xclip + gnome-screenshot ]; stylix = { @@ -44,14 +45,6 @@ in { desktop = 11; }; }; - - cursor = { - package = pkgs.bibata-cursors; - name = "Bibata-Modern-Classic"; - size = 24; - }; - polarity = "dark"; - targets.nixos-icons.enable = false; }; } diff --git a/hosts/herra/audio.nix b/hosts/herra/audio.nix index 17bdcbc..2805547 100644 --- a/hosts/herra/audio.nix +++ b/hosts/herra/audio.nix @@ -10,34 +10,34 @@ # Lower audio latency # TODO: Every setup is different, and a lot of factors determine your final latency, like CPU speed, RT/PREEMPTIVE kernels and soundcards supporting different audio formats. That's why 32/48000 isn't always a value that's going to work for everyone. The best way to get everything working is to keep increasing the quant value until you get no crackles (underruns) or until you get audio again (in case there wasn't any). This won't guarantee the lowest possible latency, but will provide a decent one paired with stable audio. - extraConfig = { - pipewire."92-low-latency" = { - "context.properties" = { - "default.clock.rate" = 48000; - "default.clock.quantum" = 32; - "default.clock.min-quantum" = 32; - "default.clock.max-quantum" = 32; # Maybe set this to a max of 128 or 256 (as advised by Jade) - }; - }; - - pipewire-pulse."92-low-latency" = { - context.modules = [ - { - name = "libpipewire-module-protocol-pulse"; - args = { - pulse.min.req = "32/48000"; - pulse.default.req = "32/48000"; - pulse.max.req = "32/48000"; - pulse.min.quantum = "32/48000"; - pulse.max.quantum = "32/48000"; # Maybe set this to a max of 128 or 256 (as advised by Jade) - }; - } - ]; - stream.properties = { - node.latency = "32/48000"; - resample.quality = 1; - }; - }; - }; + # extraConfig = { + # pipewire."92-low-latency" = { + # "context.properties" = { + # "default.clock.rate" = 48000; + # "default.clock.quantum" = 128; + # "default.clock.min-quantum" = 32; + # "default.clock.max-quantum" = 256; # Maybe set this to a max of 128 or 256 (as advised by Jade) + # }; + # }; + # + # pipewire-pulse."92-low-latency" = { + # context.modules = [ + # { + # name = "libpipewire-module-protocol-pulse"; + # args = { + # pulse.min.req = "32/48000"; + # pulse.default.req = "32/48000"; + # pulse.max.req = "32/48000"; + # pulse.min.quantum = "32/48000"; + # pulse.max.quantum = "256/48000"; # Maybe set this to a max of 128 or 256 (as advised by Jade) + # }; + # } + # ]; + # stream.properties = { + # node.latency = "32/48000"; + # resample.quality = 1; + # }; + # }; + # }; }; } diff --git a/hosts/herra/drivers.nix b/hosts/herra/drivers.nix index e731695..27b75ae 100644 --- a/hosts/herra/drivers.nix +++ b/hosts/herra/drivers.nix @@ -2,27 +2,37 @@ services.xserver.videoDrivers = ["amdgpu"]; # AMD GPU drivers boot.kernel.sysctl."kernel.sched_rt_runtime_us" = -1; # Realtime audio - hardware = { + hardware = { graphics = { - enable = true; - enable32Bit = true; # CRITICAL for Steam/Proton - extraPackages = with pkgs; [ - rocmPackages.clr.icd # OpenCL - ]; - extraPackages32 = with pkgs; [ - ]; -}; + enable = true; + enable32Bit = true; # CRITICAL for Steam/Proton + extraPackages = with pkgs; [ + rocmPackages.clr.icd # OpenCL + ]; + extraPackages32 = with pkgs; [ + ]; + }; + + cpu.intel.updateMicrocode = true; -cpu.intel.updateMicrocode = true; + enableRedistributableFirmware = true; + }; + #TODO: FIX + #boot.extraModulePackages = with boot.kernelPackages; [ + # v4l2loopback + #]; + boot.kernelModules = ["v4l2loopback"]; + boot.extraModprobeConfig = '' + options v4l2loopback devices=1 video_nr=1 card_label="OBS Virtual Camera" exclusive_caps=1 + ''; + + systemd.tmpfiles.rules = [ + "w /sys/class/drm/card1/device/power_dpm_force_performance_level - - - - manual" + "w /sys/class/drm/card1/device/pp_dpm_sclk - - - - 7" + "w /sys/class/drm/card1/device/pp_dpm_mclk - - - - 1" + ]; -enableRedistributableFirmware = true; -}; -#TODO: FIX -#boot.extraModulePackages = with boot.kernelPackages; [ -# v4l2loopback -#]; -boot.kernelModules = [ "v4l2loopback" ]; -boot.extraModprobeConfig = '' - options v4l2loopback devices=1 video_nr=1 card_label="OBS Virtual Camera" exclusive_caps=1 -''; + services.udev.extraRules = '' + SUBSYSTEM=="hwmon", ATTRS{name}=="amdgpu", ATTR{power1_cap}="75000000" + ''; } diff --git a/system/programs.nix b/system/programs.nix index 4fdffc3..483b49a 100644 --- a/system/programs.nix +++ b/system/programs.nix @@ -1,5 +1,49 @@ -{...}: { - programs.firefox.enable = true; +{pkgs, ...}: { + programs.firefox = { + enable = true; + languagePacks = ["en-GB" "cs" "sk" "de"]; + policies = { + DefaultDownloadDirectory = "\${home}/Downloads"; + Extensions.Install = map (name: "https://addons.mozilla.org/firefox/downloads/latest/${name}") [ + # Privacy + "ublock-origin" + "privacy-badger17" + "torproject-snowflake" + "clearurls" + "flagfox" + "user-agent-string-switcher" + "facebook-container" + + # QoL + "sidebery" + "onetab" + "bitwarden-password-manager" + + # YouTube + "return-youtube-dislikes" + "sponsorblock" + "youtube-recommended-videos" + "hide-members-only-videos" + + # Theming + "styl-us" + "firefox-color" + "darkreader" + ]; + Extensions.Uninstall = [ + "ddg@search.mozilla.org" + "google@search.mozilla.org" + "bing@search.mozilla.org" + "amazondotcom@search.mozilla.org" + "ebay@search.mozilla.org" + "twitter@search.mozilla.org" + ]; + DisableFirefoxStudies = true; + DisableTelemetry = true; + DisableFeedbackCommands = true; + DisablePocket = true; + }; + }; programs.zsh.enable = true; programs.steam = { |
