aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--home/mun/default.nix5
-rw-r--r--home/mun/programs/browser.nix287
-rw-r--r--home/rices/cinnamon/system.nix9
-rw-r--r--hosts/herra/audio.nix58
-rw-r--r--hosts/herra/drivers.nix50
-rw-r--r--system/programs.nix48
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 = {