240 lines
7 KiB
Nix
240 lines
7 KiB
Nix
{pkgs, config, ...}: let
|
|
theme = import ../data/theme.nix { inherit config; };
|
|
in {
|
|
xdg.dataFile."rofi/themes/launcher.rasi".text = ''
|
|
/**
|
|
*
|
|
* Author : Aditya Shakya (adi1090x)
|
|
* Github : @adi1090x
|
|
*
|
|
* Rofi Theme File
|
|
* Rofi Version: 1.7.3
|
|
**/
|
|
|
|
/*****----- Configuration -----*****/
|
|
configuration {
|
|
modi: "drun,run,filebrowser,window";
|
|
show-icons: false;
|
|
display-drun: "";
|
|
display-run: "";
|
|
display-filebrowser: "";
|
|
display-window: "";
|
|
drun-display-format: "{name}";
|
|
window-format: "{w} · {c} · {t}";
|
|
}
|
|
|
|
/*****----- Global Properties -----*****/
|
|
* {
|
|
font: "JetBrains Mono Nerd Font 10";
|
|
background: #101010;
|
|
background-alt: #252525;
|
|
foreground: #FFFFFF;
|
|
selected: #505050;
|
|
active: #909090;
|
|
urgent: #707070;
|
|
}
|
|
|
|
/*****----- Main Window -----*****/
|
|
window {
|
|
/* properties for window widget */
|
|
transparency: "real";
|
|
location: center;
|
|
anchor: center;
|
|
fullscreen: false;
|
|
width: 400px;
|
|
x-offset: 0px;
|
|
y-offset: 0px;
|
|
|
|
/* properties for all widgets */
|
|
enabled: true;
|
|
border-radius: 20px;
|
|
cursor: "default";
|
|
background-color: @background;
|
|
}
|
|
|
|
/*****----- Main Box -----*****/
|
|
mainbox {
|
|
enabled: true;
|
|
spacing: 0px;
|
|
background-color: transparent;
|
|
orientation: vertical;
|
|
children: [ "inputbar", "listbox" ];
|
|
}
|
|
|
|
listbox {
|
|
spacing: 20px;
|
|
padding: 20px;
|
|
background-color: transparent;
|
|
orientation: vertical;
|
|
children: [ "message", "listview", "mode-switcher" ];
|
|
}
|
|
|
|
/*****----- Inputbar -----*****/
|
|
inputbar {
|
|
enabled: true;
|
|
spacing: 10px;
|
|
padding: 100px 40px;
|
|
background-color: transparent;
|
|
background-image: url("~/.config/rofi/images/g.png", width);
|
|
text-color: @foreground;
|
|
orientation: horizontal;
|
|
children: [ "textbox-prompt-colon", "entry" ];
|
|
}
|
|
textbox-prompt-colon {
|
|
enabled: true;
|
|
expand: false;
|
|
str: "";
|
|
padding: 12px 15px;
|
|
border-radius: 100%;
|
|
background-color: @background-alt;
|
|
text-color: inherit;
|
|
}
|
|
entry {
|
|
enabled: true;
|
|
expand: true;
|
|
padding: 12px 16px;
|
|
border-radius: 100%;
|
|
background-color: @background-alt;
|
|
text-color: inherit;
|
|
cursor: text;
|
|
placeholder: "Search";
|
|
placeholder-color: inherit;
|
|
}
|
|
|
|
/*****----- Mode Switcher -----*****/
|
|
mode-switcher{
|
|
enabled: true;
|
|
spacing: 10px;
|
|
background-color: transparent;
|
|
text-color: @foreground;
|
|
}
|
|
button {
|
|
padding: 12px;
|
|
border-radius: 100%;
|
|
background-color: @background-alt;
|
|
text-color: inherit;
|
|
cursor: pointer;
|
|
}
|
|
button selected {
|
|
background-color: @selected;
|
|
text-color: @foreground;
|
|
}
|
|
|
|
/*****----- Listview -----*****/
|
|
listview {
|
|
enabled: true;
|
|
columns: 1;
|
|
lines: 5;
|
|
cycle: true;
|
|
dynamic: true;
|
|
scrollbar: false;
|
|
layout: vertical;
|
|
reverse: false;
|
|
fixed-height: true;
|
|
fixed-columns: true;
|
|
|
|
spacing: 10px;
|
|
background-color: transparent;
|
|
text-color: @foreground;
|
|
cursor: "default";
|
|
}
|
|
|
|
/*****----- Elements -----*****/
|
|
element {
|
|
enabled: true;
|
|
spacing: 10px;
|
|
padding: 12px;
|
|
border-radius: 100%;
|
|
background-color: transparent;
|
|
text-color: @foreground;
|
|
cursor: pointer;
|
|
}
|
|
element normal.normal {
|
|
background-color: inherit;
|
|
text-color: inherit;
|
|
}
|
|
element normal.urgent {
|
|
background-color: @urgent;
|
|
text-color: @foreground;
|
|
}
|
|
element normal.active {
|
|
background-color: @active;
|
|
text-color: @foreground;
|
|
}
|
|
element selected.normal {
|
|
background-color: @selected;
|
|
text-color: @foreground;
|
|
}
|
|
element selected.urgent {
|
|
background-color: @urgent;
|
|
text-color: @foreground;
|
|
}
|
|
element selected.active {
|
|
background-color: @urgent;
|
|
text-color: @foreground;
|
|
}
|
|
element-icon {
|
|
background-color: transparent;
|
|
text-color: inherit;
|
|
size: 32px;
|
|
cursor: inherit;
|
|
}
|
|
element-text {
|
|
background-color: transparent;
|
|
text-color: inherit;
|
|
cursor: inherit;
|
|
vertical-align: 0.5;
|
|
horizontal-align: 0.0;
|
|
}
|
|
|
|
/*****----- Message -----*****/
|
|
message {
|
|
background-color: transparent;
|
|
}
|
|
textbox {
|
|
padding: 12px;
|
|
border-radius: 100%;
|
|
background-color: @background-alt;
|
|
text-color: @foreground;
|
|
vertical-align: 0.5;
|
|
horizontal-align: 0.0;
|
|
}
|
|
error-message {
|
|
padding: 15px;
|
|
border-radius: 0px;
|
|
background-color: @background;
|
|
text-color: @foreground;
|
|
}
|
|
'';
|
|
|
|
xdg.configFile."rofi/launcher.rasi".text = ''
|
|
configuration {
|
|
modi: "drun,run,ssh,filebrowser,window";
|
|
terminal: "${pkgs.alacritty}/bin/alacritty";
|
|
show-icons: true;
|
|
display-drun: "";
|
|
display-run: "";
|
|
display-ssh: "";
|
|
|
|
drun-display-format: "{name}";
|
|
run-display-format: "{name}";
|
|
ssh-display-format: "{name}";
|
|
combi-display-format: "{mode} {name}";
|
|
|
|
combi-modi: "window,drun,run,filebrowser";
|
|
|
|
kb-mode-previous: "Control+h";
|
|
kb-mode-next: "Control+l";
|
|
kb-mode-complete: "";
|
|
kb-remove-char-back: "BackSpace,Shift+BackSpace";
|
|
}
|
|
'';
|
|
programs.rofi = {
|
|
enable = true;
|
|
package = pkgs.rofi-wayland;
|
|
terminal = "{pkgs.alacritty}/bin/alacritty";
|
|
|
|
theme = "launcher.rasi";
|
|
};
|
|
}
|