diff --git a/home/desktop.nix b/home/desktop.nix index 7164430..196aa98 100644 --- a/home/desktop.nix +++ b/home/desktop.nix @@ -101,7 +101,9 @@ scrollback_editor "nvim" keybinds clear-defaults=true { - normal { bind "Ctrl g" { SwitchToMode "Locked"; } } + normal { + bind "Ctrl g" { SwitchToMode "Locked"; } + } locked { bind "Ctrl g" { SwitchToMode "Normal"; } bind "Ctrl q" { CloseTab; } @@ -205,22 +207,10 @@ ''; # === Rofi launcher === - home.file.".config/rofi/config.rasi".text = '' - configuration { - modi: "drun,run,window"; show-icons: true; icon-theme: "Papirus-Dark"; - drun-display-format: "{name}"; font: "JetBrainsMono Nerd Font 13"; matching: "normal"; - } - window { width: 600px; border-radius: 10px; background-color: rgba(30,30,46,0.95); border: 2px; - border-color: #89b4fa; } - mainbox { padding: 8px; } - inputbar { padding: 4px 8px; background-color: rgba(49,50,68,0.8); border-radius: 8px; margin-bottom: 4px; } - entry { background: transparent; text-color: #cdd6f4; caret-color: #cdd6f4; } - listview { background: transparent; lines: 8; } - element { padding: 4px 8px; border-radius: 6px; text-color: #cdd6f4; } - element selected { background-color: rgba(137,180,250,0.3); text-color: #ffffff; } - element-text { vertical-align: 0.5; } - ''; - + home.file.".config/rofi/config.rasi" = { + force = true; + source = ./rofi-config.rasi; + }; # === Dunst notifications === home.file.".config/dunst/dunstrc".text = '' [global] diff --git a/home/rofi-config.rasi b/home/rofi-config.rasi new file mode 100644 index 0000000..d475bd7 --- /dev/null +++ b/home/rofi-config.rasi @@ -0,0 +1,110 @@ +configuration { + modi: "drun,run,window"; + show-icons: true; + icon-theme: "Papirus-Dark"; + drun-display-format: "{name}"; + font: "JetBrainsMono Nerd Font 13"; + matching: "normal"; + terminal: "ghostty"; + fuzzy-match: true; + scrollbar: false; + sidebar-mode: false; +} + +* { + background: rgba(30, 30, 46, 0.95); + background-alt: rgba(49, 50, 68, 0.9); + foreground: rgba(205, 214, 244, 1.0); + selected: rgba(137, 180, 250, 0.25); + border-color: rgba(137, 180, 250, 0.6); + spacing: 4; +} + +window { + width: 600px; + border-radius: 14px; + border: 2px; + border-color: @border-color; + background-color: @background; + padding: 8px; +} + +mainbox { + padding: 0; + children: [ inputbar, listview ]; +} + +inputbar { + padding: 8px 12px; + background-color: @background-alt; + border-radius: 10px; + margin: 0 0 8px 0; + children: [ entry ]; +} + +entry { + background: transparent; + text-color: @foreground; + caret-color: @foreground; + placeholder-color: rgba(205, 214, 244, 0.4); + expand: true; + horizontal-align: 0; +} + +listview { + background: transparent; + lines: 8; + columns: 1; + spacing: 4; + cycle: true; + dynamic: true; + scrollbar: false; + layout: vertical; +} + +element { + padding: 8px 12px; + border-radius: 8px; + text-color: @foreground; + background-color: transparent; +} + +element normal.normal { + background-color: transparent; + text-color: @foreground; +} + +element selected.normal { + background-color: @selected; + text-color: @foreground; +} + +element-icon { + padding: 0 8px 0 0; + size: 24px; + horizontal-align: 0; + vertical-align: 0.5; +} + +element-text { + padding: 0; + vertical-align: 0.5; + horizontal-align: 0; + text-color: inherit; +} + +element-text selected { + text-color: @foreground; +} + +message { + margin: 8px 0 0 0; + padding: 4px; + border-radius: 8px; + background-color: @background-alt; +} + +textbox { + padding: 4px 8px; + text-color: @foreground; +}