{ config, pkgs, lib, ... }: let wallpaperStateFile = "${config.home.homeDirectory}/.config/home-manager/wallpaper-state.nix"; activeWallpaper = if builtins.pathExists wallpaperStateFile then lib.removeSuffix "\n" (builtins.readFile wallpaperStateFile) else ""; in { wayland.windowManager.hyprland = { enable = true; settings = { "general" = { "col.active_border" = "rgb(${config.colorScheme.palette.base0E})"; "col.inactive_border" = "rgb(${config.colorScheme.palette.base03})"; }; "exec-once" = [ "swww init && swww fill ${activeWallpaper}" "nomarchy-welcome" ]; "bind" = [ "SUPER ALT, Space, exec, nomarchy-theme-selector" "SUPER CTRL, Space, exec, nomarchy-font-selector" "SUPER SHIFT, Space, exec, nomarchy-wallpaper-selector" "SUPER, Return, exec, alacritty" "SUPER, Q, killactive," "SUPER, M, exit," ]; }; }; }