Set Styling for rofi

This commit is contained in:
2025-09-03 10:03:29 +02:00
parent 0dc1ae58fb
commit 74bf1dc059
100 changed files with 2836 additions and 2115 deletions

View File

@@ -1,8 +1,48 @@
{ pkgs, ... }:
{
programs.alacritty = {
enable = true;
programs.alacritty = {
enable = true;
settings = {
# Font
font = {
normal = {
family = "FiraCode Nerd Font Mono"; # Change to your preferred Nerd Font
style = "Regular";
};
bold = {
family = "FiraCode Nerd Font Mono";
style = "Bold";
};
italic = {
family = "FiraCode Nerd Font Mono";
style = "Italic";
};
size = 11;
};
window = {
opacity = 0.6; # Adjust between 0.0 (fully transparent) and 1.0 (opaque)
padding = {
x = 10;
y = 10;
};
decorations = "full"; # none, transparent, full, buttonless
title = "Alacritty";
dynamic_title = true;
};
};
};
};
fonts = {
fontconfig = {
enable = true;
defaultFonts = {
monospace = [ "FiraCode Nerd Font Mono" ];
};
};
};
home.packages = with pkgs; [
fira-code-nerdfont
];
}

View File

@@ -1,13 +1,14 @@
{ pkgs, ...}: {
imports = [
./kitty.nix # Terminal
./alacritty.nix
./hyprland.nix
./hypridle.nix
./hyprlock.nix
./hyprpaper.nix
./rofi # App Launcher
./mako.nix # Notifyer
];
{ pkgs, ... }:
{
imports = [
./kitty.nix # Terminal
./alacritty.nix
./hyprland.nix
./hypridle.nix
./hyprlock.nix
./hyprpaper.nix
./rofi # App Launcher
./mako.nix # Notifyer
];
}

View File

@@ -1,34 +1,35 @@
{ pkgs, ... }:
{
# Hyprland and related packages
home.packages = with pkgs; [
hypridle
];
# Hyprland and related packages
home.packages = with pkgs; [
hypridle
];
# Hypridle configuration
services.hypridle = {
enable = true;
settings = {
general = {
after_sleep_cmd = "hyprctl dispatch dpms on";
ignore_dbus_inhibit = false;
lock_cmd = "hyprlock";
before_sleep_cmd = ''notify-send -u critical "Hey master, Im getting sleepy Ill see you in my code dreams 💖" --icon
="$HOME/.config/hypr/avatar.png" --app-name="Hyprlock"'';
};
# Hypridle configuration
services.hypridle = {
enable = true;
settings = {
general = {
after_sleep_cmd = "hyprctl dispatch dpms on";
ignore_dbus_inhibit = false;
lock_cmd = "hyprlock";
before_sleep_cmd = ''
notify-send -u critical "Hey master, Im getting sleepy Ill see you in my code dreams 💖" --icon
="$HOME/.config/hypr/avatar.png" --app-name="Hyprlock"'';
};
listener = [
{
timeout = 300;
on-timeout = "hyprlock";
}
{
timeout = 600;
on-timeout = "hyprctl dispatch dpms off";
on-resume = "hyprctl dispatch dpms on";
}
];
};
listener = [
{
timeout = 300;
on-timeout = "hyprlock";
}
{
timeout = 600;
on-timeout = "hyprctl dispatch dpms off";
on-resume = "hyprctl dispatch dpms on";
}
];
};
};
}

View File

@@ -1,281 +1,280 @@
{ inputs, pkgs, ...}:
let
package = pkgs.hyprland;
super = "SUPER";
terminal = "kitty";
fileManager = "spacefm";
theme = "-theme $HOME/.config/rofi/catppuccin-default.rasi";
menu = "rofi -show drun ${theme}";
filebrowser = "rofi -show filebrowser ${theme}";
power = "rofi -show p -modi p:rofi-power-menu";
in
{ pkgs, ... }:
let
package = pkgs.hyprland;
super = "SUPER";
terminal = "kitty";
fileManager = "yazi";
theme = "-theme $HOME/.config/rofi/custom.rasi";
menu = "rofi -show drun ${theme}";
filebrowser = "rofi -show filebrowser ${theme}";
power = "rofi -show p -modi p:rofi-power-menu";
in
{
home.packages = with pkgs; [
grim
slurp
wl-clipboard
home.packages = with pkgs; [
grim
slurp
wl-clipboard
];
home.file.".config/hypr" = {
source = ./configs;
# copy the scripts directory recursively
recursive = true;
};
home.pointerCursor = {
gtk.enable = true;
package = pkgs.bibata-cursors;
name = "Bibata-Modern-Classic";
size = 16;
};
systemd.user.targets.hyprland-sessionn.Unit.Wants = [
"xdg-desktop-autostart.target"
];
wayland.windowManager.hyprland = {
inherit package;
enable = true;
xwayland.enable = true;
systemd = {
enable = true;
variables = [ "--all" ];
enableXdgAutostart = true;
};
plugins = [
#inputs.hyprland-plugins.packages.${pkgs.stdenv.hostPlatform.system}.hyprbars
];
};
wayland.windowManager.hyprland.settings = {
source = [
"~/.config/hypr/mocha.conf"
];
home.file.".config/hypr" = {
source = ./configs;
# copy the scripts directory recursively
recursive = true;
};
home.pointerCursor = {
gtk.enable = true;
package = pkgs.bibata-cursors;
name = "Bibata-Modern-Classic";
size = 16;
};
systemd.user.targets.hyprland-sessionn.Unit.Wants = [
"xdg-desktop-autostart.target"
env = [
"NIXOS_OZONE_WL,1"
"MOZ_ENABLE_WAYLAND,1"
"MOZ_WEBRENDER,1"
"_JAVA_AWT_WM_NONREPARENTING,1"
"QT_WAYLAND_DISABLE_WINDOWDECORATION,1"
"QT_QPA_PLATFORM,wayland"
"SDL_VIDEODRIVER,wayland"
"GDK_BACKEND,wayland,x11"
"XCURSOR_SIZE,24"
"EDITOR,nvim"
];
wayland.windowManager.hyprland = {
inherit package;
enable = true;
monitor = [
"DP-1, 1920x1080@60, 1920x0, 1"
"HDMI-A-2, 1920x1080@60, 0x0, 1"
];
xwayland.enable = true;
input = {
kb_layout = "de";
repeat_rate = 50;
repeat_delay = 300;
systemd = {
enable = true;
variables = [ "--all" ];
enableXdgAutostart = true;
};
accel_profile = "flat";
follow_mouse = 1;
mouse_refocus = false;
sensitivity = 0; # -1.0 to 1.0, 0 means no modification.
numlock_by_default = 1;
touchpad = {
natural_scroll = true;
};
plugins = [
#inputs.hyprland-plugins.packages.${pkgs.stdenv.hostPlatform.system}.hyprbars
];
};
wayland.windowManager.hyprland.settings = {
source = [
"~/.config/hypr/mocha.conf"
];
general = {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
gaps_in = 8;
gaps_out = 16;
border_size = 4;
env = [
"NIXOS_OZONE_WL,1"
"MOZ_ENABLE_WAYLAND,1"
"MOZ_WEBRENDER,1"
"_JAVA_AWT_WM_NONREPARENTING,1"
"QT_WAYLAND_DISABLE_WINDOWDECORATION,1"
"QT_QPA_PLATFORM,wayland"
"SDL_VIDEODRIVER,wayland"
"GDK_BACKEND,wayland,x11"
"XCURSOR_SIZE,24"
"EDITOR,nvim"
];
monitor = [
"DP-1, 1920x1080@60, 1920x0, 1"
"HDMI-A-2, 1920x1080@60, 0x0, 1"
];
"col.active_border" = "$green";
"col.inactive_border" = "$red";
input = {
kb_layout = "de";
repeat_rate = 50;
repeat_delay = 300;
accel_profile = "flat";
follow_mouse = 1;
mouse_refocus = false;
sensitivity = 0; # -1.0 to 1.0, 0 means no modification.
numlock_by_default = 1;
touchpad = {
natural_scroll = true;
};
layout = "dwindle";
};
general = {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
gaps_in = 8;
gaps_out = 16;
border_size = 4;
"col.active_border" = "$green";
"col.inactive_border" = "$red";
layout = "dwindle";
# Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
allow_tearing = false;
};
decoration = {
rounding = 12;
shadow = {
enabled = true;
range = 16;
render_power = 4;
ignore_window = true;
color = "$green";
color_inactive = "$red";
};
blur = {
enabled = true;
size = 1;
passes = 3;
new_optimizations = 1;
noise = 0.04;
};
};
animations = {
enabled = "yes";
bezier = "myBezier, 0.05, 0.9, 0.1, 1.05";
animation = [
"windows, 1, 7, myBezier"
"windowsOut, 1, 7, default, popin 80%"
"border, 1, 10, default"
"borderangle, 1, 8, default"
"fade, 1, 7, default"
"workspaces, 1, 6, default"
];
};
layerrule = [
"blur,gtk-layer-shell"
"ignorezero,gtk-layer-shell"
"blur,notifications"
"ignorezero,notifications"
"blur,rofi"
"ignorezero,rofi"
];
dwindle = {
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
pseudotile = "yes"; # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
preserve_split = "yes"; # you probably want this
};
gestures = {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
workspace_swipe = "off";
};
misc = {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
force_default_wallpaper = 0; # Set to 0 or 1 to disable the anime mascot wallpapers
};
# Example per-device config
# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more
device = {
name = "epic-mouse-v1";
sensitivity = -0.5;
};
windowrulev2 = "suppressevent maximize, class:.*";
windowrule = [
"opacity 0.0 override, class:^(xwaylandvideobridge)$"
"noanim, class:^(xwaylandvideobridge)$"
"noinitialfocus, class:^(xwaylandvideobridge)$"
"maxsize 1 1, class:^(xwaylandvideobridge)$"
"noblur, class:^(xwaylandvideobridge)$"
"nofocus, class:^(xwaylandvideobridge)$"
];
exec-once = [
"waybar &"
"hyprpaper &"
];
# Keybindings
bind = [
"${super}, Q, exec, ${terminal}"
"${super}, C, killactive, "
"${super}, M, exit, "
"${super}, E, exec, ${fileManager}"
"${super}, V, togglefloating, "
"${super}, R, exec, ${menu}"
"${super}, S, exec, ${power}"
"${super}, F, exec, ${filebrowser}"
"${super}, P, pseudo, " # dwindle
"${super}, J, togglesplit, "# dwindle
"${super}, O, exec, obsidian"
"${super}, I, exec, firefox"
"${super}, G, exec, thunderbird"
# Move focus with mainMod + arrow keys
"${super}, left, movefocus, l"
"${super}, right, movefocus, r"
"${super}, up, movefocus, u"
"${super}, down, movefocus, d"
# Switch workspaces with mainMod + [0-9]
"${super}, 1, workspace, 1"
"${super}, 2, workspace, 2"
"${super}, 3, workspace, 3"
"${super}, 4, workspace, 4"
"${super}, 5, workspace, 5"
"${super}, 6, workspace, 6"
"${super}, 7, workspace, 7"
"${super}, 8, workspace, 8"
"${super}, 9, workspace, 9"
"${super}, 0, workspace, 10"
# Move active window to a workspace with mainMod + SHIFT + [0-9]
"${super} SHIFT, 1, movetoworkspace, 1"
"${super} SHIFT, 2, movetoworkspace, 2"
"${super} SHIFT, 3, movetoworkspace, 3"
"${super} SHIFT, 4, movetoworkspace, 4"
"${super} SHIFT, 5, movetoworkspace, 5"
"${super} SHIFT, 6, movetoworkspace, 6"
"${super} SHIFT, 7, movetoworkspace, 7"
"${super} SHIFT, 8, movetoworkspace, 8"
"${super} SHIFT, 9, movetoworkspace, 9"
"${super} SHIFT, 0, movetoworkspace, 10"
# Example special workspace (scratchpad)
#"${super}, S, togglespecialworkspace, magic"
"${super} SHIFT, S, movetoworkspace, special:magic"
# Scroll through existing workspaces with mainMod + scroll
"${super}, mouse_down, workspace, e+1"
"${super}, mouse_up, workspace, e-1"
# Screenshot
''${super}, Z, exec, grim -g "$(slurp)" $HOME/Pictures/Screenshots/$(date +'%s_grim.png')''
''${super}, U, exec, grim $HOME/Pictures/Screenshots/$(date +'%s_grim.png')''
];
bindl = [
#", XF86AudioMute, exec, amixer set Master toggle
", XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"
", XF86AudioPlay, exec, playerctl play-pause" # the stupid key is called play , but it toggles
", XF86AudioNext, exec, playerctl next"
", XF86AudioPrev, exec, playerctl previous"
];
bindle = [
# Multi Media Control
", XF86AudioRaiseVolume, exec, vol --up"
", XF86AudioLowerVolume, exec, vol --down"
", XF86MonBrightnessUp, exec, bri --up"
", XF86MonBrightnessDown, exec, bri --down"
", XF86Search, exec, ${menu}"
];
bindm = [
"${super}, mouse:272, movewindow"
"${super}, mouse:273, resizewindow"
];
# Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
allow_tearing = false;
};
# NOTE: this executable is used by greetd to start a wayland session when system boot up
# with such a vendor-no-locking script, we can switch to another wayland compositor without modifying greetd's config in NixOS module
home.file.".wayland-session" = {
source = "${package}/bin/Hyprland";
executable = true;
decoration = {
rounding = 12;
shadow = {
enabled = true;
range = 16;
render_power = 4;
ignore_window = true;
color = "$green";
color_inactive = "$red";
};
blur = {
enabled = true;
size = 1;
passes = 3;
new_optimizations = 1;
noise = 0.04;
};
};
animations = {
enabled = "yes";
bezier = "myBezier, 0.05, 0.9, 0.1, 1.05";
animation = [
"windows, 1, 7, myBezier"
"windowsOut, 1, 7, default, popin 80%"
"border, 1, 10, default"
"borderangle, 1, 8, default"
"fade, 1, 7, default"
"workspaces, 1, 6, default"
];
};
layerrule = [
"blur,gtk-layer-shell"
"ignorezero,gtk-layer-shell"
"blur,notifications"
"ignorezero,notifications"
"blur,rofi"
"ignorezero,rofi"
];
dwindle = {
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
pseudotile = "yes"; # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
preserve_split = "yes"; # you probably want this
};
gestures = {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
workspace_swipe = "off";
};
misc = {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
force_default_wallpaper = 0; # Set to 0 or 1 to disable the anime mascot wallpapers
};
# Example per-device config
# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more
device = {
name = "epic-mouse-v1";
sensitivity = -0.5;
};
windowrulev2 = "suppressevent maximize, class:.*";
windowrule = [
"opacity 0.0 override, class:^(xwaylandvideobridge)$"
"noanim, class:^(xwaylandvideobridge)$"
"noinitialfocus, class:^(xwaylandvideobridge)$"
"maxsize 1 1, class:^(xwaylandvideobridge)$"
"noblur, class:^(xwaylandvideobridge)$"
"nofocus, class:^(xwaylandvideobridge)$"
];
exec-once = [
"waybar &"
"hyprpaper &"
];
# Keybindings
bind = [
"${super}, Q, exec, ${terminal}"
"${super}, C, killactive, "
"${super}, M, exit, "
"${super}, E, exec, ${fileManager}"
"${super}, V, togglefloating, "
"${super}, R, exec, ${menu}"
"${super}, S, exec, ${power}"
"${super}, F, exec, ${filebrowser}"
"${super}, P, pseudo, " # dwindle
"${super}, J, togglesplit, " # dwindle
"${super}, O, exec, obsidian"
"${super}, I, exec, firefox"
"${super}, G, exec, thunderbird"
# Move focus with mainMod + arrow keys
"${super}, left, movefocus, l"
"${super}, right, movefocus, r"
"${super}, up, movefocus, u"
"${super}, down, movefocus, d"
# Switch workspaces with mainMod + [0-9]
"${super}, 1, workspace, 1"
"${super}, 2, workspace, 2"
"${super}, 3, workspace, 3"
"${super}, 4, workspace, 4"
"${super}, 5, workspace, 5"
"${super}, 6, workspace, 6"
"${super}, 7, workspace, 7"
"${super}, 8, workspace, 8"
"${super}, 9, workspace, 9"
"${super}, 0, workspace, 10"
# Move active window to a workspace with mainMod + SHIFT + [0-9]
"${super} SHIFT, 1, movetoworkspace, 1"
"${super} SHIFT, 2, movetoworkspace, 2"
"${super} SHIFT, 3, movetoworkspace, 3"
"${super} SHIFT, 4, movetoworkspace, 4"
"${super} SHIFT, 5, movetoworkspace, 5"
"${super} SHIFT, 6, movetoworkspace, 6"
"${super} SHIFT, 7, movetoworkspace, 7"
"${super} SHIFT, 8, movetoworkspace, 8"
"${super} SHIFT, 9, movetoworkspace, 9"
"${super} SHIFT, 0, movetoworkspace, 10"
# Example special workspace (scratchpad)
#"${super}, S, togglespecialworkspace, magic"
"${super} SHIFT, S, movetoworkspace, special:magic"
# Scroll through existing workspaces with mainMod + scroll
"${super}, mouse_down, workspace, e+1"
"${super}, mouse_up, workspace, e-1"
# Screenshot
''${super}, Z, exec, grim -g "$(slurp)" $HOME/Pictures/Screenshots/$(date +'%s_grim.png')''
''${super}, U, exec, grim $HOME/Pictures/Screenshots/$(date +'%s_grim.png')''
];
bindl = [
#", XF86AudioMute, exec, amixer set Master toggle
", XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"
", XF86AudioPlay, exec, playerctl play-pause" # the stupid key is called play , but it toggles
", XF86AudioNext, exec, playerctl next"
", XF86AudioPrev, exec, playerctl previous"
];
bindle = [
# Multi Media Control
", XF86AudioRaiseVolume, exec, vol --up"
", XF86AudioLowerVolume, exec, vol --down"
", XF86MonBrightnessUp, exec, bri --up"
", XF86MonBrightnessDown, exec, bri --down"
", XF86Search, exec, ${menu}"
];
bindm = [
"${super}, mouse:272, movewindow"
"${super}, mouse:273, resizewindow"
];
};
# NOTE: this executable is used by greetd to start a wayland session when system boot up
# with such a vendor-no-locking script, we can switch to another wayland compositor without modifying greetd's config in NixOS module
home.file.".wayland-session" = {
source = "${package}/bin/Hyprland";
executable = true;
};
}

View File

@@ -1,96 +1,96 @@
{ pkgs, catppuccin, ... }:
{
# Hyprland and related packages
home.packages = with pkgs; [
hyprlock
];
# Hyprland and related packages
home.packages = with pkgs; [
hyprlock
];
catppuccin.hyprlock.enable = false;
catppuccin.hyprlock.enable = false;
# Hyprlock configuration
programs.hyprlock = {
enable = true;
settings = {
source = "$HOME/.config/hypr/mocha.conf";
# Hyprlock configuration
programs.hyprlock = {
enable = true;
settings = {
"$accent" = "$mauve";
"$accentAlpha" = "$mauveAlpha";
"$font" = "JetBrainsMono Nerd Font";
source = "$HOME/.config/hypr/mocha.conf";
general = {
disable_loading_bar = true;
hide_cursor = true;
};
"$accent" = "$mauve";
"$accentAlpha" = "$mauveAlpha";
"$font" = "JetBrainsMono Nerd Font";
background = [
{
path="~/Pictures/Wallpapers/lucy_with_cat.png";
blur_passes = 0;
blur_size = 0;
}
];
general = {
disable_loading_bar = true;
hide_cursor = true;
};
label = [
# TIME
{
monitor = "";
text = "$TIME";
color = "$text";
font_size = 90;
font_family = "$font";
position = "-30, 0";
halign = "right";
valign = "top";
}
background = [
{
path = "~/Pictures/Wallpapers/lucy_with_cat.png";
blur_passes = 0;
blur_size = 0;
}
];
# DATE
{
monitor = "";
text = ''cmd[update:43200000] date +"%A, %d %B %Y"'';
color = "$text";
font_size = 25;
font_family = "$font";
position = "-30, -150";
halign = "right";
valign = "top";
}
];
label = [
# TIME
{
monitor = "";
text = "$TIME";
color = "$text";
font_size = 90;
font_family = "$font";
position = "-30, 0";
halign = "right";
valign = "top";
}
# INPUT FIELD
input-field = {
monitor = "";
size = "300, 60";
outline_thickness = 4;
dots_size = 0.2;
dots_spacing = 0.2;
dots_center = "true";
outer_color = "$red";
inner_color = "$surface0";
font_color = "$text";
fade_on_empty = false;
placeholder_text = ''<span foreground="##$textAlpha"><i>󰌾 Logged in as </i><span foreground="##$accentAlpha">$USER</span></span>'';
hide_input = false;
check_color = "$accent";
fail_color = "$red";
fail_text = "<i>$FAIL <b>($ATTEMPTS)</b></i>";
capslock_color = "$yellow";
position = "0, -150";
halign = "center";
valign = "center";
};
# DATE
{
monitor = "";
text = ''cmd[update:43200000] date +"%A, %d %B %Y"'';
color = "$text";
font_size = 25;
font_family = "$font";
position = "-30, -150";
halign = "right";
valign = "top";
}
];
image = {
monitor = "";
path = "~/.config/hypr/avatar.png";
size = 300;
border_color = "$teal";
position = "0, 75";
halign = "center";
valign = "center";
};
};
# INPUT FIELD
input-field = {
monitor = "";
size = "300, 60";
outline_thickness = 4;
dots_size = 0.2;
dots_spacing = 0.2;
dots_center = "true";
outer_color = "$red";
inner_color = "$surface0";
font_color = "$text";
fade_on_empty = false;
placeholder_text = ''<span foreground="##$textAlpha"><i>󰌾 Logged in as </i><span foreground="##$accentAlpha">$USER</span></span>'';
hide_input = false;
check_color = "$accent";
fail_color = "$red";
fail_text = "<i>$FAIL <b>($ATTEMPTS)</b></i>";
capslock_color = "$yellow";
position = "0, -150";
halign = "center";
valign = "center";
};
image = {
monitor = "";
path = "~/.config/hypr/avatar.png";
size = 300;
border_color = "$teal";
position = "0, 75";
halign = "center";
valign = "center";
};
};
};
}

View File

@@ -1,24 +1,22 @@
{ pkgs, ... }:
{
home.packages = with pkgs; [
hyprpaper
];
home.packages = with pkgs; [
hyprpaper
];
home.file = {
"Pictures/Wallpapers" = {
source = ../../wallpapers;
recursive = true;
};
home.file = {
"Pictures/Wallpapers" = {
source = ../../wallpapers;
recursive = true;
};
};
# Hyprpaper configuration
services.hyprpaper.enable = true;
services.hyprpaper.settings = {
preload = "Pictures/Wallpapers/tokio.png";
wallpaper = ", Pictures/Wallpapers/tokio.png";
};
# Hyprpaper configuration
services.hyprpaper.enable = true;
services.hyprpaper.settings = {
preload = "Pictures/Wallpapers/tokio.png";
wallpaper = ", Pictures/Wallpapers/tokio.png";
};
}

View File

@@ -1,22 +1,23 @@
{ pkgs, lib, ... }:
{ lib, ... }:
{
programs.kitty = lib.mkForce {
enable = true;
settings = {
themeFile = "Catppuccin-Mocha";
confirm_os_window_close = 0;
dynamic_background_opacity = true;
enable_audio_bell = false;
mouse_hide_wait = "-1.0";
window_padding_width = 10;
background_opacity = "0.5";
background_blur = 5;
tab_bar_min_tabs = 1;
tab_bar_edge = "bottom";
tab_bar_style = "powerline";
tab_powerline_style = "slanted";
tab_title_template = "{title}{' :{}:'.format(num_windows) if num_windows > 1 else ''}";
symbol_map = let
programs.kitty = lib.mkForce {
enable = true;
settings = {
themeFile = "Catppuccin-Mocha";
confirm_os_window_close = 0;
dynamic_background_opacity = true;
enable_audio_bell = false;
mouse_hide_wait = "-1.0";
window_padding_width = 10;
background_opacity = "0.8";
background_blur = 5;
tab_bar_min_tabs = 1;
tab_bar_edge = "bottom";
tab_bar_style = "powerline";
tab_powerline_style = "slanted";
tab_title_template = "{title}{' :{}:'.format(num_windows) if num_windows > 1 else ''}";
symbol_map =
let
mappings = [
"U+23FB-U+23FE"
"U+2B58"
@@ -38,7 +39,7 @@
"U+E5FA-U+E62B"
];
in
(builtins.concatStringsSep "," mappings) + " Symbols Nerd Font";
};
(builtins.concatStringsSep "," mappings) + " Symbols Nerd Font";
};
};
}

View File

@@ -1,17 +1,16 @@
{ pkgs, ... }:
{
services.mako = {
enable = true;
font = "FiraCodeNerdFontPropo 12";
borderSize = 4;
borderRadius = 8;
defaultTimeout = 5000;
services.mako = {
enable = true;
font = "FiraCodeNerdFontPropo 12";
borderSize = 4;
borderRadius = 8;
defaultTimeout = 5000;
extraConfig = ''
[app-name=Spotify]
border-color=#a6e3a1
'';
extraConfig = ''
[app-name=Spotify]
border-color=#a6e3a1
'';
};
};
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 MiB

View File

@@ -0,0 +1,222 @@
* {
rosewater: #f5e0dc;
flamingo: #f2cdcd;
pink: #f5c2e7;
mauve: #cba6f7;
red: #f38ba8;
maroon: #eba0ac;
peach: #fab387;
yellow: #f9e2af;
green: #a6e3a1;
teal: #94e2d5;
sky: #89dceb;
sapphire: #74c7ec;
blue: #89b4fa;
lavender: #b4befe;
text: #cdd6f4;
subtext1: #bac2de;
subtext0: #a6adc8;
overlay2: #9399b2;
overlay1: #7f849c;
overlay0: #6c7086;
surface2: #585b70;
surface1: #45475a;
surface0: #313244;
base: #1e1e2e;
mantle: #181825;
crust: #11111b;
}
configuration {
show-icons: true;
modi: "window,drun,filebrowser";
display-drun: "Apps";
display-filebrowser: "Files";
display-run: "RUN";
display-window: "Active";
drun-display-format: "{name}";
window-format: "{w} · {c} · {t}";
}
/* Main Window */
window {
/* properties for window widget */
transparency: "real";
location: center;
anchor: center;
fullscreen: false;
width: 50%;
height: 90%;
x-offset: 0px;
y-offset: 0px;
/* properties for all widgets */
enabled: true;
border-radius: 12px;
cursor: "default";
background-color: @base;
}
/* Main Box */
mainbox {
enabled: true;
spacing: 0px;
background-color: transparent;
orientation: horizontal;
children: [ "imagebox", "listbox" ];
}
imagebox {
padding: 20px;
background-color: transparent;
background-image: url("~/.config/rofi/background.png", height);
orientation: vertical;
children: [ "inputbar", "dummy", "mode-switcher" ];
}
listbox {
spacing: 20px;
padding: 20px;
background-color: transparent;
orientation: vertical;
children: [ "message", "listview" ];
}
dummy {
background-color: transparent;
}
/* Input */
inputbar {
enabled: true;
spacing: 10px;
padding: 15px;
border-radius: 10px;
background-color: @crust;
text-color: @text;
children: [ "textbox-prompt-colon", "entry" ];
}
textbox-prompt-colon {
enabled: true;
expand: false;
str: "";
background-color: inherit;
text-color: inherit;
}
entry {
enabled: true;
background-color: inherit;
text-color: inherit;
cursor: text;
placeholder: "Search";
placeholder-color: inherit;
}
/* Mode Switcher */
mode-switcher{
enabled: true;
spacing: 20px;
background-color: transparent;
text-color: @text;
}
button {
padding: 15px;
border-radius: 10px;
background-color: @base;
text-color: inherit;
cursor: pointer;
}
button selected {
background-color: @base;
text-color: @pink;
}
/* Listview */
listview {
enabled: true;
columns: 1;
lines: 8;
cycle: true;
dynamic: true;
scrollbar: false;
layout: vertical;
reverse: false;
fixed-height: true;
fixed-columns: true;
spacing: 10px;
background-color: transparent;
text-color: @text;
cursor: "default";
}
/* Elements */
element {
enabled: true;
spacing: 15px;
padding: 8px;
border-radius: 10px;
background-color: transparent;
text-color: @mauve;
cursor: pointer;
}
element normal.normal {
background-color: inherit;
text-color: inherit;
}
element normal.urgent {
background-color: inherit;
text-color: @red;
}
element normal.active {
background-color: inherit;
text-color: @blue;
}
element selected.normal {
background-color: @crust;
text-color: @pink;
}
element selected.urgent {
background-color: @crust;
text-color: @maroon;
}
element selected.active {
background-color: @crust;
text-color: @sky;
}
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: 15px;
border-radius: 10px;
background-color: @overlay0;
text-color: @peach;
vertical-align: 0.5;
horizontal-align: 0.0;
}
error-message {
padding: 15px;
border-radius: 20px;
background-color: @surface0;
text-color: @red;
}

View File

@@ -1,21 +1,28 @@
{
pkgs,
config,
...
}: {
home.packages = with pkgs; [
rofi-power-menu
];
}:
{
programs.rofi = {
enable = true;
cycle = false;
package = pkgs.rofi-wayland;
};
home.packages = with pkgs; [
rofi-power-menu
rofi-calc
];
home.file.".config/rofi" = {
source = ./configs;
# copy the scripts directory recursively
recursive = true;
};
programs.rofi = {
enable = true;
cycle = false;
package = pkgs.rofi-wayland;
font = "FiraCode Nerd Font Mono 12";
location = "center";
terminal = "${pkgs.kitty}/bin/kitty";
};
home.file.".config/rofi" = {
source = ./configs;
# copy the scripts directory recursively
recursive = true;
};
}

View File

@@ -2,45 +2,48 @@
pkgs,
config,
...
}: {
programs.waybar = {
enable = true;
package = pkgs.waybar;
/*settings = {
mainBar = {
layer = "top";
position = "top";
height = 30;
output = [
"eDP-1"
"DP-1"
"HDMI-A-1"
"Virtual-1"
];
}:
{
programs.waybar = {
enable = true;
package = pkgs.waybar;
/*
settings = {
mainBar = {
layer = "top";
position = "top";
height = 30;
output = [
"eDP-1"
"DP-1"
"HDMI-A-1"
"Virtual-1"
];
modules-left = [ "sway/workspaces" "sway/mode" "wlr/taskbar" ];
modules-center = [ "sway/window" "custom/hello-from-waybar" ];
modules-right = [ "mpd" "custom/mymodule#with-css-id" "temperature" ];
modules-left = [ "sway/workspaces" "sway/mode" "wlr/taskbar" ];
modules-center = [ "sway/window" "custom/hello-from-waybar" ];
modules-right = [ "mpd" "custom/mymodule#with-css-id" "temperature" ];
"sway/workspaces" = {
disable-scroll = true;
all-outputs = true;
};
"custom/hello-from-waybar" = {
format = "hello {}";
max-length = 40;
interval = "once";
exec = pkgs.writeShellScript "hello-from-waybar" ''
echo "from within waybar $USER"
'';
};
};
};*/
};
"sway/workspaces" = {
disable-scroll = true;
all-outputs = true;
};
"custom/hello-from-waybar" = {
format = "hello {}";
max-length = 40;
interval = "once";
exec = pkgs.writeShellScript "hello-from-waybar" ''
echo "from within waybar $USER"
'';
};
};
};
*/
};
home.file.".config/waybar" = {
source = ./configs;
# copy the scripts directory recursively
recursive = true;
};
home.file.".config/waybar" = {
source = ./configs;
# copy the scripts directory recursively
recursive = true;
};
}

View File

@@ -2,171 +2,200 @@
pkgs,
config,
...
} : {
programs.waybar = {
enable = true;
package = pkgs.waybar;
settings = {
mainBar = {
layer = "top";
position = "top";
height = 30;
output = [ "DP-1" ];
}:
{
programs.waybar = {
enable = true;
package = pkgs.waybar;
settings = {
mainBar = {
layer = "top";
position = "top";
height = 30;
output = [ "DP-1" ];
modules-left = [
"hyprland/workspaces"
"mpris"
];
modules-left = [
"hyprland/workspaces"
"mpris"
];
modules-center = [];
modules-right = [
"network"
"memory"
"cpu"
"clock"
];
modules-center = [ ];
# Widgets
"sway/workspaces" = {
disable-scroll = true;
all-outputs = true;
};
mpris = {
format = "{player_icon} {dynamic}";
format-paused = "<span color='grey'>{status_icon} {dynamic}</span>";
max-length = 100;
player-icons = {
default = "";
mpv = "🎵";
};
modules-right = [
"network"
"memory"
"cpu"
"clock"
];
status-icons = {
paused = "";
};
};
"hyprland/workspaces" = {
format = "{icon}";
format-icons = {
default = "";
active = "";
};
};
network = {
tooltip = true;
format-wifi = "{icon}";
format-icons = ["󰤟" "󰤢" "󰤥"];
rotate = 0;
format-ethernet = "󰈀 ";
tooltip-format = "Network: <big><b>{essid}</b></big>\nSignal strength: <b>{signaldBm}dBm ({signalStrength}%)</b>\nFrequency: <b>{frequency}MHz</b>\nInterface: <b>{ifname}</b>\nIP: <b>{ipaddr}/{cidr}</b>\nGateway: <b>{gwaddr}</b>\nNetmask: <b>{netmask}</b>";
format-linked = "󰈀 {ifname} (No IP)";
format-disconnected = " ";
tooltip-format-disconnected = "Disconnected";
on-click = "/usr/local/bin/ags -t ControlPanel";
interval = 2;
};
memory = {
interval = 1;
rotate = 270;
format = "{icon}";
format-icons = ["󰝦" "󰪞" "󰪟" "󰪠" "󰪡" "󰪢" "󰪣" "󰪤" "󰪥"];
max-length = 10;
};
cpu = {
interval = 1;
format = "{icon}";
rotate = 270;
format-icons = ["󰝦" "󰪞" "󰪟" "󰪠" "󰪡" "󰪢" "󰪣" "󰪤" "󰪥"];
};
clock = {
format = "{:%I:%M %p}";
rotate = 0;
on-click = "/usr/local/bin/ags -t ActivityCenter";
tooltip-format = "<tt>{calendar}</tt>";
calendar = {
mode = "month";
mode-mon-col = 3;
on-scroll = 1;
on-click-right = "mode";
format = {
months = "<span color='#ffead3'><b>{}</b></span>";
weekdays = "<span color='#ffcc66'><b>{}</b></span>";
today = "<span color='#ff6699'><b>{}</b></span>";
};
};
actions = {
on-click-right = "mode";
on-click-forward = "tz_up";
on-click-backward = "tz_down";
on-scroll-up = "shift_up";
on-scroll-down = "shift_down";
};
};
};
secondBar = {
layer = "top";
position = "top";
height = 30;
output = [
"HDMI-A-2"
];
modules-left = [
"hyprland/workspaces"
];
modules-center = [
];
modules-right = [
"network"
];
"hyprland/workspaces" = {
format = "{icon}";
format-icons = {
default = "";
active = "";
};
};
"custom/weather" = {
exec = "~/.config/waybar/weather.py waybar";
restart-interval = 900;
return-type = "json";
};
network = {
tooltip = true;
format-wifi = "{icon}";
format-icons = ["󰤟" "󰤢" "󰤥"];
rotate = 0;
format-ethernet = "{bandwidthTotalBits} 󰈀 {bandwidthUpBits} 󰶣 {bandwidthDownBits} 󰶡 ";
tooltip-format = "Network: <big><b>{essid}</b></big>\nSignal strength: <b>{signaldBm}dBm ({signalStrength}%)</b>\nFrequency: <b>{frequency}MHz</b>\nInterface: <b>{ifname}</b>\nIP: <b>{ipaddr}/{cidr}</b>\nGateway: <b>{gwaddr}</b>\nNetmask: <b>{netmask}</b>";
format-linked = "󰈀 {ifname} (No IP)";
format-disconnected = " ";
tooltip-format-disconnected = "Disconnected";
on-click = "/usr/local/bin/ags -t ControlPanel";
interval = 2;
};
};
# Widgets
"sway/workspaces" = {
disable-scroll = true;
all-outputs = true;
};
};
home.file.".config/waybar" = {
source = ./configs;
# copy the scripts directory recursively
recursive = true;
mpris = {
format = "{player_icon} {dynamic}";
format-paused = "<span color='grey'>{status_icon} {dynamic}</span>";
max-length = 100;
player-icons = {
default = "";
mpv = "🎵";
};
status-icons = {
paused = "";
};
};
"hyprland/workspaces" = {
format = "{icon}";
format-icons = {
default = "";
active = "";
};
};
network = {
tooltip = true;
format-wifi = "{icon}";
format-icons = [
"󰤟"
"󰤢"
"󰤥"
];
rotate = 0;
format-ethernet = "󰈀 ";
tooltip-format = "Network: <big><b>{essid}</b></big>\nSignal strength: <b>{signaldBm}dBm ({signalStrength}%)</b>\nFrequency: <b>{frequency}MHz</b>\nInterface: <b>{ifname}</b>\nIP: <b>{ipaddr}/{cidr}</b>\nGateway: <b>{gwaddr}</b>\nNetmask: <b>{netmask}</b>";
format-linked = "󰈀 {ifname} (No IP)";
format-disconnected = " ";
tooltip-format-disconnected = "Disconnected";
on-click = "/usr/local/bin/ags -t ControlPanel";
interval = 2;
};
memory = {
interval = 1;
rotate = 270;
format = "{icon}";
format-icons = [
"󰝦"
"󰪞"
"󰪟"
"󰪠"
"󰪡"
"󰪢"
"󰪣"
"󰪤"
"󰪥"
];
max-length = 10;
};
cpu = {
interval = 1;
format = "{icon}";
rotate = 270;
format-icons = [
"󰝦"
"󰪞"
"󰪟"
"󰪠"
"󰪡"
"󰪢"
"󰪣"
"󰪤"
"󰪥"
];
};
clock = {
format = "{:%I:%M %p}";
rotate = 0;
on-click = "/usr/local/bin/ags -t ActivityCenter";
tooltip-format = "<tt>{calendar}</tt>";
calendar = {
mode = "month";
mode-mon-col = 3;
on-scroll = 1;
on-click-right = "mode";
format = {
months = "<span color='#ffead3'><b>{}</b></span>";
weekdays = "<span color='#ffcc66'><b>{}</b></span>";
today = "<span color='#ff6699'><b>{}</b></span>";
};
};
actions = {
on-click-right = "mode";
on-click-forward = "tz_up";
on-click-backward = "tz_down";
on-scroll-up = "shift_up";
on-scroll-down = "shift_down";
};
};
};
secondBar = {
layer = "top";
position = "top";
height = 30;
output = [
"HDMI-A-2"
];
modules-left = [
"hyprland/workspaces"
];
modules-center = [
];
modules-right = [
"network"
];
"hyprland/workspaces" = {
format = "{icon}";
format-icons = {
default = "";
active = "";
};
};
"custom/weather" = {
exec = "~/.config/waybar/weather.py waybar";
restart-interval = 900;
return-type = "json";
};
network = {
tooltip = true;
format-wifi = "{icon}";
format-icons = [
"󰤟"
"󰤢"
"󰤥"
];
rotate = 0;
format-ethernet = "{bandwidthTotalBits} 󰈀 {bandwidthUpBits} 󰶣 {bandwidthDownBits} 󰶡 ";
tooltip-format = "Network: <big><b>{essid}</b></big>\nSignal strength: <b>{signaldBm}dBm ({signalStrength}%)</b>\nFrequency: <b>{frequency}MHz</b>\nInterface: <b>{ifname}</b>\nIP: <b>{ipaddr}/{cidr}</b>\nGateway: <b>{gwaddr}</b>\nNetmask: <b>{netmask}</b>";
format-linked = "󰈀 {ifname} (No IP)";
format-disconnected = " ";
tooltip-format-disconnected = "Disconnected";
on-click = "/usr/local/bin/ags -t ControlPanel";
interval = 2;
};
};
};
};
home.file.".config/waybar" = {
source = ./configs;
# copy the scripts directory recursively
recursive = true;
};
}

View File

@@ -2,137 +2,162 @@
pkgs,
config,
...
} : {
programs.waybar = {
enable = true;
package = pkgs.waybar;
settings = {
mainBar = {
layer = "top";
position = "top";
height = 30;
output = [
"eDP-1"
"DP-1"
"HDMI-A-1"
"Virtual-1"
];
}:
{
programs.waybar = {
enable = true;
package = pkgs.waybar;
settings = {
mainBar = {
layer = "top";
position = "top";
height = 30;
output = [
"eDP-1"
"DP-1"
"HDMI-A-1"
"Virtual-1"
];
modules-left = [
"hyprland/workspaces"
"mpris"
];
modules-left = [
"hyprland/workspaces"
"mpris"
];
modules-center = [
"custom/weather"
];
modules-right = [
"network"
"memory"
"cpu"
"clock"
];
modules-center = [
"custom/weather"
];
# Widgets
"sway/workspaces" = {
disable-scroll = true;
all-outputs = true;
};
mpris = {
format = "{player_icon} {dynamic}";
format-paused = "<span color='grey'>{status_icon} {dynamic}</span>";
max-length = 100;
player-icons = {
default = "";
mpv = "🎵";
};
modules-right = [
"network"
"memory"
"cpu"
"clock"
];
status-icons = {
paused = "";
};
};
"hyprland/workspaces" = {
format = "{icon}";
format-icons = {
default = "";
active = "";
};
};
network = {
tooltip = true;
format-wifi = "{icon}";
format-icons = ["󰤟" "󰤢" "󰤥"];
rotate = 0;
format-ethernet = "󰈀 ";
tooltip-format = "Network = <big><b>{essid}</b></big>\nSignal strength: <b>{signaldBm}dBm ({signalStrength}%)</b>\nFrequency: <b>{frequency}MHz</b>\nInterface: <b>{ifname}</b>\nIP: <b>{ipaddr}/{cidr}</b>\nGateway: <b>{gwaddr}</b>\nNetmask: <b>{netmask}</b>";
format-linked = "󰈀 {ifname} (No IP)";
format-disconnected = " ";
tooltip-format-disconnected = "Disconnected";
on-click = "/usr/local/bin/ags -t ControlPanel";
interval = 2;
};
memory = {
interval = 1;
rotate = 270;
format = "{icon}";
format-icons = ["󰝦" "󰪞" "󰪟" "󰪠" "󰪡" "󰪢" "󰪣" "󰪤" "󰪥"];
max-length = 10;
};
cpu = {
interval = 1;
format = "{icon}";
rotate = 270;
format-icons = ["󰝦" "󰪞" "󰪟" "󰪠" "󰪡" "󰪢" "󰪣" "󰪤" "󰪥"];
};
clock = {
format = "{:%I:%M %p}";
rotate = 0;
on-click = "/usr/local/bin/ags -t ActivityCenter";
tooltip-format = "<tt>{calendar}</tt>";
calendar = {
mode = "month";
mode-mon-col = 3;
on-scroll = 1;
on-click-right = "mode";
format = {
months = "<span color='#ffead3'><b>{}</b></span>";
weekdays = "<span color='#ffcc66'><b>{}</b></span>";
today = "<span color='#ff6699'><b>{}</b></span>";
};
};
actions = {
on-click-right = "mode";
on-click-forward = "tz_up";
on-click-backward = "tz_down";
on-scroll-up = "shift_up";
on-scroll-down = "shift_down";
};
};
# Custom Widgets
"custom/weather" = {
exec = "python3 ~/.config/waybar/weather.py waybar";
restart-interval = 900;
return-type = "json";
};
};
# Widgets
"sway/workspaces" = {
disable-scroll = true;
all-outputs = true;
};
};
home.file.".config/waybar" = {
source = ./configs;
# copy the scripts directory recursively
recursive = true;
mpris = {
format = "{player_icon} {dynamic}";
format-paused = "<span color='grey'>{status_icon} {dynamic}</span>";
max-length = 100;
player-icons = {
default = "";
mpv = "🎵";
};
status-icons = {
paused = "";
};
};
"hyprland/workspaces" = {
format = "{icon}";
format-icons = {
default = "";
active = "";
};
};
network = {
tooltip = true;
format-wifi = "{icon}";
format-icons = [
"󰤟"
"󰤢"
"󰤥"
];
rotate = 0;
format-ethernet = "󰈀 ";
tooltip-format = "Network = <big><b>{essid}</b></big>\nSignal strength: <b>{signaldBm}dBm ({signalStrength}%)</b>\nFrequency: <b>{frequency}MHz</b>\nInterface: <b>{ifname}</b>\nIP: <b>{ipaddr}/{cidr}</b>\nGateway: <b>{gwaddr}</b>\nNetmask: <b>{netmask}</b>";
format-linked = "󰈀 {ifname} (No IP)";
format-disconnected = " ";
tooltip-format-disconnected = "Disconnected";
on-click = "/usr/local/bin/ags -t ControlPanel";
interval = 2;
};
memory = {
interval = 1;
rotate = 270;
format = "{icon}";
format-icons = [
"󰝦"
"󰪞"
"󰪟"
"󰪠"
"󰪡"
"󰪢"
"󰪣"
"󰪤"
"󰪥"
];
max-length = 10;
};
cpu = {
interval = 1;
format = "{icon}";
rotate = 270;
format-icons = [
"󰝦"
"󰪞"
"󰪟"
"󰪠"
"󰪡"
"󰪢"
"󰪣"
"󰪤"
"󰪥"
];
};
clock = {
format = "{:%I:%M %p}";
rotate = 0;
on-click = "/usr/local/bin/ags -t ActivityCenter";
tooltip-format = "<tt>{calendar}</tt>";
calendar = {
mode = "month";
mode-mon-col = 3;
on-scroll = 1;
on-click-right = "mode";
format = {
months = "<span color='#ffead3'><b>{}</b></span>";
weekdays = "<span color='#ffcc66'><b>{}</b></span>";
today = "<span color='#ff6699'><b>{}</b></span>";
};
};
actions = {
on-click-right = "mode";
on-click-forward = "tz_up";
on-click-backward = "tz_down";
on-scroll-up = "shift_up";
on-scroll-down = "shift_down";
};
};
# Custom Widgets
"custom/weather" = {
exec = "python3 ~/.config/waybar/weather.py waybar";
restart-interval = 900;
return-type = "json";
};
};
};
};
home.file.".config/waybar" = {
source = ./configs;
# copy the scripts directory recursively
recursive = true;
};
}