summaryrefslogtreecommitdiff
path: root/common/programs/rofi.nix
diff options
context:
space:
mode:
Diffstat (limited to 'common/programs/rofi.nix')
-rw-r--r--common/programs/rofi.nix144
1 files changed, 144 insertions, 0 deletions
diff --git a/common/programs/rofi.nix b/common/programs/rofi.nix
new file mode 100644
index 0000000..d0abd1a
--- /dev/null
+++ b/common/programs/rofi.nix
@@ -0,0 +1,144 @@
+{
+ config,
+ pkgs,
+ lib,
+ ...
+}:
+{
+ programs.rofi = {
+ enable = true;
+ font = "IosevkaInput";
+ # plugins = with pkgs; [ rofi-emoji ];
+ theme = "~/.config/rofi/themes/config.rasi";
+ extraConfig = {
+ show-icons = true;
+ # drun-display-format = "{name}";
+ };
+ };
+
+ home.packages = [
+ pkgs.rofi-power-menu
+ ];
+
+ xdg.configFile = {
+ "rofi/shared/colors.rasi" = {
+ enable = !config.beeMods.matugen.enable;
+ text =
+ # rasi
+ ''
+ * {
+ bg: #212121;
+ bg-alt: #2d2d2d;
+ fg: #ffffffdd;
+ fg-dim: #616161;
+ accent: #80cbc4;
+ selected-bg: #424242;
+ selected-fg: #80cbc4;
+ urgent: #ef9a9a;
+ outline: #424242;
+ }
+ '';
+ };
+
+ "rofi/themes/config.rasi" = {
+ enable = true;
+ text =
+ # rasi
+ ''
+ @import "shared/colors.rasi"
+ * {
+ background-color: transparent;
+ text-color: @fg;
+ border: 0px;
+ margin: 0px;
+ padding: 0px;
+ spacing: 0px;
+ }
+
+ window {
+ background-color: @bg;
+ border-radius: 0px;
+ border: 2px;
+ border-color: @outline;
+ width: 680px;
+ padding: 10px;
+ }
+
+ mainbox {
+ background-color: transparent;
+ spacing: 8px;
+ }
+
+ inputbar {
+ background-color: @bg-alt;
+ border-radius: 0px;
+ padding: 10px 12px;
+ spacing: 8px;
+ children: [entry];
+ }
+
+ entry {
+ background-color: transparent;
+ text-color: @fg;
+ placeholder-color: @fg-dim;
+ placeholder: "Search...";
+ cursor: text;
+ font: "IosevkaInput 13";
+ }
+
+ listview {
+ background-color: transparent;
+ columns: 1;
+ lines: 5;
+ spacing: 2px;
+ scrollbar: false;
+ }
+
+ element {
+ background-color: transparent;
+ border-radius: 0px;
+ padding: 8px 12px;
+ spacing: 12px;
+ children: [element-icon, element-text];
+ }
+
+ element normal normal {
+ background-color: transparent;
+ text-color: @fg;
+ }
+
+ element alternate normal {
+ background-color: transparent;
+ text-color: @fg;
+ }
+
+ element selected normal {
+ background-color: @selected-bg;
+ text-color: @selected-fg;
+ }
+
+ element normal urgent {
+ text-color: @urgent;
+ }
+
+ element selected urgent {
+ background-color: @selected-bg;
+ text-color: @urgent;
+ }
+
+ element-icon {
+ background-color: transparent;
+ size: 22px;
+ }
+
+ element-text {
+ background-color: transparent;
+ text-color: inherit;
+ vertical-align: 0.5;
+ font: "IosevkaInput 13";
+ }
+ '';
+ };
+
+ };
+}