Complete system rework feat. Niri, Noctalia, Helix, Vicinae, Zellij, & Kanshi
This commit is contained in:
11
modules/unused/hypr/default.nix
Normal file
11
modules/unused/hypr/default.nix
Normal file
@@ -0,0 +1,11 @@
|
||||
{
|
||||
...
|
||||
}:
|
||||
{
|
||||
imports = [
|
||||
./hyprland.nix
|
||||
./keybinds.nix
|
||||
./monitors.nix
|
||||
./pyprland.nix
|
||||
];
|
||||
}
|
||||
124
modules/unused/hypr/hyprland.nix
Normal file
124
modules/unused/hypr/hyprland.nix
Normal file
@@ -0,0 +1,124 @@
|
||||
{
|
||||
inputs,
|
||||
pkgs,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
hyprpolkitagent
|
||||
hyprpicker
|
||||
];
|
||||
|
||||
wayland.windowManager.hyprland = {
|
||||
enable = true;
|
||||
systemd.enable = false;
|
||||
package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland;
|
||||
portalPackage =
|
||||
inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland;
|
||||
|
||||
settings = {
|
||||
source = [
|
||||
"${config.xdg.configHome}/hypr/monitors.conf"
|
||||
"${config.xdg.configHome}/hypr/noctalia/noctalia-colors.conf"
|
||||
];
|
||||
|
||||
# monitor = [
|
||||
# "desc:BOE 0x095F,2256x1504@60.00,0x0,1"
|
||||
# "desc:LG Electronics LG TV SSCR2 0x01010101,3840x2160@120.00,2256x0,1"
|
||||
# ];
|
||||
|
||||
animations = {
|
||||
# Stolen from https://github.com/Vobledoble/nixparency-dots/
|
||||
enabled = true;
|
||||
bezier = [
|
||||
"easeOutQuint,0.23,1,0.32,1"
|
||||
"easeInOutCubic,0.65,0.05,0.36,1"
|
||||
"linear,0,0,1,1"
|
||||
"almostLinear,0.5,0.5,0.75,1.0"
|
||||
"quick,0.15,0,0.1,1"
|
||||
];
|
||||
animation = [
|
||||
"global, 1, 10, default"
|
||||
"border, 1, 5.39, easeOutQuint"
|
||||
"windows, 1, 4.79, easeOutQuint"
|
||||
"windowsIn, 1, 4.1, easeOutQuint, popin 87%"
|
||||
"windowsOut, 1, 1.49, linear, popin 87%"
|
||||
"fadeIn, 1, 1.73, almostLinear"
|
||||
"fadeOut, 1, 1.46, almostLinear"
|
||||
"fade, 1, 3.03, quick"
|
||||
"layers, 1, 3.81, easeOutQuint"
|
||||
"layersIn, 1, 4, easeOutQuint, fade"
|
||||
"layersOut, 1, 1.5, linear, fade"
|
||||
"fadeLayersIn, 1, 1.79, almostLinear"
|
||||
"fadeLayersOut, 1, 1.39, almostLinear"
|
||||
"workspaces, 1, 1.94, almostLinear, fade"
|
||||
"workspacesIn, 1, 1.21, almostLinear, fade"
|
||||
"workspacesOut, 1, 1.94, almostLinear, fade"
|
||||
];
|
||||
};
|
||||
|
||||
debug.disable_logs = false;
|
||||
|
||||
general = {
|
||||
gaps_in = 5;
|
||||
gaps_out = 10;
|
||||
border_size = 2;
|
||||
};
|
||||
|
||||
decoration = {
|
||||
rounding = 20;
|
||||
rounding_power = 2;
|
||||
|
||||
# active_opacity = 0.95;
|
||||
# inactive_opacity = 0.85;
|
||||
# fullscreen_opacity = 1.0;
|
||||
|
||||
blur = {
|
||||
enabled = true;
|
||||
size = 3;
|
||||
passes = 2;
|
||||
vibrancy = 0.1696;
|
||||
new_optimizations = true;
|
||||
popups = true;
|
||||
};
|
||||
|
||||
shadow = {
|
||||
enabled = true;
|
||||
range = 4;
|
||||
render_power = 3;
|
||||
color = "rgba(1a1a1aee)";
|
||||
};
|
||||
};
|
||||
|
||||
input = {
|
||||
kb_layout = "us";
|
||||
kb_options = "compose:ralt";
|
||||
};
|
||||
|
||||
misc = {
|
||||
vfr = true;
|
||||
};
|
||||
|
||||
windowrule = {
|
||||
name = "floating-terminal-dropdown";
|
||||
"match:class" = "term_dropdown";
|
||||
float = "on";
|
||||
};
|
||||
|
||||
exec-once = [
|
||||
"systemctl --user enable --now hyprpolkitagent.service"
|
||||
"noctalia-shell"
|
||||
"pypr"
|
||||
];
|
||||
|
||||
env = [
|
||||
"NIXOS_OZONE_WL, 1"
|
||||
"HYPRSHOT_DIR, ${config.xdg.userDirs.extraConfig.XDG_SCREENSHOTS_DIR}"
|
||||
"XDG_CURRENT_DESKTOP, Hyprland"
|
||||
"XDG_SESSION_TYPE, wayland"
|
||||
"XDG_SESSION_DESKTOP, Hyprland"
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
83
modules/unused/hypr/keybinds.nix
Normal file
83
modules/unused/hypr/keybinds.nix
Normal file
@@ -0,0 +1,83 @@
|
||||
{
|
||||
...
|
||||
}:
|
||||
{
|
||||
wayland.windowManager.hyprland.settings = {
|
||||
exec = "hyprctl dispatch submap global";
|
||||
submap = "global";
|
||||
|
||||
"$mod" = "SUPER";
|
||||
|
||||
bind = [
|
||||
"$mod, Q, killactive"
|
||||
"$mod, W, exec, foot"
|
||||
"$mod, S, exec, vicinae toggle"
|
||||
"$mod, Escape, exec, noctalia-shell ipc call sessionMenu toggle"
|
||||
|
||||
# Window Movement
|
||||
"$mod, left, movefocus, l"
|
||||
"$mod, right, movefocus, r"
|
||||
"$mod, up, movefocus, u"
|
||||
"$mod, down, movefocus, d"
|
||||
"$mod SHIFT, left, movewindow, l"
|
||||
"$mod SHIFT, right, movewindow, r"
|
||||
"$mod SHIFT, up, movewindow, u"
|
||||
"$mod SHIFT, down, movewindow, d"
|
||||
"$mod CTRL, left, workspace, r-1"
|
||||
"$mod CTRL, right, workspace, r+1"
|
||||
"$mod CTRL SHIFT, left, movetoworkspace, r-1"
|
||||
"$mod CTRL SHIFT, right, movetoworkspace, r+1"
|
||||
|
||||
# Screenshoting
|
||||
", PRINT, exec, grim -g \"$(slurp)\" - | wl-copy"
|
||||
"SHIFT, PRINT, exec, wl-paste | swappy -f -"
|
||||
|
||||
# Media Control Keys
|
||||
", XF86AudioPrev, exec, playerctl previous"
|
||||
", XF86AudioPlay, exec, playerctl play-pause"
|
||||
", XF86AudioNext, exec, playerctl next"
|
||||
", XF86AudioMute, exec, pamixer -t"
|
||||
"ALT, XF86AudioMute, exec, pamixer --default-source -t"
|
||||
|
||||
# Notification Center
|
||||
"$mod, n, exec, noctalia-shell ipc call notifications toggleHistory"
|
||||
|
||||
# Scratchpads
|
||||
"$mod, TAB, exec, pypr toggle term"
|
||||
]
|
||||
++ (
|
||||
# workspaces
|
||||
# binds $mod + [shift +] {1..9} to [move to] workspace {1..9}
|
||||
builtins.concatLists (
|
||||
builtins.genList (
|
||||
i:
|
||||
let
|
||||
ws = i + 1;
|
||||
in
|
||||
[
|
||||
"$mod, code:1${toString i}, workspace, ${toString ws}"
|
||||
"$mod SHIFT, code:1${toString i}, movetoworkspace, ${toString ws}"
|
||||
]
|
||||
) 9
|
||||
)
|
||||
);
|
||||
|
||||
bindm = [
|
||||
"$mod, mouse:272, movewindow"
|
||||
"$mod, mouse:273, resizewindow"
|
||||
"$mod ALT, mouse:272, resizewindow"
|
||||
];
|
||||
|
||||
bindel = [
|
||||
# Volume Controls
|
||||
", XF86AudioRaiseVolume, exec, pamixer -i 5"
|
||||
", XF86AudioLowerVolume, exec, pamixer -d 5"
|
||||
"ALT, XF86AudioRaiseVolume, exec, pamixer --default-source -i 5"
|
||||
"ALT, XF86AudioLowerVolume, exec, pamixer --default-source -d 5"
|
||||
|
||||
# Brightness Controls
|
||||
", XF86MonBrightnessUp, exec, brightnessctl set 5%+"
|
||||
", XF86MonBrightnessDown, exec, brightnessctl set 5%-"
|
||||
];
|
||||
};
|
||||
}
|
||||
22
modules/unused/hypr/monitors.nix
Normal file
22
modules/unused/hypr/monitors.nix
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
inputs,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
imports = [
|
||||
inputs.hyprdynamicmonitors.homeManagerModules.default
|
||||
];
|
||||
|
||||
home.packages = [
|
||||
inputs.hyprdynamicmonitors.packages.${pkgs.stdenv.hostPlatform.system}.default
|
||||
];
|
||||
|
||||
home.hyprdynamicmonitors = {
|
||||
enable = true;
|
||||
installExamples = false;
|
||||
extraFlags = [
|
||||
"--enable-lid-events"
|
||||
];
|
||||
};
|
||||
}
|
||||
23
modules/unused/hypr/pyprland.nix
Normal file
23
modules/unused/hypr/pyprland.nix
Normal file
@@ -0,0 +1,23 @@
|
||||
{
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
pyprland
|
||||
];
|
||||
|
||||
xdg.configFile."hypr/pyprland.toml".text = ''
|
||||
[pyprland]
|
||||
plugins = ["scratchpads"]
|
||||
|
||||
[scratchpads.term]
|
||||
command = "foot --app-id term_dropdown"
|
||||
class = "term_dropdown"
|
||||
animation = "fromTop"
|
||||
margin = 150
|
||||
size = "80% 80%"
|
||||
max_size = "1920px 1080px"
|
||||
multi = false
|
||||
'';
|
||||
}
|
||||
30
modules/unused/hypridle.nix
Normal file
30
modules/unused/hypridle.nix
Normal file
@@ -0,0 +1,30 @@
|
||||
{
|
||||
...
|
||||
}:
|
||||
{
|
||||
services.hypridle = {
|
||||
enable = true;
|
||||
settings = {
|
||||
general = {
|
||||
lock_cmd = "pidof hyprlock || hyprlock --grace 10";
|
||||
before_sleep_cmd = "loginctl lock-session";
|
||||
after_sleep_cmd = "hypctl dispatch dpms on";
|
||||
};
|
||||
listener = [
|
||||
{
|
||||
timeout = 300;
|
||||
on-timeout = "loginctl lock-session";
|
||||
}
|
||||
{
|
||||
timeout = 450;
|
||||
on-timeout = "hyprctl dispatch dpms off";
|
||||
on-resume = "hyprctl dispatch dpms on";
|
||||
}
|
||||
{
|
||||
timeout = 600;
|
||||
on-timeout = "systemctl suspend";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
108
modules/unused/hyprlock.nix
Normal file
108
modules/unused/hyprlock.nix
Normal file
@@ -0,0 +1,108 @@
|
||||
{
|
||||
config,
|
||||
wallpaper,
|
||||
...
|
||||
}:
|
||||
{
|
||||
programs.hyprlock = {
|
||||
enable = true;
|
||||
settings = with config.lib.stylix.colors; {
|
||||
general = {
|
||||
hide_cursor = true;
|
||||
};
|
||||
background = [
|
||||
{
|
||||
path = "${config.xdg.userDirs.extraConfig.XDG_WALLPAPERS_DIR}/${wallpaper}";
|
||||
blur_size = 4;
|
||||
blur_passes = 3;
|
||||
}
|
||||
];
|
||||
input-field = [
|
||||
rec {
|
||||
size = "250, 50";
|
||||
outline_thickness = 3;
|
||||
dots_size = 0.25;
|
||||
dots_spacing = 0.4;
|
||||
outer_color = "rgba(${base0F}55)";
|
||||
capslock_color = outer_color;
|
||||
numlock_color = outer_color;
|
||||
bothlock_color = outer_color;
|
||||
inner_color = "rgba(${base0F}11)";
|
||||
font_color = "rgba(${base0F}ff)";
|
||||
fade_on_empty = true;
|
||||
placeholder_text = "<i>Password...</i>";
|
||||
position = "0, -60";
|
||||
halign = "center";
|
||||
valign = "center";
|
||||
}
|
||||
];
|
||||
label = [
|
||||
# Hours
|
||||
{
|
||||
text = "cmd[update:1000] echo \"<b><big> $(date +\"%H\") </big></b>\"";
|
||||
color = "rgb(${base0F})";
|
||||
font_size = 112;
|
||||
font_family = "GeistMono Nerd Font";
|
||||
position = "0, 350";
|
||||
halign = "center";
|
||||
valign = "center";
|
||||
}
|
||||
|
||||
# Minutes
|
||||
{
|
||||
text = "cmd[update:1000] echo \"<b><big> $(date +\"%M\") </big></b>\"";
|
||||
color = "rgb(${base0F})";
|
||||
font_size = 112;
|
||||
font_family = "GeistMono Nerd Font";
|
||||
position = "0, 220";
|
||||
halign = "center";
|
||||
valign = "center";
|
||||
}
|
||||
|
||||
# Day of the Week
|
||||
{
|
||||
text = "cmd[update:18000000] echo \"<b><big> \"$(date +'%A')\" </big></b>\"";
|
||||
color = "rgb(${base0F})";
|
||||
font_size = 22;
|
||||
font_family = "JetBrainsMono Nerd Font";
|
||||
position = "0, 115";
|
||||
halign = "center";
|
||||
valign = "center";
|
||||
}
|
||||
|
||||
# Date
|
||||
{
|
||||
text = "cmd[update:18000000] echo \"<b> \"$(date +'%d %b')\" </b>\"";
|
||||
color = "rgb(${base0F})";
|
||||
font_size = 18;
|
||||
font_family = "JetBrainsMono Nerd Font";
|
||||
position = "0, 85";
|
||||
halign = "center";
|
||||
valign = "center";
|
||||
}
|
||||
|
||||
# Temperature
|
||||
{
|
||||
text = "cmd[update:18000000] echo \"<b>Feels like<big> $(curl -s 'wttr.in?format=%t' | tr -d '+') </big></b>\"";
|
||||
color = "rgb(${base0F})";
|
||||
font_size = 18;
|
||||
font_family = "GeistMono Nerd Font";
|
||||
position = "0, 40";
|
||||
halign = "center";
|
||||
valign = "bottom";
|
||||
}
|
||||
|
||||
# Caps Lock Warning
|
||||
{
|
||||
text = "cmd[update:250] check-capslock";
|
||||
color = "rgb(${base0F})";
|
||||
font_size = 13;
|
||||
font_family = "JetBrainsMono Nerd Font";
|
||||
position = "0, -120";
|
||||
halign = "center";
|
||||
valign = "center";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
87
modules/unused/mango.nix
Normal file
87
modules/unused/mango.nix
Normal file
@@ -0,0 +1,87 @@
|
||||
{
|
||||
inputs,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
{
|
||||
imports = [
|
||||
inputs.mango.hmModules.mango
|
||||
];
|
||||
|
||||
wayland.windowManager.mango = {
|
||||
enable = true;
|
||||
settings = ''
|
||||
source=${config.xdg.configHome}/mango/noctalia.conf
|
||||
|
||||
monitorrule=name:eDP-1,width:2256,height:1504,refresh:59.999001,x:0,y:0,scale:1.0,vrr:0,rr:0
|
||||
monitorrule=name:LG Electronics LG TV SSCR2 *,width:3840,height:2160,refresh:120.0,x:2256,y:0,scale:1.0,vrr:0,rr:0
|
||||
|
||||
cursor_size=16
|
||||
cursor_theme=catppuccin-mocha-dark-cursors
|
||||
|
||||
bind=SUPER,q,killclient
|
||||
bind=SUPER,w,spawn,foot
|
||||
bind=SUPER,a,spawn,vicinae toggle
|
||||
bind=SUPER,Escape,spawn,noctalia-shell ipc call sessionMenu toggle
|
||||
bind=SUPER,n,spawn,noctalia-shell ipc call notifications toggleHistory
|
||||
|
||||
bind=SUPER+SHIFT,r,reload_config
|
||||
|
||||
bind=SUPER,t,setlayout,tile
|
||||
bind=SUPER,s,setlayout,scroller
|
||||
|
||||
bind=SUPER,f,togglefloating
|
||||
bind=SUPER+SHIFT,f,togglefullscreen
|
||||
|
||||
bind=NONE,XF86AudioPrev,spawn,playerctl previous
|
||||
bind=NONE,XF86AudioPlay,spawn,playerctl play-pause
|
||||
bind=NONE,XF86AudioNext,spawn,playerctl next
|
||||
|
||||
bindl=NONE,XF86AudioRaiseVolume,spawn,pamixer -i 5
|
||||
bindl=NONE,XF86AudioLowerVolume,spawn,pamixer -d 5
|
||||
bindl=NONE,XF86AudioMute,spawn,pamixer -t
|
||||
bindl=ALT,XF86AudioRaiseVolume,spawn,pamixer --default-source -i 5
|
||||
bindl=ALT,XF86AudioLowerVolume,spawn,pamixer --default-source -d 5
|
||||
bindl=ALT,XF86AudioMute,spawn,pamixer --default-source -t
|
||||
|
||||
bindl=NONE,XF86MonBrightnessUp,spawn,brightnessctl set 5%+
|
||||
bindl=NONE,XF86MonBrightnessDown,spawn,brightnessctl set 5%-
|
||||
|
||||
bind=NONE,Print,spawn_shell,grim -g "$(slurp)" - | wl-copy
|
||||
bind=SHIFT,Print,spawn_shell,wl-paste | swappy -f -
|
||||
|
||||
bind=SUPER,Up,focusdir,up
|
||||
bind=SUPER,Down,focusdir,down
|
||||
bind=SUPER,Left,focusdir,left
|
||||
bind=SUPER,Right,focusdir,right
|
||||
bind=SUPER+SHIFT,Up,exchange_client,up
|
||||
bind=SUPER+SHIFT,Down,exchange_client,down
|
||||
bind=SUPER+SHIFT,Left,exchange_client,left
|
||||
bind=SUPER+SHIFT,Right,exchange_client,right
|
||||
|
||||
bind=SUPER+CTRL,Left,viewtoleft
|
||||
bind=SUPER+CTRL,Right,viewtoright
|
||||
bind=SUPER+CTRL+SHIFT,Left,tagtoleft
|
||||
bind=SUPER+CTRL+SHIFT,Right,tagtoright
|
||||
|
||||
mousebind=SUPER,btn_left,moveresize,curmove
|
||||
mousebind=SUPER,btn_right,moveresize,curresize
|
||||
mousebind=SUPER+ALT,btn_left,moveresize,curresize
|
||||
|
||||
bind=SUPER,Tab,toggleoverview
|
||||
|
||||
blur=1
|
||||
blur_params_radius=6
|
||||
blur_params_num_passes=2
|
||||
|
||||
windowrule=blur:1,unfocused_opacity:0.95,focused_opacity:0.95,appid:foot
|
||||
|
||||
exec-once=${config.xdg.configHome}/mango/autostart.sh
|
||||
'';
|
||||
|
||||
autostart_sh = ''
|
||||
dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=wlroots
|
||||
noctalia-shell
|
||||
'';
|
||||
};
|
||||
}
|
||||
45
modules/unused/plasma.nix
Normal file
45
modules/unused/plasma.nix
Normal file
@@ -0,0 +1,45 @@
|
||||
{
|
||||
inputs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
imports = [
|
||||
inputs.plasma-manager.homeModules.plasma-manager
|
||||
];
|
||||
|
||||
programs = {
|
||||
plasma = {
|
||||
enable = true;
|
||||
|
||||
kscreenlocker = {
|
||||
appearance = {
|
||||
wallpaper = ../../wallpapers/lanterns_of_twilight.png;
|
||||
};
|
||||
};
|
||||
|
||||
workspace = {
|
||||
lookAndFeel = "org.kde.breezedark.desktop";
|
||||
wallpaper = ../../wallpapers/lanterns_of_twilight.png;
|
||||
wallpaperFillMode = "preserveAspectCrop";
|
||||
};
|
||||
};
|
||||
|
||||
konsole = {
|
||||
enable = true;
|
||||
defaultProfile = "Jade";
|
||||
profiles = {
|
||||
jade = {
|
||||
name = "Jade";
|
||||
font = {
|
||||
name = "FiraCode Nerd Font";
|
||||
};
|
||||
extraConfig = {
|
||||
Appearance = {
|
||||
WordMode = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
104
modules/unused/swaync.nix
Normal file
104
modules/unused/swaync.nix
Normal file
@@ -0,0 +1,104 @@
|
||||
{
|
||||
...
|
||||
}:
|
||||
{
|
||||
services.swaync = {
|
||||
enable = true;
|
||||
settings = {
|
||||
positionX = "right";
|
||||
positionY = "top";
|
||||
cssPriority = "user"; # "application"
|
||||
|
||||
control-center-width = 380;
|
||||
control-center-height = 860;
|
||||
control-center-margin-top = 10;
|
||||
control-center-margin-bottom = 10;
|
||||
control-center-margin-right = 10;
|
||||
control-center-margin-left = 10;
|
||||
|
||||
notification-window-width = 400;
|
||||
notification-icon-size = 48;
|
||||
notification-body-image-height = 100;
|
||||
notification-body-image-width = 200;
|
||||
|
||||
timeout = 4;
|
||||
timeout-low = 2;
|
||||
timeout-critical = 6;
|
||||
|
||||
fit-to-screen = false;
|
||||
keyboard-shortcuts = true;
|
||||
image-visibility = "when-available";
|
||||
transition-time = 200;
|
||||
hide-on-clear = false;
|
||||
hide-on-action = false;
|
||||
script-fail-notify = true;
|
||||
scripts = {
|
||||
example-script = {
|
||||
exec = "echo 'Do something...'";
|
||||
urgency = "Normal";
|
||||
};
|
||||
};
|
||||
notification-visibility = {
|
||||
example-name = {
|
||||
state = "muted";
|
||||
urgency = "low";
|
||||
app-name = "Spotify";
|
||||
};
|
||||
};
|
||||
widgets = [
|
||||
"label"
|
||||
"buttons-grid"
|
||||
"mpris"
|
||||
"dnd"
|
||||
"title"
|
||||
"notifications"
|
||||
];
|
||||
widget-config = {
|
||||
title = {
|
||||
text = "Notifications";
|
||||
clear-all-button = true;
|
||||
button-text = " ";
|
||||
};
|
||||
dnd = {
|
||||
text = "Do Not Disturb";
|
||||
};
|
||||
label = {
|
||||
max-lines = 1;
|
||||
text = " ";
|
||||
};
|
||||
mpris = {
|
||||
image-size = 96;
|
||||
image-radius = 12;
|
||||
};
|
||||
volume = {
|
||||
label = "";
|
||||
show-per-app = true;
|
||||
};
|
||||
buttons-grid = {
|
||||
actions = [
|
||||
{
|
||||
label = "";
|
||||
command = "pamixer -t";
|
||||
}
|
||||
{
|
||||
label = "";
|
||||
command = "pamixer --default-source -t";
|
||||
}
|
||||
{
|
||||
label = "";
|
||||
command = "nmtui";
|
||||
}
|
||||
# {
|
||||
# label = "";
|
||||
# command = "blueman-manager";
|
||||
# }
|
||||
# {
|
||||
# label = "";
|
||||
# command = "nwg-look";
|
||||
# }
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
109
modules/unused/vscode.nix
Normal file
109
modules/unused/vscode.nix
Normal file
@@ -0,0 +1,109 @@
|
||||
{
|
||||
pkgs,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
{
|
||||
programs.vscode = {
|
||||
enable = true;
|
||||
package = pkgs.vscode-fhs;
|
||||
profiles = {
|
||||
default = {
|
||||
enableExtensionUpdateCheck = false;
|
||||
enableUpdateCheck = false;
|
||||
extensions = with pkgs.vscode-extensions; [
|
||||
# General
|
||||
pkief.material-icon-theme
|
||||
ritwickdey.liveserver
|
||||
aaron-bond.better-comments
|
||||
yzane.markdown-pdf
|
||||
mechatroner.rainbow-csv
|
||||
catppuccin.catppuccin-vsc
|
||||
|
||||
# Remote development
|
||||
ms-vscode-remote.remote-ssh
|
||||
ms-vscode-remote.remote-ssh-edit
|
||||
ms-vscode.remote-explorer
|
||||
|
||||
# Nix
|
||||
bbenoist.nix
|
||||
jnoortheen.nix-ide
|
||||
|
||||
# Python
|
||||
ms-python.python
|
||||
ms-python.vscode-pylance
|
||||
ms-python.debugpy
|
||||
ms-python.black-formatter
|
||||
ms-python.isort
|
||||
|
||||
# Rust
|
||||
rust-lang.rust-analyzer
|
||||
|
||||
# Typescript / WebDev
|
||||
esbenp.prettier-vscode
|
||||
yoavbls.pretty-ts-errors
|
||||
svelte.svelte-vscode
|
||||
];
|
||||
userSettings = {
|
||||
# General
|
||||
"editor.formatOnSave" = true;
|
||||
"workbench.iconTheme" = "material-icon-theme";
|
||||
"workbench.colorTheme" = "Catppuccin Mocha";
|
||||
"catppuccin.accentColor" = "flamingo";
|
||||
|
||||
# Remote SSH
|
||||
# VSCode attempts to write to ~/.ssh/config for remote ssh connections.
|
||||
# Because ~/.ssh/config is managed with home-manager, it is not writeable.
|
||||
# So we specify a custom ssh config path
|
||||
"remote.SSH.configFile" = "${config.home.homeDirectory}/.ssh/vscode-config";
|
||||
|
||||
# Prettier
|
||||
"editor.defaultFormatter" = "esbenp.prettier-vscode";
|
||||
"prettier.bracketSpacing" = true;
|
||||
"prettier.printWidth" = 100;
|
||||
"prettier.semi" = false;
|
||||
"prettier.singleQuote" = true;
|
||||
"prettier.tabWidth" = 4;
|
||||
|
||||
# Python
|
||||
"[python]" = {
|
||||
"editor.defaultFormatter" = "ms-python.black-formatter";
|
||||
"editor.codeActionsOnSave" = {
|
||||
"source.organizeImports" = "explicit";
|
||||
};
|
||||
};
|
||||
"isort.args" = [
|
||||
"--profile"
|
||||
"black"
|
||||
];
|
||||
"python.analysis.typeCheckingMode" = "strict";
|
||||
"python.languageServer" = "Pylance";
|
||||
|
||||
# JSON
|
||||
"[json]" = {
|
||||
"prettier.tabWidth" = 2;
|
||||
};
|
||||
"[jsonc]" = {
|
||||
"prettier.tabWidth" = 2;
|
||||
};
|
||||
|
||||
# Svelte
|
||||
"[svelte]" = {
|
||||
"editor.defaultFormatter" = "svelte.svelte-vscode";
|
||||
};
|
||||
"svelte.enable-ts-plugin" = true;
|
||||
|
||||
# C / C++
|
||||
"C_Cpp.clang_format_style" = "GNU"; # This is really just for cs361, I actually hate the GNU style
|
||||
"C_Cpp.default.cStandard" = "gnu17";
|
||||
"[c]" = {
|
||||
"editor.defaultFormatter" = "ms-vscode.cpptools";
|
||||
};
|
||||
"[cpp]" = {
|
||||
"editor.defaultFormatter" = "ms-vscode.cpptools";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
143
modules/unused/waybar/default.nix
Normal file
143
modules/unused/waybar/default.nix
Normal file
@@ -0,0 +1,143 @@
|
||||
{
|
||||
...
|
||||
}:
|
||||
{
|
||||
programs.waybar = {
|
||||
enable = false;
|
||||
systemd.enable = true;
|
||||
settings = [
|
||||
{
|
||||
layer = "top";
|
||||
position = "top";
|
||||
margin-left = 10;
|
||||
margin-right = 10;
|
||||
margin-top = 5;
|
||||
fixed-center = true;
|
||||
reload_style_on_change = false;
|
||||
|
||||
"hyprland/workspaces" = import ./modules/hyprland-workspaces.nix { };
|
||||
"custom/menu" = import ./modules/menu.nix { };
|
||||
"hyprland/window" = import ./modules/hyprland-window.nix { };
|
||||
"disk" = import ./modules/disk.nix { };
|
||||
"cpu" = import ./modules/cpu.nix { };
|
||||
"memory" = import ./modules/memory.nix { };
|
||||
"temperature" = import ./modules/temperature.nix { };
|
||||
"idle_inhibitor" = import ./modules/idle-inhibitor.nix { };
|
||||
"tray" = import ./modules/tray.nix { };
|
||||
"network" = import ./modules/network.nix { };
|
||||
"wireplumber" = import ./modules/wireplumber.nix { };
|
||||
"backlight" = import ./modules/backlight.nix { };
|
||||
"mpris" = import ./modules/mpris.nix { };
|
||||
"battery" = import ./modules/battery.nix { full-at = 80; }; # Change this to come from the TLP setting
|
||||
"clock" = import ./modules/clock.nix { };
|
||||
"custom/power" = import ./modules/power.nix { };
|
||||
"custom/hyprpicker" = import ./modules/hyprpicker.nix { };
|
||||
"custom/separator#blank" = {
|
||||
format = "";
|
||||
interval = "once";
|
||||
tooltip = false;
|
||||
};
|
||||
|
||||
modules-left = [
|
||||
"custom/menu"
|
||||
"custom/separator#blank"
|
||||
"clock"
|
||||
"custom/separator#blank"
|
||||
"custom/hyprpicker"
|
||||
];
|
||||
|
||||
modules-center = [
|
||||
"hyprland/workspaces"
|
||||
];
|
||||
|
||||
modules-right = [
|
||||
"tray"
|
||||
"custom/separator#blank"
|
||||
"group/motherboard"
|
||||
"custom/separator#blank"
|
||||
"wireplumber"
|
||||
"custom/separator#blank"
|
||||
"battery"
|
||||
"custom/separator#blank"
|
||||
"custom/power"
|
||||
];
|
||||
|
||||
"group/motherboard" = {
|
||||
orientation = "inherit";
|
||||
modules = [
|
||||
"cpu"
|
||||
"memory"
|
||||
"temperature"
|
||||
"disk"
|
||||
];
|
||||
};
|
||||
}
|
||||
];
|
||||
style = ''
|
||||
@define-color base00 #192435; /* Darkest background (night sky / deep shadows) */
|
||||
@define-color base01 #243449; /* Slightly lighter background */
|
||||
@define-color base02 #36455D; /* Selection / inactive UI */
|
||||
@define-color base03 #51637E; /* Comments / subtle foreground */
|
||||
|
||||
@define-color base04 #8FA3BA; /* Dark foreground (status bars) */
|
||||
@define-color base05 #C7D2DF; /* Default foreground (text) */
|
||||
@define-color base06 #E3EAF2; /* Light foreground (highlighted text) */
|
||||
@define-color base07 #F4D9C7; /* Bright foreground (lantern light) */
|
||||
|
||||
@define-color base08 #D88C7A; /* Red / Errors (warm wood & lantern glow) */
|
||||
@define-color base09 #E5AD97; /* Orange / Numbers / Constants */
|
||||
@define-color base0A #E9C48A; /* Yellow / Classes / Warnings */
|
||||
@define-color base0B #9FBFA8; /* Green / Strings */
|
||||
@define-color base0C #8FB6C8; /* Cyan / Support / Regex */
|
||||
@define-color base0D #7FA6D9; /* Blue / Functions / Keywords */
|
||||
@define-color base0E #B69BCB; /* Purple / Types / Specials */
|
||||
@define-color base0F #B0896A; /* Brown / Deprecated */
|
||||
|
||||
* {
|
||||
all: unset;
|
||||
font-family: "JetBrainsMono Nerd Font Propo"; /* The Propo(rtional) variant of the ensures icons are properly spaced */
|
||||
font-feature-settings: '"zero", "tnum", "ss01", "ss02", "ss03", "cv01"';
|
||||
font-weight: 700;
|
||||
min-height: 0;
|
||||
}
|
||||
|
||||
window#waybar {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.module {
|
||||
padding: 0 6px;
|
||||
}
|
||||
|
||||
.modules-left,
|
||||
.modules-center,
|
||||
.modules-right {
|
||||
background: @base00;
|
||||
padding: 6px 8px;
|
||||
border-color: @base03;
|
||||
border-width: 1.5px;
|
||||
border-style: solid;
|
||||
border-radius: 0.75rem;
|
||||
}
|
||||
|
||||
#workspaces button {
|
||||
color: @base04;
|
||||
font-size: 0.9rem;
|
||||
padding: 0 7px;
|
||||
}
|
||||
|
||||
#motherboard,
|
||||
#custom-menu {
|
||||
color: @base04;
|
||||
}
|
||||
|
||||
#wireplumber,
|
||||
#battery,
|
||||
#custom-power,
|
||||
#custom-hyprpicker,
|
||||
#clock {
|
||||
color: @base05;
|
||||
}
|
||||
'';
|
||||
};
|
||||
}
|
||||
27
modules/unused/waybar/modules/backlight.nix
Normal file
27
modules/unused/waybar/modules/backlight.nix
Normal file
@@ -0,0 +1,27 @@
|
||||
{
|
||||
...
|
||||
}:
|
||||
{
|
||||
format = "{icon}";
|
||||
tooltip-format = "Backlight {percent}%";
|
||||
format-icons = [
|
||||
" "
|
||||
" "
|
||||
" "
|
||||
" "
|
||||
" "
|
||||
" "
|
||||
" "
|
||||
" "
|
||||
" "
|
||||
" "
|
||||
" "
|
||||
" "
|
||||
" "
|
||||
" "
|
||||
" "
|
||||
];
|
||||
icon-size = 10;
|
||||
on-scroll-down = "brightnessctl set 10%-";
|
||||
on-scroll-up = "brightnessctl set +10%";
|
||||
}
|
||||
33
modules/unused/waybar/modules/battery.nix
Normal file
33
modules/unused/waybar/modules/battery.nix
Normal file
@@ -0,0 +1,33 @@
|
||||
{
|
||||
full-at ? 100,
|
||||
...
|
||||
}:
|
||||
{
|
||||
inherit full-at;
|
||||
states = {
|
||||
# These values are percentages based on `full-at`
|
||||
good = 95;
|
||||
warning = 30;
|
||||
critical = 15;
|
||||
};
|
||||
format = "{icon} {capacity}%";
|
||||
format-charging = " {capacity}%";
|
||||
format-plugged = " {capacity}%";
|
||||
format-full = "{icon} {capacity}%";
|
||||
format-icons = [
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
];
|
||||
format-time = "{H}h {M}min";
|
||||
tooltip = true;
|
||||
tooltip-format = "{timeTo} {power}w";
|
||||
}
|
||||
13
modules/unused/waybar/modules/bluetooth.nix
Normal file
13
modules/unused/waybar/modules/bluetooth.nix
Normal file
@@ -0,0 +1,13 @@
|
||||
{
|
||||
...
|
||||
}:
|
||||
{
|
||||
format = "";
|
||||
format-disabled = "";
|
||||
format-connected = " {num_connections}";
|
||||
tooltip-format = " {device_alias}";
|
||||
tooltip-format-connected = "{device_enumerate}";
|
||||
tooltip-format-enumerate-connected = " {device_alias} {device_battery_percentage}%";
|
||||
tooltip = true;
|
||||
# on-click = "blueman-manager";
|
||||
}
|
||||
21
modules/unused/waybar/modules/clock.nix
Normal file
21
modules/unused/waybar/modules/clock.nix
Normal file
@@ -0,0 +1,21 @@
|
||||
{
|
||||
...
|
||||
}:
|
||||
{
|
||||
interval = 1; # Poll every second
|
||||
format = "{:%H:%M - %d/%b}";
|
||||
tooltip-format = "<tt><small>{calendar}</small></tt>";
|
||||
calendar = {
|
||||
mode = "year";
|
||||
mode-mon-col = 3;
|
||||
weeks-pos = "right";
|
||||
on-scroll = 1;
|
||||
format = {
|
||||
months = "<span color='#ffead3'><b>{}</b></span>";
|
||||
days = "<span color='#ecc6d9'><b>{}</b></span>";
|
||||
weeks = "<span color='#99ffdd'><b>W{}</b></span>";
|
||||
weekdays = "<span color='#ffcc66'><b>{}</b></span>";
|
||||
today = "<span color='#ff6699'><b><u>{}</u></b></span>";
|
||||
};
|
||||
};
|
||||
}
|
||||
7
modules/unused/waybar/modules/cpu.nix
Normal file
7
modules/unused/waybar/modules/cpu.nix
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
...
|
||||
}:
|
||||
{
|
||||
format = "{usage}% ";
|
||||
interval = 1;
|
||||
}
|
||||
10
modules/unused/waybar/modules/disk.nix
Normal file
10
modules/unused/waybar/modules/disk.nix
Normal file
@@ -0,0 +1,10 @@
|
||||
{
|
||||
...
|
||||
}:
|
||||
{
|
||||
interval = 30;
|
||||
format = "{percentage_used}% ";
|
||||
tooltip = true;
|
||||
tooltip-format = "{specific_free:0.1f}/{specific_total:0.1f}GiB";
|
||||
unit = "GiB";
|
||||
}
|
||||
15
modules/unused/waybar/modules/hyprland-window.nix
Normal file
15
modules/unused/waybar/modules/hyprland-window.nix
Normal file
@@ -0,0 +1,15 @@
|
||||
{
|
||||
...
|
||||
}:
|
||||
{
|
||||
format = "{title}";
|
||||
max-length = 40;
|
||||
separate-outputs = true; # List different titles for each monitor
|
||||
offscreen-css = true; # No idea what this does
|
||||
offscreen-css-text = "(inactive)"; # No idea what this does either
|
||||
rewrite = {
|
||||
"(.*) — Mozilla Firefox" = " Firefox";
|
||||
# Foot terminal doesn't display any title for some reason
|
||||
# Find a fix
|
||||
};
|
||||
}
|
||||
23
modules/unused/waybar/modules/hyprland-workspaces.nix
Normal file
23
modules/unused/waybar/modules/hyprland-workspaces.nix
Normal file
@@ -0,0 +1,23 @@
|
||||
{
|
||||
...
|
||||
}:
|
||||
{
|
||||
active-only = false; # Show all workspaces
|
||||
all-outputs = true; # Show all workspace groups
|
||||
format = "{icon}";
|
||||
show-special = false; # Hide Hyprland's "special" workspaces
|
||||
on-click = "activate";
|
||||
on-scroll-up = "hyprctl dispatch workspace r+1";
|
||||
on-scroll-down = "hyprctl dispatch workspace r-1";
|
||||
persistent-workspaces = {
|
||||
"1" = [ ];
|
||||
"2" = [ ];
|
||||
"3" = [ ];
|
||||
"4" = [ ];
|
||||
"5" = [ ];
|
||||
};
|
||||
format-icons = {
|
||||
active = "";
|
||||
default = "";
|
||||
};
|
||||
}
|
||||
7
modules/unused/waybar/modules/hyprpicker.nix
Normal file
7
modules/unused/waybar/modules/hyprpicker.nix
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
...
|
||||
}:
|
||||
{
|
||||
format = "";
|
||||
on-click = "hyprpicker | tr -d '\\n' | wl-copy";
|
||||
}
|
||||
10
modules/unused/waybar/modules/idle-inhibitor.nix
Normal file
10
modules/unused/waybar/modules/idle-inhibitor.nix
Normal file
@@ -0,0 +1,10 @@
|
||||
{
|
||||
...
|
||||
}:
|
||||
{
|
||||
format = "{icon}";
|
||||
format-icons = {
|
||||
activated = " ";
|
||||
deactivated = " ";
|
||||
};
|
||||
}
|
||||
11
modules/unused/waybar/modules/memory.nix
Normal file
11
modules/unused/waybar/modules/memory.nix
Normal file
@@ -0,0 +1,11 @@
|
||||
{
|
||||
...
|
||||
}:
|
||||
{
|
||||
interval = 10;
|
||||
format = "{used:0.1f}G ";
|
||||
format-alt = "{percentage}% ";
|
||||
format-alt-click = "click";
|
||||
tooltip = true;
|
||||
tooltip-format = "{used:0.1f}/{total:0.1f}GiB";
|
||||
}
|
||||
10
modules/unused/waybar/modules/menu.nix
Normal file
10
modules/unused/waybar/modules/menu.nix
Normal file
@@ -0,0 +1,10 @@
|
||||
{
|
||||
...
|
||||
}:
|
||||
{
|
||||
format = "{}";
|
||||
exec = "echo ; echo app launcher";
|
||||
interval = 86400;
|
||||
tooltip = true;
|
||||
on-click = "walker";
|
||||
}
|
||||
26
modules/unused/waybar/modules/mpris.nix
Normal file
26
modules/unused/waybar/modules/mpris.nix
Normal file
@@ -0,0 +1,26 @@
|
||||
{
|
||||
...
|
||||
}:
|
||||
{
|
||||
interval = 10;
|
||||
format = "{player_icon} ";
|
||||
format-paused = "{status_icon} <i>{dynamic}</i>";
|
||||
player-icons = {
|
||||
chromium = "";
|
||||
mpd = "";
|
||||
default = "";
|
||||
firefox = "";
|
||||
kdeconnect = "";
|
||||
mopidy = "";
|
||||
mpv = "";
|
||||
spotify = "";
|
||||
vlc = "";
|
||||
};
|
||||
status-icons = {
|
||||
paused = "";
|
||||
playing = "";
|
||||
stopped = "";
|
||||
};
|
||||
max-length = 30;
|
||||
|
||||
}
|
||||
22
modules/unused/waybar/modules/network.nix
Normal file
22
modules/unused/waybar/modules/network.nix
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
...
|
||||
}:
|
||||
{
|
||||
format = "{ifname}";
|
||||
format-wifi = "{icon}";
|
||||
format-ethernet = "";
|
||||
format-disconnected = "";
|
||||
format-linked = " {ifname} (No IP)";
|
||||
tooltip-format = "{ipaddr} {bandwidthUpBytes} {bandwidthDownBytes}";
|
||||
tooltip-format-wifi = "{essid} {icon} {signalStrength}%";
|
||||
tooltip-format-ethernet = "{essid} ";
|
||||
tooltip-format-disconnected = " Disconnected";
|
||||
max-length = 50;
|
||||
format-icons = [
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
];
|
||||
}
|
||||
10
modules/unused/waybar/modules/power.nix
Normal file
10
modules/unused/waybar/modules/power.nix
Normal file
@@ -0,0 +1,10 @@
|
||||
{
|
||||
...
|
||||
}:
|
||||
{
|
||||
format = "⏻";
|
||||
exec = "echo ; echo power";
|
||||
on-click = "wlogout";
|
||||
interval = 86400; # once every day
|
||||
tooltip = true;
|
||||
}
|
||||
14
modules/unused/waybar/modules/temperature.nix
Normal file
14
modules/unused/waybar/modules/temperature.nix
Normal file
@@ -0,0 +1,14 @@
|
||||
{
|
||||
...
|
||||
}:
|
||||
{
|
||||
interval = 10;
|
||||
tooltip = true;
|
||||
# Thermal Zone 12 refers to the CPU package temp
|
||||
# This might vary between devices. Maybe make it an input?
|
||||
thermal-zone = 12;
|
||||
critical-threshold = 85;
|
||||
format-critical = "{temperatureC}°C {icon}";
|
||||
format = "{temperatureC}°C {icon}";
|
||||
format-icons = [ "" ];
|
||||
}
|
||||
7
modules/unused/waybar/modules/tray.nix
Normal file
7
modules/unused/waybar/modules/tray.nix
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
...
|
||||
}:
|
||||
{
|
||||
icon-size = 15;
|
||||
spacing = 8;
|
||||
}
|
||||
27
modules/unused/waybar/modules/wireplumber.nix
Normal file
27
modules/unused/waybar/modules/wireplumber.nix
Normal file
@@ -0,0 +1,27 @@
|
||||
{
|
||||
...
|
||||
}:
|
||||
{
|
||||
format = "{icon} {volume}% {format_source}";
|
||||
format-muted = " {format_source}";
|
||||
format-source = " {volume}%";
|
||||
format-source-muted = "";
|
||||
format-icons = {
|
||||
headphone = "";
|
||||
hands-free = "";
|
||||
headset = "";
|
||||
phone = "";
|
||||
portable = "";
|
||||
car = "";
|
||||
default = [
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
];
|
||||
};
|
||||
scroll-step = 5.0;
|
||||
on-click = "pavucontrol -t 3";
|
||||
on-click-right = "pavucontrol -t 4";
|
||||
tooltip-format = "{node_name} {volume}%\n{source_desc} {source_volume}%";
|
||||
}
|
||||
116
modules/unused/wlogout.nix
Normal file
116
modules/unused/wlogout.nix
Normal file
@@ -0,0 +1,116 @@
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
wallpaper,
|
||||
...
|
||||
}:
|
||||
{
|
||||
programs.wlogout = {
|
||||
enable = true;
|
||||
layout = [
|
||||
{
|
||||
label = "lock";
|
||||
action = "loginctl lock-session";
|
||||
text = "Lock";
|
||||
keybind = "l";
|
||||
}
|
||||
{
|
||||
label = "hibernate";
|
||||
action = "systemctl hibernate";
|
||||
text = "Hibernate";
|
||||
keybind = "h";
|
||||
}
|
||||
{
|
||||
label = "logout";
|
||||
action = "uwsm stop";
|
||||
text = "Logout";
|
||||
keybind = "e";
|
||||
}
|
||||
{
|
||||
label = "shutdown";
|
||||
action = "systemctl poweroff";
|
||||
text = "Shutdown";
|
||||
keybind = "s";
|
||||
}
|
||||
{
|
||||
label = "suspend";
|
||||
action = "systemctl suspend";
|
||||
text = "Suspend";
|
||||
keybind = "u";
|
||||
}
|
||||
{
|
||||
label = "reboot";
|
||||
action = "systemctl reboot";
|
||||
text = "Reboot";
|
||||
keybind = "r";
|
||||
}
|
||||
];
|
||||
# * IMPORTANT
|
||||
# * The for some reason the SVG icons will not be rendered when wlogout is called
|
||||
# * from a hyprland keybind unless librsvg is installed.
|
||||
# * See packages.nix (programs.gdk-pixbuf.modulePackages = [ pkgs.librsvg ];)
|
||||
style = with config.lib.stylix.colors.withHashtag; ''
|
||||
* {
|
||||
font-family: "Rubik Light";
|
||||
background-image: none;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
window {
|
||||
background: url("${config.xdg.userDirs.extraConfig.XDG_WALLPAPERS_DIR}/${wallpaper}");
|
||||
background-size: cover;
|
||||
}
|
||||
|
||||
button {
|
||||
margin: 10px;
|
||||
border-radius: 20px;
|
||||
border-color: ${base0F};
|
||||
text-decoration-color: ${base0F};
|
||||
color: ${base0F};
|
||||
background-color: alpha(${base01}, 0.5);
|
||||
border-style: solid;
|
||||
border-width: 2px;
|
||||
background-repeat: no-repeat;
|
||||
background-position: center;
|
||||
background-size: 25%;
|
||||
}
|
||||
|
||||
button:focus, button:active, button:hover {
|
||||
background-color: alpha(${base0F}, 0.3);
|
||||
outline-style: none;
|
||||
}
|
||||
|
||||
button:hover {
|
||||
background-size: 27%;
|
||||
}
|
||||
|
||||
button span {
|
||||
font-size: 1.2em;
|
||||
}
|
||||
|
||||
#lock {
|
||||
background-image: url("${pkgs.wlogout}/share/wlogout/assets/lock.svg");
|
||||
}
|
||||
|
||||
#logout {
|
||||
background-image: url("${pkgs.wlogout}/share/wlogout/assets/logout.svg");
|
||||
}
|
||||
|
||||
#suspend {
|
||||
background-image: url("${pkgs.wlogout}/share/wlogout/assets/suspend.svg");
|
||||
}
|
||||
|
||||
#hibernate {
|
||||
background-image: url("${pkgs.wlogout}/share/wlogout/assets/hibernate.svg");
|
||||
}
|
||||
|
||||
#shutdown {
|
||||
background-image: url("${pkgs.wlogout}/share/wlogout/assets/shutdown.svg");
|
||||
}
|
||||
|
||||
#reboot {
|
||||
background-image: url("${pkgs.wlogout}/share/wlogout/assets/reboot.svg");
|
||||
}
|
||||
'';
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user