From 6b3e96b3b30d34b01cf705d4803f0498980932e5 Mon Sep 17 00:00:00 2001 From: Bernardo Magri Date: Mon, 13 Apr 2026 11:19:43 +0100 Subject: [PATCH] feat: add walker and rofi themes for summer-night and fix styling logic --- features/apps/walker.nix | 11 +- themes/engine/files.nix | 21 +++ themes/palettes/summer-night/apps/rofi.rasi | 143 ++++++++++++++++++ .../summer-night/apps/walker/style.css | 34 +++++ 4 files changed, 199 insertions(+), 10 deletions(-) create mode 100644 themes/palettes/summer-night/apps/rofi.rasi create mode 100644 themes/palettes/summer-night/apps/walker/style.css diff --git a/features/apps/walker.nix b/features/apps/walker.nix index dbcab70..0975570 100644 --- a/features/apps/walker.nix +++ b/features/apps/walker.nix @@ -40,16 +40,7 @@ }; themes."nomarchy" = lib.mkDefault { style = '' - * { - color: #${config.colorScheme.palette.base05}; - } - #window { - background-color: #${config.colorScheme.palette.base00}; - } - .item.active { - background-color: #${config.colorScheme.palette.base03}; - color: #${config.colorScheme.palette.base0B}; - } + @import "${config.home.homeDirectory}/.config/nomarchy/current/theme/apps/walker/style.css"; ''; }; }; diff --git a/themes/engine/files.nix b/themes/engine/files.nix index 2f0e029..a8d6b3b 100644 --- a/themes/engine/files.nix +++ b/themes/engine/files.nix @@ -45,6 +45,27 @@ in source = hyprlandConfSource; }; + # Rofi fallback support + xdg.configFile."rofi/config.rasi" = lib.mkIf (builtins.pathExists (themeAppsPath + "/rofi.rasi")) { + source = themeAppsPath + "/rofi.rasi"; + }; + + # Walker fallback support + xdg.configFile."nomarchy/current/theme/apps/walker/style.css" = lib.mkIf (!builtins.pathExists (themeAppsPath + "/walker/style.css")) { + text = '' + * { + color: #${palette.base05}; + } + #window { + background-color: #${palette.base00}; + } + .item.active { + background-color: #${palette.base03}; + color: #${palette.base0B}; + } + ''; + }; + xdg.configFile."nomarchy/current/theme.name".text = config.nomarchy.theme; # Expose branding assets diff --git a/themes/palettes/summer-night/apps/rofi.rasi b/themes/palettes/summer-night/apps/rofi.rasi new file mode 100644 index 0000000..970aaf0 --- /dev/null +++ b/themes/palettes/summer-night/apps/rofi.rasi @@ -0,0 +1,143 @@ +/** + * Nomarchy Summer Night Rofi Theme + * Converted from everforest.rasi and config + */ + +configuration { + modi: "drun"; + show-icons: true; + icon-theme: "Papirus-Dark"; + terminal: "kitty"; + drun-display-format: "{name}"; + case-sensitive: false; + location: 0; + disable-history: false; + hide-scrollbar: true; + display-drun: "Search"; +} + +* { + /* Summer Night color definitions */ + bg0: #2d353b; + fg: #d3c6aa; + red: #e68183; + yellow: #d9bb80; + green: #a7c080; + aqua: #83b6af; + blue: #83b6af; + purple: #d39bb6; + grey0: #868d80; + + font: "Iosevka Nerd Font 17"; + background-color: transparent; + text-color: @fg; +} + +window { + transparency: "real"; + background-color: @fg; + text-color: @bg0; + border-bottom: 5px; + border-color: @yellow; + border-radius: 15px; + width: 40%; + height: 50%; + location: center; + anchor: center; + x-offset: 0; + y-offset: 0; +} + +mainbox { + background-color: transparent; + children: [ inputbar, listview ]; + spacing: 0px; + padding: 0px; +} + +inputbar { + children: [ prompt, entry ]; + background-color: @green; + text-color: @bg0; + expand: false; + border-bottom: 5px; + border-color: @grey0; + border-radius: 10px; + margin: 15px; + padding: 10px; + spacing: 15px; +} + +prompt { + enabled: true; + background-color: inherit; + text-color: inherit; +} + +entry { + background-color: inherit; + text-color: inherit; + cursor: text; + placeholder: "Type to search..."; + placeholder-color: @bg0; +} + +listview { + background-color: transparent; + columns: 1; + lines: 8; + spacing: 0px; + cycle: true; + dynamic: true; + layout: vertical; + padding: 20px; +} + +element { + background-color: transparent; + text-color: @bg0; + orientation: horizontal; + border-radius: 10px; + padding: 10px; + spacing: 15px; +} + +element-icon { + background-color: transparent; + text-color: inherit; + size: 40px; + cursor: inherit; +} + +element-text { + background-color: transparent; + text-color: inherit; + highlight: bold; + cursor: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +element selected { + background-color: @bg0; + text-color: @fg; + border-bottom: 5px; + border-color: #161a1d; + border-radius: 10px; +} + +element-text selected { + text-color: @fg; +} + +element-icon selected { + text-color: @fg; +} + +scrollbar { + width: 0px; + background-color: transparent; + handle-width: 0px; + handle-color: transparent; + border: 0px; +} diff --git a/themes/palettes/summer-night/apps/walker/style.css b/themes/palettes/summer-night/apps/walker/style.css new file mode 100644 index 0000000..4b5fff3 --- /dev/null +++ b/themes/palettes/summer-night/apps/walker/style.css @@ -0,0 +1,34 @@ +#window { + background-color: #2d353b; + color: #d3c6aa; + border-bottom: 5px solid #d9bb80; + border-radius: 15px; +} + +#search { + background-color: #a7c080; + color: #2d353b; + border-bottom: 5px solid #868d80; + border-radius: 10px; + margin: 15px; + padding: 10px; +} + +#input { + color: #2d353b; +} + +#list { + padding: 20px; +} + +.item { + border-radius: 10px; + padding: 10px; +} + +.item.active { + background-color: #3d484d; + color: #d3c6aa; + border-bottom: 5px solid #161a1d; +}