diff --git a/docs/constellation-work.md b/docs/constellation-work.md index 15e55a9..693b9df 100644 --- a/docs/constellation-work.md +++ b/docs/constellation-work.md @@ -125,18 +125,25 @@ behavior, rather than Stylix or a palette-only abstraction. The single import in excluded from automatic module discovery, so unselected themes are not loaded. Kanagawa owns GTK/icons/cursor, Qt integration, Kitty, Niri colors, Noctalia palette/font/wallpaper, Herdr colors, the native Neovim plugin and its setup, and -Limine/SDDM/Plymouth appearance. Only Kanagawa is implemented so far; switching -means selecting another module and rebuilding, not a live theme picker. +Limine, Noctalia Greeter and Plymouth appearance. Only Kanagawa is implemented +so far; switching means selecting another module and rebuilding, not a live +theme picker. Walker shares a compact layout with theme-provided colors: reduced padding, 24px icons, clearer secondary text, and a smaller minimum window height. Limine's terminal background is fully transparent with no edge gradient so it does not obscure the wallpaper. Runtime appearance needs user verification. -SDDM's purple-leaves theme and Plymouth's spinner are retained within Kanagawa; -their visual redesign and the low-frame-rate boot animation remain open. +Noctalia Greeter uses the same tracked green-leaves wallpaper, Lexend font, +Phinger cursor and dark Kanagawa palette as the desktop. Its logo and scheme +selector are hidden while power controls remain available. The pinned greeter +does not expose Niri's pointer acceleration or touchpad settings, so those retain +the greeter compositor defaults. Plymouth's spinner is retained; redesigning its +low-frame-rate animation remains open. Runtime appearance needs user verification. Verification: flake evaluation and both workstation builds passed. A headless check of the built Neovim confirmed Kanagawa Wave, inactive-window dimming and the custom gutter setting. Rendered Herdr TOML, Walker XML and Limine settings -also passed targeted checks. No system activation or live desktop changes performed. +also passed targeted checks. Targeted evaluation confirmed identical greeter +settings for both workstations, and `nix flake check --no-build --quiet` passed +for the greeter change. No system activation or live desktop changes performed. Dictation: plain local transcription is selected; rambling cleanup is deferred. Handy preferences are application-owned again: the Nix settings generator and diff --git a/modules/capabilities/_themes/assets/green-leaves.png b/modules/capabilities/_themes/assets/green-leaves.png new file mode 100644 index 0000000..e8b1e84 Binary files /dev/null and b/modules/capabilities/_themes/assets/green-leaves.png differ diff --git a/modules/capabilities/_themes/kanagawa.nix b/modules/capabilities/_themes/kanagawa.nix index 2c4784e..077f118 100644 --- a/modules/capabilities/_themes/kanagawa.nix +++ b/modules/capabilities/_themes/kanagawa.nix @@ -2,6 +2,7 @@ let palette = (import ./_kanagawa-palette.nix).palette; hex = lib.removePrefix "#"; + wallpaper = ./assets/green-leaves.png; cursor = { name = "phinger-cursors-light"; size = 24; @@ -139,7 +140,45 @@ in package = pkgs.phinger-cursors; name = cursor.name; }; - settings.cursor.size = cursor.size; + settings = { + appearance = { + scheme = "Synced"; + password_style = "default"; + hide_logo = true; + power_buttons_position = "bottom-right"; + scheme_selector_position = "hidden"; + theme_mode = "dark"; + corner_radius_scale = 1.0; + font_family = "Lexend"; + + palette = { + primary = palette.terminal.color2; + on_primary = palette.background; + secondary = palette.terminal.color3; + on_secondary = palette.background; + tertiary = palette.terminal.color4; + on_tertiary = palette.background; + error = palette.terminal.color1; + on_error = palette.background; + surface = palette.background; + on_surface = palette.selectionForeground; + surface_variant = "#2A2A37"; + on_surface_variant = "#717C7C"; + outline = "#363646"; + shadow = palette.background; + hover = palette.terminal.color4; + on_hover = palette.background; + }; + + wallpaper = { + path = toString wallpaper; + fill_mode = "crop"; + fill_color = palette.background; + }; + }; + + cursor.size = cursor.size; + }; }; }; @@ -222,25 +261,20 @@ in ''; }; - flake.modules.homeManager.noctalia = - { config, ... }: - let - wallpaper = "${config.home.homeDirectory}/media/images/wallpapers/green-leaves.png"; - in - { - programs.noctalia.settings = { - shell.font_family = "Lexend"; - theme = { - builtin = "Kanagawa"; - community_palette = "Kanagawa Paper"; - wallpaper_scheme = "m3-content"; - }; - wallpaper = { - default.path = wallpaper; - last.path = wallpaper; - }; + flake.modules.homeManager.noctalia = { + programs.noctalia.settings = { + shell.font_family = "Lexend"; + theme = { + builtin = "Kanagawa"; + community_palette = "Kanagawa Paper"; + wallpaper_scheme = "m3-content"; + }; + wallpaper = { + default.path = toString wallpaper; + last.path = toString wallpaper; }; }; + }; flake.modules.homeManager.neovim = { pkgs, ... }: { wrappers.neovim.specs.theme = {