From 54ad83006b290f8c884a0f7238dfc2f23f3b1241 Mon Sep 17 00:00:00 2001 From: iFargle Date: Wed, 16 Aug 2023 14:45:52 +0900 Subject: [PATCH] Begin configurint rofi --- README.md | 4 +- hosts/nixos-laptop/home-manager/default.nix | 1 + hosts/nixos-laptop/home-manager/rofi-conf.nix | 225 ++++++++++++++++++ 3 files changed, 228 insertions(+), 2 deletions(-) create mode 100644 hosts/nixos-laptop/home-manager/rofi-conf.nix diff --git a/README.md b/README.md index a47c7ce5..0583d5f7 100644 --- a/README.md +++ b/README.md @@ -29,8 +29,8 @@ Repo for nix configuration files * [ ] sublime music config / theming / integration - [Link](https://docs.sublimemusic.app/) * [ ] hyprland * [ ] Try hyprctl - * [ ] hyprwm plugins - [Link](https://github.com/hyprwm/hyprland-plugins/tree/main/hyprbars) - * [ ] hyprbars + * [ ] hyprwm plugins + * [ ] hyprbars - [Link](https://github.com/hyprwm/hyprland-plugins/tree/main/hyprbars) * [ ] libinput-gestores? * [ ] configure programs.light - keybinds in hyprland config * [ ] authentication agent (like polkit-kde-agent) diff --git a/hosts/nixos-laptop/home-manager/default.nix b/hosts/nixos-laptop/home-manager/default.nix index d72d2cc0..e325a976 100644 --- a/hosts/nixos-laptop/home-manager/default.nix +++ b/hosts/nixos-laptop/home-manager/default.nix @@ -2,6 +2,7 @@ imports = [ ./hyprland-conf.nix ./waybar-conf.nix + ./rofi-config.nix # ./gnome-dconf.nix ]; } \ No newline at end of file diff --git a/hosts/nixos-laptop/home-manager/rofi-conf.nix b/hosts/nixos-laptop/home-manager/rofi-conf.nix new file mode 100644 index 00000000..058d73c8 --- /dev/null +++ b/hosts/nixos-laptop/home-manager/rofi-conf.nix @@ -0,0 +1,225 @@ +{ hostname, ...}: { + home.file = { + # https://github.com/davatorium/rofi/blob/next/CONFIG.md + # Rofi configuration + ".config/rofi/config.rasi" = { + enable = true; + executable = false; + text = '' + configuration { + } + @theme "gruvbox-dark" + ''; + }; + }; + + # Rofi theme + ".config/rofi/themes/gruvbox-dark.rasi" = { + enable = true; + executable = false; + text = '' +/* ========================================================================== + Rofi color theme + + Based on the Gruvbox color scheme for Vim by morhetz + https://github.com/morhetz/gruvbox + + File: gruvbox-dark.rasi + Desc: Gruvbox dark color theme for Rofi + Author: bardisty + Source: https://github.com/bardisty/gruvbox-rofi + Modified: Mon Feb 12 2018 04:08:43 PST -0800 + ========================================================================== */ + +* { + /* Theme settings */ + highlight: bold italic; + scrollbar: true; + + /* Gruvbox dark colors */ + gruvbox-dark-bg0: #282828; + gruvbox-dark-bg0-soft: #32302f; + gruvbox-dark-bg3: #665c54; + gruvbox-dark-fg0: #fbf1c7; + gruvbox-dark-fg1: #ebdbb2; + gruvbox-dark-red-dark: #cc241d; + gruvbox-dark-red-light: #fb4934; + gruvbox-dark-yellow-dark: #d79921; + gruvbox-dark-yellow-light: #fabd2f; + gruvbox-dark-gray: #a89984; + + /* Theme colors */ + background: @gruvbox-dark-bg0; + background-color: @background; + foreground: @gruvbox-dark-fg1; + border-color: @gruvbox-dark-gray; + separatorcolor: @border-color; + scrollbar-handle: @border-color; + + normal-background: @background; + normal-foreground: @foreground; + alternate-normal-background: @gruvbox-dark-bg0-soft; + alternate-normal-foreground: @foreground; + selected-normal-background: @gruvbox-dark-bg3; + selected-normal-foreground: @gruvbox-dark-fg0; + + active-background: @gruvbox-dark-yellow-dark; + active-foreground: @background; + alternate-active-background: @active-background; + alternate-active-foreground: @active-foreground; + selected-active-background: @gruvbox-dark-yellow-light; + selected-active-foreground: @active-foreground; + + urgent-background: @gruvbox-dark-red-dark; + urgent-foreground: @background; + alternate-urgent-background: @urgent-background; + alternate-urgent-foreground: @urgent-foreground; + selected-urgent-background: @gruvbox-dark-red-light; + selected-urgent-foreground: @urgent-foreground; +} + +@import "gruvbox-common.rasinc" + ''; + }; + }; + + # Rofi theme + ".config/rofi/themes/gruvbox-common.rasinc" = { + enable = true; + executable = false; + text = '' +/* ========================================================================== + File: gruvbox-common.rasi + Desc: Shared rules between all gruvbox themes + Author: bardisty + Source: https://github.com/bardisty/gruvbox-rofi + Modified: Mon Feb 12 2018 06:06:47 PST -0800 + ========================================================================== */ + +window { + background-color: @background; + border: 2; + padding: 2; +} + +mainbox { + border: 0; + padding: 0; +} + +message { + border: 2px 0 0; + border-color: @separatorcolor; + padding: 1px; +} + +textbox { + highlight: @highlight; + text-color: @foreground; +} + +listview { + border: 2px solid 0 0; + padding: 2px 0 0; + border-color: @separatorcolor; + spacing: 2px; + scrollbar: @scrollbar; +} + +element { + border: 0; + padding: 2px; +} + +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-color: @scrollbar-handle; + handle-width: 8px; + padding: 0; +} + +mode-switcher { + border: 2px 0 0; + border-color: @separatorcolor; +} + +inputbar { + spacing: 0; + text-color: @normal-foreground; + padding: 2px; + children: [ prompt, textbox-prompt-sep, entry, case-indicator ]; +} + +case-indicator, +entry, +prompt, +button { + spacing: 0; + text-color: @normal-foreground; +} + +button.selected { + background-color: @selected-normal-background; + text-color: @selected-normal-foreground; +} + +textbox-prompt-sep { + expand: false; + str: ":"; + text-color: @normal-foreground; + margin: 0 0.3em 0 0; +} +element-text, element-icon { + background-color: inherit; + text-color: inherit; +} + ''; + }; + }; +} \ No newline at end of file