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 = {