added rofi

This commit is contained in:
2025-05-05 02:04:51 -07:00
parent 06cc1709f1
commit 4168b42081
6 changed files with 287 additions and 4 deletions
+2 -1
View File
@@ -2,7 +2,7 @@
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help).
{ config, pkgs, pkgs-unstable, inputs, ... }:
{ config, pkgs, pkgs-unstable, inputs, configPath, ... }:
{
imports =
@@ -232,6 +232,7 @@
home-manager = {
extraSpecialArgs = {
inherit
configPath
inputs
pkgs-unstable
;
+3 -2
View File
@@ -34,6 +34,7 @@
}@inputs:
let
system = "x86_64-linux";
configPath = "/etc/nixos";
pkgs-unstable = import nixpkgs-unstable {
system = system;
config.allowUnfree = true;
@@ -42,7 +43,7 @@
{
nixosConfigurations = {
eva-01 = nixpkgs.lib.nixosSystem {
specialArgs = {inherit inputs pkgs-unstable;};
specialArgs = {inherit inputs pkgs-unstable configPath;};
system = system;
modules = [
./eva-01/configuration.nix
@@ -52,7 +53,7 @@
};
eva-03 = nixpkgs.lib.nixosSystem {
specialArgs = {inherit inputs pkgs-unstable;};
specialArgs = {inherit inputs pkgs-unstable configPath;};
system = system;
modules = [
./eva-03/configuration.nix
+4 -1
View File
@@ -2,7 +2,8 @@
{
imports = [
./ghostty.nix
./ghostty/ghostty.nix
./rofi/rofi.nix
];
home.packages = with pkgs; [
@@ -10,6 +11,7 @@
# # "Hello, world!" when run.
# pkgs.hello
bambu-studio
blender
brave
jellyfin-media-player
kdePackages.bluedevil
@@ -18,6 +20,7 @@
kdePackages.kdeconnect-kde
kdePackages.oxygen-sounds
kdePackages.partitionmanager
ladybird
libreoffice-still
librewolf
localsend
+278
View File
@@ -0,0 +1,278 @@
{
config,
pkgs,
configPath,
...
}:
{
programs.rofi = {
enable = true;
terminal = "ghostty";
package = pkgs.rofi-wayland.override {
plugins = [ pkgs.rofi-emoji-wayland ];
};
font = "JetBrainsMono Nerd Font 12";
plugins = [
pkgs.rofi-emoji-wayland
pkgs.rofi-calc
pkgs.rofi-games
pkgs.rofi-file-browser
];
extraConfig = {
modi = "drun,run,filebrowser,emoji";
show-icons = true;
display-drun = "Apps";
display-run = "Run";
display-filebrowser = "Files";
drun-display-format = "{name}";
hover-select = true;
me-select-entry = "MouseSecondary";
me-accept-entry = "MousePrimary";
window-format = "{w} · {c} · {t}";
dpi = 1;
};
theme =
let
inherit (config.lib.formats.rasi) mkLiteral;
in
{
"*" = {
active-background = mkLiteral "#101C2F";
active-foreground = mkLiteral "#D6CBD5";
normal-background = mkLiteral "#030508";
normal-foreground = mkLiteral "#D6CBD5";
urgent-background = mkLiteral "#2B7F48";
urgent-foreground = mkLiteral "#D6CBD5";
alternate-active-background = mkLiteral "#11606B";
alternate-active-foreground = mkLiteral "#D6CBD5";
alternate-normal-background = mkLiteral "#030508";
alternate-normal-foreground = mkLiteral "#D6CBD5";
alternate-urgent-background = mkLiteral "#030508";
alternate-urgent-foreground = mkLiteral "#D6CBD5";
selected-active-background = mkLiteral "#101C2F";
selected-active-foreground = mkLiteral "#D6CBD5";
selected-normal-background = mkLiteral "#BCADBB";
selected-normal-foreground = mkLiteral "#D6CBD5";
selected-urgent-background = mkLiteral "#2B7F48";
selected-urgent-foreground = mkLiteral "#D6CBD5";
background-color = mkLiteral "#030508";
background = mkLiteral "rgba(32,32,32,0.7)";
foreground = mkLiteral "#BCADBB";
border-color = mkLiteral "#101C2F";
background-alt = mkLiteral "@selected-active-background";
selected = mkLiteral "@selected-urgent-background";
active = mkLiteral "@selected-normal-background";
urgent = mkLiteral "@selected";
text-selected = mkLiteral "@background";
text-color = mkLiteral "@foreground";
};
"window" = {
enabled = true;
fullscreen = false;
transparency = mkLiteral "\"real\"";
cursor = mkLiteral "\"default\"";
spacing = 0;
border = mkLiteral "4px 0px 4px 0px";
border-radius = 30;
location = mkLiteral "center";
anchor = mkLiteral "center";
width = mkLiteral "50%";
background-color = mkLiteral "@background";
};
"mainbox" = {
padding = 15;
enabled = true;
orientation = mkLiteral "vertical";
children = map mkLiteral [
"inputbar"
"listbox"
];
background-color = mkLiteral "transparent";
};
"inputbar" = {
enabled = true;
padding = mkLiteral "10px 10px 100px 10px";
margin = 10;
background-color = mkLiteral "transparent";
border-radius = 25;
orientation = mkLiteral "horizontal";
children = map mkLiteral [
"entry"
"dummy"
"mode-switcher"
];
background-image = mkLiteral "url(\"${configPath}/assets/background.png\", width)";
};
"entry" = {
enabled = true;
expand = false;
width = mkLiteral "20%";
padding = 10;
border-radius = 12;
background-color = mkLiteral "@selected";
text-color = mkLiteral "@text-selected";
cursor = mkLiteral "text";
placeholder = mkLiteral "\"🖥 Search \"";
placeholder-color = mkLiteral "inherit";
};
"listbox" = {
spacing = 10;
padding = 10;
background-color = mkLiteral "transparent";
orientation = mkLiteral "vertical";
children = map mkLiteral [
"message"
"listview"
];
};
"listview" = {
enabled = true;
columns = 2;
lines = 6;
cycle = true;
dynamic = true;
scrollbar = true;
layout = mkLiteral "vertical";
reverse = false;
fixed-height = false;
fixed-columns = true;
spacing = 10;
background-color = mkLiteral "transparent";
border = 0;
};
"dummy" = {
expand = true;
background-color = mkLiteral "transparent";
};
"mode-switcher" = {
enabled = true;
spacing = 10;
background-color = mkLiteral "transparent";
};
"button" = {
width = mkLiteral "5%";
padding = 12;
border-radius = 12;
background-color = mkLiteral "@text-selected";
text-color = mkLiteral "@text-color";
cursor = mkLiteral "pointer";
};
"button selected" = {
background-color = mkLiteral "@selected";
text-color = mkLiteral "@text-selected";
};
"scrollbar" = {
width = 4;
border = 0;
handle-color = mkLiteral "@border-color";
handle-width = 8;
padding = 0;
};
"element" = {
enabled = true;
spacing = 10;
padding = 10;
border-radius = 12;
background-color = mkLiteral "transparent";
cursor = mkLiteral "pointer";
};
"element normal.normal" = {
background-color = mkLiteral "inherit";
text-color = mkLiteral "inherit";
};
"element normal.urgent" = {
background-color = mkLiteral "@urgent";
text-color = mkLiteral "@foreground";
};
"element normal.active" = {
background-color = mkLiteral "@active";
text-color = mkLiteral "@foreground";
};
"element selected.normal" = {
border = mkLiteral "1px 6px 1px 6px";
border-radius = 16;
border-color = mkLiteral "@selected";
background-color = mkLiteral "transparent";
text-color = mkLiteral "@selected";
};
"element selected.urgent" = {
background-color = mkLiteral "@urgent";
text-color = mkLiteral "@text-selected";
};
"element selected.active" = {
background-color = mkLiteral "@urgent";
text-color = mkLiteral "@text-selected";
};
"element alternate.normal" = {
background-color = mkLiteral "transparent";
text-color = mkLiteral "inherit";
};
"element alternate.urgent" = {
background-color = mkLiteral "transparent";
text-color = mkLiteral "inherit";
};
"element alternate.active" = {
background-color = mkLiteral "transparent";
text-color = mkLiteral "inherit";
};
"element-icon" = {
background-color = mkLiteral "transparent";
text-color = mkLiteral "inherit";
cursor = mkLiteral "inherit";
};
"element-text" = {
background-color = mkLiteral "transparent";
text-color = mkLiteral "inherit";
cursor = mkLiteral "inherit";
vertical-align = mkLiteral "0.5";
horizontal-align = mkLiteral "0.0";
};
"message" = {
background-color = mkLiteral "transparent";
border = 0;
};
"textbox" = {
padding = 12;
border-radius = 10;
background-color = mkLiteral "@background-alt";
text-color = mkLiteral "@background";
vertical-align = mkLiteral "0.5";
horizontal-align = mkLiteral "0.0";
};
"error-message" = {
padding = 12;
border-radius = 20;
background-color = mkLiteral "@background-alt";
text-color = mkLiteral "@background";
};
};
};
}