diff --git a/docs/constellation-work.md b/docs/constellation-work.md index 825a1db..3873cba 100644 --- a/docs/constellation-work.md +++ b/docs/constellation-work.md @@ -118,6 +118,26 @@ reports are not a fresh comparison with this baseline. ## Open choices and next discussion +Current focus: look and feel/theming, informed by `~/sync/notes/setup-todo.md`. +The user accepted complete Nix theme modules with arbitrary plugin/configuration +behavior, rather than Stylix or a palette-only abstraction. The single import in +`modules/capabilities/theme.nix` selects `./_themes/kanagawa.nix`. `_themes` is +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. +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. +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. + Dictation: plain local transcription is selected; rambling cleanup is deferred. Handy preferences are application-owned again: the Nix settings generator and startup reset are removed. The existing settings file is left untouched. @@ -158,7 +178,7 @@ Niri workspace grouping stays informal while the user discovers what fits; Herdr provides enough structure for now. No workspace rules or fixed layout are needed. Further Herdr configuration, agent workflows and project management are explicitly deferred at the user's request. Do not use them as the default next task or request -workflow feedback unless the user reopens the topic. The next area is not selected. +workflow feedback unless the user reopens the topic. The active area is theming. Agent evaluation is explicitly deferred. Do not resume replacement-tool comparisons or ask for an evaluation task/budget as a prerequisite for this work. diff --git a/docs/constellation.md b/docs/constellation.md index 50d0c02..01eda68 100644 --- a/docs/constellation.md +++ b/docs/constellation.md @@ -25,6 +25,12 @@ use a flake to declare its tools without Nix owning the surrounding workspace. ## What that means so far +- Themes are complete Nix modules, not just palettes. Select one through + `modules/capabilities/theme.nix`; it may install native theme plugins, configure + their behavior and choose assets for each application. Kanagawa is the first + implementation. Shared interaction/layout choices stay in capability modules. + Stylix is not selected: preserving theme-specific behavior matters more than + forcing applications through one generated color scheme. - Neovim, Niri, Walker and the terminal feel right: direct, keyboard-driven interaction with useful connections to the rest of the environment. - Use Handy for local plain dictation, mainly English with occasional Dutch. diff --git a/modules/capabilities/_kanagawa.nix b/modules/capabilities/_themes/_kanagawa-palette.nix similarity index 100% rename from modules/capabilities/_kanagawa.nix rename to modules/capabilities/_themes/_kanagawa-palette.nix diff --git a/modules/capabilities/_themes/kanagawa.nix b/modules/capabilities/_themes/kanagawa.nix new file mode 100644 index 0000000..fd83592 --- /dev/null +++ b/modules/capabilities/_themes/kanagawa.nix @@ -0,0 +1,277 @@ +{ config, lib, ... }: +let + palette = (import ./_kanagawa-palette.nix).palette; + hex = lib.removePrefix "#"; + cursor = { + name = "phinger-cursors-light"; + size = 24; + }; +in +{ + flake.modules.nixos.theme = + { pkgs, ... }: + { + home-manager.sharedModules = [ config.flake.modules.homeManager.theme ]; + environment.systemPackages = [ pkgs.phinger-cursors ]; + }; + + flake.modules.homeManager.theme = + { pkgs, ... }: + let + version = "unstable-2025-10-23"; + src = pkgs.fetchFromGitHub { + owner = "Fausto-Korpsvart"; + repo = "Kanagawa-GKT-Theme"; + rev = "55ca4ba249eba21f861b9866b71ab41bb8930318"; + hash = "sha256-UdMoMx2DoovcxSp/zBZ3PRv/Qpj+prd0uPm1gmdak2E="; + }; + kanagawaGtkTheme = pkgs.stdenvNoCC.mkDerivation { + pname = "kanagawa-gtk-theme"; + inherit src version; + + nativeBuildInputs = [ pkgs.sassc ]; + + installPhase = '' + runHook preInstall + + mkdir -p "$out/share/themes" + bash ./themes/install.sh \ + --dest "$out/share/themes" \ + --name Kanagawa \ + --color dark + + rm -r "$out/share/themes/Kanagawa-Dark/gtk-2.0" + + runHook postInstall + ''; + }; + in + { + home.pointerCursor = cursor // { + enable = true; + package = pkgs.phinger-cursors; + dotIcons.enable = false; + gtk.enable = true; + }; + + gtk = { + enable = true; + theme = { + name = "Kanagawa-Dark"; + package = kanagawaGtkTheme; + }; + gtk4.theme = null; + iconTheme = { + name = "Kanagawa"; + package = pkgs.kanagawa-icon-theme.overrideAttrs (_: { + inherit src version; + }); + }; + }; + + qt = { + enable = true; + platformTheme.name = "gtk3"; + }; + + xdg.systemDirs.data = [ + "${pkgs.gsettings-desktop-schemas}/share/gsettings-schemas/${pkgs.gsettings-desktop-schemas.name}" + "${pkgs.gtk3}/share/gsettings-schemas/${pkgs.gtk3.name}" + ]; + }; + + flake.modules.nixos.limine = + { config, pkgs, ... }: + let + terminalPalette = palette.terminal; + mkPalette = colors: lib.concatStringsSep ";" (map hex colors); + in + { + boot.loader.limine.style = { + wallpapers = [ pkgs.nixos-artwork.wallpapers.simple-dark-gray-bootloader.gnomeFilePath ]; + wallpaperStyle = "stretched"; + backdrop = hex palette.secondaryBackground; + + graphicalTerminal = { + # TT is transparency: let the boot wallpaper show through the terminal. + background = "FF${hex palette.background}"; + foreground = hex palette.foreground; + brightForeground = hex palette.selectionForeground; + brightBackground = hex palette.selectionBackground; + palette = mkPalette [ + terminalPalette.color0 + terminalPalette.color1 + terminalPalette.color2 + terminalPalette.color3 + terminalPalette.color4 + terminalPalette.color5 + terminalPalette.color6 + terminalPalette.color7 + ]; + brightPalette = mkPalette [ + terminalPalette.color8 + terminalPalette.color9 + terminalPalette.color10 + terminalPalette.color11 + terminalPalette.color12 + terminalPalette.color13 + terminalPalette.color14 + terminalPalette.color15 + ]; + font = { + scale = "2x2"; + spacing = 1; + }; + margin = 64; + marginGradient = 0; + }; + + interface = { + branding = config.networking.hostName; + brandingColor = hex palette.accents.blue; + }; + }; + }; + + flake.modules.nixos.sddm = { pkgs, ... }: { + services.displayManager.sddm = { + theme = "${ + pkgs.sddm-astronaut.override { embeddedTheme = "purple_leaves"; } + }/share/sddm/themes/sddm-astronaut-theme"; + extraPackages = [ pkgs.kdePackages.qtmultimedia ]; + settings.Theme = { + CursorTheme = cursor.name; + CursorSize = cursor.size; + }; + }; + }; + + flake.modules.nixos.plymouth = { pkgs, ... }: { + boot.plymouth = { + theme = "spinner_alt"; + themePackages = [ pkgs.adi1090x-plymouth-themes ]; + }; + }; + + flake.modules.homeManager.terminal-kitty = { + programs.kitty = { + settings = { + bold_font = "postscript_name=JetBrainsMono-Bold"; + bold_italic_font = "postscript_name=JetBrainsMono-BoldItalic"; + }; + font = { + name = "JetBrains Mono"; + size = 11; + }; + extraConfig = '' + # Nerd Fonts v3.4.0 + symbol_map U+e000-U+e00a,U+e0a0-U+e0a2,U+e0a3,U+e0b0-U+e0b3,U+e0b4-U+e0c8,U+e0ca,U+e0cc-U+e0d7,U+e200-U+e2a9,U+e300-U+e3e3,U+e5fa-U+e6b7,U+e700-U+e8ef,U+ea60-U+ec1e,U+ed00-U+efce,U+f000-U+f2ff,U+f300-U+f381,U+f400-U+f533,U+f0001-U+f1af0 Symbols Nerd Font Mono + + ## name: Kanagawa Wave + ## license: MIT + ## author: Tommaso Laurenzi + ## upstream: https://github.com/rebelot/kanagawa.nvim/ + + background ${palette.background} + foreground ${palette.foreground} + selection_background ${palette.selectionBackground} + selection_foreground ${palette.selectionForeground} + url_color ${palette.url} + cursor ${palette.cursor} + + active_tab_background ${palette.background} + active_tab_foreground ${palette.selectionForeground} + inactive_tab_background ${palette.background} + inactive_tab_foreground ${palette.muted} + + color0 ${palette.terminal.color0} + color1 ${palette.terminal.color1} + color2 ${palette.terminal.color2} + color3 ${palette.terminal.color3} + color4 ${palette.terminal.color4} + color5 ${palette.terminal.color5} + color6 ${palette.terminal.color6} + color7 ${palette.terminal.color7} + + color8 ${palette.terminal.color8} + color9 ${palette.terminal.color9} + color10 ${palette.terminal.color10} + color11 ${palette.terminal.color11} + color12 ${palette.terminal.color12} + color13 ${palette.terminal.color13} + color14 ${palette.terminal.color14} + color15 ${palette.terminal.color15} + + color16 ${palette.terminal.color16} + color17 ${palette.terminal.color17} + ''; + }; + }; + + flake.modules.homeManager.niri = { + dconf.settings."org/gnome/desktop/interface".color-scheme = "prefer-dark"; + wayland.windowManager.niri.settings.layout.border = { + active-color = palette.accents.blue; + inactive-color = palette.subtleBorder; + urgent-color = palette.accents.red; + }; + }; + + flake.modules.homeManager.ai = { + xdg.configFile."herdr/config.toml".text = lib.mkAfter '' + [theme] + name = "kanagawa" + auto_switch = false + ''; + }; + + 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.neovim = { pkgs, ... }: { + wrappers.neovim.specs.theme = { + data = pkgs.vimPlugins.kanagawa-nvim; + before = [ "INIT_MAIN" ]; + config = '' + require("kanagawa").setup({ + dimInactive = true, + colors = { + theme = { + all = { + ui = { bg_gutter = "none" }, + }, + }, + }, + }) + vim.cmd.colorscheme("kanagawa-wave") + ''; + }; + }; + + flake.modules.homeManager.walker = { + programs.walker.themes.constellation.style = lib.mkAfter '' + @define-color window_bg_color ${palette.background}; + @define-color accent_bg_color ${palette.selectionBackground}; + @define-color theme_fg_color ${palette.foreground}; + @define-color error_bg_color ${palette.terminal.color1}; + @define-color error_fg_color ${palette.foreground}; + ''; + }; +} diff --git a/modules/capabilities/ai.nix b/modules/capabilities/ai.nix index 33f0f8f..1a41d7b 100644 --- a/modules/capabilities/ai.nix +++ b/modules/capabilities/ai.nix @@ -123,10 +123,6 @@ in xdg.configFile."herdr/config.toml".text = '' onboarding = false - [theme] - name = "kanagawa" - auto_switch = false - [ui] agent_panel_sort = "spaces" diff --git a/modules/capabilities/limine.nix b/modules/capabilities/limine.nix index bfe8dfd..f39d0a0 100644 --- a/modules/capabilities/limine.nix +++ b/modules/capabilities/limine.nix @@ -1,10 +1,4 @@ -{ lib, ... }: -let - palette = (import ./_kanagawa.nix).palette; - hex = lib.removePrefix "#"; - terminalPalette = palette.terminal; - mkPalette = colors: lib.concatStringsSep ";" (map hex colors); -in +{ ... }: { flake.modules.nixos.limine = { config, lib, ... }: @@ -26,48 +20,7 @@ in maxGenerations = 10; resolution = interfaceResolution; - style = { - backdrop = hex palette.secondaryBackground; - - graphicalTerminal = { - background = "00${hex palette.background}"; - foreground = hex palette.foreground; - brightForeground = hex palette.selectionForeground; - brightBackground = hex palette.selectionBackground; - palette = mkPalette [ - terminalPalette.color0 - terminalPalette.color1 - terminalPalette.color2 - terminalPalette.color3 - terminalPalette.color4 - terminalPalette.color5 - terminalPalette.color6 - terminalPalette.color7 - ]; - brightPalette = mkPalette [ - terminalPalette.color8 - terminalPalette.color9 - terminalPalette.color10 - terminalPalette.color11 - terminalPalette.color12 - terminalPalette.color13 - terminalPalette.color14 - terminalPalette.color15 - ]; - font = { - scale = "2x2"; - spacing = 1; - }; - margin = 64; - marginGradient = 24; - }; - - interface = { - branding = config.networking.hostName; - brandingColor = hex palette.accents.blue; - resolution = interfaceResolution; - }; - }; + style.interface.resolution = interfaceResolution; }; }; }; diff --git a/modules/capabilities/neovim/default.nix b/modules/capabilities/neovim/default.nix index 25a08bb..186744c 100644 --- a/modules/capabilities/neovim/default.nix +++ b/modules/capabilities/neovim/default.nix @@ -171,10 +171,6 @@ in ui = { lazy = true; data = with pkgs.vimPlugins; [ - { - data = kanagawa-nvim; - lazy = false; - } render-markdown-nvim lualine-nvim gitsigns-nvim diff --git a/modules/capabilities/neovim/lua-config/lua/plugins/ui.lua b/modules/capabilities/neovim/lua-config/lua/plugins/ui.lua index 4256fd7..7088809 100644 --- a/modules/capabilities/neovim/lua-config/lua/plugins/ui.lua +++ b/modules/capabilities/neovim/lua-config/lua/plugins/ui.lua @@ -1,15 +1,3 @@ -require("kanagawa").setup({ - dimInactive = true, - colors = { - theme = { - all = { - ui = { bg_gutter = "none" }, - }, - }, - }, -}) -vim.cmd.colorscheme("kanagawa-wave") - require("lz.n").load({ { "lualine.nvim", @@ -34,7 +22,7 @@ require("lz.n").load({ require("lualine").setup({ options = { - theme = "kanagawa", + theme = "auto", component_separators = "", section_separators = "", globalstatus = true, diff --git a/modules/capabilities/niri/default.nix b/modules/capabilities/niri/default.nix index dc18274..3d35555 100644 --- a/modules/capabilities/niri/default.nix +++ b/modules/capabilities/niri/default.nix @@ -3,7 +3,6 @@ ... }: let - kanagawa = import ../_kanagawa.nix; hmModules = config.flake.modules.homeManager; in { @@ -28,7 +27,6 @@ in ... }: let - palette = kanagawa.palette; swapMonitorWorkspaces = import ./_shortcuts.nix { inherit pkgs; }; machine = config.facts.machine; in @@ -46,8 +44,6 @@ in ++ [ swapMonitorWorkspaces ]; }; - dconf.settings."org/gnome/desktop/interface".color-scheme = "prefer-dark"; - wayland.windowManager.niri = { enable = true; settings = { @@ -104,12 +100,7 @@ in focus-ring.off = { }; default-column-width.proportion = 1. / 2.; - border = { - width = 3; - active-color = palette.accents.blue; - inactive-color = palette.subtleBorder; - urgent-color = palette.accents.red; - }; + border.width = 3; }; debug.honor-xdg-activation-with-invalid-serial = true; diff --git a/modules/capabilities/noctalia.nix b/modules/capabilities/noctalia.nix index 2d9471b..44da31c 100644 --- a/modules/capabilities/noctalia.nix +++ b/modules/capabilities/noctalia.nix @@ -9,7 +9,6 @@ }: let homeDir = config.home.homeDirectory; - wallpaper = "${homeDir}/media/images/wallpapers/green-leaves.png"; in { desktop.autostart = [ [ (lib.getExe config.programs.noctalia.package) ] ]; @@ -85,7 +84,6 @@ }; shell = { - font_family = "Lexend"; polkit_agent = true; # Handy provides recording feedback; omit microphone activity popups/indicators. privacy.mic_filter_regex = ".*"; @@ -99,9 +97,6 @@ }; theme = { - builtin = "Kanagawa"; - community_palette = "Kanagawa Paper"; - wallpaper_scheme = "m3-content"; templates = { enable_builtin_templates = false; enable_community_templates = false; @@ -110,8 +105,6 @@ wallpaper = { directory = "${homeDir}/media/images/wallpapers"; - default.path = wallpaper; - last.path = wallpaper; }; weather.refresh_minutes = 15; diff --git a/modules/capabilities/plymouth.nix b/modules/capabilities/plymouth.nix index c541925..3b8259f 100644 --- a/modules/capabilities/plymouth.nix +++ b/modules/capabilities/plymouth.nix @@ -1,7 +1,7 @@ { ... }: { flake.modules.nixos.plymouth = - { pkgs, ... }: + { ... }: { boot = { consoleLogLevel = 3; @@ -16,8 +16,6 @@ plymouth = { enable = true; - theme = "spinner_alt"; - themePackages = [ pkgs.adi1090x-plymouth-themes ]; }; }; }; diff --git a/modules/capabilities/sddm.nix b/modules/capabilities/sddm.nix index 8d09c02..2d209f3 100644 --- a/modules/capabilities/sddm.nix +++ b/modules/capabilities/sddm.nix @@ -1,23 +1,10 @@ { - flake.modules.nixos.sddm = - { - pkgs, - ... - }: - { - services.displayManager.sddm = { - enable = true; - enableHidpi = true; - wayland.enable = true; - wayland.compositor = "kwin"; - theme = "${ - pkgs.sddm-astronaut.override { embeddedTheme = "purple_leaves"; } - }/share/sddm/themes/sddm-astronaut-theme"; - extraPackages = [ pkgs.kdePackages.qtmultimedia ]; - settings.Theme = { - CursorTheme = "phinger-cursors-light"; - CursorSize = 24; - }; - }; + flake.modules.nixos.sddm = { + services.displayManager.sddm = { + enable = true; + enableHidpi = true; + wayland.enable = true; + wayland.compositor = "kwin"; }; + }; } diff --git a/modules/capabilities/terminal.nix b/modules/capabilities/terminal.nix index a3df641..c517411 100644 --- a/modules/capabilities/terminal.nix +++ b/modules/capabilities/terminal.nix @@ -6,8 +6,6 @@ in flake.modules.homeManager.terminal-kitty = { pkgs, ... }: let - theme = import ./_kanagawa.nix; - palette = theme.palette; kitty = pkgs.symlinkJoin { name = "kitty-single"; paths = [ pkgs.kitty ]; @@ -24,13 +22,7 @@ in programs.kitty = { enable = true; package = kitty; - font = { - name = "JetBrains Mono"; - size = 11; - }; settings = { - bold_font = "postscript_name=JetBrainsMono-Bold"; - bold_italic_font = "postscript_name=JetBrainsMono-BoldItalic"; disable_ligatures = "always"; scrollback_lines = 10000; enable_audio_bell = false; @@ -39,48 +31,6 @@ in update_check_interval = 0; }; keybindings."shift+enter" = "send_text all \\x0a"; - extraConfig = '' - # Nerd Fonts v3.4.0 - symbol_map U+e000-U+e00a,U+e0a0-U+e0a2,U+e0a3,U+e0b0-U+e0b3,U+e0b4-U+e0c8,U+e0ca,U+e0cc-U+e0d7,U+e200-U+e2a9,U+e300-U+e3e3,U+e5fa-U+e6b7,U+e700-U+e8ef,U+ea60-U+ec1e,U+ed00-U+efce,U+f000-U+f2ff,U+f300-U+f381,U+f400-U+f533,U+f0001-U+f1af0 Symbols Nerd Font Mono - - ## name: ${theme.displayName} - ## license: MIT - ## author: Tommaso Laurenzi - ## upstream: https://github.com/rebelot/kanagawa.nvim/ - - background ${palette.background} - foreground ${palette.foreground} - selection_background ${palette.selectionBackground} - selection_foreground ${palette.selectionForeground} - url_color ${palette.url} - cursor ${palette.cursor} - - active_tab_background ${palette.background} - active_tab_foreground ${palette.selectionForeground} - inactive_tab_background ${palette.background} - inactive_tab_foreground ${palette.muted} - - color0 ${palette.terminal.color0} - color1 ${palette.terminal.color1} - color2 ${palette.terminal.color2} - color3 ${palette.terminal.color3} - color4 ${palette.terminal.color4} - color5 ${palette.terminal.color5} - color6 ${palette.terminal.color6} - color7 ${palette.terminal.color7} - - color8 ${palette.terminal.color8} - color9 ${palette.terminal.color9} - color10 ${palette.terminal.color10} - color11 ${palette.terminal.color11} - color12 ${palette.terminal.color12} - color13 ${palette.terminal.color13} - color14 ${palette.terminal.color14} - color15 ${palette.terminal.color15} - - color16 ${palette.terminal.color16} - color17 ${palette.terminal.color17} - ''; }; systemd.user.services.kitty-daemon = { Unit = { diff --git a/modules/capabilities/theme.nix b/modules/capabilities/theme.nix index 9d9aea6..1a573e7 100644 --- a/modules/capabilities/theme.nix +++ b/modules/capabilities/theme.nix @@ -1,80 +1,2 @@ -{ config, ... }: -let - cursor = { - name = "phinger-cursors-light"; - size = 24; - }; -in -{ - flake.modules.nixos.theme = - { pkgs, ... }: - { - home-manager.sharedModules = [ config.flake.modules.homeManager.theme ]; - environment.systemPackages = [ pkgs.phinger-cursors ]; - }; - - flake.modules.homeManager.theme = - { pkgs, ... }: - let - version = "unstable-2025-10-23"; - src = pkgs.fetchFromGitHub { - owner = "Fausto-Korpsvart"; - repo = "Kanagawa-GKT-Theme"; - rev = "55ca4ba249eba21f861b9866b71ab41bb8930318"; - hash = "sha256-UdMoMx2DoovcxSp/zBZ3PRv/Qpj+prd0uPm1gmdak2E="; - }; - kanagawaGtkTheme = pkgs.stdenvNoCC.mkDerivation { - pname = "kanagawa-gtk-theme"; - inherit src version; - - nativeBuildInputs = [ pkgs.sassc ]; - - installPhase = '' - runHook preInstall - - mkdir -p "$out/share/themes" - bash ./themes/install.sh \ - --dest "$out/share/themes" \ - --name Kanagawa \ - --color dark - - rm -r "$out/share/themes/Kanagawa-Dark/gtk-2.0" - - runHook postInstall - ''; - }; - in - { - home.pointerCursor = cursor // { - enable = true; - package = pkgs.phinger-cursors; - dotIcons.enable = false; - gtk.enable = true; - }; - - gtk = { - enable = true; - theme = { - name = "Kanagawa-Dark"; - package = kanagawaGtkTheme; - }; - gtk4.theme = null; - iconTheme = { - name = "Kanagawa"; - package = pkgs.kanagawa-icon-theme.overrideAttrs (_: { - inherit src version; - }); - }; - }; - - qt = { - enable = true; - platformTheme.name = "gtk3"; - }; - - xdg.systemDirs.data = [ - "${pkgs.gsettings-desktop-schemas}/share/gsettings-schemas/${pkgs.gsettings-desktop-schemas.name}" - "${pkgs.gtk3}/share/gsettings-schemas/${pkgs.gtk3.name}" - ]; - }; -} +# Select a complete theme module: plugins, assets and behavior as well as colors. +{ imports = [ ./_themes/kanagawa.nix ]; } diff --git a/modules/capabilities/walker.nix b/modules/capabilities/walker.nix index db5d15c..e0faddf 100644 --- a/modules/capabilities/walker.nix +++ b/modules/capabilities/walker.nix @@ -129,6 +129,34 @@ enable = true; runAsService = true; + config.theme = "constellation"; + themes.constellation = { + layouts.layout = + lib.replaceStrings + [ ''570'' ] + [ ''460'' ] + (builtins.readFile "${inputs.walker}/resources/themes/default/layout.xml"); + style = lib.mkBefore ( + builtins.readFile "${inputs.walker}/resources/themes/default/style.css" + + '' + .box-wrapper { + padding: 10px; + border-radius: 10px; + box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25); + } + .search-container, .item-box, .preview { border-radius: 6px; } + .input { padding: 8px 10px; } + .item-box { padding: 5px 8px; } + .large-icons { -gtk-icon-size: 24px; } + .item-image-text { font-size: 24px; } + .item-subtext { opacity: 0.75; } + .item-quick-activation { padding: 3px 5px; } + .keybinds { padding-top: 6px; } + .keybind-bind { opacity: 0.65; } + '' + ); + }; + config.providers = { default = walkerDefaults.providers.default ++ [ "menus:projects" ]; prefixes = walkerDefaults.providers.prefixes ++ [