add niri blur

This commit is contained in:
Sean Kovacs 2026-02-21 09:58:07 -05:00
commit b91bf4779c
Signed by: sckova
GPG key ID: 00F325187C68651A
5 changed files with 165 additions and 168 deletions

50
flake.lock generated
View file

@ -307,8 +307,12 @@
}, },
"niri": { "niri": {
"inputs": { "inputs": {
"niri-stable": "niri-stable", "niri-stable": [
"niri-unstable": "niri-unstable", "niri-blur"
],
"niri-unstable": [
"niri-blur"
],
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
], ],
@ -319,48 +323,33 @@
"xwayland-satellite-unstable": "xwayland-satellite-unstable" "xwayland-satellite-unstable": "xwayland-satellite-unstable"
}, },
"locked": { "locked": {
"lastModified": 1771514840, "lastModified": 1771682768,
"narHash": "sha256-t3WbZvwoDj/75YDX/nwkZuxanZLZaWr9meSfKswaN6g=", "narHash": "sha256-RJ9RVJSAktCgWiqLDCjYmx9KgMuLaszUrI28k92Pa2I=",
"owner": "sodiboo", "owner": "sckova",
"repo": "niri-flake", "repo": "niri-flake",
"rev": "4f69ab280e9bb34e2c0b67fdfa6f0978a170ef56", "rev": "383bd9d32706b163807b05983418069b2e692310",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "sodiboo", "owner": "sckova",
"ref": "feat/blur",
"repo": "niri-flake", "repo": "niri-flake",
"type": "github" "type": "github"
} }
}, },
"niri-stable": { "niri-blur": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1756556321, "lastModified": 1771672342,
"narHash": "sha256-RLD89dfjN0RVO86C/Mot0T7aduCygPGaYbog566F0Qo=", "narHash": "sha256-52CxMRH2kVGpsPBiZM+996b6i/3XkmOrySm5zqwWc+o=",
"owner": "YaLTeR", "owner": "niri-wm",
"repo": "niri", "repo": "niri",
"rev": "01be0e65f4eb91a9cd624ac0b76aaeab765c7294", "rev": "86f42d1ed9ab787c52ace073e0b3218e26530d25",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "YaLTeR", "owner": "niri-wm",
"ref": "v25.08", "ref": "wip/branch",
"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",
"repo": "niri", "repo": "niri",
"type": "github" "type": "github"
} }
@ -594,6 +583,7 @@
"catppuccin-discord": "catppuccin-discord", "catppuccin-discord": "catppuccin-discord",
"home-manager": "home-manager", "home-manager": "home-manager",
"niri": "niri", "niri": "niri",
"niri-blur": "niri-blur",
"nix-cachyos-kernel": "nix-cachyos-kernel", "nix-cachyos-kernel": "nix-cachyos-kernel",
"nixpkgs": [ "nixpkgs": [
"nixpkgs-unstable" "nixpkgs-unstable"

View file

@ -44,11 +44,16 @@
}; };
niri = { niri = {
url = "github:sodiboo/niri-flake"; url = "github:sckova/niri-flake/feat/blur";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
inputs.nixpkgs-stable.follows = "nixpkgs-stable"; inputs.nixpkgs-stable.follows = "nixpkgs-stable";
# inputs.niri-stable.follows = "niri-blur"; inputs.niri-stable.follows = "niri-blur";
# inputs.niri-unstable.follows = "niri-blur"; inputs.niri-unstable.follows = "niri-blur";
};
niri-blur = {
url = "github:niri-wm/niri/wip/branch";
flake = false;
}; };
# niri-blur = { # niri-blur = {

View file

@ -19,11 +19,6 @@
moonlight-qt 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 = { programs.noctalia-shell.settings.bar = {
position = "top"; position = "top";
density = "spacious"; density = "spacious";

View file

@ -83,13 +83,11 @@
}; };
cursor = { cursor = {
hide-when-typing = false; hide-when-typing = false;
# hide-after-inactive-ms = 10000;
size = config.userOptions.cursor.size; size = config.userOptions.cursor.size;
theme = config.userOptions.cursor.name; theme = config.userOptions.cursor.name;
}; };
layout = { layout = {
gaps = 4; gaps = 4;
# background-color = base10;
background-color = "transparent"; background-color = "transparent";
default-column-width = { default-column-width = {
proportion = 0.5; proportion = 0.5;
@ -121,12 +119,6 @@
softness = 30; softness = 30;
color = base11 + "BF"; color = base11 + "BF";
}; };
# blur = {
# enable = true;
# passes = 4;
# radius = 4;
# noise = 0.1;
# };
}; };
window-rules = [ window-rules = [
{ {
@ -137,7 +129,13 @@
bottom-right = 8.0; bottom-right = 8.0;
}; };
clip-to-geometry = true; clip-to-geometry = true;
opacity = 0.975; opacity = 0.95;
background-effect = {
xray = false;
blur = true;
noise = 0.05;
saturation = 1;
};
} }
{ {
matches = [ matches = [
@ -170,7 +168,7 @@
is-active = false; is-active = false;
} }
]; ];
opacity = 0.95; opacity = 0.925;
} }
{ {
matches = [ matches = [
@ -191,11 +189,47 @@
{ {
app-id = "mpv"; app-id = "mpv";
} }
{
app-id = "firefox";
title = "Picture-in-Picture";
}
]; ];
opacity = 1.0; 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 = [ 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 = [ matches = [
{ {
@ -215,6 +249,10 @@
action.spawn = [ "kitty" ]; action.spawn = [ "kitty" ];
hotkey-overlay.title = "Open a Terminal: 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" = { "Mod+Space" = {
action.spawn = [ "fuzzel" ]; action.spawn = [ "fuzzel" ];
hotkey-overlay.title = "Run an Application: Noctalia app launcher"; hotkey-overlay.title = "Run an Application: Noctalia app launcher";

View file

@ -2,28 +2,16 @@
# your system. Help is available in the configuration.nix(5) man page # your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help). # and in the NixOS manual (accessible by running nixos-help).
{ {
config,
pkgs, pkgs,
... ...
}: }:
{ {
environment.sessionVariables = {
# this makes electron apps work per the wiki
NIXOS_OZONE_WL = "1";
};
boot = { boot = {
plymouth = { plymouth.enable = true;
enable = true; plymouth.logo = "${pkgs.nixos-icons}/share/icons/hicolor/64x64/apps/nix-snowflake-white.png";
logo = "${pkgs.nixos-icons}/share/icons/hicolor/64x64/apps/nix-snowflake-white.png";
};
loader = { loader = {
timeout = 3; timeout = 3;
# systemd-boot = {
# enable = true;
# consoleMode = lib.mkForce "auto";
# configurationLimit = 10;
# };
limine = { limine = {
enable = true; enable = true;
maxGenerations = 10; maxGenerations = 10;
@ -40,7 +28,6 @@
}; };
}; };
}; };
# efi.canTouchEfiVariables = true;
}; };
kernelParams = [ kernelParams = [
"quiet" "quiet"
@ -55,9 +42,93 @@
initrd.verbose = false; initrd.verbose = false;
}; };
networking.networkmanager.enable = true; programs = {
hardware.bluetooth.enable = true; 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"; time.timeZone = "America/New_York";
i18n.defaultLocale = "en_US.UTF-8"; i18n.defaultLocale = "en_US.UTF-8";
i18n.extraLocaleSettings = { i18n.extraLocaleSettings = {
@ -72,108 +143,6 @@
LC_TIME = "en_US.UTF-8"; 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 # This value determines the NixOS release from which the default
# settings for stateful data, like file locations and database versions # settings for stateful data, like file locations and database versions
# on your system were taken. Its perfectly fine and recommended to leave # on your system were taken. Its perfectly fine and recommended to leave