diff --git a/flake.lock b/flake.lock index e69014b..7d674c4 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" }, @@ -578,7 +540,6 @@ "inputs": { "aerothemeplasma-nix": "aerothemeplasma-nix", "apple-silicon": "apple-silicon", - "awww": "awww", "base16": "base16", "base16-discord": "base16-discord", "catppuccin-discord": "catppuccin-discord", @@ -600,27 +561,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 b95f95c..0ff254f 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/01bcd6a6369fe461caaf900354967b4751aede7a"; 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 3c29760..653ac7e 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,22 +222,21 @@ }; } { - 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"; - } - ]; + matches = [ { namespace = "^wallpaper$"; } ]; place-within-backdrop = true; } ]; @@ -401,29 +399,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 +533,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 +549,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" ]; }; } diff --git a/home/tiling/wallpaper.nix b/home/tiling/wallpaper.nix index 2f11288..958cb97 100644 --- a/home/tiling/wallpaper.nix +++ b/home/tiling/wallpaper.nix @@ -1,25 +1,16 @@ { pkgs, + config, ... }: { - systemd.user.services.awww-daemon = { - Unit.Description = "Wallpaper service using awww (daemon)"; - Service.ExecStart = "${pkgs.awww}/bin/awww-daemon"; - 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"; + 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-colored.jpg ''; + Install.WantedBy = [ "niri.service" ]; }; systemd.user.services.bing-wallpaper = { @@ -39,34 +30,24 @@ 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" ''; } ); - Service.ExecStartPost = "${pkgs.systemd}/bin/systemctl --user restart awww-setter.service"; - Install.WantedBy = [ "graphical-session.target" ]; + Service.ExecStartPost = "${pkgs.systemd}/bin/systemctl --user start gowall-convert.service"; + Install.WantedBy = [ "niri.service" ]; }; systemd.user.timers.bing-wallpaper = { @@ -75,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}" + ''; }