diff options
| author | Oromis Foxtail <qwertman783@outlook.com> | 2026-04-22 15:41:50 +0200 |
|---|---|---|
| committer | Oromis Foxtail <qwertman783@outlook.com> | 2026-04-22 15:41:50 +0200 |
| commit | caae37c3de3c62d167f36e4d1a856e940a8c01f2 (patch) | |
| tree | 89f311e461915458ec1c34d600b47ca1577ee140 | |
| parent | c67f2602c12a774a2c63a8daf7fd4e80540fd11a (diff) | |
| parent | b8dfd233dbb16a65235865daf2d3a067ff44bb59 (diff) | |
Merge branch 'main' of 10.0.0.37:/srv/git/NixOS-config
| -rw-r--r-- | flake.nix | 2 | ||||
| -rw-r--r-- | home/mun/programs/firefox.nix | 8 | ||||
| -rw-r--r-- | home/rices/schrottkatze/README.md | 88 | ||||
| -rw-r--r-- | home/rices/schrottkatze/browser.nix | 399 |
4 files changed, 91 insertions, 406 deletions
@@ -98,7 +98,7 @@ }; in { nixosConfigurations = { - kronos = mkSystem "kronos" "schrottkatze"; + kronos = mkSystem "kronos" "nord-blue"; herra = mkSystem "herra" "schrottkatze"; mystra = mkSystem "mystra" "nord-blue"; }; diff --git a/home/mun/programs/firefox.nix b/home/mun/programs/firefox.nix index a0e6893..be732c1 100644 --- a/home/mun/programs/firefox.nix +++ b/home/mun/programs/firefox.nix @@ -2,14 +2,14 @@ home.file = { ".tridactylrc" = { text = '' - set editorcmd kitty hx %f +%l + set editorcmd alacritty hx %f +%l set newtab about:blank ''; }; }; programs.firefox = { enable = true; - package = pkgs.firefox.override { + package = pkgs.librewolf.override { nativeMessagingHosts = [ pkgs.tridactyl-native ]; @@ -19,7 +19,6 @@ Extensions.Install = map (name: "https://addons.mozilla.org/firefox/downloads/latest/${name}") [ "bitwarden-password-manager" "darkreader" - "indie-wiki-buddy" "multi-account-containers" "privacy-badger17" "return-youtube-dislikes" @@ -27,10 +26,7 @@ "styl-us" "tabby-cat-friend" "torproject-snowflake" - "tridactyl-vim" "ublock-origin" - "web-clipper-obsidian" - "web-scrobbler" ]; Extensions.Uninstall = [ "ddg@search.mozilla.org" diff --git a/home/rices/schrottkatze/README.md b/home/rices/schrottkatze/README.md new file mode 100644 index 0000000..9442c65 --- /dev/null +++ b/home/rices/schrottkatze/README.md @@ -0,0 +1,88 @@ +# schrottkatze + +NixOS rice built on **Niri** (Wayland compositor) with **Gruvbox Dark Hard** theming. + + + +## Stack + +| Component | Choice | +|-----------|--------| +| Compositor | [Niri](https://github.com/YaLTeR/niri) (Wayland) | +| Terminal | Kitty (+ Alacritty backup) | +| Bar | [Eww](https://github.com/elkowar/eww) (top + bottom) | +| Launcher | Fuzzel | +| Editor | Helix | +| Browser | Firefox (hardened, Tridactyl) | +| Notifications | Dunst | +| Lock Screen | Swaylock + Swayidle | +| Theme Engine | [Stylix](https://github.com/danth/stylix) | + +## Features + +- **Gruvbox Dark Hard** palette applied system-wide via Stylix +- **Gradient window borders** — pink-to-cyan active, pink-to-orange inactive +- **Custom GLSL window open animation** (`arc.frag` shader) +- **Eww bars** with CPU/RAM/battery monitors, systray, workspace indicators, Mullvad VPN status +- **Decorative pride flag overlays** on both bars +- **Privacy-hardened Firefox** — telemetry disabled, HTTPS-only, fingerprinting resistance, uBlock Origin +- **Screen capture blocking** for sensitive apps (Signal, Element, Discord) +- **Vim-style keybindings** throughout (hjkl navigation in Niri) +- **Czech keyboard layout** with Caps→Escape remap +- **Xwayland support** via `xwayland-satellite` + +## Fonts + +| Role | Font | +|------|------| +| Monospace | Departure Mono Nerd Font | +| Sans-serif | Atkinson Hyperlegible | +| Serif | Linux Libertine O | +| Emoji | Noto Color Emoji | + +## Structure + +``` +. +├── default.nix # Entry point — imports system + home +├── system.nix # System-level config (Niri, Pipewire, Stylix, fonts) +├── home.nix # Home Manager config (packages, GPG agent) +├── browser.nix # Firefox setup, extensions, search engines +├── terminal.nix # Kitty config +├── notifications.nix # Dunst config +├── fuzzel.nix # Launcher config +├── eww.nix # Bar config +├── niri.nix # Niri compositor config (KDL generation) +├── stylix.nix # Theme overrides +├── swayidle.nix # Lock screen integration +├── niri/ +│ ├── wallpaper.jpg +│ ├── arc.frag # Window open animation shader +│ └── kdl/ # Niri config modules +│ ├── binds.kdl # Keybindings +│ ├── style.kdl # Window styling +│ ├── input.kdl # Keyboard/mouse/touchpad +│ ├── quirks.kdl # Per-app window rules +│ ├── privacy.kdl # Screen capture blocks +│ └── ... +└── eww/ + └── configDir/ # Eww bar widgets, scripts, CSS +``` + +## Key Bindings + +| Bind | Action | +|------|--------| +| `Mod+Return` | Kitty | +| `Mod+D` | Fuzzel launcher | +| `Mod+N` | Firefox | +| `Mod+E` | Edit Niri config | +| `Mod+M` | Color picker | +| `Mod+I` | Emoji picker | +| `Mod+hjkl` | Focus window (vim dirs) | +| `Mod+Shift+hjkl` | Move window | +| `Mod+1-9` | Switch workspace | + +## Search Engines (Firefox) + +Kagi (default), DuckDuckGo, Nix Packages, Nix Options, Home Manager Options, NixOS Wiki, Noogle, lib.rs, Rust docs, MDN. diff --git a/home/rices/schrottkatze/browser.nix b/home/rices/schrottkatze/browser.nix deleted file mode 100644 index c2d979d..0000000 --- a/home/rices/schrottkatze/browser.nix +++ /dev/null @@ -1,399 +0,0 @@ -{pkgs, ...}: { - home.file = { - ".tridactylrc" = { - text = '' - set editorcmd kitty hx %f +%l - set newtab about:blank - ''; - }; - }; - programs.firefox = { - enable = true; - package = pkgs.firefox.override { - nativeMessagingHosts = [ - pkgs.tridactyl-native - ]; - }; - policies = { - DefaultDownloadDirectory = "\${home}/Downloads"; - Extensions.Install = map (name: "https://addons.mozilla.org/firefox/downloads/latest/${name}") [ - "bitwarden-password-manager" - "darkreader" - "indie-wiki-buddy" - "kagi-search-for-firefox" - "multi-account-containers" - "privacy-badger17" - "return-youtube-dislikes" - "sponsorblock" - "styl-us" - "tabby-cat-friend" - "torproject-snowflake" - "tridactyl-vim" - "ublock-origin" - "web-clipper-obsidian" - "web-scrobbler" - ]; - 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; - }; - profiles.mun = { - search = { - force = true; - default = "Kagi"; - engines = { - "Kagi".urls = [ - { - template = "https://kagi.com/search"; - params = [ - { - name = "q"; - value = "{searchTerms}"; - } - ]; - } - ]; - "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"]; - }; - "Noogle" = { - urls = [ - { - template = "https://noogle.dev/q"; - params = [ - { - name = "term"; - value = "{searchTerms}"; - } - ]; - } - ]; - definedAliases = ["ngl"]; - }; - "lib.rs" = { - urls = [ - { - template = "https://lib.rs/search"; - params = [ - { - name = "q"; - value = "{searchTerms}"; - } - ]; - } - ]; - definedAliases = ["libs"]; - }; - "rust docs" = { - urls = [ - { - template = "https://docs.rs/releases/search"; - params = [ - { - name = "query"; - value = "{searchTerms}"; - } - ]; - } - ]; - definedAliases = ["docs"]; - }; - "rust docs direct open" = { - urls = [ - { - template = "https://docs.rs/{searchTerms}"; - } - ]; - definedAliases = [ - "rd" - ]; - }; - "rust std docs" = { - urls = [ - { - template = "https://docs.rust-lang.org/std/index.html"; - params = [ - { - name = "search"; - value = "{searchTerms}"; - } - ]; - } - ]; - definedAliases = ["std"]; - }; - "MDN" = { - urls = [ - { - template = "https://developer.mozilla.org/search"; - params = [ - { - name = "q"; - value = "{searchTerms}"; - } - ]; - } - ]; - }; - "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.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" = ""; - "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.resistFingerprinting.pbmode" = true; - "privacy.resistFingerprinting.exemptedDomains" = - let - domains = [ - "bahn.expert" - "flugzeug.expert" - "traewelling.de" - "katzen.cafe" - "catgirl.cloud" - "nekover.se" - "zug.network" - "girlcock.club" - "hamburg.ccc.de" - "codeberg.org" - ]; - in - domains ++ (map (domain: "*." + domain) domains); - "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; - }; - }; - }; -} |
