From 3a3087a226f3f881cce757a9102d0d09a4aa6c27 Mon Sep 17 00:00:00 2001 From: Sean Kovacs Date: Sat, 21 Feb 2026 09:58:07 -0500 Subject: [PATCH] add niri blur --- flake.lock | 50 ++++----- flake.nix | 11 +- home/hosts/peach/default.nix | 5 - home/tiling/niri.nix | 58 ++++++++-- system/default.nix | 209 +++++++++++++++-------------------- 5 files changed, 165 insertions(+), 168 deletions(-) diff --git a/flake.lock b/flake.lock index 0455b04..92e79fd 100644 --- a/flake.lock +++ b/flake.lock @@ -307,8 +307,12 @@ }, "niri": { "inputs": { - "niri-stable": "niri-stable", - "niri-unstable": "niri-unstable", + "niri-stable": [ + "niri-blur" + ], + "niri-unstable": [ + "niri-blur" + ], "nixpkgs": [ "nixpkgs" ], @@ -319,48 +323,33 @@ "xwayland-satellite-unstable": "xwayland-satellite-unstable" }, "locked": { - "lastModified": 1771514840, - "narHash": "sha256-t3WbZvwoDj/75YDX/nwkZuxanZLZaWr9meSfKswaN6g=", - "owner": "sodiboo", + "lastModified": 1771682768, + "narHash": "sha256-RJ9RVJSAktCgWiqLDCjYmx9KgMuLaszUrI28k92Pa2I=", + "owner": "sckova", "repo": "niri-flake", - "rev": "4f69ab280e9bb34e2c0b67fdfa6f0978a170ef56", + "rev": "383bd9d32706b163807b05983418069b2e692310", "type": "github" }, "original": { - "owner": "sodiboo", + "owner": "sckova", + "ref": "feat/blur", "repo": "niri-flake", "type": "github" } }, - "niri-stable": { + "niri-blur": { "flake": false, "locked": { - "lastModified": 1756556321, - "narHash": "sha256-RLD89dfjN0RVO86C/Mot0T7aduCygPGaYbog566F0Qo=", - "owner": "YaLTeR", + "lastModified": 1771672342, + "narHash": "sha256-52CxMRH2kVGpsPBiZM+996b6i/3XkmOrySm5zqwWc+o=", + "owner": "niri-wm", "repo": "niri", - "rev": "01be0e65f4eb91a9cd624ac0b76aaeab765c7294", + "rev": "86f42d1ed9ab787c52ace073e0b3218e26530d25", "type": "github" }, "original": { - "owner": "YaLTeR", - "ref": "v25.08", - "repo": "niri", - "type": "github" - } - }, - "niri-unstable": { - "flake": false, - "locked": { - "lastModified": 1771305475, - "narHash": "sha256-lqweVTwHhYc+9T33cysp38gVwxaibGJHriOPZXWyhCY=", - "owner": "YaLTeR", - "repo": "niri", - "rev": "a2a52911757cb3b497db9407592f9b4c439571ea", - "type": "github" - }, - "original": { - "owner": "YaLTeR", + "owner": "niri-wm", + "ref": "wip/branch", "repo": "niri", "type": "github" } @@ -594,6 +583,7 @@ "catppuccin-discord": "catppuccin-discord", "home-manager": "home-manager", "niri": "niri", + "niri-blur": "niri-blur", "nix-cachyos-kernel": "nix-cachyos-kernel", "nixpkgs": [ "nixpkgs-unstable" diff --git a/flake.nix b/flake.nix index 7ea321f..2311628 100644 --- a/flake.nix +++ b/flake.nix @@ -44,11 +44,16 @@ }; niri = { - url = "github:sodiboo/niri-flake"; + url = "github:sckova/niri-flake/feat/blur"; inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs-stable.follows = "nixpkgs-stable"; - # inputs.niri-stable.follows = "niri-blur"; - # inputs.niri-unstable.follows = "niri-blur"; + inputs.niri-stable.follows = "niri-blur"; + inputs.niri-unstable.follows = "niri-blur"; + }; + + niri-blur = { + url = "github:niri-wm/niri/wip/branch"; + flake = false; }; # niri-blur = { diff --git a/home/hosts/peach/default.nix b/home/hosts/peach/default.nix index 8a3327a..3e0379c 100644 --- a/home/hosts/peach/default.nix +++ b/home/hosts/peach/default.nix @@ -19,11 +19,6 @@ moonlight-qt ]; - # https://github.com/YaLTeR/niri/issues/2330#issuecomment-3256864777 - programs.niri.settings.debug = { - render-drm-device = "/dev/dri/card2"; - }; - programs.noctalia-shell.settings.bar = { position = "top"; density = "spacious"; diff --git a/home/tiling/niri.nix b/home/tiling/niri.nix index c82eeb6..3c29760 100644 --- a/home/tiling/niri.nix +++ b/home/tiling/niri.nix @@ -83,13 +83,11 @@ }; cursor = { hide-when-typing = false; - # hide-after-inactive-ms = 10000; size = config.userOptions.cursor.size; theme = config.userOptions.cursor.name; }; layout = { gaps = 4; - # background-color = base10; background-color = "transparent"; default-column-width = { proportion = 0.5; @@ -121,12 +119,6 @@ softness = 30; color = base11 + "BF"; }; - # blur = { - # enable = true; - # passes = 4; - # radius = 4; - # noise = 0.1; - # }; }; window-rules = [ { @@ -137,7 +129,13 @@ bottom-right = 8.0; }; clip-to-geometry = true; - opacity = 0.975; + opacity = 0.95; + background-effect = { + xray = false; + blur = true; + noise = 0.05; + saturation = 1; + }; } { matches = [ @@ -170,7 +168,7 @@ is-active = false; } ]; - opacity = 0.95; + opacity = 0.925; } { matches = [ @@ -191,11 +189,47 @@ { app-id = "mpv"; } + { + app-id = "firefox"; + title = "Picture-in-Picture"; + } ]; opacity = 1.0; } + { + # Kitty Fastfetch window + matches = [ + { + app-id = "kitty"; + title = "^fastfetch$"; + } + ]; + open-floating = true; + baba-is-float = true; + min-width = 960; + min-height = 480; + max-width = 960; + max-height = 480; + } ]; layer-rules = [ + { + matches = [ { namespace = "noctalia-bar-content-.*"; } ]; + background-effect = { + xray = false; + blur = true; + noise = 0.05; + saturation = 1; + }; + } + { + matches = [ { namespace = "noctalia-bar-exclusion-top-.*"; } ]; + place-within-backdrop = true; + } + { + matches = [ { namespace = "^launcher$"; } ]; + opacity = 0.925; + } { matches = [ { @@ -215,6 +249,10 @@ action.spawn = [ "kitty" ]; hotkey-overlay.title = "Open a Terminal: kitty"; }; + "Mod+Shift+T" = { + action.spawn-sh = [ "kitty --title fastfetch sh -c 'fastfetch; sleep 10'" ]; + hotkey-overlay.title = "Open a Terminal with Fastfetch"; + }; "Mod+Space" = { action.spawn = [ "fuzzel" ]; hotkey-overlay.title = "Run an Application: Noctalia app launcher"; diff --git a/system/default.nix b/system/default.nix index 5f86afb..5b7bcf4 100755 --- a/system/default.nix +++ b/system/default.nix @@ -2,28 +2,16 @@ # your system. Help is available in the configuration.nix(5) man page # and in the NixOS manual (accessible by running ‘nixos-help’). { + config, pkgs, ... }: { - environment.sessionVariables = { - # this makes electron apps work per the wiki - NIXOS_OZONE_WL = "1"; - }; - boot = { - plymouth = { - enable = true; - logo = "${pkgs.nixos-icons}/share/icons/hicolor/64x64/apps/nix-snowflake-white.png"; - }; - + plymouth.enable = true; + plymouth.logo = "${pkgs.nixos-icons}/share/icons/hicolor/64x64/apps/nix-snowflake-white.png"; loader = { timeout = 3; - # systemd-boot = { - # enable = true; - # consoleMode = lib.mkForce "auto"; - # configurationLimit = 10; - # }; limine = { enable = true; maxGenerations = 10; @@ -40,7 +28,6 @@ }; }; }; - # efi.canTouchEfiVariables = true; }; kernelParams = [ "quiet" @@ -55,9 +42,93 @@ initrd.verbose = false; }; - networking.networkmanager.enable = true; - hardware.bluetooth.enable = true; + programs = { + gnupg.agent = { + enable = true; + enableSSHSupport = true; + pinentryPackage = pkgs.pinentry-curses; + }; + niri.enable = true; + niri.package = pkgs.niri-unstable; + dconf.enable = true; + dconf.profiles.user = { + databases = [ + { + # breaks user-level indirect config of dconf + # lockAll = true; + settings = { + "org/gnome/desktop/interface" = { + color-scheme = "prefer-dark"; + clock-format = "12h"; + clock-show-weekday = true; + }; + "org/gnome/desktop/wm/preferences" = { + button-layout = ":"; + action-double-click-titlebar = "'none'"; + }; + "org/gnome/desktop/media-handling" = { + automount = false; + automount-open = false; + autorun-never = true; + }; + "org/gnome/settings-daemon/plugins/power" = { + sleep-inactive-ac-type = "nothing"; + }; + "org/gnome/mutter" = { + edge-tiling = true; + dynamic-workspaces = true; + experimental-features = [ "variable-refresh-rate" ]; + }; + }; + } + ]; + }; + }; + + # aerothemeplasma = { + # enable = true; + # plasma.enable = true; + # fonts.enable = false; + # plymouth.enable = false; + # sddm.enable = true; + # }; + + services = { + desktopManager.plasma6.enable = true; + displayManager = { + sddm.enable = true; + sddm.wayland.enable = true; + defaultSession = "niri"; + }; + gnome.gnome-keyring.enable = true; + libinput.enable = true; + printing.enable = true; + pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + }; + udisks2.enable = true; + gvfs.enable = true; + upower.enable = true; + power-profiles-daemon.enable = true; + openssh.enable = true; + }; + + environment.systemPackages = with pkgs; [ + git + firefoxpwa + ]; + + security.pam.services.niri.enableGnomeKeyring = config.services.gnome.gnome-keyring.enable; + networking.firewall.enable = false; + networking.networkmanager.enable = true; + documentation.man.enable = true; + documentation.man.generateCaches = false; + hardware.graphics.enable = true; + hardware.bluetooth.enable = true; time.timeZone = "America/New_York"; i18n.defaultLocale = "en_US.UTF-8"; i18n.extraLocaleSettings = { @@ -72,108 +143,6 @@ LC_TIME = "en_US.UTF-8"; }; - # Enable OpenGL - hardware.graphics = { - enable = true; - }; - - programs.niri = { - enable = true; - package = pkgs.niri-unstable; - }; - services.gnome.gnome-keyring.enable = true; - security.pam.services.niri.enableGnomeKeyring = true; - programs.dconf.enable = true; - - programs.dconf.profiles.user = { - databases = [ - { - # breaks user-level indirect config of dconf - # lockAll = true; - settings = { - "org/gnome/desktop/interface" = { - color-scheme = "prefer-dark"; - clock-format = "12h"; - clock-show-weekday = true; - }; - "org/gnome/desktop/wm/preferences" = { - button-layout = ":"; - action-double-click-titlebar = "'none'"; - }; - "org/gnome/desktop/media-handling" = { - automount = false; - automount-open = false; - autorun-never = true; - }; - "org/gnome/settings-daemon/plugins/power" = { - sleep-inactive-ac-type = "nothing"; - }; - "org/gnome/mutter" = { - edge-tiling = true; - dynamic-workspaces = true; - experimental-features = [ "variable-refresh-rate" ]; - }; - }; - } - ]; - }; - - aerothemeplasma = { - enable = true; - plasma.enable = true; - fonts.enable = false; - plymouth.enable = false; - sddm.enable = true; - }; - - services = { - # displayManager = { - # gdm.enable = true; - # defaultSession = "niri"; - # }; - desktopManager.plasma6.enable = true; - displayManager = { - sddm.enable = true; - defaultSession = "aerothemeplasma"; - }; - - libinput.enable = true; - printing.enable = true; - pipewire = { - enable = true; - alsa.enable = true; - alsa.support32Bit = true; - pulse.enable = true; - }; - udisks2.enable = true; - gvfs.enable = true; - - upower.enable = true; - power-profiles-daemon.enable = true; - }; - - environment = { - systemPackages = with pkgs; [ - git - firefoxpwa - distrobox - ]; - }; - - programs.gnupg.agent = { - enable = true; - enableSSHSupport = true; - pinentryPackage = pkgs.pinentry-curses; - }; - networking.firewall.enable = false; - - documentation.man = { - enable = true; - generateCaches = false; - }; - - services.openssh.enable = true; - # This value determines the NixOS release from which the default # settings for stateful data, like file locations and database versions # on your system were taken. It‘s perfectly fine and recommended to leave