Initial commit 🚀
This commit is contained in:
10
nix/users/nicolaivds/wayland/default.nix
Normal file
10
nix/users/nicolaivds/wayland/default.nix
Normal file
@@ -0,0 +1,10 @@
|
||||
{ ... }:
|
||||
{
|
||||
imports = [
|
||||
./hyprland.nix
|
||||
./waybar.nix
|
||||
./wofi.nix
|
||||
./foot.nix
|
||||
./wlogout.nix
|
||||
];
|
||||
}
|
52
nix/users/nicolaivds/wayland/foot.nix
Normal file
52
nix/users/nicolaivds/wayland/foot.nix
Normal file
@@ -0,0 +1,52 @@
|
||||
{
|
||||
custom ? {
|
||||
font = "RobotoMono Nerd Font";
|
||||
fontsize = "12";
|
||||
primary_accent = "cba6f7";
|
||||
background = "11111B";
|
||||
opacity = ".85";
|
||||
},
|
||||
...
|
||||
}:
|
||||
{
|
||||
programs.foot = {
|
||||
enable = true;
|
||||
server.enable = true;
|
||||
settings = {
|
||||
main = {
|
||||
term = "xterm-256color";
|
||||
font = "${custom.font}:size=${custom.fontsize}";
|
||||
pad = "10x5 center";
|
||||
dpi-aware = "no";
|
||||
};
|
||||
cursor = {
|
||||
color = "${custom.primary_accent} ${custom.primary_accent}";
|
||||
style = "beam";
|
||||
};
|
||||
colors = {
|
||||
alpha="${custom.opacity}";
|
||||
background="${custom.palette.tertiary_background_hex}";
|
||||
# background="${custom.background}";
|
||||
regular0="11111B"; # black
|
||||
regular1="ff5555"; # red
|
||||
regular2="afffd7"; # green
|
||||
regular3="f1fa8c"; # yellow
|
||||
regular4="87afff"; # blue
|
||||
regular5="bd93f9"; # magenta
|
||||
regular6="8be9fd"; # cyan
|
||||
regular7="f8f8f2"; # white
|
||||
bright0="2d5b69"; # bright black
|
||||
bright1="ff665c"; # bright red
|
||||
bright2="84c747"; # bright green
|
||||
bright3="ebc13d"; # bright yellow
|
||||
bright4="58a3ff"; # bright blue
|
||||
bright5="ff84cd"; # bright magenta
|
||||
bright6="53d6c7"; # bright cyan
|
||||
bright7="cad8d9"; # bright white
|
||||
};
|
||||
tweak = {
|
||||
sixel = "yes";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
228
nix/users/nicolaivds/wayland/hyprland.nix
Normal file
228
nix/users/nicolaivds/wayland/hyprland.nix
Normal file
@@ -0,0 +1,228 @@
|
||||
{
|
||||
config,
|
||||
custom ? {
|
||||
fontsize = "12";
|
||||
primary_accent = "cba6f7";
|
||||
secondary_accent = "89b4fa";
|
||||
tertiary_accent = "f5f5f5";
|
||||
background = "11111B";
|
||||
opacity = ".85";
|
||||
cursor = "Numix-Cursor";
|
||||
},
|
||||
inputs,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
wayland.windowManager.hyprland = {
|
||||
enable = true;
|
||||
package = inputs.hyprland.packages.${pkgs.system}.hyprland;
|
||||
enableNvidiaPatches = true;
|
||||
xwayland.enable = true;
|
||||
systemd.enable = true;
|
||||
settings = {
|
||||
"$mainMod" = "SUPER";
|
||||
monitor = [
|
||||
"DP-2, 2560x1440@144, 0x0, 1"
|
||||
];
|
||||
exec-once = [
|
||||
"waybar"
|
||||
"swww init"
|
||||
''swayidle -w timeout 1800 'swaylock -f -i ${config.home.homeDirectory}/photos/wallpapers/wallpaper.png' timeout 1805 'swaymsg "output * dpms off"' resume 'swaymsg "output * dpms on"' before-sleep "swaylock -f -i ${config.home.homeDirectory}/photos/wallpapers/wallpaper.png"''
|
||||
"hyprctl setcursor ${custom.cursor} ${custom.fontsize}"
|
||||
"wl-paste --type text --watch cliphist store &"
|
||||
"wl-paste --type image --watch cliphist store &"
|
||||
"swaync"
|
||||
];
|
||||
input = {
|
||||
kb_layout = "be";
|
||||
follow_mouse = 1;
|
||||
force_no_accel = 1;
|
||||
numlock_by_default = true;
|
||||
sensitivity = 0;
|
||||
};
|
||||
general = {
|
||||
gaps_in = 6;
|
||||
gaps_out = 10;
|
||||
border_size = 2;
|
||||
# "col.active_border" = "rgb(${custom.primary_accent})";
|
||||
"col.active_border" = "rgba(${custom.palette.tertiary_background_hex}00)";
|
||||
"col.inactive_border" = "rgba(${custom.background}00)";
|
||||
#allow_tearing = true;
|
||||
layout = "dwindle";
|
||||
};
|
||||
decoration = {
|
||||
rounding = 10;
|
||||
shadow_ignore_window = true;
|
||||
drop_shadow = true;
|
||||
shadow_range = 40;
|
||||
shadow_render_power = 2;
|
||||
# "col.shadow" = "rgb(${custom.primary_accent})";
|
||||
"col.shadow" = "rgb(${custom.background})";
|
||||
"col.shadow_inactive" = "rgba(${custom.background}00)";
|
||||
blur = {
|
||||
enabled = false;
|
||||
size = 6;
|
||||
passes = 3;
|
||||
new_optimizations = true;
|
||||
ignore_opacity = true;
|
||||
noise = 0.0117;
|
||||
contrast = 1.2;
|
||||
xray = false;
|
||||
brightness = 1;
|
||||
};
|
||||
};
|
||||
animations = {
|
||||
enabled = true;
|
||||
bezier = "overshot,0.13,0.99,0.29,1.1";
|
||||
animation = [
|
||||
"windows,1,6,overshot,slide"
|
||||
"border,1,10,default"
|
||||
"fade,1,10,default"
|
||||
"workspaces,1,6,overshot,slide"
|
||||
];
|
||||
};
|
||||
dwindle = {
|
||||
pseudotile = true;
|
||||
preserve_split = true;
|
||||
force_split = 2;
|
||||
};
|
||||
master = {
|
||||
new_is_master = true;
|
||||
};
|
||||
gestures = {
|
||||
workspace_swipe = false;
|
||||
};
|
||||
misc = {
|
||||
vfr = true;
|
||||
vrr = 0;
|
||||
disable_hyprland_logo = true;
|
||||
disable_splash_rendering = true;
|
||||
};
|
||||
bind = [
|
||||
# TODO: Look into using special workspace
|
||||
# Exit to tty
|
||||
"$mainMod SHIFT, X, exit "
|
||||
|
||||
# Launch
|
||||
"$mainMod, RETURN, exec, foot"
|
||||
"$mainMod, D, exec, wofi"
|
||||
''$mainMod,P,exec,mkdir -p ${config.home.homeDirectory}/photos/screenshots; grim -t png -g "$(slurp)" ${config.home.homeDirectory}/photos/screenshots/$(date +%Y-%m-%d_%H-%m-%s).png''
|
||||
"$mainMod SHIFT,N,exec, swaync-client -t -sw"
|
||||
"$mainMod,X,exec, wlogout -b 4"
|
||||
"$mainMod,V,exec, cliphist list | wofi -dmenu | cliphist decode | wl-paste"
|
||||
|
||||
# Window Options
|
||||
"$mainMod SHIFT, P, pseudo"
|
||||
"$mainMod, S, togglesplit"
|
||||
"$mainMod, F, fullscreen"
|
||||
"$mainMod, Space, togglefloating "
|
||||
"$mainMod, Q, killactive"
|
||||
|
||||
# Focus Windows
|
||||
"$mainMod, H, movefocus, l"
|
||||
"$mainMod, L, movefocus, r"
|
||||
"$mainMod, K, movefocus, u"
|
||||
"$mainMod, J, movefocus, d"
|
||||
|
||||
# Move Windows
|
||||
"$mainMod SHIFT,H,movewindow,l"
|
||||
"$mainMod SHIFT,L,movewindow,r"
|
||||
"$mainMod SHIFT,K,movewindow,u"
|
||||
"$mainMod SHIFT,J,movewindow,d"
|
||||
|
||||
# Switch workspaces
|
||||
"$mainMod, AMPERSAND, workspace, 1"
|
||||
"$mainMod, EACUTE, workspace, 2"
|
||||
"$mainMod, QUOTEDBL, workspace, 3"
|
||||
"$mainMod, APOSTROPHE, workspace, 4"
|
||||
"$mainMod, PARENLEFT, workspace, 5"
|
||||
"$mainMod, SECTION, workspace, 6"
|
||||
"$mainMod, EGRAVE, workspace, 7"
|
||||
"$mainMod, EXCLAM, workspace, 8"
|
||||
"$mainMod, CCEDILLA, workspace, 9"
|
||||
"$mainMod, AGRAVE, workspace, 10"
|
||||
|
||||
# Switch active window to workspace
|
||||
"$mainMod SHIFT, AMPERSAND, movetoworkspace, 1"
|
||||
"$mainMod SHIFT, EACUTE, movetoworkspace, 2"
|
||||
"$mainMod SHIFT, QUOTEDBL, movetoworkspace, 3"
|
||||
"$mainMod SHIFT, APOSTROPHE, movetoworkspace, 4"
|
||||
"$mainMod SHIFT, PARENLEFT, movetoworkspace, 5"
|
||||
"$mainMod SHIFT, SECTION, movetoworkspace, 6"
|
||||
"$mainMod SHIFT, EGRAVE, movetoworkspace, 7"
|
||||
"$mainMod SHIFT, EXCLAM, movetoworkspace, 8"
|
||||
"$mainMod SHIFT, CCEDILLA, movetoworkspace, 9"
|
||||
"$mainMod SHIFT, AGRAVE, movetoworkspace, 10"
|
||||
|
||||
# Scroll workspace with mouse scrollwheel
|
||||
"$mainMod, mouse_down, workspace, e+1"
|
||||
"$mainMod, mouse_up, workspace, e-1"
|
||||
];
|
||||
bindm = [
|
||||
# Move and resize windows with mouse too
|
||||
"$mainMod, mouse:272, movewindow"
|
||||
"$mainMod SHIFT, mouse:272, resizewindow"
|
||||
];
|
||||
bindle = [
|
||||
# Volume Keys
|
||||
",XF86AudioRaiseVolume,exec,pactl set-sink-volume @DEFAULT_SINK@ +5% "
|
||||
",XF86AudioLowerVolume,exec,pactl set-sink-volume @DEFAULT_SINK@ -5% "
|
||||
];
|
||||
windowrulev2 = [
|
||||
# "opacity ${custom.opacity} ${custom.opacity},class:^(thunar)$"
|
||||
# "opacity ${custom.opacity} ${custom.opacity},class:^(WebCord)$"
|
||||
# "opacity 0.90 0.90,class:^(Brave-browser)$"
|
||||
# "opacity 0.90 0.90,class:^(brave-browser)$"
|
||||
# "opacity 0.90 0.90,class:^(firefox)$"
|
||||
"float,class:^(pavucontrol)$"
|
||||
"float,class:^(file_progress)$"
|
||||
"float,class:^(confirm)$"
|
||||
"float,class:^(dialog)$"
|
||||
"float,class:^(download)$"
|
||||
"float,class:^(notification)$"
|
||||
"float,class:^(error)$"
|
||||
"float,class:^(confirmreset)$"
|
||||
"float,title:^(Open File)$"
|
||||
"float,title:^(branchdialog)$"
|
||||
"float,title:^(Confirm to replace files)$"
|
||||
"float,title:^(File Operation Progress)$"
|
||||
"float,title:^(mpv)$"
|
||||
"float, title:^(Picture-in-Picture)$"
|
||||
# Ensure tearing for specific games
|
||||
# "immediate, class:^(cs2)$"
|
||||
# "immediate, class:^(love)$"
|
||||
# "immediate, title:^(Freesync test)$"
|
||||
];
|
||||
layerrule = [
|
||||
"blur, waybar"
|
||||
"blur, wofi"
|
||||
"ignorezero, wofi"
|
||||
];
|
||||
};
|
||||
# Submaps
|
||||
extraConfig = ''
|
||||
# will switch to a submap called resize
|
||||
bind=$mainMod,R,submap,resize
|
||||
|
||||
# will start a submap called "resize"
|
||||
submap=resize
|
||||
|
||||
# sets repeatable binds for resizing the active window
|
||||
binde=,L,resizeactive,15 0
|
||||
binde=,H,resizeactive,-15 0
|
||||
binde=,K,resizeactive,0 -15
|
||||
binde=,J,resizeactive,0 15
|
||||
|
||||
# use reset to go back to the global submap
|
||||
bind=,escape,submap,reset
|
||||
bind=$mainMod,R,submap,reset
|
||||
|
||||
# will reset the submap, meaning end the current one and return to the global one
|
||||
submap=reset
|
||||
|
||||
# For tearing
|
||||
env = WLR_DRM_NO_ATOMIC,1
|
||||
'';
|
||||
};
|
||||
}
|
323
nix/users/nicolaivds/wayland/waybar.nix
Normal file
323
nix/users/nicolaivds/wayland/waybar.nix
Normal file
@@ -0,0 +1,323 @@
|
||||
{
|
||||
config,
|
||||
custom ? {
|
||||
font = "RobotoMono Nerd Font";
|
||||
fontsize = "12";
|
||||
primary_accent = "cba6f7";
|
||||
secondary_accent = "89b4fa";
|
||||
tertiary_accent = "f5f5f5";
|
||||
background = "11111B";
|
||||
opacity = ".85";
|
||||
cursor = "Numix-Cursor";
|
||||
},
|
||||
...
|
||||
}:
|
||||
{
|
||||
programs.waybar = {
|
||||
enable = true;
|
||||
settings.mainBar = {
|
||||
position= "top";
|
||||
layer= "top";
|
||||
height= 35;
|
||||
margin-top= 0;
|
||||
margin-bottom= 0;
|
||||
margin-left= 0;
|
||||
margin-right= 0;
|
||||
modules-left= [
|
||||
"custom/launcher"
|
||||
"custom/playerctl#backward"
|
||||
"custom/playerctl#play"
|
||||
"custom/playerctl#foward"
|
||||
"custom/playerlabel"
|
||||
];
|
||||
modules-center= [
|
||||
"cava#left"
|
||||
"hyprland/workspaces"
|
||||
"cava#right"
|
||||
];
|
||||
modules-right= [
|
||||
"tray"
|
||||
"pulseaudio"
|
||||
"network"
|
||||
"clock"
|
||||
];
|
||||
clock= {
|
||||
format = " {:%a, %d %b, %I:%M %p}";
|
||||
tooltip= "true";
|
||||
tooltip-format= "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>";
|
||||
format-alt= " {:%d/%m}";
|
||||
};
|
||||
"wlr/workspaces"= {
|
||||
active-only= false;
|
||||
all-outputs= false;
|
||||
disable-scroll= false;
|
||||
on-scroll-up= "hyprctl dispatch workspace e-1";
|
||||
on-scroll-down= "hyprctl dispatch workspace e+1";
|
||||
format = "{name}";
|
||||
on-click= "activate";
|
||||
format-icons= {
|
||||
urgent= "";
|
||||
active= "";
|
||||
default = "";
|
||||
sort-by-number= true;
|
||||
};
|
||||
};
|
||||
"cava#left" = {
|
||||
framerate = 60;
|
||||
autosens = 1;
|
||||
bars = 18;
|
||||
lower_cutoff_freq = 50;
|
||||
higher_cutoff_freq = 10000;
|
||||
method = "pipewire";
|
||||
source = "auto";
|
||||
stereo = true;
|
||||
reverse = false;
|
||||
bar_delimiter = 0;
|
||||
monstercat = false;
|
||||
waves = false;
|
||||
input_delay = 2;
|
||||
format-icons = [
|
||||
"<span foreground='#${custom.primary_accent}'>▁</span>"
|
||||
"<span foreground='#${custom.primary_accent}'>▂</span>"
|
||||
"<span foreground='#${custom.primary_accent}'>▃</span>"
|
||||
"<span foreground='#${custom.primary_accent}'>▄</span>"
|
||||
"<span foreground='#${custom.secondary_accent}'>▅</span>"
|
||||
"<span foreground='#${custom.secondary_accent}'>▆</span>"
|
||||
"<span foreground='#${custom.secondary_accent}'>▇</span>"
|
||||
"<span foreground='#${custom.secondary_accent}'>█</span>"
|
||||
];
|
||||
};
|
||||
"cava#right" = {
|
||||
framerate = 60;
|
||||
autosens = 1;
|
||||
bars = 18;
|
||||
lower_cutoff_freq = 50;
|
||||
higher_cutoff_freq = 10000;
|
||||
method = "pipewire";
|
||||
source = "auto";
|
||||
stereo = true;
|
||||
reverse = false;
|
||||
bar_delimiter = 0;
|
||||
monstercat = false;
|
||||
waves = false;
|
||||
input_delay = 2;
|
||||
format-icons = [
|
||||
"<span foreground='#${custom.primary_accent}'>▁</span>"
|
||||
"<span foreground='#${custom.primary_accent}'>▂</span>"
|
||||
"<span foreground='#${custom.primary_accent}'>▃</span>"
|
||||
"<span foreground='#${custom.primary_accent}'>▄</span>"
|
||||
"<span foreground='#${custom.secondary_accent}'>▅</span>"
|
||||
"<span foreground='#${custom.secondary_accent}'>▆</span>"
|
||||
"<span foreground='#${custom.secondary_accent}'>▇</span>"
|
||||
"<span foreground='#${custom.secondary_accent}'>█</span>"
|
||||
];
|
||||
};
|
||||
"custom/playerctl#backward"= {
|
||||
format= " ";
|
||||
on-click= "playerctl previous";
|
||||
on-scroll-up = "playerctl volume .05+";
|
||||
on-scroll-down = "playerctl volume .05-";
|
||||
};
|
||||
"custom/playerctl#play"= {
|
||||
format= "{icon}";
|
||||
return-type= "json";
|
||||
exec= "playerctl -a metadata --format '{\"text\": \"{{artist}} - {{markup_escape(title)}}\", \"tooltip\": \"{{playerName}} : {{markup_escape(title)}}\", \"alt\": \"{{status}}\", \"class\": \"{{status}}\"}' -F";
|
||||
on-click= "playerctl play-pause";
|
||||
on-scroll-up = "playerctl volume .05+";
|
||||
on-scroll-down = "playerctl volume .05-";
|
||||
format-icons= {
|
||||
Playing = "<span> </span>";
|
||||
Paused = "<span> </span>";
|
||||
Stopped = "<span> </span>";
|
||||
};
|
||||
};
|
||||
"custom/playerctl#foward"= {
|
||||
format= " ";
|
||||
on-click= "playerctl next";
|
||||
on-scroll-up = "playerctl volume .05+";
|
||||
on-scroll-down = "playerctl volume .05-";
|
||||
};
|
||||
"custom/playerlabel"= {
|
||||
format= "<span> {} </span>";
|
||||
return-type= "json";
|
||||
max-length= 40;
|
||||
exec = "playerctl -a metadata --format '{\"text\": \"{{artist}} - {{markup_escape(title)}}\", \"tooltip\": \"{{playerName}} : {{markup_escape(title)}}\", \"alt\": \"{{status}}\", \"class\": \"{{status}}\"}' -F";
|
||||
on-click= "";
|
||||
};
|
||||
|
||||
memory= {
|
||||
format= " {}%";
|
||||
format-alt= " {used}/{total} GiB";
|
||||
interval= 5;
|
||||
};
|
||||
cpu= {
|
||||
format= " {usage}%";
|
||||
format-alt= " {avg_frequency} GHz";
|
||||
interval= 5;
|
||||
};
|
||||
network = {
|
||||
format-wifi = " {signalStrength}%";
|
||||
format-ethernet = " 100% ";
|
||||
tooltip-format = "Connected to {essid} {ifname} via {gwaddr}";
|
||||
format-linked = "{ifname} (No IP)";
|
||||
format-disconnected = " 0% ";
|
||||
};
|
||||
tray= {
|
||||
icon-size= 20;
|
||||
spacing= 8;
|
||||
};
|
||||
pulseaudio= {
|
||||
format= "{icon} {volume}%";
|
||||
format-muted= "";
|
||||
format-icons= {
|
||||
default= ["" "" ""];
|
||||
};
|
||||
# on-scroll-up= "bash ${config.home.homeDirectory}/.scripts/volume up";
|
||||
# on-scroll-down= "bash ${config.home.homeDirectory}/.scripts/volume down";
|
||||
scroll-step= 5;
|
||||
on-click= "pavucontrol";
|
||||
};
|
||||
"custom/randwall"= {
|
||||
format= "";
|
||||
# on-click= "bash $HOME/.config/hypr/randwall.sh";
|
||||
# on-click-right= "bash $HOME/.config/hypr/wall.sh";
|
||||
};
|
||||
"custom/launcher"= {
|
||||
format= "";
|
||||
# on-click= "bash $HOME/.config/rofi/launcher.sh";
|
||||
# on-click-right= "bash $HOME/.config/rofi/run.sh";
|
||||
tooltip= "false";
|
||||
};
|
||||
};
|
||||
style = ''
|
||||
* {
|
||||
border: none;
|
||||
border-radius: 0px;
|
||||
font-family: ${custom.font};
|
||||
font-size: 14px;
|
||||
min-height: 0;
|
||||
}
|
||||
|
||||
window#waybar {
|
||||
background: ${custom.palette.primary_background_rgba};
|
||||
}
|
||||
|
||||
#cava.left, #cava.right {
|
||||
background: #${custom.palette.tertiary_background_hex};
|
||||
margin: 5px;
|
||||
padding: 8px 16px;
|
||||
color: #${custom.primary_accent};
|
||||
}
|
||||
#cava.left {
|
||||
border-radius: 24px 10px 24px 10px;
|
||||
}
|
||||
#cava.right {
|
||||
border-radius: 10px 24px 10px 24px;
|
||||
}
|
||||
#workspaces {
|
||||
background: #${custom.palette.tertiary_background_hex};
|
||||
margin: 5px 5px;
|
||||
padding: 8px 5px;
|
||||
border-radius: 16px;
|
||||
color: #${custom.primary_accent}
|
||||
}
|
||||
#workspaces button {
|
||||
padding: 0px 5px;
|
||||
margin: 0px 3px;
|
||||
border-radius: 16px;
|
||||
color: transparent;
|
||||
background: ${custom.palette.primary_background_rgba};
|
||||
transition: all 0.3s ease-in-out;
|
||||
}
|
||||
|
||||
#workspaces button.active {
|
||||
background-color: #${custom.secondary_accent};
|
||||
color: #${custom.background};
|
||||
border-radius: 16px;
|
||||
min-width: 50px;
|
||||
background-size: 400% 400%;
|
||||
transition: all 0.3s ease-in-out;
|
||||
}
|
||||
|
||||
#workspaces button:hover {
|
||||
background-color: #${custom.tertiary_accent};
|
||||
color: #${custom.background};
|
||||
border-radius: 16px;
|
||||
min-width: 50px;
|
||||
background-size: 400% 400%;
|
||||
}
|
||||
|
||||
#tray, #pulseaudio, #network, #battery,
|
||||
#custom-playerctl.backward, #custom-playerctl.play, #custom-playerctl.foward{
|
||||
background: #${custom.palette.tertiary_background_hex};
|
||||
font-weight: bold;
|
||||
margin: 5px 0px;
|
||||
}
|
||||
#tray, #pulseaudio, #network, #battery{
|
||||
color: #${custom.tertiary_accent};
|
||||
border-radius: 10px 24px 10px 24px;
|
||||
padding: 0 20px;
|
||||
margin-left: 7px;
|
||||
}
|
||||
#clock {
|
||||
color: #${custom.tertiary_accent};
|
||||
background: #${custom.palette.tertiary_background_hex};
|
||||
border-radius: 0px 0px 0px 40px;
|
||||
padding: 10px 10px 15px 25px;
|
||||
margin-left: 7px;
|
||||
font-weight: bold;
|
||||
font-size: 16px;
|
||||
}
|
||||
#custom-launcher {
|
||||
color: #${custom.secondary_accent};
|
||||
background: #${custom.palette.tertiary_background_hex};
|
||||
border-radius: 0px 0px 40px 0px;
|
||||
margin: 0px;
|
||||
padding: 0px 35px 0px 15px;
|
||||
font-size: 28px;
|
||||
}
|
||||
|
||||
#custom-playerctl.backward, #custom-playerctl.play, #custom-playerctl.foward {
|
||||
background: #${custom.palette.tertiary_background_hex};
|
||||
font-size: 22px;
|
||||
}
|
||||
#custom-playerctl.backward:hover, #custom-playerctl.play:hover, #custom-playerctl.foward:hover{
|
||||
color: #${custom.tertiary_accent};
|
||||
}
|
||||
#custom-playerctl.backward {
|
||||
color: #${custom.primary_accent};
|
||||
border-radius: 24px 0px 0px 10px;
|
||||
padding-left: 16px;
|
||||
margin-left: 7px;
|
||||
}
|
||||
#custom-playerctl.play {
|
||||
color: #${custom.secondary_accent};
|
||||
padding: 0 5px;
|
||||
}
|
||||
#custom-playerctl.foward {
|
||||
color: #${custom.primary_accent};
|
||||
border-radius: 0px 10px 24px 0px;
|
||||
padding-right: 12px;
|
||||
margin-right: 7px
|
||||
}
|
||||
#custom-playerlabel {
|
||||
background: #${custom.palette.tertiary_background_hex};
|
||||
color: #${custom.tertiary_accent};
|
||||
padding: 0 20px;
|
||||
border-radius: 24px 10px 24px 10px;
|
||||
margin: 5px 0;
|
||||
font-weight: bold;
|
||||
}
|
||||
#window{
|
||||
background: #${custom.palette.tertiary_background_hex};
|
||||
padding-left: 15px;
|
||||
padding-right: 15px;
|
||||
border-radius: 16px;
|
||||
margin-top: 5px;
|
||||
margin-bottom: 5px;
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
'';
|
||||
};
|
||||
}
|
33
nix/users/nicolaivds/wayland/wlogout.nix
Normal file
33
nix/users/nicolaivds/wayland/wlogout.nix
Normal file
@@ -0,0 +1,33 @@
|
||||
{ config, ... }:
|
||||
{
|
||||
programs.wlogout = {
|
||||
enable = true;
|
||||
layout = [
|
||||
{
|
||||
label = "lock";
|
||||
# action = "waylock -f -i ${config.home.homeDirectory}/photos/wallpapers/wallpaper.png";
|
||||
action = "swaylock";
|
||||
text = "lock";
|
||||
keybind = "l";
|
||||
}
|
||||
{
|
||||
label = "shutdown";
|
||||
action = "systemctl poweroff";
|
||||
text = "Shutdown";
|
||||
keybind = "s";
|
||||
}
|
||||
{
|
||||
label = "reboot";
|
||||
action = "systemctl reboot";
|
||||
text = "Reboot";
|
||||
keybind = "r";
|
||||
}
|
||||
{
|
||||
label = "logout";
|
||||
action = "loginctl terminate-user $USER";
|
||||
text = "Log out";
|
||||
keybind = "e";
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
55
nix/users/nicolaivds/wayland/wofi.nix
Normal file
55
nix/users/nicolaivds/wayland/wofi.nix
Normal file
@@ -0,0 +1,55 @@
|
||||
{
|
||||
custom ? {
|
||||
font = "RobotoMono Nerd Font";
|
||||
primary_accent = "cba6f7";
|
||||
secondary_accent = "89b4fa";
|
||||
tertiary_accent = "f5f5f5";
|
||||
background = "11111B";
|
||||
opacity = "1";
|
||||
},
|
||||
...
|
||||
}:
|
||||
{
|
||||
programs.wofi = {
|
||||
enable = true;
|
||||
settings = {
|
||||
allow_images = true;
|
||||
width = "25%";
|
||||
hide_scroll = true;
|
||||
term = "foot";
|
||||
show = "drun";
|
||||
};
|
||||
style =''
|
||||
* {
|
||||
font-family: ${custom.font},monospace;
|
||||
font-weight: bold;
|
||||
}
|
||||
#window {
|
||||
border-radius: 40px;
|
||||
background: ${custom.palette.primary_background_rgba}
|
||||
}
|
||||
#input {
|
||||
border-radius: 100px;
|
||||
margin: 20px;
|
||||
padding: 15px 25px;
|
||||
background: ${custom.palette.tertiary_background_rgba};
|
||||
color: #${custom.tertiary_accent};
|
||||
}
|
||||
#outer-box {
|
||||
font-weight: bold;
|
||||
font-size: 14px;
|
||||
}
|
||||
#entry {
|
||||
margin: 10px 80px;
|
||||
padding: 20px 20px;
|
||||
border-radius: 200px;
|
||||
}
|
||||
#entry:selected{
|
||||
background-color:#${custom.primary_accent};
|
||||
color: #${custom.background};
|
||||
}
|
||||
#entry:hover {
|
||||
}
|
||||
'';
|
||||
};
|
||||
}
|
Reference in New Issue
Block a user