From e73494dfb437e1d2160c61d69de2a880ae2a001c Mon Sep 17 00:00:00 2001 From: Sean Kovacs Date: Fri, 20 Feb 2026 14:56:55 -0500 Subject: [PATCH 01/33] switch from wpaperd to mpvpaper --- home/tiling/niri.nix | 16 +++++++++++++++- home/tiling/wallpaper.nix | 25 +++++++------------------ 2 files changed, 22 insertions(+), 19 deletions(-) diff --git a/home/tiling/niri.nix b/home/tiling/niri.nix index 470b1a2..4d9ba5b 100644 --- a/home/tiling/niri.nix +++ b/home/tiling/niri.nix @@ -138,7 +138,7 @@ bottom-right = 8.0; }; clip-to-geometry = true; - opacity = 1.0; + opacity = 0.975; } { matches = [ @@ -159,9 +159,20 @@ { app-id = "vesktop$"; } + { + app-id = "org.gnome.Nautilus$"; + } ]; block-out-from = "screen-capture"; } + { + matches = [ + { + is-active = false; + } + ]; + opacity = 0.95; + } { matches = [ { @@ -183,6 +194,9 @@ { namespace = "^wpaperd.*"; } + { + namespace = "^mpvpaper"; + } ]; place-within-backdrop = true; } diff --git a/home/tiling/wallpaper.nix b/home/tiling/wallpaper.nix index 47377f7..3b2f783 100644 --- a/home/tiling/wallpaper.nix +++ b/home/tiling/wallpaper.nix @@ -1,24 +1,9 @@ { pkgs, - config, ... }: { - home.packages = with pkgs; [ - wpaperd - ]; - - home.file.".config/wpaperd/config.toml" = { - text = '' - [default] - mode = "center" - [any] - path = "/home/${config.userOptions.username}/.local/share/wallpaper/daily.jpg" - ''; - force = true; - }; - - systemd.user.services.wpaperd = { + systemd.user.services.mpvpaper = { Unit = { Description = "Modern wallpaper daemon for Wayland"; PartOf = [ "niri.service" ]; @@ -26,7 +11,11 @@ After = [ "niri.service" ]; }; Service = { - ExecStart = "${pkgs.wpaperd}/bin/wpaperd"; + ExecStart = '' + ${pkgs.mpvpaper}/bin/mpvpaper '*' \ + '/home/sckova/.local/share/wallpaper/daily.jpg' \ + -o '--keep-open=always --save-position-on-quit' \ + ''; }; Install = { WantedBy = [ "niri.service" ]; @@ -59,7 +48,7 @@ -i preferences-desktop-wallpaper \ "$TITLE" ''; - ExecStartPost = "${pkgs.systemd}/bin/systemctl --user restart wpaperd.service"; + ExecStartPost = "${pkgs.systemd}/bin/systemctl --user restart mpvpaper.service"; }; Install = { WantedBy = [ "niri.service" ]; From c7f6ce0672a8533908304d2c4d9dac451d1f8fa7 Mon Sep 17 00:00:00 2001 From: Sean Kovacs Date: Fri, 20 Feb 2026 16:43:31 -0500 Subject: [PATCH 02/33] move searxng to port 5364 --- home/apps/firefox.nix | 4 ++-- system/searxng/default.nix | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/home/apps/firefox.nix b/home/apps/firefox.nix index 402c099..1a3298c 100644 --- a/home/apps/firefox.nix +++ b/home/apps/firefox.nix @@ -207,7 +207,7 @@ "browser.newtabpage.activity-stream.showSponsoredTopSites" = false; "browser.newtabpage.activity-stream.showWeather" = false; "browser.download.autoHideButton" = false; - "browser.startup.homepage" = "http://localhost:8080/"; + "browser.startup.homepage" = "http://localhost:5364/"; # Disable Firefox's machine learning (AI) features "browser.ml.enable" = false; @@ -369,7 +369,7 @@ searxng = { name = "SearXNG"; - urls = [ { template = "http://localhost:8080/search?q={searchTerms}"; } ]; + urls = [ { template = "http://localhost:5364/search?q={searchTerms}"; } ]; icon = searchIcon; definedAliases = [ "@go" ]; }; diff --git a/system/searxng/default.nix b/system/searxng/default.nix index 75161b5..9aed6d4 100644 --- a/system/searxng/default.nix +++ b/system/searxng/default.nix @@ -16,7 +16,7 @@ pkgs.runCommand "gen-key" { buildInputs = [ pkgs.openssl ]; } "openssl rand -hex 32 > $out" ) ); - port = 8080; + port = 5364; bind_address = "127.0.0.1"; }; From c6ffebfdb7dc7266f0ab543c97fb38134199c3c0 Mon Sep 17 00:00:00 2001 From: Sean Kovacs Date: Fri, 20 Feb 2026 16:44:06 -0500 Subject: [PATCH 03/33] add torrenting config --- flake.nix | 1 + home/default.nix | 1 - system/torrenting/default.nix | 53 +++++++++++++++++++++++++++++++++++ 3 files changed, 54 insertions(+), 1 deletion(-) create mode 100644 system/torrenting/default.nix diff --git a/flake.nix b/flake.nix index c0ea05a..9c71229 100644 --- a/flake.nix +++ b/flake.nix @@ -215,6 +215,7 @@ } ./system ./system/searxng + ./system/torrenting ./system/widevine ./system/shell/fish.nix ./system/tailscale diff --git a/home/default.nix b/home/default.nix index dafbbba..f714d1c 100755 --- a/home/default.nix +++ b/home/default.nix @@ -48,7 +48,6 @@ libreoffice-qt-fresh # nur.repos.forkprince.helium-nightly chromium - qbittorrent nautilus fractal tuba diff --git a/system/torrenting/default.nix b/system/torrenting/default.nix new file mode 100644 index 0000000..5498a13 --- /dev/null +++ b/system/torrenting/default.nix @@ -0,0 +1,53 @@ +{ + lib, + config, + pkgs, + ... +}: +{ + users.users.sckova.extraGroups = [ "qbittorrent" ]; + services = { + qbittorrent = { + enable = true; + serverConfig = { + Preferences = { + Advanced.useSystemIconTheme = true; + General = { + CloseToTray = false; + CloseToTrayNotified = true; + ExitConfirm = false; + Locale = "en"; + }; + WebUI = { + Address = "*"; + Enabled = true; + Port = 9697; + UseUPnP = false; + }; + BitTorrent = { + SessionGlobalDLSpeedLimit = 0; + GlobalUPSpeedLimit = 0; + Port = 42578; + QueueingSystemEnabled = false; + SSL.Port = 63114; + StartPaused = false; + }; + }; + }; + }; + flaresolverr = { + enable = true; + port = 8191; + }; + prowlarr = { + enable = true; + settings = { + server = { + urlbase = "localhost"; + port = 9696; + bindaddress = "*"; + }; + }; + }; + }; +} From 517866ad2d010ce4a69ef33c019848baf81064c6 Mon Sep 17 00:00:00 2001 From: Sean Kovacs Date: Fri, 20 Feb 2026 18:30:49 -0500 Subject: [PATCH 04/33] fix: wallpaper aspect ratio --- home/tiling/wallpaper.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/home/tiling/wallpaper.nix b/home/tiling/wallpaper.nix index 3b2f783..a48ca38 100644 --- a/home/tiling/wallpaper.nix +++ b/home/tiling/wallpaper.nix @@ -13,8 +13,8 @@ Service = { ExecStart = '' ${pkgs.mpvpaper}/bin/mpvpaper '*' \ - '/home/sckova/.local/share/wallpaper/daily.jpg' \ - -o '--keep-open=always --save-position-on-quit' \ + '/home/sckova/.local/share/wallpaper/daily.jpg' -o \ + '--keep-open=always --save-position-on-quit --panscan=1.0' \ ''; }; Install = { From bb439c58d568e8d71545b5f3cb2da1599512506d Mon Sep 17 00:00:00 2001 From: Sean Kovacs Date: Fri, 20 Feb 2026 21:56:56 -0500 Subject: [PATCH 05/33] switch from mpvpaper to awww, refactor wallpaper --- flake.lock | 62 +++++++++++++++++++- flake.nix | 7 +++ home/tiling/niri.nix | 11 +++- home/tiling/noctalia.nix | 6 +- home/tiling/wallpaper.nix | 115 ++++++++++++++++++++------------------ 5 files changed, 142 insertions(+), 59 deletions(-) diff --git a/flake.lock b/flake.lock index d7f64b0..0455b04 100644 --- a/flake.lock +++ b/flake.lock @@ -40,6 +40,28 @@ "type": "github" } }, + "awww": { + "inputs": { + "flake-compat": "flake-compat_2", + "nixpkgs": [ + "nixpkgs" + ], + "rust-overlay": "rust-overlay" + }, + "locked": { + "lastModified": 1770895252, + "narHash": "sha256-TUGZVDcC5xsrWVnpBNosAG1cTy+aWchCWXPyeLZdnGM=", + "ref": "refs/heads/main", + "rev": "2c86d41d07471f518e24f5cd1f586e4d2a32d12c", + "revCount": 1331, + "type": "git", + "url": "https://codeberg.org/LGFae/awww.git" + }, + "original": { + "type": "git", + "url": "https://codeberg.org/LGFae/awww.git" + } + }, "base16": { "inputs": { "fromYaml": "fromYaml" @@ -138,6 +160,22 @@ } }, "flake-compat_2": { + "flake": false, + "locked": { + "lastModified": 1761588595, + "narHash": "sha256-XKUZz9zewJNUj46b4AJdiRZJAvSZ0Dqj2BNfXvFlJC4=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "f387cd2afec9419c8ee37694406ca490c3f34ee5", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_3": { "flake": false, "locked": { "lastModified": 1767039857, @@ -331,7 +369,7 @@ "inputs": { "cachyos-kernel": "cachyos-kernel", "cachyos-kernel-patches": "cachyos-kernel-patches", - "flake-compat": "flake-compat_2", + "flake-compat": "flake-compat_3", "flake-parts": "flake-parts_2", "nixpkgs": "nixpkgs_2" }, @@ -550,6 +588,7 @@ "inputs": { "aerothemeplasma-nix": "aerothemeplasma-nix", "apple-silicon": "apple-silicon", + "awww": "awww", "base16": "base16", "base16-discord": "base16-discord", "catppuccin-discord": "catppuccin-discord", @@ -570,6 +609,27 @@ "tt-schemes": "tt-schemes" } }, + "rust-overlay": { + "inputs": { + "nixpkgs": [ + "awww", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1764038373, + "narHash": "sha256-M6w2wNBRelcavoDAyFL2iO4NeWknD40ASkH1S3C0YGM=", + "owner": "oxalica", + "repo": "rust-overlay", + "rev": "ab3536fe850211a96673c6ffb2cb88aab8071cc9", + "type": "github" + }, + "original": { + "owner": "oxalica", + "repo": "rust-overlay", + "type": "github" + } + }, "spicetify-nix": { "inputs": { "nixpkgs": [ diff --git a/flake.nix b/flake.nix index 9c71229..7ea321f 100644 --- a/flake.nix +++ b/flake.nix @@ -81,6 +81,11 @@ # inputs.nixpkgs.follows = "nixpkgs"; }; + awww = { + url = "git+https://codeberg.org/LGFae/awww.git"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + openmw = { url = "gitlab:OpenMW/openmw"; flake = false; @@ -109,6 +114,7 @@ nur, nixvim, apple-silicon, + awww, openmw, catppuccin-discord, ... @@ -152,6 +158,7 @@ niri.overlays.niri noctalia.overlays.default nur.overlays.default + awww.overlays.default (final: prev: { openmw-git = openmw; catppuccin-discord-git = catppuccin-discord; diff --git a/home/tiling/niri.nix b/home/tiling/niri.nix index 4d9ba5b..c82eeb6 100644 --- a/home/tiling/niri.nix +++ b/home/tiling/niri.nix @@ -29,7 +29,6 @@ input = { focus-follows-mouse.enable = true; focus-follows-mouse.max-scroll-amount = "0%"; - warp-mouse-to-focus.enable = true; mod-key = "Super"; keyboard = { numlock = false; @@ -187,6 +186,14 @@ open-maximized = true; open-focused = true; } + { + matches = [ + { + app-id = "mpv"; + } + ]; + opacity = 1.0; + } ]; layer-rules = [ { @@ -195,7 +202,7 @@ namespace = "^wpaperd.*"; } { - namespace = "^mpvpaper"; + namespace = "^awww-daemon"; } ]; place-within-backdrop = true; diff --git a/home/tiling/noctalia.nix b/home/tiling/noctalia.nix index 719dda0..b930511 100644 --- a/home/tiling/noctalia.nix +++ b/home/tiling/noctalia.nix @@ -63,7 +63,7 @@ bar = { autoHideDelay = 500; autoShowDelay = 150; - backgroundOpacity = 1; + backgroundOpacity = 0.975; monitors = [ ]; showCapsule = true; barType = "simple"; @@ -79,7 +79,7 @@ outerCorners = false; screenOverrides = [ ]; showOutline = false; - useSeparateOpacity = false; + useSeparateOpacity = true; widgets = { center = [ ]; left = [ @@ -206,7 +206,7 @@ deviceNativePath = "__default__"; displayMode = "icon-hover"; hideIfIdle = false; - hideIfNotDetected = false; + hideIfNotDetected = true; id = "Battery"; showNoctaliaPerformance = false; showPowerProfiles = true; diff --git a/home/tiling/wallpaper.nix b/home/tiling/wallpaper.nix index a48ca38..9482de3 100644 --- a/home/tiling/wallpaper.nix +++ b/home/tiling/wallpaper.nix @@ -3,68 +3,77 @@ ... }: { - systemd.user.services.mpvpaper = { - Unit = { - Description = "Modern wallpaper daemon for Wayland"; - PartOf = [ "niri.service" ]; - Requires = [ "niri.service" ]; - After = [ "niri.service" ]; - }; - Service = { - ExecStart = '' - ${pkgs.mpvpaper}/bin/mpvpaper '*' \ - '/home/sckova/.local/share/wallpaper/daily.jpg' -o \ - '--keep-open=always --save-position-on-quit --panscan=1.0' \ - ''; - }; - Install = { - WantedBy = [ "niri.service" ]; - }; + systemd.user.services.awww-daemon = { + Unit.Description = "Wallpaper service using awww (daemon)"; + Service.ExecStart = "${pkgs.awww}/bin/awww-daemon"; + Unit.After = [ "graphical-session.target" ]; + Unit.PartOf = [ "graphical-session.target" ]; + Install.WantedBy = [ "graphical-session.target" ]; + }; + + systemd.user.services.awww-setter = { + Unit.Description = "Wallpaper service using awww (setter)"; + Unit.Requires = [ "awww-daemon.service" ]; + Unit.After = [ "awww-daemon.service" ]; + Service.Type = "oneshot"; + Service.ExecStart = '' + ${pkgs.awww}/bin/awww img \ + %h/.local/share/wallpaper/daily.jpg \ + --transition-step 2 \ + --transition-fps 60 + ''; }; systemd.user.services.bing-wallpaper = { - Unit = { - Description = "Download and set Bing wallpaper of the day"; - After = [ "network-online.target" ]; - Wants = [ "network-online.target" ]; - }; - Service = { - Type = "oneshot"; - ExecStart = pkgs.writeShellScript "bing-wallpaper" '' - OUT="''${XDG_DATA_HOME:-$HOME/.local/share}/wallpaper/daily.jpg" + Unit.Description = "Download and set Bing wallpaper of the day"; + Unit.StartLimitBurst = 5; + Unit.StartLimitIntervalSec = "10m"; + Service.Restart = "on-failure"; + Service.RestartSec = "1m"; + Service.Type = "oneshot"; + Service.ExecStart = pkgs.lib.getExe ( + pkgs.writeShellApplication { + name = "bing-wallpaper"; + runtimeInputs = with pkgs; [ + wget + jq + coreutils + libnotify + ]; + text = '' + set -euo pipefail - API_RESP=$(${pkgs.wget}/bin/wget -qO- "https://www.bing.com/HPImageArchive.aspx?format=js&idx=0&mkt=en-US&n=1") || exit 1 + OUT_DIR="''${XDG_DATA_HOME:-$HOME/.local/share}/wallpaper" + OUT_FILE="$OUT_DIR/daily.jpg" - URL_BASE=$(echo "$API_RESP" | ${pkgs.gnugrep}/bin/grep -oP 'urlbase":"[^"]*' | cut -d '"' -f 3) - TITLE=$(echo "$API_RESP" | ${pkgs.gnugrep}/bin/grep -oP 'title":"[^"]*' | cut -d '"' -f 3) + API_URL="https://www.bing.com/HPImageArchive.aspx?format=js&idx=0&mkt=en-US&n=1" + API_RESP=$(wget -qO- "$API_URL") - ${pkgs.coreutils}/bin/mkdir -p "$(dirname "$OUT")" - ${pkgs.wget}/bin/wget -qO "$OUT" "https://www.bing.com$URL_BASE\_UHD.jpg" || \ - ${pkgs.wget}/bin/wget -qO "$OUT" "https://www.bing.com$(echo "$API_RESP" | ${pkgs.gnugrep}/bin/grep -oP 'url":"[^"]*' | cut -d '"' -f 3)" + URL_BASE=$(echo "$API_RESP" | jq -r '.images[0].urlbase') + URL_FALLBACK=$(echo "$API_RESP" | jq -r '.images[0].url') + TITLE=$(echo "$API_RESP" | jq -r '.images[0].title') - ${pkgs.libnotify}/bin/notify-send \ - -a "Bing Wallpaper Service" \ - -u low \ - -i preferences-desktop-wallpaper \ - "$TITLE" - ''; - ExecStartPost = "${pkgs.systemd}/bin/systemctl --user restart mpvpaper.service"; - }; - Install = { - WantedBy = [ "niri.service" ]; - }; + mkdir -p "$OUT_DIR" + + if ! wget -qO "$OUT_FILE" "https://www.bing.com''${URL_BASE}_UHD.jpg"; then + wget -qO "$OUT_FILE" "https://www.bing.com$URL_FALLBACK" + fi + + notify-send \ + -a "wallpaper of the day" \ + -u low \ + -i preferences-desktop-wallpaper \ + "$TITLE" + ''; + } + ); + Service.ExecStartPost = "${pkgs.systemd}/bin/systemctl --user restart awww-setter.service"; }; systemd.user.timers.bing-wallpaper = { - Unit = { - Description = "Run bing wallpaper retrieval daily"; - }; - Timer = { - OnCalendar = "*-*-* 10:00:00 GMT"; - Persistent = true; - }; - Install = { - WantedBy = [ "timers.target" ]; - }; + Unit.Description = "Run bing wallpaper retrieval daily"; + Timer.OnCalendar = "*-*-* 10:00:00 GMT"; + Timer.Persistent = true; + Install.WantedBy = [ "timers.target" ]; }; } From c7015f7244116b810cbb15a960f5280879e9345c Mon Sep 17 00:00:00 2001 From: Sean Kovacs Date: Fri, 20 Feb 2026 22:01:49 -0500 Subject: [PATCH 06/33] peach: frappe -> mocha --- home/hosts/peach/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/hosts/peach/default.nix b/home/hosts/peach/default.nix index 1415982..8a3327a 100644 --- a/home/hosts/peach/default.nix +++ b/home/hosts/peach/default.nix @@ -6,7 +6,7 @@ }: { colors = { - scheme = "catppuccin-latte"; + scheme = "catppuccin-mocha"; accent = "base09"; }; From 151f574d25f690b29853bdb1cf8eb83c1a7dba4e Mon Sep 17 00:00:00 2001 From: Sean Kovacs Date: Sat, 21 Feb 2026 09:48:03 -0500 Subject: [PATCH 07/33] make systemd services more robust --- home/services/systemd.nix | 55 +++------------------------------------ home/tiling/wallpaper.nix | 7 +++-- 2 files changed, 7 insertions(+), 55 deletions(-) diff --git a/home/services/systemd.nix b/home/services/systemd.nix index 5dd3a94..5e1d681 100644 --- a/home/services/systemd.nix +++ b/home/services/systemd.nix @@ -28,16 +28,14 @@ Description = "Mount Synology NAS with Rclone and Home Manager."; After = [ "tailscaled.service" ]; Wants = [ "tailscaled.service" ]; + StartLimitBurst = 5; + StartLimitIntervalSec = "1m"; }; Service = { Type = "simple"; - # ExecStartPre = "${pkgs.writeShellScript "synology-prep" '' - # if mountpoint -q %h/Synology; then - # /run/wrappers/bin/fusermount -uz %h/Synology - # fi - # ${pkgs.coreutils}/bin/mkdir -p %h/Synology - # ''}"; + Restart = "on-failure"; + RestartSec = "1m"; ExecStart = "${pkgs.writeShellScript "synology-mount" '' #!/usr/bin/env bash set -euo pipefail @@ -65,49 +63,4 @@ WantedBy = [ "default.target" ]; }; }; - - # systemd.user.services.synology-prefill = { - # Unit = { - # Description = "Prefill Synology NAS rclone cache"; - # After = [ "synology-mount.service" ]; - # Wants = [ "synology-mount.service" ]; - # }; - - # Service = { - # Type = "simple"; - # ExecStart = "${pkgs.writeShellScript "synology-prefill" '' - # #!/usr/bin/env bash - # set -euo pipefail - # ${pkgs.rclone}/bin/rclone rc vfs/refresh -v --fast-list recursive=true >/dev/null - # ''}"; - # StandardOutput = "journal"; - # StandardError = "journal"; - # Restart = "on-failure"; - # }; - - # Install = { - # WantedBy = [ "default.target" ]; - # }; - # }; - - # systemd.user.services.input-leap = { - # Unit = { - # Description = "Autostart Input Leap"; - # After = [ "graphical-session.target" ]; - # }; - - # Service = { - # Type = "oneshot"; - # RemainAfterExit = true; - # PassEnvironment = "DISPLAY"; - # ExecStart = "${pkgs.writeShellScript "input-leap-start" '' - # sleep 5 - # ${pkgs.input-leap}/bin/input-leap - # ''}"; - # }; - - # Install = { - # WantedBy = [ "graphical-session.target" ]; - # }; - # }; } diff --git a/home/tiling/wallpaper.nix b/home/tiling/wallpaper.nix index 9482de3..2f11288 100644 --- a/home/tiling/wallpaper.nix +++ b/home/tiling/wallpaper.nix @@ -6,8 +6,6 @@ systemd.user.services.awww-daemon = { Unit.Description = "Wallpaper service using awww (daemon)"; Service.ExecStart = "${pkgs.awww}/bin/awww-daemon"; - Unit.After = [ "graphical-session.target" ]; - Unit.PartOf = [ "graphical-session.target" ]; Install.WantedBy = [ "graphical-session.target" ]; }; @@ -26,10 +24,10 @@ systemd.user.services.bing-wallpaper = { Unit.Description = "Download and set Bing wallpaper of the day"; - Unit.StartLimitBurst = 5; + Unit.StartLimitBurst = 6; Unit.StartLimitIntervalSec = "10m"; Service.Restart = "on-failure"; - Service.RestartSec = "1m"; + Service.RestartSec = "10s"; Service.Type = "oneshot"; Service.ExecStart = pkgs.lib.getExe ( pkgs.writeShellApplication { @@ -68,6 +66,7 @@ } ); Service.ExecStartPost = "${pkgs.systemd}/bin/systemctl --user restart awww-setter.service"; + Install.WantedBy = [ "graphical-session.target" ]; }; systemd.user.timers.bing-wallpaper = { From 3a3087a226f3f881cce757a9102d0d09a4aa6c27 Mon Sep 17 00:00:00 2001 From: Sean Kovacs Date: Sat, 21 Feb 2026 09:58:07 -0500 Subject: [PATCH 08/33] 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 From 1f70f24fe0805e12501f276e6b7bc3be0f6cc46b Mon Sep 17 00:00:00 2001 From: Sean Kovacs Date: Sat, 21 Feb 2026 20:00:16 -0500 Subject: [PATCH 09/33] refactor session vars --- home/games/morrowind.nix | 9 ++------- home/services/default.nix | 2 ++ home/terminal/neovim.nix | 5 ++--- 3 files changed, 6 insertions(+), 10 deletions(-) diff --git a/home/games/morrowind.nix b/home/games/morrowind.nix index be92688..ff85bab 100644 --- a/home/games/morrowind.nix +++ b/home/games/morrowind.nix @@ -1,15 +1,10 @@ { - config, pkgs, ... }: { - home = { - packages = with pkgs; [ openmw ]; - sessionVariables = { - SDL_VIDEO_DRIVER = "wayland"; - }; - }; + home.packages = with pkgs; [ openmw ]; + home.sessionVariables.SDL_VIDEO_DRIVER = "wayland"; programs.firefox.profiles.default.search.engines.uesp = { name = "Unofficial Elder Scrolls Pages"; diff --git a/home/services/default.nix b/home/services/default.nix index d38c136..a0ff910 100644 --- a/home/services/default.nix +++ b/home/services/default.nix @@ -31,6 +31,8 @@ home.sessionVariables = { QT_QPA_PLATFORMTHEME = "qt6ct"; + # this makes electron apps work per the wiki + NIXOS_OZONE_WL = "1"; }; gtk = { diff --git a/home/terminal/neovim.nix b/home/terminal/neovim.nix index 65ace66..f45e453 100644 --- a/home/terminal/neovim.nix +++ b/home/terminal/neovim.nix @@ -1,12 +1,11 @@ { pkgs, config, + lib, ... }: { - home.sessionVariables = { - EDITOR = "nvim"; - }; + home.sessionVariables.EDITOR = lib.mkForce "kitty nvim"; home.packages = with pkgs; [ kdePackages.qtdeclarative From 31cf5145c537eb0f7d241caec1cd83e262cfd34d Mon Sep 17 00:00:00 2001 From: Sean Kovacs Date: Sun, 22 Feb 2026 11:48:53 -0500 Subject: [PATCH 10/33] wallpaper updates in prep to switch to wbg --- home/tiling/wallpaper.nix | 28 +++++++++------------------- 1 file changed, 9 insertions(+), 19 deletions(-) diff --git a/home/tiling/wallpaper.nix b/home/tiling/wallpaper.nix index 2f11288..e3e8bad 100644 --- a/home/tiling/wallpaper.nix +++ b/home/tiling/wallpaper.nix @@ -6,7 +6,7 @@ systemd.user.services.awww-daemon = { Unit.Description = "Wallpaper service using awww (daemon)"; Service.ExecStart = "${pkgs.awww}/bin/awww-daemon"; - Install.WantedBy = [ "graphical-session.target" ]; + Install.WantedBy = [ "niri.service" ]; }; systemd.user.services.awww-setter = { @@ -39,26 +39,16 @@ libnotify ]; text = '' - set -euo pipefail + OUT="$HOME/.local/share/wallpaper/daily.jpg" + API=$(wget -qO- "https://www.bing.com/HPImageArchive.aspx?format=js&idx=0&mkt=en-US&n=1") + BASE=$(echo "$API" | jq -r '.images[0].urlbase') + TITLE=$(echo "$API" | jq -r '.images[0].title') - OUT_DIR="''${XDG_DATA_HOME:-$HOME/.local/share}/wallpaper" - OUT_FILE="$OUT_DIR/daily.jpg" - - API_URL="https://www.bing.com/HPImageArchive.aspx?format=js&idx=0&mkt=en-US&n=1" - API_RESP=$(wget -qO- "$API_URL") - - URL_BASE=$(echo "$API_RESP" | jq -r '.images[0].urlbase') - URL_FALLBACK=$(echo "$API_RESP" | jq -r '.images[0].url') - TITLE=$(echo "$API_RESP" | jq -r '.images[0].title') - - mkdir -p "$OUT_DIR" - - if ! wget -qO "$OUT_FILE" "https://www.bing.com''${URL_BASE}_UHD.jpg"; then - wget -qO "$OUT_FILE" "https://www.bing.com$URL_FALLBACK" - fi + mkdir -p "$HOME/.local/share/wallpaper" + wget -qO "$OUT" "https://www.bing.com''${BASE}_UHD.jpg" notify-send \ - -a "wallpaper of the day" \ + -a "Wallpaper of the day" \ -u low \ -i preferences-desktop-wallpaper \ "$TITLE" @@ -66,7 +56,7 @@ } ); Service.ExecStartPost = "${pkgs.systemd}/bin/systemctl --user restart awww-setter.service"; - Install.WantedBy = [ "graphical-session.target" ]; + Install.WantedBy = [ "niri.service" ]; }; systemd.user.timers.bing-wallpaper = { From 57cb143c3af48707bb7ca7c64619fcaaecada726 Mon Sep 17 00:00:00 2001 From: Sean Kovacs Date: Sun, 22 Feb 2026 11:49:11 -0500 Subject: [PATCH 11/33] reformat niri --- home/tiling/niri.nix | 65 ++++++++++++---------------------------- home/tiling/noctalia.nix | 4 +-- 2 files changed, 20 insertions(+), 49 deletions(-) diff --git a/home/tiling/niri.nix b/home/tiling/niri.nix index 3c29760..d9c07fe 100644 --- a/home/tiling/niri.nix +++ b/home/tiling/niri.nix @@ -1,6 +1,5 @@ { config, - pkgs, ... }: { @@ -181,7 +180,7 @@ title = "Minecraft"; } ]; - open-maximized = true; + open-maximized-to-edges = true; open-focused = true; } { @@ -214,7 +213,7 @@ ]; layer-rules = [ { - matches = [ { namespace = "noctalia-bar-content-.*"; } ]; + matches = [ { namespace = "noctalia-bar-content-.*$"; } ]; background-effect = { xray = false; blur = true; @@ -223,21 +222,23 @@ }; } { - matches = [ { namespace = "noctalia-bar-exclusion-top-.*"; } ]; + matches = [ { namespace = "noctalia-bar-exclusion-top-.*$"; } ]; place-within-backdrop = true; } { matches = [ { namespace = "^launcher$"; } ]; opacity = 0.925; + background-effect = { + xray = false; + blur = true; + noise = 0.05; + saturation = 1; + }; } { matches = [ - { - namespace = "^wpaperd.*"; - } - { - namespace = "^awww-daemon"; - } + { namespace = "^wpaperd.*"; } + { namespace = "^awww-daemon"; } ]; place-within-backdrop = true; } @@ -401,29 +402,13 @@ allow-when-locked = true; }; - "XF86Sleep" = { - action.power-off-monitors = { }; - }; + "XF86Sleep".action.power-off-monitors = { }; - "XF86Search" = { - action.spawn = [ - "noctalia-shell" - "ipc" - "call" - "launcher" - "toggle" - ]; - allow-when-locked = true; - }; + "XF86Search".action.spawn = [ "fuzzel" ]; "XF86LaunchA" = { - action.spawn = [ - "niri" - "msg" - "action" - "toggle-overview" - ]; - allow-when-locked = true; + action.toggle-overview = { }; + repeat = false; }; "Mod+O" = { @@ -551,18 +536,14 @@ "Mod+Ctrl+Shift+F".action.fullscreen-window = { }; "Mod+C".action.center-column = { }; - "Mod+Ctrl+C".action.center-visible-columns = { }; "Mod+Minus".action.set-column-width = "-10%"; "Mod+Equal".action.set-column-width = "+10%"; - "Mod+Shift+Minus".action.set-window-height = "-10%"; "Mod+Shift+Equal".action.set-window-height = "+10%"; - "Mod+Ctrl+Minus".action.set-column-width = "-0.25%"; "Mod+Ctrl+Equal".action.set-column-width = "+0.25%"; - "Mod+Ctrl+Shift+Minus".action.set-window-height = "-0.25%"; "Mod+Ctrl+Shift+Equal".action.set-window-height = "+0.25%"; @@ -571,18 +552,10 @@ "Mod+W".action.toggle-column-tabbed-display = { }; - "Print".action.screenshot = { - show-pointer = false; - }; - "Mod+Shift+S".action.screenshot = { - show-pointer = false; - }; - "Ctrl+Print".action.screenshot-screen = { - show-pointer = false; - }; - "Alt+Print".action.screenshot-window = { - show-pointer = false; - }; + "Print".action.screenshot.show-pointer = false; + "Mod+Shift+S".action.screenshot.show-pointer = false; + "Ctrl+Print".action.screenshot-screen.show-pointer = false; + "Alt+Print".action.screenshot-window.show-pointer = false; "Mod+Escape" = { action.toggle-keyboard-shortcuts-inhibit = { }; diff --git a/home/tiling/noctalia.nix b/home/tiling/noctalia.nix index b930511..367a7c6 100644 --- a/home/tiling/noctalia.nix +++ b/home/tiling/noctalia.nix @@ -613,8 +613,6 @@ ]; }; - Install = { - WantedBy = [ "niri.service" ]; - }; + Install.WantedBy = [ "niri.service" ]; }; } From b6ce69246a5be504d0f28ebfe2ed68d62d50444a Mon Sep 17 00:00:00 2001 From: Sean Kovacs Date: Sun, 22 Feb 2026 11:54:32 -0500 Subject: [PATCH 12/33] switch from awww to wbg, fight over? --- flake.lock | 62 +-------------------------------------- flake.nix | 7 ----- home/tiling/niri.nix | 5 +--- home/tiling/wallpaper.nix | 22 ++++---------- 4 files changed, 8 insertions(+), 88 deletions(-) diff --git a/flake.lock b/flake.lock index 92e79fd..ea99fbb 100644 --- a/flake.lock +++ b/flake.lock @@ -40,28 +40,6 @@ "type": "github" } }, - "awww": { - "inputs": { - "flake-compat": "flake-compat_2", - "nixpkgs": [ - "nixpkgs" - ], - "rust-overlay": "rust-overlay" - }, - "locked": { - "lastModified": 1770895252, - "narHash": "sha256-TUGZVDcC5xsrWVnpBNosAG1cTy+aWchCWXPyeLZdnGM=", - "ref": "refs/heads/main", - "rev": "2c86d41d07471f518e24f5cd1f586e4d2a32d12c", - "revCount": 1331, - "type": "git", - "url": "https://codeberg.org/LGFae/awww.git" - }, - "original": { - "type": "git", - "url": "https://codeberg.org/LGFae/awww.git" - } - }, "base16": { "inputs": { "fromYaml": "fromYaml" @@ -160,22 +138,6 @@ } }, "flake-compat_2": { - "flake": false, - "locked": { - "lastModified": 1761588595, - "narHash": "sha256-XKUZz9zewJNUj46b4AJdiRZJAvSZ0Dqj2BNfXvFlJC4=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "f387cd2afec9419c8ee37694406ca490c3f34ee5", - "type": "github" - }, - "original": { - "owner": "edolstra", - "repo": "flake-compat", - "type": "github" - } - }, - "flake-compat_3": { "flake": false, "locked": { "lastModified": 1767039857, @@ -358,7 +320,7 @@ "inputs": { "cachyos-kernel": "cachyos-kernel", "cachyos-kernel-patches": "cachyos-kernel-patches", - "flake-compat": "flake-compat_3", + "flake-compat": "flake-compat_2", "flake-parts": "flake-parts_2", "nixpkgs": "nixpkgs_2" }, @@ -577,7 +539,6 @@ "inputs": { "aerothemeplasma-nix": "aerothemeplasma-nix", "apple-silicon": "apple-silicon", - "awww": "awww", "base16": "base16", "base16-discord": "base16-discord", "catppuccin-discord": "catppuccin-discord", @@ -599,27 +560,6 @@ "tt-schemes": "tt-schemes" } }, - "rust-overlay": { - "inputs": { - "nixpkgs": [ - "awww", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1764038373, - "narHash": "sha256-M6w2wNBRelcavoDAyFL2iO4NeWknD40ASkH1S3C0YGM=", - "owner": "oxalica", - "repo": "rust-overlay", - "rev": "ab3536fe850211a96673c6ffb2cb88aab8071cc9", - "type": "github" - }, - "original": { - "owner": "oxalica", - "repo": "rust-overlay", - "type": "github" - } - }, "spicetify-nix": { "inputs": { "nixpkgs": [ diff --git a/flake.nix b/flake.nix index 2311628..8384109 100644 --- a/flake.nix +++ b/flake.nix @@ -86,11 +86,6 @@ # inputs.nixpkgs.follows = "nixpkgs"; }; - awww = { - url = "git+https://codeberg.org/LGFae/awww.git"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - openmw = { url = "gitlab:OpenMW/openmw"; flake = false; @@ -119,7 +114,6 @@ nur, nixvim, apple-silicon, - awww, openmw, catppuccin-discord, ... @@ -163,7 +157,6 @@ niri.overlays.niri noctalia.overlays.default nur.overlays.default - awww.overlays.default (final: prev: { openmw-git = openmw; catppuccin-discord-git = catppuccin-discord; diff --git a/home/tiling/niri.nix b/home/tiling/niri.nix index d9c07fe..653ac7e 100644 --- a/home/tiling/niri.nix +++ b/home/tiling/niri.nix @@ -236,10 +236,7 @@ }; } { - matches = [ - { namespace = "^wpaperd.*"; } - { namespace = "^awww-daemon"; } - ]; + matches = [ { namespace = "^wallpaper$"; } ]; place-within-backdrop = true; } ]; diff --git a/home/tiling/wallpaper.nix b/home/tiling/wallpaper.nix index e3e8bad..76d65a7 100644 --- a/home/tiling/wallpaper.nix +++ b/home/tiling/wallpaper.nix @@ -3,23 +3,13 @@ ... }: { - systemd.user.services.awww-daemon = { - Unit.Description = "Wallpaper service using awww (daemon)"; - Service.ExecStart = "${pkgs.awww}/bin/awww-daemon"; - Install.WantedBy = [ "niri.service" ]; - }; - - systemd.user.services.awww-setter = { - Unit.Description = "Wallpaper service using awww (setter)"; - Unit.Requires = [ "awww-daemon.service" ]; - Unit.After = [ "awww-daemon.service" ]; - Service.Type = "oneshot"; + systemd.user.services.wbg-daemon = { + Unit.Description = "Wallpaper service using wbg (daemon)"; Service.ExecStart = '' - ${pkgs.awww}/bin/awww img \ - %h/.local/share/wallpaper/daily.jpg \ - --transition-step 2 \ - --transition-fps 60 + ${pkgs.wbg}/bin/wbg -s \ + %h/.local/share/wallpaper/daily.jpg ''; + Install.WantedBy = [ "niri.service" ]; }; systemd.user.services.bing-wallpaper = { @@ -55,7 +45,7 @@ ''; } ); - Service.ExecStartPost = "${pkgs.systemd}/bin/systemctl --user restart awww-setter.service"; + Service.ExecStartPost = "${pkgs.systemd}/bin/systemctl --user restart wbg-daemon.service"; Install.WantedBy = [ "niri.service" ]; }; From 2a5e1db40dbdea9d941f278b1492a955a064ce28 Mon Sep 17 00:00:00 2001 From: Sean Kovacs Date: Sun, 22 Feb 2026 12:17:46 -0500 Subject: [PATCH 13/33] colorize wallpaper --- home/tiling/wallpaper.nix | 53 +++++++++++++++++++++++++++++++++++++-- 1 file changed, 51 insertions(+), 2 deletions(-) diff --git a/home/tiling/wallpaper.nix b/home/tiling/wallpaper.nix index 76d65a7..958cb97 100644 --- a/home/tiling/wallpaper.nix +++ b/home/tiling/wallpaper.nix @@ -1,5 +1,6 @@ { pkgs, + config, ... }: { @@ -7,7 +8,7 @@ Unit.Description = "Wallpaper service using wbg (daemon)"; Service.ExecStart = '' ${pkgs.wbg}/bin/wbg -s \ - %h/.local/share/wallpaper/daily.jpg + %h/.local/share/wallpaper/daily-colored.jpg ''; Install.WantedBy = [ "niri.service" ]; }; @@ -45,7 +46,7 @@ ''; } ); - Service.ExecStartPost = "${pkgs.systemd}/bin/systemctl --user restart wbg-daemon.service"; + Service.ExecStartPost = "${pkgs.systemd}/bin/systemctl --user start gowall-convert.service"; Install.WantedBy = [ "niri.service" ]; }; @@ -55,4 +56,52 @@ Timer.Persistent = true; Install.WantedBy = [ "timers.target" ]; }; + + systemd.user.services.gowall-convert = { + Unit.Description = "Convert a wallpaper to the system color scheme"; + Unit.StartLimitBurst = 6; + Unit.StartLimitIntervalSec = "10m"; + Service.Restart = "on-failure"; + Service.RestartSec = "10s"; + Service.Type = "oneshot"; + Service.ExecStart = '' + ${pkgs.gowall}/bin/gowall convert \ + %h/.local/share/wallpaper/daily.jpg \ + --output %h/.local/share/wallpaper/daily-colored.jpg \ + -t nix + ''; + Service.ExecStartPost = "${pkgs.systemd}/bin/systemctl --user restart wbg-daemon.service"; + }; + + home.file.".config/gowall/config.yml".text = with config.scheme.withHashtag; '' + themes: + - name: "nix" + colors: + - "${base06}" + - "${base0F}" + - "${base17}" + - "${base0E}" + - "${base08}" + - "${base12}" + - "${base09}" + - "${base0A}" + - "${base0B}" + - "${base0C}" + - "${base15}" + - "${base16}" + - "${base0D}" + - "${base07}" + - "${base05}" + - "${base07}" + - "${base0D}" + - "${base0D}" + - "${base04}" + - "${base04}" + - "${base04}" + - "${base03}" + - "${base02}" + - "${base00}" + - "${base01}" + - "${base11}" + ''; } From 6c4170a4e4ba6ab220ccb40c0e3416c97f1f60ed Mon Sep 17 00:00:00 2001 From: Sean Kovacs Date: Sun, 22 Feb 2026 13:02:46 -0500 Subject: [PATCH 14/33] fix VM --- flake.nix | 32 ++++++++++++++--------------- system/hosts/vm-generic/default.nix | 4 ++-- 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.nix b/flake.nix index 8384109..e1733a6 100644 --- a/flake.nix +++ b/flake.nix @@ -312,23 +312,23 @@ { nixpkgs.overlays = [ apple-silicon.overlays.apple-silicon-overlay ]; } ]; }; - - alien = - mkNixosSystem { - hostname = "alien"; - system = "x86_64-linux"; - extraModules = [ - { nixpkgs.overlays = [ nix-cachyos-kernel.overlays.pinned ]; } - ]; - } - // nixpkgs.lib.genAttrs supportedSystems ( - system: - mkNixosSystem { - hostname = "vm-generic"; - inherit system; + alien = mkNixosSystem { + hostname = "alien"; + system = "x86_64-linux"; + extraModules = [ + { + nixpkgs.overlays = [ nix-cachyos-kernel.overlays.pinned ]; } - ); - }; + ]; + }; + } + // nixpkgs.lib.genAttrs supportedSystems ( + system: + mkNixosSystem { + hostname = "vm-generic"; + inherit system; + } + ); homeConfigurations = { peach = mkHomeConfig { diff --git a/system/hosts/vm-generic/default.nix b/system/hosts/vm-generic/default.nix index b2183eb..ef46a45 100644 --- a/system/hosts/vm-generic/default.nix +++ b/system/hosts/vm-generic/default.nix @@ -1,7 +1,7 @@ -{ catppuccin, ... }: +{ ... }: { home-manager.users.sckova = { - imports = [ catppuccin.homeModules.catppuccin ]; + imports = [ ]; }; services.spice-vdagentd.enable = true; From 2d884aeb8814c10d3f7af3c4d9be218adc1a1c10 Mon Sep 17 00:00:00 2001 From: Sean Kovacs Date: Sun, 22 Feb 2026 16:27:15 -0500 Subject: [PATCH 15/33] change niri and noctalia opacities --- home/tiling/niri.nix | 16 ++++++++-------- home/tiling/noctalia.nix | 2 +- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/home/tiling/niri.nix b/home/tiling/niri.nix index 653ac7e..63a1fe0 100644 --- a/home/tiling/niri.nix +++ b/home/tiling/niri.nix @@ -99,16 +99,16 @@ border = { enable = true; width = 2; - active.color = config.scheme.withHashtag.${config.colors.accent}; - inactive.color = base01; - urgent.color = base12; + active.color = config.scheme.withHashtag.${config.colors.accent} + "E6"; + inactive.color = base01 + "E6"; + urgent.color = base12 + "E6"; }; focus-ring = { enable = false; width = 2; - active.color = config.scheme.withHashtag.${config.colors.accent}; - inactive.color = base01; - urgent.color = base12; + active.color = config.scheme.withHashtag.${config.colors.accent} + "E6"; + inactive.color = base01 + "E6"; + urgent.color = base12 + "E6"; }; shadow = { enable = true; @@ -128,7 +128,7 @@ bottom-right = 8.0; }; clip-to-geometry = true; - opacity = 0.95; + opacity = 0.90; background-effect = { xray = false; blur = true; @@ -167,7 +167,7 @@ is-active = false; } ]; - opacity = 0.925; + opacity = 0.875; } { matches = [ diff --git a/home/tiling/noctalia.nix b/home/tiling/noctalia.nix index 367a7c6..85a915f 100644 --- a/home/tiling/noctalia.nix +++ b/home/tiling/noctalia.nix @@ -63,7 +63,7 @@ bar = { autoHideDelay = 500; autoShowDelay = 150; - backgroundOpacity = 0.975; + backgroundOpacity = 0.90; monitors = [ ]; showCapsule = true; barType = "simple"; From 3cc8ec1f0a3b5f9b95c10bf4ff7f74a08271168a Mon Sep 17 00:00:00 2001 From: Sean Kovacs Date: Mon, 23 Feb 2026 16:30:44 -0500 Subject: [PATCH 16/33] peach -> hopscotch theme --- home/hosts/peach/default.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/home/hosts/peach/default.nix b/home/hosts/peach/default.nix index 3e0379c..be271f2 100644 --- a/home/hosts/peach/default.nix +++ b/home/hosts/peach/default.nix @@ -1,12 +1,11 @@ { pkgs, - config, lib, ... }: { colors = { - scheme = "catppuccin-mocha"; + scheme = "hopscotch"; accent = "base09"; }; From c31b332c07c932e1715a543d65bf0c42dac7a198 Mon Sep 17 00:00:00 2001 From: Sean Kovacs Date: Mon, 23 Feb 2026 18:43:22 -0500 Subject: [PATCH 17/33] changes to niri & firefox --- home/apps/firefox_css/theme/hide.css | 4 ++-- home/tiling/niri.nix | 17 ++++++++--------- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/home/apps/firefox_css/theme/hide.css b/home/apps/firefox_css/theme/hide.css index ba0975a..7d7386d 100644 --- a/home/apps/firefox_css/theme/hide.css +++ b/home/apps/firefox_css/theme/hide.css @@ -14,7 +14,7 @@ visibility: hidden !important; } -.browserContainer { +/*.browserContainer { border-radius: 8px !important; margin: 6px !important; background-color: transparent !important; @@ -22,4 +22,4 @@ browser { border-radius: 8px !important; -} +}*/ diff --git a/home/tiling/niri.nix b/home/tiling/niri.nix index 63a1fe0..3f10058 100644 --- a/home/tiling/niri.nix +++ b/home/tiling/niri.nix @@ -16,7 +16,7 @@ XCURSOR_THEME = config.userOptions.cursor.name; XCURSOR_SIZE = toString config.userOptions.cursor.size; }; - screenshot-path = "~/Pictures/Screenshots/Screenshot from %Y-%m-%d %H-%M-%S.png"; + screenshot-path = "~/Pictures/Screenshots/%a %b %e %Y @%l:%M %p.png"; hotkey-overlay.skip-at-startup = true; prefer-no-csd = true; gestures.hot-corners.enable = false; @@ -88,9 +88,7 @@ layout = { gaps = 4; background-color = "transparent"; - default-column-width = { - proportion = 0.5; - }; + default-column-width.proportion = 0.5; preset-column-widths = [ { proportion = 4.0 / 12.0; } { proportion = 6.0 / 12.0; } @@ -167,7 +165,7 @@ is-active = false; } ]; - opacity = 0.875; + opacity = 0.90; } { matches = [ @@ -182,6 +180,7 @@ ]; open-maximized-to-edges = true; open-focused = true; + opacity = 1.00; } { matches = [ @@ -227,7 +226,7 @@ } { matches = [ { namespace = "^launcher$"; } ]; - opacity = 0.925; + opacity = 0.90; background-effect = { xray = false; blur = true; @@ -539,6 +538,7 @@ "Mod+Equal".action.set-column-width = "+10%"; "Mod+Shift+Minus".action.set-window-height = "-10%"; "Mod+Shift+Equal".action.set-window-height = "+10%"; + "Mod+Ctrl+Minus".action.set-column-width = "-0.25%"; "Mod+Ctrl+Equal".action.set-column-width = "+0.25%"; "Mod+Ctrl+Shift+Minus".action.set-window-height = "-0.25%"; @@ -549,10 +549,9 @@ "Mod+W".action.toggle-column-tabbed-display = { }; - "Print".action.screenshot.show-pointer = false; "Mod+Shift+S".action.screenshot.show-pointer = false; - "Ctrl+Print".action.screenshot-screen.show-pointer = false; - "Alt+Print".action.screenshot-window.show-pointer = false; + "Ctrl+Shift+S".action.screenshot-screen.show-pointer = false; + "Alt+Shift+S".action.screenshot-window.show-pointer = false; "Mod+Escape" = { action.toggle-keyboard-shortcuts-inhibit = { }; From 35dca7d3deffba5ebd3ba9139c986dbbebf3726e Mon Sep 17 00:00:00 2001 From: Sean Kovacs Date: Tue, 24 Feb 2026 11:16:50 -0500 Subject: [PATCH 18/33] move macbook display to its home/hosts --- home/hosts/peach/default.nix | 57 +++++++++++++++++++++++------------- home/tiling/niri.nix | 8 +---- 2 files changed, 37 insertions(+), 28 deletions(-) diff --git a/home/hosts/peach/default.nix b/home/hosts/peach/default.nix index be271f2..a85a6bd 100644 --- a/home/hosts/peach/default.nix +++ b/home/hosts/peach/default.nix @@ -5,7 +5,7 @@ }: { colors = { - scheme = "hopscotch"; + scheme = "pnevma"; accent = "base09"; }; @@ -18,28 +18,43 @@ moonlight-qt ]; - programs.noctalia-shell.settings.bar = { - position = "top"; - density = "spacious"; - }; + programs = { + noctalia-shell.settings.bar = { + position = "top"; + density = "spacious"; + }; - programs.plasma = lib.mkDefault { - input.touchpads = [ - { - name = "Apple MTP multi-touch"; - vendorId = "05ac"; - productId = "0352"; - disableWhileTyping = false; - enable = true; - tapToClick = false; - naturalScroll = true; - accelerationProfile = "default"; - } - ]; + niri.settings.outputs."eDP-1" = { + scale = 1.5; + mode = { + width = 3024; + height = 1964; + refresh = 60.000; + }; + position = { + x = 272; + y = 1440; + }; + }; - shortcuts = { - # this is really annoying on apple laptops - org_kde_powerdevil.Sleep = [ ]; + plasma = lib.mkDefault { + input.touchpads = [ + { + name = "Apple MTP multi-touch"; + vendorId = "05ac"; + productId = "0352"; + disableWhileTyping = false; + enable = true; + tapToClick = false; + naturalScroll = true; + accelerationProfile = "default"; + } + ]; + + shortcuts = { + # this is really annoying on apple laptops + org_kde_powerdevil.Sleep = [ ]; + }; }; }; } diff --git a/home/tiling/niri.nix b/home/tiling/niri.nix index 3f10058..245ef15 100644 --- a/home/tiling/niri.nix +++ b/home/tiling/niri.nix @@ -48,13 +48,6 @@ }; }; outputs = { - "eDP-1" = { - scale = 1.5; - position = { - x = 272; - y = 1440; - }; - }; "HDMI-A-1" = { mode = { width = 3840; @@ -133,6 +126,7 @@ noise = 0.05; saturation = 1; }; + draw-border-with-background = false; } { matches = [ From b3ee605039dc7926d4dc39febd8863605fbbc2d6 Mon Sep 17 00:00:00 2001 From: Sean Kovacs Date: Wed, 25 Feb 2026 12:28:24 -0500 Subject: [PATCH 19/33] edit noctalia systemd service --- home/tiling/noctalia.nix | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/home/tiling/noctalia.nix b/home/tiling/noctalia.nix index 85a915f..2ee319e 100644 --- a/home/tiling/noctalia.nix +++ b/home/tiling/noctalia.nix @@ -595,24 +595,22 @@ systemd.user.services.noctalia-shell = { Unit = { - After = [ "niri.service" ]; - PartOf = [ "niri.service" ]; + After = [ "graphical-session.target" ]; + PartOf = [ "graphical-session.target" ]; Description = "Noctalia Shell - Wayland desktop shell"; - Documentation = "https://docs.noctalia.dev/docs"; + Documentation = "https://docs.noctalia.dev"; + X-Restart-Triggers = [ + "${config.xdg.configFile."noctalia/settings.json".source}" + "${config.xdg.configFile."noctalia/colors.json".source}" + ]; }; Service = { ExecStart = "${pkgs.noctalia-shell}/bin/noctalia-shell"; Restart = "on-failure"; - Environment = [ - "LOCALE_ARCHIVE=${pkgs.glibcLocales}/lib/locale" - "TZDIR=${pkgs.tzdata}/share/zoneinfo" - "NOCTALIA_SETTINGS_FALLBACK=%h/.config/noctalia/gui-settings.json" - "QT_QPA_PLATFORM=wayland" - "QT_QPA_PLATFORMTHEME=qt6ct" - ]; + Environment = [ "QT_QPA_PLATFORMTHEME=qt6ct" ]; }; - Install.WantedBy = [ "niri.service" ]; + Install.WantedBy = [ "graphical-session.target" ]; }; } From 57fd2c8f9bee0c6fde01557a14a7d97c591ff4ef Mon Sep 17 00:00:00 2001 From: Sean Kovacs Date: Wed, 25 Feb 2026 12:28:42 -0500 Subject: [PATCH 20/33] add mute and toggle opacity keys to niri --- home/tiling/niri.nix | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/home/tiling/niri.nix b/home/tiling/niri.nix index 245ef15..8b93871 100644 --- a/home/tiling/niri.nix +++ b/home/tiling/niri.nix @@ -214,10 +214,6 @@ saturation = 1; }; } - { - matches = [ { namespace = "noctalia-bar-exclusion-top-.*$"; } ]; - place-within-backdrop = true; - } { matches = [ { namespace = "^launcher$"; } ]; opacity = 0.90; @@ -235,6 +231,17 @@ ]; binds = { "Mod+Shift+Slash".action.show-hotkey-overlay = { }; + "Mod+D" = { + action.toggle-window-rule-opacity = { }; + repeat = false; + }; + "Mod+M" = { + action.spawn-sh = [ + "noctalia-shell ipc call volume muteInput" + ]; + hotkey-overlay.title = "Toggle Microphone Mute"; + repeat = false; + }; "Mod+T" = { action.spawn = [ "kitty" ]; From c6db5a4a3ac72607db48becc587bf91b7422dd4d Mon Sep 17 00:00:00 2001 From: Sean Kovacs Date: Wed, 25 Feb 2026 13:47:21 -0500 Subject: [PATCH 21/33] reduce dependence on noctalia ipc --- home/tiling/niri.nix | 51 +++++++++++++++++++++++++++++++------------- 1 file changed, 36 insertions(+), 15 deletions(-) diff --git a/home/tiling/niri.nix b/home/tiling/niri.nix index 8b93871..f3a1fde 100644 --- a/home/tiling/niri.nix +++ b/home/tiling/niri.nix @@ -236,8 +236,11 @@ repeat = false; }; "Mod+M" = { - action.spawn-sh = [ - "noctalia-shell ipc call volume muteInput" + action.spawn = [ + "wpctl" + "set-mute" + "@DEFAULT_AUDIO_SOURCE@" + "toggle" ]; hotkey-overlay.title = "Toggle Microphone Mute"; repeat = false; @@ -253,18 +256,24 @@ }; "Mod+Space" = { action.spawn = [ "fuzzel" ]; - hotkey-overlay.title = "Run an Application: Noctalia app launcher"; + hotkey-overlay.title = "Run an Application: Fuzzel"; }; "XF86AudioRaiseVolume" = { - action.spawn-sh = [ - "noctalia-shell ipc call volume increase" + action.spawn = [ + "wpctl" + "set-volume" + "@DEFAULT_AUDIO_SINK@" + "0.05+" ]; allow-when-locked = true; }; "XF86AudioLowerVolume" = { - action.spawn-sh = [ - "noctalia-shell ipc call volume decrease" + action.spawn = [ + "wpctl" + "set-volume" + "@DEFAULT_AUDIO_SINK@" + "0.05-" ]; allow-when-locked = true; }; @@ -289,14 +298,20 @@ }; "MouseForward" = { - action.spawn-sh = [ - "noctalia-shell ipc call volume increase" + action.spawn = [ + "wpctl" + "set-volume" + "@DEFAULT_AUDIO_SINK@" + "0.05+" ]; allow-when-locked = true; }; "MouseBack" = { - action.spawn-sh = [ - "noctalia-shell ipc call volume decrease" + action.spawn = [ + "wpctl" + "set-volume" + "@DEFAULT_AUDIO_SINK@" + "0.05-" ]; allow-when-locked = true; }; @@ -321,14 +336,20 @@ }; "XF86AudioMute" = { - action.spawn-sh = [ - "noctalia-shell ipc call volume muteOutput" + action.spawn = [ + "wpctl" + "set-mute" + "@DEFAULT_AUDIO_SINK@" + "toggle" ]; allow-when-locked = true; }; "XF86AudioMicMute" = { - action.spawn-sh = [ - "noctalia-shell ipc call volume muteInput" + action.spawn = [ + "wpctl" + "set-mute" + "@DEFAULT_AUDIO_SOURCE@" + "toggle" ]; allow-when-locked = true; }; From 561a19ef0aa02720c821267eb1cbc4baef533136 Mon Sep 17 00:00:00 2001 From: Sean Kovacs Date: Wed, 25 Feb 2026 13:54:21 -0500 Subject: [PATCH 22/33] unfloat firefox picture-in-picture --- home/tiling/niri.nix | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/home/tiling/niri.nix b/home/tiling/niri.nix index f3a1fde..199b841 100644 --- a/home/tiling/niri.nix +++ b/home/tiling/niri.nix @@ -128,20 +128,6 @@ }; draw-border-with-background = false; } - { - matches = [ - { - app-id = "firefox$"; - title = "^Picture-in-Picture$"; - } - ]; - open-floating = true; - default-floating-position = { - x = 16; - y = 16; - relative-to = "bottom-left"; - }; - } { matches = [ { From 9f688628f61421b05e6d4e82359cc3b4416b0478 Mon Sep 17 00:00:00 2001 From: Sean Kovacs Date: Thu, 26 Feb 2026 16:34:23 -0500 Subject: [PATCH 23/33] add obs --- system/default.nix | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/system/default.nix b/system/default.nix index 5b7bcf4..4e357c8 100755 --- a/system/default.nix +++ b/system/default.nix @@ -40,6 +40,12 @@ ]; consoleLogLevel = 0; initrd.verbose = false; + extraModulePackages = with config.boot.kernelPackages; [ + v4l2loopback + ]; + extraModprobeConfig = '' + options v4l2loopback devices=1 video_nr=1 card_label="OBS Cam" exclusive_caps=1 + ''; }; programs = { @@ -83,7 +89,6 @@ } ]; }; - }; # aerothemeplasma = { @@ -120,9 +125,17 @@ environment.systemPackages = with pkgs; [ git firefoxpwa + (wrapOBS { + plugins = with pkgs.obs-studio-plugins; [ + wlrobs + obs-backgroundremoval + obs-pipewire-audio-capture + ]; + }) ]; security.pam.services.niri.enableGnomeKeyring = config.services.gnome.gnome-keyring.enable; + security.polkit.enable = true; networking.firewall.enable = false; networking.networkmanager.enable = true; documentation.man.enable = true; From f124c6892fc6e4dace63d1842a177ce643b73264 Mon Sep 17 00:00:00 2001 From: Sean Kovacs Date: Thu, 26 Feb 2026 19:42:08 -0500 Subject: [PATCH 24/33] update niri --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index ea99fbb..66fc080 100644 --- a/flake.lock +++ b/flake.lock @@ -302,11 +302,11 @@ "niri-blur": { "flake": false, "locked": { - "lastModified": 1771672342, - "narHash": "sha256-52CxMRH2kVGpsPBiZM+996b6i/3XkmOrySm5zqwWc+o=", + "lastModified": 1771749270, + "narHash": "sha256-ZJCM1XOHIdud6Jfpl4jYQOzbOJId9wmXT+hNJ1IPBIY=", "owner": "niri-wm", "repo": "niri", - "rev": "86f42d1ed9ab787c52ace073e0b3218e26530d25", + "rev": "734d86ec061d15d1980c5b940b2f4dc9aee80cf5", "type": "github" }, "original": { From 4339d177dab031ab08f11e2e745510dbf36c5de7 Mon Sep 17 00:00:00 2001 From: Sean Kovacs Date: Fri, 27 Feb 2026 14:20:50 -0500 Subject: [PATCH 25/33] remove discord font override, pnevma -> banana-blueberry --- home/apps/discord.nix | 5 ----- home/hosts/peach/default.nix | 2 +- 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/home/apps/discord.nix b/home/apps/discord.nix index c0c6683..7cc92e2 100644 --- a/home/apps/discord.nix +++ b/home/apps/discord.nix @@ -50,11 +50,6 @@ in home.file.".config/vesktop/settings/quickCss.css" = with config.scheme.withHashtag; { text = '' - * { - font-family: "${config.userOptions.fontSans.name}" !important; - font-size: ${toString config.userOptions.fontSans.size}px; - } - :root { --base00: ${base00}; --base01: ${base01}; diff --git a/home/hosts/peach/default.nix b/home/hosts/peach/default.nix index a85a6bd..6df416a 100644 --- a/home/hosts/peach/default.nix +++ b/home/hosts/peach/default.nix @@ -5,7 +5,7 @@ }: { colors = { - scheme = "pnevma"; + scheme = "banana-blueberry"; accent = "base09"; }; From 7a2db9a1cb0a7a5aa91c8ec4371637dc25dac558 Mon Sep 17 00:00:00 2001 From: Sean Kovacs Date: Fri, 27 Feb 2026 14:24:56 -0500 Subject: [PATCH 26/33] update kernels --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index 66fc080..80416a1 100644 --- a/flake.lock +++ b/flake.lock @@ -27,11 +27,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1771054135, - "narHash": "sha256-0RYmnOk40U4ZGbW/+3rHlNndrsuHCz9h+xequKWgwHQ=", + "lastModified": 1771511514, + "narHash": "sha256-qhtonMK07BCVC/wZ+pZ9/MKhcTric7YUaCpW6pOg8IM=", "owner": "nix-community", "repo": "nixos-apple-silicon", - "rev": "357186cca0f4c7801ff16970e4b6a05e74fd88e0", + "rev": "2b92d495204be0b10845c66361444dbc8441c68d", "type": "github" }, "original": { @@ -77,11 +77,11 @@ "cachyos-kernel": { "flake": false, "locked": { - "lastModified": 1771263855, - "narHash": "sha256-akyds1g8cb742d2OrnQ4YciscpynsQ0+0YD2a8aZdvo=", + "lastModified": 1771517207, + "narHash": "sha256-+zDtnmXNyMd3hMepErdPDZzqYS0PiZA0Anbbx9Pvs4g=", "owner": "CachyOS", "repo": "linux-cachyos", - "rev": "5ece16c7b4a7d1261da68153cafc318a60b78ce8", + "rev": "39737576a25091a3c4ca00729b769a1f92ec98d5", "type": "github" }, "original": { @@ -93,11 +93,11 @@ "cachyos-kernel-patches": { "flake": false, "locked": { - "lastModified": 1771246613, - "narHash": "sha256-GftqKiyIgMcSgVkbNqXQq7oNnoL1+EB9V71XG4lPBRs=", + "lastModified": 1771516433, + "narHash": "sha256-SuockPZgd2bfjWGmdT8AUBTnBZWvxdA+b8Ss98lNC6c=", "owner": "CachyOS", "repo": "kernel-patches", - "rev": "cb320a13e3c92f32ada27acb1fba8a828a22ae60", + "rev": "505aef2086e584ba683a5ac1cb8ed8252fea2cfd", "type": "github" }, "original": { @@ -325,11 +325,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1771353108, - "narHash": "sha256-5Xtei4UKrqRC6IYLgI1KEBaPN9Xfef5JeOexdqDWVeg=", + "lastModified": 1771525883, + "narHash": "sha256-XqDuaRbxLGno5HcWRE5lQrgMBeXXs6ncGq+R6eCvsq8=", "owner": "xddxdd", "repo": "nix-cachyos-kernel", - "rev": "98e777cdcc39e6bd0312a9d756507ef9cbd284cb", + "rev": "15fb6039dd248d478a8f3f7f6c067b206da2bf54", "type": "github" }, "original": { @@ -419,11 +419,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1771353015, - "narHash": "sha256-gvMwFEdFCM2zFxLVDaAbhV2N9zK0IW/RceBundHUdZs=", + "lastModified": 1771482645, + "narHash": "sha256-MpAKyXfJRDTgRU33Hja+G+3h9ywLAJJNRq4Pjbb4dQs=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "931ef4db402cdab9dfe66fe4a2b01d50f6fe435d", + "rev": "724cf38d99ba81fbb4a347081db93e2e3a9bc2ae", "type": "github" }, "original": { From 6044d8370c79cb730a20b74e58e400079a22fb1f Mon Sep 17 00:00:00 2001 From: Sean Kovacs Date: Fri, 27 Feb 2026 16:43:55 -0500 Subject: [PATCH 27/33] remove aerothemeplasma --- flake.lock | 65 ++++---------------------------------------- flake.nix | 13 --------- home/kde/default.nix | 6 ---- system/default.nix | 8 ------ 4 files changed, 5 insertions(+), 87 deletions(-) diff --git a/flake.lock b/flake.lock index 80416a1..e024f74 100644 --- a/flake.lock +++ b/flake.lock @@ -1,26 +1,5 @@ { "nodes": { - "aerothemeplasma-nix": { - "inputs": { - "flake-parts": "flake-parts", - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1771215876, - "narHash": "sha256-aei7McII5+y4tROXfmOVyLbPO62sWttNkOKUlCSEIcg=", - "owner": "nyakase", - "repo": "aerothemeplasma-nix", - "rev": "b922785202501754c4503232aa5f172aeaef8b00", - "type": "github" - }, - "original": { - "owner": "nyakase", - "repo": "aerothemeplasma-nix", - "type": "github" - } - }, "apple-silicon": { "inputs": { "flake-compat": "flake-compat", @@ -157,24 +136,6 @@ "inputs": { "nixpkgs-lib": "nixpkgs-lib" }, - "locked": { - "lastModified": 1768135262, - "narHash": "sha256-PVvu7OqHBGWN16zSi6tEmPwwHQ4rLPU9Plvs8/1TUBY=", - "owner": "hercules-ci", - "repo": "flake-parts", - "rev": "80daad04eddbbf5a4d883996a73f3f542fa437ac", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "flake-parts", - "type": "github" - } - }, - "flake-parts_2": { - "inputs": { - "nixpkgs-lib": "nixpkgs-lib_2" - }, "locked": { "lastModified": 1769996383, "narHash": "sha256-AnYjnFWgS49RlqX7LrC4uA+sCCDBj0Ry/WOJ5XWAsa0=", @@ -189,7 +150,7 @@ "type": "github" } }, - "flake-parts_3": { + "flake-parts_2": { "inputs": { "nixpkgs-lib": [ "nixvim", @@ -210,7 +171,7 @@ "type": "github" } }, - "flake-parts_4": { + "flake-parts_3": { "inputs": { "nixpkgs-lib": [ "nur", @@ -321,7 +282,7 @@ "cachyos-kernel": "cachyos-kernel", "cachyos-kernel-patches": "cachyos-kernel-patches", "flake-compat": "flake-compat_2", - "flake-parts": "flake-parts_2", + "flake-parts": "flake-parts", "nixpkgs": "nixpkgs_2" }, "locked": { @@ -356,21 +317,6 @@ } }, "nixpkgs-lib": { - "locked": { - "lastModified": 1765674936, - "narHash": "sha256-k00uTP4JNfmejrCLJOwdObYC9jHRrr/5M/a/8L2EIdo=", - "owner": "nix-community", - "repo": "nixpkgs.lib", - "rev": "2075416fcb47225d9b68ac469a5c4801a9c4dd85", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "nixpkgs.lib", - "type": "github" - } - }, - "nixpkgs-lib_2": { "locked": { "lastModified": 1769909678, "narHash": "sha256-cBEymOf4/o3FD5AZnzC3J9hLbiZ+QDT/KDuyHXVJOpM=", @@ -435,7 +381,7 @@ }, "nixvim": { "inputs": { - "flake-parts": "flake-parts_3", + "flake-parts": "flake-parts_2", "nixpkgs": [ "nixpkgs" ], @@ -477,7 +423,7 @@ }, "nur": { "inputs": { - "flake-parts": "flake-parts_4", + "flake-parts": "flake-parts_3", "nixpkgs": [ "nixpkgs" ] @@ -537,7 +483,6 @@ }, "root": { "inputs": { - "aerothemeplasma-nix": "aerothemeplasma-nix", "apple-silicon": "apple-silicon", "base16": "base16", "base16-discord": "base16-discord", diff --git a/flake.nix b/flake.nix index e1733a6..7a18f38 100644 --- a/flake.nix +++ b/flake.nix @@ -38,11 +38,6 @@ inputs.home-manager.follows = "home-manager"; }; - aerothemeplasma-nix = { - url = "github:nyakase/aerothemeplasma-nix"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - niri = { url = "github:sckova/niri-flake/feat/blur"; inputs.nixpkgs.follows = "nixpkgs"; @@ -56,11 +51,6 @@ flake = false; }; - # niri-blur = { - # url = "github:visualglitch91/niri/feat/blur"; - # flake = false; - # }; - noctalia = { url = "github:noctalia-dev/noctalia-shell"; inputs.nixpkgs.follows = "nixpkgs"; @@ -107,7 +97,6 @@ base16-discord, home-manager, plasma-manager, - aerothemeplasma-nix, niri, noctalia, spicetify-nix, @@ -226,7 +215,6 @@ ./system/tailscale ./system/hosts/${hostname} ./hardware/${hostname} - aerothemeplasma-nix.nixosModules.aerothemeplasma-nix niri.nixosModules.niri home-manager.nixosModules.home-manager noctalia.nixosModules.default @@ -255,7 +243,6 @@ scheme = "${tt-schemes}/base24/${config.colors.scheme}.yaml"; } ) - aerothemeplasma-nix.homeModules.aerothemeplasma-nix plasma-manager.homeModules.plasma-manager noctalia.homeModules.default spicetify-nix.homeManagerModules.default diff --git a/home/kde/default.nix b/home/kde/default.nix index e383cf5..59153a0 100644 --- a/home/kde/default.nix +++ b/home/kde/default.nix @@ -23,12 +23,6 @@ }; }; - aerothemeplasma = { - enable = true; - plasma.enable = true; - fonts.enable = true; - }; - programs.plasma = lib.mkDefault { enable = true; session = { diff --git a/system/default.nix b/system/default.nix index 4e357c8..d3a78b3 100755 --- a/system/default.nix +++ b/system/default.nix @@ -91,14 +91,6 @@ }; }; - # aerothemeplasma = { - # enable = true; - # plasma.enable = true; - # fonts.enable = false; - # plymouth.enable = false; - # sddm.enable = true; - # }; - services = { desktopManager.plasma6.enable = true; displayManager = { From 94166f255bf948b4beaeff92d36427e718976814 Mon Sep 17 00:00:00 2001 From: Sean Kovacs Date: Sat, 28 Feb 2026 11:40:56 -0500 Subject: [PATCH 28/33] update niri, rename openmw, remove cat-discord, refactor flake inputs --- flake.lock | 40 +++++++++--------- flake.nix | 28 +++---------- home/apps/discord.nix | 3 -- home/games/morrowind.nix | 2 +- home/tiling/noctalia.nix | 2 +- packages/catppuccin-discord/default.nix | 56 ------------------------- packages/overlay.nix | 6 +-- 7 files changed, 27 insertions(+), 110 deletions(-) delete mode 100644 packages/catppuccin-discord/default.nix diff --git a/flake.lock b/flake.lock index e024f74..375712a 100644 --- a/flake.lock +++ b/flake.lock @@ -85,22 +85,6 @@ "type": "github" } }, - "catppuccin-discord": { - "flake": false, - "locked": { - "lastModified": 1769446491, - "narHash": "sha256-7v1Hu6QofOyFOGnHeqHFK0JsxUxdJ9uTjI7nM7mdTsg=", - "owner": "catppuccin", - "repo": "discord", - "rev": "f235754322320211a8646d963466fac402e5c297", - "type": "github" - }, - "original": { - "owner": "catppuccin", - "repo": "discord", - "type": "github" - } - }, "flake-compat": { "locked": { "lastModified": 1761640442, @@ -230,14 +214,12 @@ }, "niri": { "inputs": { - "niri-stable": [ - "niri-blur" - ], + "niri-stable": "niri-stable", "niri-unstable": [ "niri-blur" ], "nixpkgs": [ - "nixpkgs" + "nixpkgs-unstable" ], "nixpkgs-stable": [ "nixpkgs-stable" @@ -277,6 +259,23 @@ "type": "github" } }, + "niri-stable": { + "flake": false, + "locked": { + "lastModified": 1756556321, + "narHash": "sha256-RLD89dfjN0RVO86C/Mot0T7aduCygPGaYbog566F0Qo=", + "owner": "YaLTeR", + "repo": "niri", + "rev": "01be0e65f4eb91a9cd624ac0b76aaeab765c7294", + "type": "github" + }, + "original": { + "owner": "YaLTeR", + "ref": "v25.08", + "repo": "niri", + "type": "github" + } + }, "nix-cachyos-kernel": { "inputs": { "cachyos-kernel": "cachyos-kernel", @@ -486,7 +485,6 @@ "apple-silicon": "apple-silicon", "base16": "base16", "base16-discord": "base16-discord", - "catppuccin-discord": "catppuccin-discord", "home-manager": "home-manager", "niri": "niri", "niri-blur": "niri-blur", diff --git a/flake.nix b/flake.nix index 7a18f38..34e90bc 100644 --- a/flake.nix +++ b/flake.nix @@ -8,14 +8,9 @@ # edit this to switch between stable and unstable nixpkgs.follows = "nixpkgs-unstable"; - nix-cachyos-kernel = { - url = "github:xddxdd/nix-cachyos-kernel/release"; - # inputs.nixpkgs.follows = "nixpkgs"; - }; - - base16 = { - url = "github:SenchoPens/base16.nix"; - }; + nix-cachyos-kernel.url = "github:xddxdd/nix-cachyos-kernel/release"; + apple-silicon.url = "github:nix-community/nixos-apple-silicon"; + base16.url = "github:SenchoPens/base16.nix"; tt-schemes = { url = "github:tinted-theming/schemes/b9f335ad6a0b7d85b9c2eb932c3215f7429f7d11"; @@ -40,9 +35,8 @@ niri = { url = "github:sckova/niri-flake/feat/blur"; - inputs.nixpkgs.follows = "nixpkgs"; + inputs.nixpkgs.follows = "nixpkgs-unstable"; inputs.nixpkgs-stable.follows = "nixpkgs-stable"; - inputs.niri-stable.follows = "niri-blur"; inputs.niri-unstable.follows = "niri-blur"; }; @@ -71,20 +65,10 @@ inputs.nixpkgs.follows = "nixpkgs"; }; - apple-silicon = { - url = "github:nix-community/nixos-apple-silicon"; - # inputs.nixpkgs.follows = "nixpkgs"; - }; - openmw = { url = "gitlab:OpenMW/openmw"; flake = false; }; - - catppuccin-discord = { - url = "github:catppuccin/discord"; - flake = false; - }; }; outputs = @@ -92,6 +76,7 @@ nixpkgs, nixpkgs-unstable, nix-cachyos-kernel, + apple-silicon, base16, tt-schemes, base16-discord, @@ -102,9 +87,7 @@ spicetify-nix, nur, nixvim, - apple-silicon, openmw, - catppuccin-discord, ... }: let @@ -148,7 +131,6 @@ nur.overlays.default (final: prev: { openmw-git = openmw; - catppuccin-discord-git = catppuccin-discord; base16-discord-git = base16-discord; }) (import ./packages/overlay.nix) diff --git a/home/apps/discord.nix b/home/apps/discord.nix index 7cc92e2..2e3a156 100644 --- a/home/apps/discord.nix +++ b/home/apps/discord.nix @@ -4,12 +4,9 @@ ... }: let - catppuccin-discord = "${pkgs.catppuccin-discord}/share/catppuccin-discord/catppuccin-mocha-*.theme.css"; - mergedThemes = pkgs.runCommand "mergedConfig" { } '' mkdir -p $out cp -rvf ${pkgs.base16-discord-git}/base16.css $out/base16.css - cp -rvf ${catppuccin-discord} $out ''; vesktopSettings = { diff --git a/home/games/morrowind.nix b/home/games/morrowind.nix index ff85bab..dfb27c5 100644 --- a/home/games/morrowind.nix +++ b/home/games/morrowind.nix @@ -3,7 +3,7 @@ ... }: { - home.packages = with pkgs; [ openmw ]; + home.packages = with pkgs; [ openmw-unstable ]; home.sessionVariables.SDL_VIDEO_DRIVER = "wayland"; programs.firefox.profiles.default.search.engines.uesp = { diff --git a/home/tiling/noctalia.nix b/home/tiling/noctalia.nix index 2ee319e..a3d797e 100644 --- a/home/tiling/noctalia.nix +++ b/home/tiling/noctalia.nix @@ -68,7 +68,7 @@ showCapsule = true; barType = "simple"; capsuleColorKey = "none"; - capsuleOpacity = 1; + capsuleOpacity = 0.90; displayMode = "always_visible"; floating = false; marginHorizontal = 5; diff --git a/packages/catppuccin-discord/default.nix b/packages/catppuccin-discord/default.nix deleted file mode 100644 index ec4105e..0000000 --- a/packages/catppuccin-discord/default.nix +++ /dev/null @@ -1,56 +0,0 @@ -{ - lib, - stdenv, - fetchYarnDeps, - yarn, - nodejs, - fixup-yarn-lock, - nodePackages, - catppuccin-discord-git, -}: -stdenv.mkDerivation rec { - pname = "catppuccin-discord"; - version = "unstable-${catppuccin-discord-git.rev}"; - - src = catppuccin-discord-git; - - yarnOfflineCache = fetchYarnDeps { - yarnLock = "${src}/yarn.lock"; - hash = "sha256-BhE3aKyA/LBErjWx+lbEVb/CIXhqHkXbV+9U2djIBhs="; - }; - - nativeBuildInputs = [ - yarn - nodejs - fixup-yarn-lock - nodePackages.sass - ]; - - postPatch = '' - substituteInPlace package.json \ - --replace-fail "--no-charset --no-source-map" "" - ''; - - configurePhase = '' - export HOME=$TMPDIR - yarn config --offline set yarn-offline-mirror ${yarnOfflineCache} - fixup-yarn-lock yarn.lock - yarn install --offline --frozen-lockfile --ignore-scripts --ignore-platform - ''; - - buildPhase = '' - yarn --offline release - ''; - - installPhase = '' - mkdir -p $out/share/catppuccin-discord - cp -r dist/dist/* $out/share/catppuccin-discord/ - ''; - - meta = { - description = "Soothing pastel theme for Discord"; - homepage = "https://github.com/catppuccin/discord"; - license = lib.licenses.mit; - platforms = lib.platforms.all; - }; -} diff --git a/packages/overlay.nix b/packages/overlay.nix index 9d542aa..44daa1d 100644 --- a/packages/overlay.nix +++ b/packages/overlay.nix @@ -1,11 +1,7 @@ final: prev: { spotify-webapp = final.callPackage ./spotify-webapp { }; - catppuccin-discord = final.callPackage ./catppuccin-discord { - inherit (final) catppuccin-discord-git; - }; - - openmw = prev.openmw.overrideAttrs (oldAttrs: { + openmw-unstable = prev.openmw.overrideAttrs (oldAttrs: { pname = "openmw"; src = final.openmw-git; version = "${final.openmw-git.rev}"; From e857d17534459da502dd66e04c742dc2a61aa64c Mon Sep 17 00:00:00 2001 From: Sean Kovacs Date: Sat, 28 Feb 2026 11:53:15 -0500 Subject: [PATCH 29/33] drop later: calibre is currently broken --- home/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/default.nix b/home/default.nix index f714d1c..45efb77 100755 --- a/home/default.nix +++ b/home/default.nix @@ -57,7 +57,7 @@ strawberry musescore gimp - calibre + # calibre # riff dissent loupe From 68e5125b9ec1ef915afee7bb278d0d0d00a3baac Mon Sep 17 00:00:00 2001 From: Sean Kovacs Date: Sat, 28 Feb 2026 12:41:55 -0500 Subject: [PATCH 30/33] wip: add hyprland --- flake.lock | 480 +++++++++++++++++++++++++++++++++++++- flake.nix | 7 + home/tiling/default.nix | 1 + home/tiling/hyprland.nix | 299 ++++++++++++++++++++++++ home/tiling/wallpaper.nix | 4 +- system/default.nix | 6 + 6 files changed, 791 insertions(+), 6 deletions(-) create mode 100644 home/tiling/hyprland.nix diff --git a/flake.lock b/flake.lock index 375712a..e136f27 100644 --- a/flake.lock +++ b/flake.lock @@ -19,6 +19,39 @@ "type": "github" } }, + "aquamarine": { + "inputs": { + "hyprutils": [ + "hyprland", + "hyprutils" + ], + "hyprwayland-scanner": [ + "hyprland", + "hyprwayland-scanner" + ], + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1771610171, + "narHash": "sha256-+DeInuhbm6a6PpHDNUS7pozDouq2+8xSDefoNaZLW0E=", + "owner": "hyprwm", + "repo": "aquamarine", + "rev": "7f9eb087703ec4acc6b288d02fa9ea3db803cd3d", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "aquamarine", + "type": "github" + } + }, "base16": { "inputs": { "fromYaml": "fromYaml" @@ -116,6 +149,22 @@ "type": "github" } }, + "flake-compat_3": { + "flake": false, + "locked": { + "lastModified": 1767039857, + "narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=", + "owner": "NixOS", + "repo": "flake-compat", + "rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab", + "type": "github" + }, + "original": { + "owner": "NixOS", + "repo": "flake-compat", + "type": "github" + } + }, "flake-parts": { "inputs": { "nixpkgs-lib": "nixpkgs-lib" @@ -192,6 +241,28 @@ "type": "github" } }, + "gitignore": { + "inputs": { + "nixpkgs": [ + "hyprland", + "pre-commit-hooks", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1709087332, + "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", + "owner": "hercules-ci", + "repo": "gitignore.nix", + "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "gitignore.nix", + "type": "github" + } + }, "home-manager": { "inputs": { "nixpkgs": [ @@ -212,6 +283,327 @@ "type": "github" } }, + "hyprcursor": { + "inputs": { + "hyprlang": [ + "hyprland", + "hyprlang" + ], + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1753964049, + "narHash": "sha256-lIqabfBY7z/OANxHoPeIrDJrFyYy9jAM4GQLzZ2feCM=", + "owner": "hyprwm", + "repo": "hyprcursor", + "rev": "44e91d467bdad8dcf8bbd2ac7cf49972540980a5", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprcursor", + "type": "github" + } + }, + "hyprgraphics": { + "inputs": { + "hyprutils": [ + "hyprland", + "hyprutils" + ], + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1770511807, + "narHash": "sha256-suKmSbSk34uPOJDTg/GbPrKEJutzK08vj0VoTvAFBCA=", + "owner": "hyprwm", + "repo": "hyprgraphics", + "rev": "7c75487edd43a71b61adb01cae8326d277aab683", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprgraphics", + "type": "github" + } + }, + "hyprland": { + "inputs": { + "aquamarine": "aquamarine", + "hyprcursor": "hyprcursor", + "hyprgraphics": "hyprgraphics", + "hyprland-guiutils": "hyprland-guiutils", + "hyprland-protocols": "hyprland-protocols", + "hyprlang": "hyprlang", + "hyprutils": "hyprutils", + "hyprwayland-scanner": "hyprwayland-scanner", + "hyprwire": "hyprwire", + "nixpkgs": [ + "nixpkgs-unstable" + ], + "pre-commit-hooks": "pre-commit-hooks", + "systems": "systems", + "xdph": "xdph" + }, + "locked": { + "lastModified": 1772297734, + "narHash": "sha256-ASoB8+3t/DNKWv2LCEDjUP+tV2+Mi6Lzi5lryXGN2B0=", + "owner": "hyprwm", + "repo": "Hyprland", + "rev": "1c64ef06d9cb555fc562345c172c45e95c3b3077", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "Hyprland", + "type": "github" + } + }, + "hyprland-guiutils": { + "inputs": { + "aquamarine": [ + "hyprland", + "aquamarine" + ], + "hyprgraphics": [ + "hyprland", + "hyprgraphics" + ], + "hyprlang": [ + "hyprland", + "hyprlang" + ], + "hyprtoolkit": "hyprtoolkit", + "hyprutils": [ + "hyprland", + "hyprutils" + ], + "hyprwayland-scanner": [ + "hyprland", + "hyprwayland-scanner" + ], + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1767023960, + "narHash": "sha256-R2HgtVS1G3KSIKAQ77aOZ+Q0HituOmPgXW9nBNkpp3Q=", + "owner": "hyprwm", + "repo": "hyprland-guiutils", + "rev": "c2e906261142f5dd1ee0bfc44abba23e2754c660", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprland-guiutils", + "type": "github" + } + }, + "hyprland-protocols": { + "inputs": { + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1765214753, + "narHash": "sha256-P9zdGXOzToJJgu5sVjv7oeOGPIIwrd9hAUAP3PsmBBs=", + "owner": "hyprwm", + "repo": "hyprland-protocols", + "rev": "3f3860b869014c00e8b9e0528c7b4ddc335c21ab", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprland-protocols", + "type": "github" + } + }, + "hyprlang": { + "inputs": { + "hyprutils": [ + "hyprland", + "hyprutils" + ], + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1771866172, + "narHash": "sha256-fYFoXhQLrm1rD8vSFKQBOEX4OGCuJdLt1amKfHd5GAw=", + "owner": "hyprwm", + "repo": "hyprlang", + "rev": "0b219224910e7642eb0ed49f0db5ec3d008e3e41", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprlang", + "type": "github" + } + }, + "hyprtoolkit": { + "inputs": { + "aquamarine": [ + "hyprland", + "hyprland-guiutils", + "aquamarine" + ], + "hyprgraphics": [ + "hyprland", + "hyprland-guiutils", + "hyprgraphics" + ], + "hyprlang": [ + "hyprland", + "hyprland-guiutils", + "hyprlang" + ], + "hyprutils": [ + "hyprland", + "hyprland-guiutils", + "hyprutils" + ], + "hyprwayland-scanner": [ + "hyprland", + "hyprland-guiutils", + "hyprwayland-scanner" + ], + "nixpkgs": [ + "hyprland", + "hyprland-guiutils", + "nixpkgs" + ], + "systems": [ + "hyprland", + "hyprland-guiutils", + "systems" + ] + }, + "locked": { + "lastModified": 1764592794, + "narHash": "sha256-7CcO+wbTJ1L1NBQHierHzheQGPWwkIQug/w+fhTAVuU=", + "owner": "hyprwm", + "repo": "hyprtoolkit", + "rev": "5cfe0743f0e608e1462972303778d8a0859ee63e", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprtoolkit", + "type": "github" + } + }, + "hyprutils": { + "inputs": { + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1771271487, + "narHash": "sha256-41gEiUS0Pyw3L/ge1l8MXn61cK14VAhgWB/JV8s/oNI=", + "owner": "hyprwm", + "repo": "hyprutils", + "rev": "340a792e3b3d482c4ae5f66d27a9096bdee6d76d", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprutils", + "type": "github" + } + }, + "hyprwayland-scanner": { + "inputs": { + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1770501770, + "narHash": "sha256-NWRM6+YxTRv+bT9yvlhhJ2iLae1B1pNH3mAL5wi2rlQ=", + "owner": "hyprwm", + "repo": "hyprwayland-scanner", + "rev": "0bd8b6cde9ec27d48aad9e5b4deefb3746909d40", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprwayland-scanner", + "type": "github" + } + }, + "hyprwire": { + "inputs": { + "hyprutils": [ + "hyprland", + "hyprutils" + ], + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1771606233, + "narHash": "sha256-F3PLUqQ/TwgR70U+UeOqJnihJZ2EuunzojYC4g5xHr0=", + "owner": "hyprwm", + "repo": "hyprwire", + "rev": "06c7f1f8c4194786c8400653c4efc49dc14c0f3a", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprwire", + "type": "github" + } + }, "niri": { "inputs": { "niri-stable": "niri-stable", @@ -280,7 +672,7 @@ "inputs": { "cachyos-kernel": "cachyos-kernel", "cachyos-kernel-patches": "cachyos-kernel-patches", - "flake-compat": "flake-compat_2", + "flake-compat": "flake-compat_3", "flake-parts": "flake-parts", "nixpkgs": "nixpkgs_2" }, @@ -384,7 +776,7 @@ "nixpkgs": [ "nixpkgs" ], - "systems": "systems" + "systems": "systems_2" }, "locked": { "lastModified": 1769537308, @@ -480,12 +872,36 @@ "type": "github" } }, + "pre-commit-hooks": { + "inputs": { + "flake-compat": "flake-compat_2", + "gitignore": "gitignore", + "nixpkgs": [ + "hyprland", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1771858127, + "narHash": "sha256-Gtre9YoYl3n25tJH2AoSdjuwcqij5CPxL3U3xysYD08=", + "owner": "cachix", + "repo": "git-hooks.nix", + "rev": "49bbbfc218bf3856dfa631cead3b052d78248b83", + "type": "github" + }, + "original": { + "owner": "cachix", + "repo": "git-hooks.nix", + "type": "github" + } + }, "root": { "inputs": { "apple-silicon": "apple-silicon", "base16": "base16", "base16-discord": "base16-discord", "home-manager": "home-manager", + "hyprland": "hyprland", "niri": "niri", "niri-blur": "niri-blur", "nix-cachyos-kernel": "nix-cachyos-kernel", @@ -508,7 +924,7 @@ "nixpkgs": [ "nixpkgs" ], - "systems": "systems_2" + "systems": "systems_3" }, "locked": { "lastModified": 1769316930, @@ -525,6 +941,21 @@ } }, "systems": { + "locked": { + "lastModified": 1689347949, + "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", + "owner": "nix-systems", + "repo": "default-linux", + "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default-linux", + "type": "github" + } + }, + "systems_2": { "locked": { "lastModified": 1681028828, "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", @@ -539,7 +970,7 @@ "type": "github" } }, - "systems_2": { + "systems_3": { "locked": { "lastModified": 1681028828, "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", @@ -571,6 +1002,47 @@ "type": "github" } }, + "xdph": { + "inputs": { + "hyprland-protocols": [ + "hyprland", + "hyprland-protocols" + ], + "hyprlang": [ + "hyprland", + "hyprlang" + ], + "hyprutils": [ + "hyprland", + "hyprutils" + ], + "hyprwayland-scanner": [ + "hyprland", + "hyprwayland-scanner" + ], + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1761431178, + "narHash": "sha256-xzjC1CV3+wpUQKNF+GnadnkeGUCJX+vgaWIZsnz9tzI=", + "owner": "hyprwm", + "repo": "xdg-desktop-portal-hyprland", + "rev": "4b8801228ff958d028f588f0c2b911dbf32297f9", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "xdg-desktop-portal-hyprland", + "type": "github" + } + }, "xwayland-satellite-stable": { "flake": false, "locked": { diff --git a/flake.nix b/flake.nix index 34e90bc..02141ab 100644 --- a/flake.nix +++ b/flake.nix @@ -45,6 +45,11 @@ flake = false; }; + hyprland = { + url = "github:hyprwm/Hyprland"; + inputs.nixpkgs.follows = "nixpkgs-unstable"; + }; + noctalia = { url = "github:noctalia-dev/noctalia-shell"; inputs.nixpkgs.follows = "nixpkgs"; @@ -83,6 +88,7 @@ home-manager, plasma-manager, niri, + hyprland, noctalia, spicetify-nix, nur, @@ -127,6 +133,7 @@ config = pkgConfig; overlays = [ niri.overlays.niri + hyprland.overlays.default noctalia.overlays.default nur.overlays.default (final: prev: { diff --git a/home/tiling/default.nix b/home/tiling/default.nix index 985b5fa..f7832ca 100644 --- a/home/tiling/default.nix +++ b/home/tiling/default.nix @@ -1,6 +1,7 @@ { pkgs, config, ... }: { imports = [ + ./hyprland.nix ./niri.nix ./noctalia.nix ./wallpaper.nix diff --git a/home/tiling/hyprland.nix b/home/tiling/hyprland.nix new file mode 100644 index 0000000..1788ab3 --- /dev/null +++ b/home/tiling/hyprland.nix @@ -0,0 +1,299 @@ +{ + config, + ... +}: +{ + wayland.windowManager.hyprland = with config.scheme; { + enable = true; + + settings = { + # ----------------------------------------------------- + # Environment Variables & Debug + # ----------------------------------------------------- + env = [ + "QT_QPA_PLATFORM,wayland" + "QT_QPA_PLATFORMTHEME,qt6ct" + "DISPLAY,:0" + "XCURSOR_THEME,${config.userOptions.cursor.name}" + "XCURSOR_SIZE,${toString config.userOptions.cursor.size}" + ]; + + debug = { + disable_scale_checks = true; + }; + + # ----------------------------------------------------- + # Monitors (Outputs) + # ----------------------------------------------------- + monitor = [ + "eDP-1, 3024x1964@120.000, 0x0, 1.5" + "HDMI-A-1, 3840x2160@144.000, 0x0, 1.5" + "DP-1, 3840x2160@143.999, 0x0, 1.5" + ]; + + # ----------------------------------------------------- + # Autostart + # ----------------------------------------------------- + exec-once = [ ]; # systemd is based sorry + + # ----------------------------------------------------- + # Input + # ----------------------------------------------------- + input = { + kb_layout = "us"; + numlock_by_default = false; + repeat_delay = 600; + repeat_rate = 25; + + follow_mouse = 1; + + touchpad = { + natural_scroll = true; + tap-to-click = false; + drag_lock = false; + }; + }; + + device = [ + { + name = "epic-mouse-v1"; + accel_profile = "adaptive"; + natural_scroll = false; + } + ]; + + # ----------------------------------------------------- + # General & Layout + # ----------------------------------------------------- + general = { + gaps_in = 2; + gaps_out = 4; + border_size = 2; + + "col.active_border" = "rgba(${config.scheme.${config.colors.accent}}E6)"; + "col.inactive_border" = "rgba(${base01}E6)"; + + layout = "dwindle"; + }; + + scrolling = { + column_width = 0.5; + follow_focus = true; + explicit_column_widths = "0.333,0.5,0.667"; + direction = "right"; + }; + + # ----------------------------------------------------- + # Decoration (0.54 Syntax) + # ----------------------------------------------------- + decoration = { + rounding = 8; + + active_opacity = 0.90; + inactive_opacity = 0.90; + fullscreen_opacity = 1.0; + + blur = { + enabled = true; + size = 3; + passes = 2; + noise = 0.05; + contrast = 1.0; + }; + + # Shadows now live in their own dedicated block + shadow = { + enabled = true; + range = 10; + render_power = 3; + color = "rgba(${base11}BF)"; + }; + }; + + # ----------------------------------------------------- + # Misc Settings + # ----------------------------------------------------- + misc = { + disable_hyprland_logo = true; + disable_splash_rendering = true; + }; + + # ----------------------------------------------------- + # Window Rules (0.54 Block Syntax) + # ----------------------------------------------------- + windowrule = [ + { + name = "games-openmw"; + "match:class" = "^(openmw)$"; + opacity = "1.0 1.0"; + maximize = "on"; + } + { + name = "games-minecraft"; + "match:class" = "^(Minecraft)$"; + opacity = "1.0 1.0"; + maximize = "on"; + } + { + name = "media-mpv"; + "match:class" = "^(mpv)$"; + opacity = "1.0 1.0"; + } + { + name = "media-pip"; + "match:class" = "^(firefox)$"; + "match:title" = "^(Picture-in-Picture)$"; + opacity = "1.0 1.0"; + float = "on"; + } + { + name = "terminal-fastfetch"; + "match:class" = "^(kitty)$"; + "match:title" = "^(fastfetch)$"; + float = "on"; + size = "960 480"; + center = "on"; + } + ]; + + # ----------------------------------------------------- + # Layer Rules (0.54 Block Syntax) + # ----------------------------------------------------- + layerrule = [ + { + name = "bar-blur"; + "match:namespace" = "^(noctalia-bar-content-.*)$"; + blur = "on"; + ignore_alpha = "0"; + } + { + name = "launcher-blur"; + "match:namespace" = "^(launcher)$"; + blur = "on"; + ignore_alpha = "0"; + } + ]; + + # ----------------------------------------------------- + # Keybindings + # ----------------------------------------------------- + "$mod" = "SUPER"; + + bind = [ + "$mod, T, exec, kitty" + "$mod SHIFT, T, exec, kitty --title fastfetch sh -c 'fastfetch; sleep 10'" + "$mod, Space, exec, fuzzel" + ", XF86Search, exec, fuzzel" + + "$mod, M, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle" + ", XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle" + ", XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle" + ", XF86AudioPrev, exec, playerctl previous" + ", XF86AudioPlay, exec, playerctl play-pause" + ", XF86AudioNext, exec, playerctl next" + + "$mod, Q, killactive," + "$mod SHIFT, E, exit," + "CTRL ALT, Delete, exit," + "$mod, V, togglefloating," + "$mod SHIFT, F, fullscreen, 1" + "$mod CTRL SHIFT, F, fullscreen, 0" + "$mod, W, togglegroup," + + "$mod SHIFT, left, focusmonitor, l" + "$mod SHIFT, down, focusmonitor, d" + "$mod SHIFT, up, focusmonitor, u" + "$mod SHIFT, right, focusmonitor, r" + "$mod SHIFT, H, focusmonitor, l" + "$mod SHIFT, J, focusmonitor, d" + "$mod SHIFT, K, focusmonitor, u" + "$mod SHIFT, L, focusmonitor, r" + + "$mod SHIFT CTRL, left, movewindow, mon:l" + "$mod SHIFT CTRL, down, movewindow, mon:d" + "$mod SHIFT CTRL, up, movewindow, mon:u" + "$mod SHIFT CTRL, right, movewindow, mon:r" + + "$mod, Page_Down, workspace, e+1" + "$mod, Page_Up, workspace, e-1" + "$mod, U, workspace, e+1" + "$mod, I, workspace, e-1" + "$mod, mouse_down, workspace, e+1" + "$mod, mouse_up, workspace, e-1" + + "$mod CTRL, Page_Down, movetoworkspace, e+1" + "$mod CTRL, Page_Up, movetoworkspace, e-1" + "$mod CTRL, U, movetoworkspace, e+1" + "$mod CTRL, I, movetoworkspace, e-1" + + "$mod SHIFT, S, exec, grim -g \"$(slurp)\" ~/Pictures/Screenshots/$(date +'%%a %%b %%e %%Y @%%l:%%M %%p').png" + "CTRL SHIFT, S, exec, grim ~/Pictures/Screenshots/$(date +'%%a %%b %%e %%Y @%%l:%%M %%p').png" + + "$mod SHIFT, P, dpms, off" + ", XF86Sleep, dpms, off" + ] + ++ (builtins.concatLists ( + builtins.attrValues ( + builtins.mapAttrs + (key: dir: [ + "$mod, ${key}, movefocus, ${dir}" + "$mod CTRL, ${key}, movewindow, ${dir}" + ]) + { + left = "l"; + right = "r"; + up = "u"; + down = "d"; + H = "l"; + L = "r"; + K = "u"; + J = "d"; + } + ) + )) + ++ (builtins.concatLists ( + builtins.genList ( + x: + let + ws = + let + c = (x + 1) / 10; + in + builtins.toString (x + 1 - (c * 10)); + in + [ + "$mod, ${ws}, workspace, ${ws}" + "$mod CTRL, ${ws}, movetoworkspace, ${ws}" + ] + ) 9 + )); + + binde = [ + ", XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.05+" + ", XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.05-" + "SHIFT, XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.01+" + "SHIFT, XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.01-" + + ", MouseForward, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.05+" + ", MouseBack, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.05-" + "SHIFT, MouseForward, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.01+" + "SHIFT, MouseBack, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.01-" + + ", XF86MonBrightnessUp, exec, noctalia-shell ipc call brightness increase" + ", XF86MonBrightnessDown, exec, noctalia-shell ipc call brightness decrease" + "SHIFT, XF86MonBrightnessUp, exec, brightnessctl --class=backlight set +1%" + "SHIFT, XF86MonBrightnessDown, exec, brightnessctl --class=backlight set 1%-" + + "$mod, equal, resizeactive, 40 0" + "$mod, minus, resizeactive, -40 0" + "$mod SHIFT, equal, resizeactive, 0 40" + "$mod SHIFT, minus, resizeactive, 0 -40" + ]; + + bindm = [ + "$mod, mouse:272, movewindow" + "$mod, mouse:273, resizewindow" + ]; + }; + }; +} diff --git a/home/tiling/wallpaper.nix b/home/tiling/wallpaper.nix index 958cb97..7f92b55 100644 --- a/home/tiling/wallpaper.nix +++ b/home/tiling/wallpaper.nix @@ -10,7 +10,7 @@ ${pkgs.wbg}/bin/wbg -s \ %h/.local/share/wallpaper/daily-colored.jpg ''; - Install.WantedBy = [ "niri.service" ]; + Install.WantedBy = [ "graphical-session.target" ]; }; systemd.user.services.bing-wallpaper = { @@ -47,7 +47,7 @@ } ); Service.ExecStartPost = "${pkgs.systemd}/bin/systemctl --user start gowall-convert.service"; - Install.WantedBy = [ "niri.service" ]; + Install.WantedBy = [ "graphical-session.target" ]; }; systemd.user.timers.bing-wallpaper = { diff --git a/system/default.nix b/system/default.nix index d3a78b3..57b6f19 100755 --- a/system/default.nix +++ b/system/default.nix @@ -89,6 +89,12 @@ } ]; }; + hyprland = { + enable = true; + package = pkgs.hyprland; + portalPackage = pkgs.xdg-desktop-portal-hyprland; + withUWSM = true; + }; }; services = { From 7c9ef445dd1dfb9db0fd7d4fc5270763e4a10206 Mon Sep 17 00:00:00 2001 From: Sean Kovacs Date: Sun, 1 Mar 2026 19:48:40 -0500 Subject: [PATCH 31/33] disable hyprland for now --- home/hosts/peach/default.nix | 4 ++-- home/tiling/default.nix | 2 +- home/tiling/noctalia.nix | 6 +++--- home/tiling/wallpaper.nix | 4 ++-- system/default.nix | 12 ++++++------ 5 files changed, 14 insertions(+), 14 deletions(-) diff --git a/home/hosts/peach/default.nix b/home/hosts/peach/default.nix index 6df416a..3b3319a 100644 --- a/home/hosts/peach/default.nix +++ b/home/hosts/peach/default.nix @@ -5,7 +5,7 @@ }: { colors = { - scheme = "banana-blueberry"; + scheme = "kanagawa-dragon"; accent = "base09"; }; @@ -29,7 +29,7 @@ mode = { width = 3024; height = 1964; - refresh = 60.000; + refresh = 120.000; }; position = { x = 272; diff --git a/home/tiling/default.nix b/home/tiling/default.nix index f7832ca..35b54b8 100644 --- a/home/tiling/default.nix +++ b/home/tiling/default.nix @@ -1,7 +1,7 @@ { pkgs, config, ... }: { imports = [ - ./hyprland.nix + # ./hyprland.nix ./niri.nix ./noctalia.nix ./wallpaper.nix diff --git a/home/tiling/noctalia.nix b/home/tiling/noctalia.nix index a3d797e..82e53b0 100644 --- a/home/tiling/noctalia.nix +++ b/home/tiling/noctalia.nix @@ -595,8 +595,8 @@ systemd.user.services.noctalia-shell = { Unit = { - After = [ "graphical-session.target" ]; - PartOf = [ "graphical-session.target" ]; + After = [ "niri.service" ]; + PartOf = [ "niri.service" ]; Description = "Noctalia Shell - Wayland desktop shell"; Documentation = "https://docs.noctalia.dev"; X-Restart-Triggers = [ @@ -611,6 +611,6 @@ Environment = [ "QT_QPA_PLATFORMTHEME=qt6ct" ]; }; - Install.WantedBy = [ "graphical-session.target" ]; + Install.WantedBy = [ "niri.service" ]; }; } diff --git a/home/tiling/wallpaper.nix b/home/tiling/wallpaper.nix index 7f92b55..958cb97 100644 --- a/home/tiling/wallpaper.nix +++ b/home/tiling/wallpaper.nix @@ -10,7 +10,7 @@ ${pkgs.wbg}/bin/wbg -s \ %h/.local/share/wallpaper/daily-colored.jpg ''; - Install.WantedBy = [ "graphical-session.target" ]; + Install.WantedBy = [ "niri.service" ]; }; systemd.user.services.bing-wallpaper = { @@ -47,7 +47,7 @@ } ); Service.ExecStartPost = "${pkgs.systemd}/bin/systemctl --user start gowall-convert.service"; - Install.WantedBy = [ "graphical-session.target" ]; + Install.WantedBy = [ "niri.service" ]; }; systemd.user.timers.bing-wallpaper = { diff --git a/system/default.nix b/system/default.nix index 57b6f19..68cf65a 100755 --- a/system/default.nix +++ b/system/default.nix @@ -89,12 +89,12 @@ } ]; }; - hyprland = { - enable = true; - package = pkgs.hyprland; - portalPackage = pkgs.xdg-desktop-portal-hyprland; - withUWSM = true; - }; + # hyprland = { + # enable = true; + # package = pkgs.hyprland; + # portalPackage = pkgs.xdg-desktop-portal-hyprland; + # withUWSM = true; + # }; }; services = { From 96e262ef81ad7bd525de80e82e64aba1e2d37ef5 Mon Sep 17 00:00:00 2001 From: Sean Kovacs Date: Mon, 2 Mar 2026 13:46:10 -0500 Subject: [PATCH 32/33] switch icon theme to adwaita --- home/apps/firefox.nix | 6 +++--- home/default.nix | 2 ++ home/services/default.nix | 34 +++++++++++++++++++++++++++------- home/tiling/default.nix | 2 +- 4 files changed, 33 insertions(+), 11 deletions(-) diff --git a/home/apps/firefox.nix b/home/apps/firefox.nix index 1a3298c..368894f 100644 --- a/home/apps/firefox.nix +++ b/home/apps/firefox.nix @@ -76,7 +76,7 @@ url = "https://web.whatsapp.com/"; manifestUrl = "https://web.whatsapp.com/data/manifest.json"; desktopEntry = { - icon = "${pkgs.colloid-icon-theme}/share/icons/Colloid/apps/scalable/whatsapp.svg"; + icon = "${pkgs.morewaita-icon-theme}/share/icons/MoreWaita/scalable/apps/whatsapp.svg"; categories = [ "Network" "Chat" @@ -306,8 +306,8 @@ }; search = let - nixIcon = "${pkgs.colloid-icon-theme}/share/icons/Colloid/apps/scalable/nix-snowflake.svg"; - searchIcon = "${pkgs.colloid-icon-theme}/share/icons/Colloid-Dark/places/symbolic/folder-saved-search-symbolic.svg"; + nixIcon = "/run/current-system/sw/share/icons/hicolor/scalable/apps/nix-snowflake.svg"; + searchIcon = "${pkgs.adwaita-icon-theme}/share/icons/Adwaita/scalable/places/folder-saved-search-symbolic.svg"; in { force = true; diff --git a/home/default.nix b/home/default.nix index 45efb77..ee2f997 100755 --- a/home/default.nix +++ b/home/default.nix @@ -42,6 +42,8 @@ kde-rounded-corners kdePackages.partitionmanager pkgs.catppuccin-cursors.mochaPeach + adwaita-icon-theme + morewaita-icon-theme # gui applications input-leap diff --git a/home/services/default.nix b/home/services/default.nix index a0ff910..686339e 100644 --- a/home/services/default.nix +++ b/home/services/default.nix @@ -22,6 +22,31 @@ }; }; + dconf.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" ]; + }; + }; + home.pointerCursor = { gtk.enable = true; name = config.userOptions.cursor.name; @@ -48,15 +73,10 @@ # else "Breeze"; # }; - # iconTheme = { - # name = if config.userOptions.isDark then "Colloid-Dark" else "Colloid-Light"; - # package = pkgs.colloid-icon-theme; - # }; - colorScheme = "dark"; iconTheme = { - name = "Colloid-Dark"; - package = pkgs.colloid-icon-theme; + name = "MoreWaita"; + package = pkgs.morewaita-icon-theme; }; cursorTheme = { diff --git a/home/tiling/default.nix b/home/tiling/default.nix index 35b54b8..512ea0f 100644 --- a/home/tiling/default.nix +++ b/home/tiling/default.nix @@ -26,7 +26,7 @@ layer = "overlay"; font = with config.userOptions.fontMono; name + ":size=" + toString (size + 2); launch-prefix = "${pkgs.niri}/bin/niri msg action spawn --"; - icon-theme = "Colloid-Dark"; + icon-theme = config.gtk.iconTheme.name; }; border = { width = 2; From d4e605532e988f3574633a605a7dd786e4466931 Mon Sep 17 00:00:00 2001 From: Sean Kovacs Date: Mon, 2 Mar 2026 13:46:28 -0500 Subject: [PATCH 33/33] disable discord --- home/apps/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/apps/default.nix b/home/apps/default.nix index 69a251c..291ebb1 100644 --- a/home/apps/default.nix +++ b/home/apps/default.nix @@ -1,6 +1,6 @@ { imports = [ - ./discord.nix + # ./discord.nix ./firefox.nix ./mpv.nix # ./vscode.nix