2024-07-25 15:26:12 -04:00
|
|
|
{
|
|
|
|
config,
|
|
|
|
lib,
|
|
|
|
pkgs,
|
|
|
|
...
|
|
|
|
}: let
|
|
|
|
cfg = config.ar.home;
|
|
|
|
in {
|
|
|
|
config = lib.mkIf cfg.apps.rofi.enable {
|
2024-07-26 00:21:42 -04:00
|
|
|
home.packages = [
|
|
|
|
pkgs.networkmanager_dmenu
|
|
|
|
pkgs.rofi-bluetooth
|
2024-08-02 07:50:06 -04:00
|
|
|
pkgs.rofi-rbw-wayland
|
2024-07-26 00:21:42 -04:00
|
|
|
];
|
2024-07-25 18:03:57 -04:00
|
|
|
|
2024-07-25 15:26:12 -04:00
|
|
|
programs.rofi = {
|
|
|
|
enable = true;
|
2024-08-03 21:07:55 -04:00
|
|
|
font = "UbuntuSansMono Nerd Font ${toString config.gtk.font.size}";
|
2024-07-25 15:26:12 -04:00
|
|
|
location = "center";
|
|
|
|
package = pkgs.rofi-wayland;
|
2024-07-29 21:47:21 -04:00
|
|
|
|
|
|
|
plugins = [
|
|
|
|
pkgs.rofi-power-menu
|
|
|
|
pkgs.rofi-file-browser
|
|
|
|
];
|
|
|
|
|
2024-07-25 15:26:12 -04:00
|
|
|
terminal = lib.getExe cfg.defaultApps.terminal;
|
2024-07-28 23:16:52 -04:00
|
|
|
theme = "theme.rasi";
|
2024-07-25 15:26:12 -04:00
|
|
|
|
|
|
|
extraConfig = {
|
2024-07-29 21:47:21 -04:00
|
|
|
case-sensitive = false;
|
2024-07-25 15:26:12 -04:00
|
|
|
click-to-exit = true;
|
|
|
|
combi-display-format = "{text}";
|
|
|
|
combi-hide-mode-prefix = true;
|
|
|
|
|
|
|
|
combi-modes = [
|
|
|
|
"window"
|
|
|
|
"drun"
|
|
|
|
"ssh"
|
2024-07-29 21:47:21 -04:00
|
|
|
"recursivebrowser"
|
2024-07-25 15:26:12 -04:00
|
|
|
];
|
|
|
|
|
2024-07-25 18:03:57 -04:00
|
|
|
display-combi = "Search";
|
2024-07-29 21:47:21 -04:00
|
|
|
display-drun = "Apps";
|
2024-07-25 18:03:57 -04:00
|
|
|
display-filebrowser = "Files";
|
2024-07-29 21:47:21 -04:00
|
|
|
display-recursivebrowser = "Files";
|
2024-07-25 20:25:22 -04:00
|
|
|
display-run = "Run";
|
2024-07-25 18:03:57 -04:00
|
|
|
display-ssh = "SSH";
|
|
|
|
display-window = "Windows";
|
2024-07-25 15:26:12 -04:00
|
|
|
drun-display-format = "{icon} {name}";
|
|
|
|
hover-select = true;
|
2024-07-30 15:34:06 -04:00
|
|
|
matching = "fuzzy";
|
2024-07-25 15:26:12 -04:00
|
|
|
me-accept-entry = "MousePrimary";
|
|
|
|
me-select-entry = "";
|
2024-07-29 21:47:21 -04:00
|
|
|
modes = "drun,window,ssh,recursivebrowser";
|
|
|
|
scrollbar = false;
|
2024-07-25 15:26:12 -04:00
|
|
|
show-display-name = false;
|
|
|
|
show-icons = true;
|
|
|
|
sort = true;
|
|
|
|
window-format = " {c} {t}";
|
|
|
|
window-thumbnail = false;
|
|
|
|
};
|
|
|
|
};
|
2024-07-25 18:03:57 -04:00
|
|
|
|
2024-08-02 07:50:06 -04:00
|
|
|
xdg.configFile = {
|
|
|
|
"rofi-rbw.rc".text = ''
|
|
|
|
prompt "Bitwarden"
|
|
|
|
clear-after 60
|
|
|
|
'';
|
2024-07-28 23:16:52 -04:00
|
|
|
|
2024-08-02 07:50:06 -04:00
|
|
|
"rofi/theme.rasi".text = ''
|
|
|
|
* {
|
|
|
|
selected-normal-foreground: ${cfg.theme.colors.text};
|
|
|
|
foreground: ${cfg.theme.colors.text};
|
|
|
|
normal-foreground: @foreground;
|
|
|
|
alternate-normal-background: transparent;
|
|
|
|
red: ${cfg.theme.colors.secondary};
|
|
|
|
selected-urgent-foreground: ${cfg.theme.colors.secondary};
|
|
|
|
blue: ${cfg.theme.colors.primary};
|
|
|
|
urgent-foreground: ${cfg.theme.colors.primary};
|
|
|
|
alternate-urgent-background: transparent;
|
|
|
|
active-foreground: ${cfg.theme.colors.primary};
|
|
|
|
lightbg: rgba ( 238, 232, 213, 100 % );
|
|
|
|
selected-active-foreground: rgba ( 32, 81, 113, 100 % );
|
|
|
|
alternate-active-background: transparent;
|
|
|
|
background: transparent;
|
|
|
|
bordercolor: ${cfg.theme.colors.background}CC;
|
|
|
|
alternate-normal-foreground: @foreground;
|
|
|
|
normal-background: transparent;
|
|
|
|
lightfg: rgba ( 88, 104, 117, 100 % );
|
|
|
|
selected-normal-background: ${cfg.theme.colors.primary};
|
|
|
|
border-color: ${cfg.theme.colors.primary};
|
|
|
|
spacing: 2;
|
|
|
|
separatorcolor: ${cfg.theme.colors.primary};
|
|
|
|
urgent-background: transparent;
|
|
|
|
selected-urgent-background: ${cfg.theme.colors.primary};
|
|
|
|
alternate-urgent-foreground: @urgent-foreground;
|
|
|
|
background-color: rgba ( 0, 0, 0, 0 % );
|
|
|
|
alternate-active-foreground: @active-foreground;
|
|
|
|
active-background: ${cfg.theme.colors.background}CC;
|
|
|
|
selected-active-background: ${cfg.theme.colors.primary};
|
|
|
|
}
|
|
|
|
window {
|
|
|
|
background-color: ${cfg.theme.colors.background}CC;
|
|
|
|
border: 2;
|
|
|
|
border-radius: 10px;
|
|
|
|
padding: 0;
|
|
|
|
}
|
|
|
|
mainbox {
|
|
|
|
border: 0;
|
|
|
|
padding: 0;
|
|
|
|
}
|
|
|
|
message {
|
|
|
|
border: 2px solid 0px 0px ;
|
|
|
|
border-color: @separatorcolor;
|
|
|
|
padding: 1px ;
|
|
|
|
}
|
|
|
|
textbox {
|
|
|
|
text-color: @foreground;
|
|
|
|
}
|
|
|
|
listview {
|
|
|
|
fixed-height: 0;
|
|
|
|
border: 2px solid 0px 0px ;
|
|
|
|
border-color: @separatorcolor;
|
|
|
|
spacing: 2px ;
|
|
|
|
scrollbar: false;
|
|
|
|
padding: 5px;
|
|
|
|
}
|
|
|
|
element {
|
|
|
|
border: 0;
|
|
|
|
padding: 5px;
|
|
|
|
border-radius: 10px;
|
|
|
|
}
|
|
|
|
element-text {
|
|
|
|
background-color: inherit;
|
|
|
|
text-color: inherit;
|
|
|
|
}
|
|
|
|
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: 0px ;
|
|
|
|
border: 0;
|
|
|
|
handle-width: 0px ;
|
|
|
|
padding: 0;
|
|
|
|
}
|
|
|
|
mode-switcher {
|
|
|
|
border: 2px solid 0px 0px ;
|
|
|
|
border-color: @separatorcolor;
|
|
|
|
}
|
|
|
|
button.selected {
|
|
|
|
background-color: @selected-normal-background;
|
|
|
|
text-color: @selected-normal-foreground;
|
|
|
|
}
|
|
|
|
button {
|
|
|
|
background-color: @background;
|
|
|
|
text-color: @foreground;
|
|
|
|
}
|
|
|
|
inputbar {
|
|
|
|
spacing: 0;
|
|
|
|
text-color: @normal-foreground;
|
|
|
|
padding: 10px ;
|
|
|
|
}
|
|
|
|
case-indicator {
|
|
|
|
spacing: 0;
|
|
|
|
text-color: @normal-foreground;
|
|
|
|
}
|
|
|
|
entry {
|
|
|
|
spacing: 0;
|
|
|
|
text-color: @normal-foreground;
|
|
|
|
}
|
|
|
|
prompt {
|
|
|
|
spacing: 0;
|
|
|
|
text-color: @normal-foreground;
|
|
|
|
margin: 1px;
|
|
|
|
}
|
|
|
|
inputbar {
|
|
|
|
children: [ prompt,textbox-prompt-colon,entry,case-indicator ];
|
|
|
|
}
|
|
|
|
textbox-prompt-colon {
|
|
|
|
expand: false;
|
|
|
|
str: ":";
|
|
|
|
margin: 0px 0.3em 0em 0em ;
|
|
|
|
text-color: @normal-foreground;
|
|
|
|
}
|
|
|
|
'';
|
2024-07-25 18:03:57 -04:00
|
|
|
|
2024-08-02 07:50:06 -04:00
|
|
|
"networkmanager-dmenu/config.ini".text = ''
|
|
|
|
[dmenu]
|
|
|
|
dmenu_command = ${lib.getExe config.programs.rofi.package}
|
|
|
|
highlight = True
|
2024-07-25 18:03:57 -04:00
|
|
|
|
2024-08-02 07:50:06 -04:00
|
|
|
[dmenu_passphrase]
|
|
|
|
obscure = True
|
|
|
|
|
|
|
|
[editor]
|
|
|
|
gui = ${pkgs.networkmanagerapplet}/bin/nm-connection-editor
|
|
|
|
gui_if_available = True
|
|
|
|
terminal = ${lib.getExe cfg.defaultApps.terminal}
|
|
|
|
'';
|
|
|
|
};
|
2024-07-25 15:26:12 -04:00
|
|
|
};
|
|
|
|
}
|