diff --git a/modules/rofi.nix b/modules/rofi.nix new file mode 100644 index 0000000..40a6abd --- /dev/null +++ b/modules/rofi.nix @@ -0,0 +1,20 @@ +{ pkgs, ... }: + +{ + home.file.".config/rofi/nicks-rofi-theme.rasi".source = ../rsrcs/nicks-rofi-theme.rasi; + + programs.rofi = { + enable = true; + theme = "nicks-rofi-theme"; + yoffset = -50; + extraConfig = { + modi = "window,run,ssh"; + sidebar-mode = true; + cycle = true; + show-icons = true; + terminal = "wezterm"; + + lines = 7; + }; + }; +} diff --git a/rsrcs/nicks-rofi-theme.rasi b/rsrcs/nicks-rofi-theme.rasi new file mode 100644 index 0000000..25e210e --- /dev/null +++ b/rsrcs/nicks-rofi-theme.rasi @@ -0,0 +1,162 @@ +/******************************************************************************* + * ROFI Color theme + * Based on Adapta-Nokto GTK theme (https://github.com/adapta-project/adapta-gtk-theme) + * User: PyGeek03 + * Copyright: PyGeek03 + ********************************************************************************/ + +* { + selected-normal-foreground: rgba ( 250, 251, 252, 100 % ); + foreground: rgba ( 250, 251, 252, 100 % ); + normal-foreground: @foreground; + alternate-normal-background: rgba ( 69, 90, 100, 100 % ); + red: rgba ( 220, 50, 47, 100 % ); + selected-urgent-foreground: rgba ( 253, 246, 227, 100 % ); + blue: rgba ( 38, 139, 210, 100 % ); + urgent-foreground: rgba ( 255, 82, 82, 100 % ); + alternate-urgent-background: rgba ( 69, 90, 100, 100 % ); + active-foreground: rgba ( 0, 188, 212, 100 % ); + lightbg: rgba ( 238, 232, 213, 100 % ); + selected-active-foreground: rgba ( 253, 246, 227, 100 % ); + alternate-active-background: rgba ( 69, 90, 100, 100 % ); + background: rgba ( 58, 76, 84, 100 % ); + bordercolor: rgba ( 42, 55, 62, 100 % ); + alternate-normal-foreground: @foreground; + normal-background: rgba ( 69, 90, 100, 100 % ); + lightfg: rgba ( 88, 104, 117, 100 % ); + selected-normal-background: rgba ( 0, 188, 212, 100 % ); + border-color: @foreground; + spacing: 2; + separatorcolor: rgba ( 195, 198, 200, 100 % ); + urgent-background: rgba ( 69, 90, 100, 100 % ); + selected-urgent-background: rgba ( 255, 82, 82, 100 % ); + alternate-urgent-foreground: @urgent-foreground; + background-color: rgba ( 0, 0, 0, 0 % ); + alternate-active-foreground: @active-foreground; + active-background: rgba ( 69, 90, 100, 100 % ); + selected-active-background: rgba ( 0, 150, 136, 100 % ); +} +window { + background-color: @background; + border: 1; + padding: 5; + width: 35%; +} +mainbox { + border: 0; + padding: 0; +} +message { + border: 1px dash 0px 0px ; + border-color: @separatorcolor; + padding: 1px ; +} +textbox { + text-color: @foreground; +} +listview { + fixed-height: 0; + border: 2px dash 0px 0px ; + border-color: @separatorcolor; + spacing: 2px ; + scrollbar: true; + padding: 2px 0px 0px ; + lines: 7; +} +element { + orientation: horizontal; + children: [element-icon, element-text]; + border: 0; + padding: 1px ; +} + +element-text { + vertical-align: 0.5; + background-color: inherit; + text-color: inherit; +} + +element-icon { + size: 1.5 em; +} + +element normal.normal { + background-color: @normal-background; + text-color: @normal-foreground; +} +element.normal.urgent { + background-color: @urgent-background; + text-color: @urgent-foreground; +} +element.normal.active { + background-color: @active-background; + text-color: @active-foreground; +} +element.selected.normal { + background-color: @selected-normal-background; + text-color: @selected-normal-foreground; +} +element.selected.urgent { + background-color: @selected-urgent-background; + text-color: @selected-urgent-foreground; +} +element.selected.active { + background-color: @selected-active-background; + text-color: @selected-active-foreground; +} +element.alternate.normal { + background-color: @alternate-normal-background; + text-color: @alternate-normal-foreground; +} +element.alternate.urgent { + background-color: @alternate-urgent-background; + text-color: @alternate-urgent-foreground; +} +element.alternate.active { + background-color: @alternate-active-background; + text-color: @alternate-active-foreground; +} +scrollbar { + width: 4px ; + border: 0; + handle-width: 8px ; + padding: 0; +} +mode-switcher { + border: 2px dash 0px 0px ; + border-color: @separatorcolor; +} +button.selected { + background-color: @selected-normal-background; + text-color: @selected-normal-foreground; +} +inputbar { + spacing: 0; + text-color: @normal-foreground; + padding: 1px ; +} +case-indicator { + spacing: 0; + text-color: @normal-foreground; +} +entry { + spacing: 0; + text-color: @normal-foreground; +} +prompt { + spacing: 0; + text-color: @normal-foreground; + background-color: #5b5b5b; + border-radius: 4px; + padding: 2px; +} +inputbar { + children: [ prompt,textbox-prompt-colon,entry,case-indicator ]; + margin: 2%; +} +textbox-prompt-colon { + expand: false; + str: ":"; + margin: 0px 0.3em 0em 0em ; + text-color: @normal-foreground; +} diff --git a/users/nixolas.nix b/users/nixolas.nix index d5139c7..2094906 100644 --- a/users/nixolas.nix +++ b/users/nixolas.nix @@ -26,6 +26,7 @@ in ../modules/wezterm.nix ../modules/xdg.nix ../modules/zsh.nix + ../modules/rofi.nix ]; home.file = {