diff --git a/config/home/files/wlogout/hibernate.png b/config/home/files/wlogout/hibernate.png new file mode 100644 index 0000000..bf2b001 Binary files /dev/null and b/config/home/files/wlogout/hibernate.png differ diff --git a/config/home/files/wlogout/lock.png b/config/home/files/wlogout/lock.png new file mode 100644 index 0000000..da59b10 Binary files /dev/null and b/config/home/files/wlogout/lock.png differ diff --git a/config/home/hyprland.nix b/config/home/hyprland.nix index 0a94a14..c61f8cc 100644 --- a/config/home/hyprland.nix +++ b/config/home/hyprland.nix @@ -24,6 +24,8 @@ in with lib; { windowrule = float, ^(steam)$ windowrule = size 1080 900, ^(steam)$ windowrule = center, ^(steam)$ + windowrule = fullscreen, ^(wlogout)$ + windowrule = animation fade,^(wlogout)$ general { gaps_in = 6 gaps_out = 8 diff --git a/config/home/kitty.nix b/config/home/kitty.nix index 72ebcd2..406948d 100644 --- a/config/home/kitty.nix +++ b/config/home/kitty.nix @@ -14,7 +14,7 @@ in lib.mkIf (wezterm == false && alacritty == false settings = { scrollback_lines = 2000; wheel_scroll_min_lines = 1; - window_padding_width = 0; + window_padding_width = 4; confirm_os_window_close = 0; background_opacity = "0.85"; }; diff --git a/config/home/waybar.nix b/config/home/waybar.nix index bc53ba0..fc0a5a4 100644 --- a/config/home/waybar.nix +++ b/config/home/waybar.nix @@ -2,6 +2,7 @@ let palette = config.colorScheme.palette; + betterTransition = "all 0.3s cubic-bezier(.55,-0.68,.48,1.682)"; inherit (import ../../options.nix) slickbar bar-number simplebar clock24h; in with lib; { # Configure & Theme Waybar @@ -14,7 +15,7 @@ in with lib; { modules-center = [ "hyprland/workspaces" ] ; modules-left = [ "custom/startmenu" "hyprland/window" "pulseaudio" "cpu" "memory"]; - modules-right = [ "custom/hyprbindings" "custom/exit" "idle_inhibitor" "custom/themeselector" "custom/notification" "pulseaudio" "clock" "tray" ]; + modules-right = [ "custom/hyprbindings" "custom/exit" "idle_inhibitor" "custom/themeselector" "custom/notification" "clock" "tray" ]; "hyprland/workspaces" = { format = if bar-number == true then "{name}" else "{icon}"; @@ -102,8 +103,8 @@ in with lib; { "idle_inhibitor" = { format = "{icon}"; format-icons = { - activated = " "; - deactivated = " "; + activated = ""; + deactivated = ""; }; tooltip = "true"; }; @@ -146,16 +147,11 @@ in with lib; { font-weight: bold; } window#waybar { - ${if slickbar == true then '' + ${if slickbar == true || simplebar == true then '' background-color: rgba(26,27,38,0); border-bottom: 1px solid rgba(26,27,38,0); border-radius: 0px; color: #${palette.base0F}; - '' else if simplebar == true then '' - color: #${config.colorScheme.colors.base05}; - background-color: #${palette.base00}; - border-radius: 0px; - border-bottom: 1px solid rgba(26,27,38,0); '' else '' background-color: #${palette.base00}; border-bottom: 1px solid #${palette.base00}; @@ -165,7 +161,7 @@ in with lib; { } #workspaces { ${if slickbar == true then '' - background: linear-gradient(180deg, #${palette.base00}, #${palette.base01}); + background: #${palette.base00}; margin: 5px; padding: 0px 1px; border-radius: 15px; @@ -173,13 +169,14 @@ in with lib; { font-style: normal; color: #${palette.base00}; '' else if simplebar == true then '' - color: #${config.colorScheme.colors.base05}; + color: #${palette.base00}; background: transparent; + margin: 4px; border-radius: 0px; border: 0px; font-style: normal; '' else '' - background: linear-gradient(45deg, #${palette.base01}, #${palette.base01}); + background: #${palette.base01}; margin: 4px; padding: 0px 1px; border-radius: 10px; @@ -195,24 +192,28 @@ in with lib; { border-radius: 15px; border: 0px; color: #${palette.base00}; - background: linear-gradient(45deg, #${palette.base0D}, #${palette.base0E}); + background: linear-gradient(45deg, #${palette.base0C}, #${palette.base0D}, #${palette.base0E}); opacity: 0.5; - transition: all 0.3s ease-in-out; + transition: ${betterTransition}; '' else if simplebar == true then '' - color: #${config.colorScheme.colors.base05}; - background: transparent; - opacity: 0.3; + color: #${config.colorScheme.colors.base03}; + background: #${palette.base00}; + margin: 4px 3px; + opacity: 1; border: 0px; - transition: all 0.3s ease-in-out; + border-radius: 15px; + transition: ${betterTransition}; '' else '' padding: 0px 5px; margin: 4px 3px; border-radius: 10px; border: 0px; color: #${palette.base00}; - background: linear-gradient(45deg, #${palette.base06}, #${palette.base0E}); + background: linear-gradient(45deg, #${palette.base0E}, #${palette.base0F}, #${palette.base0D}, #${palette.base09}); + background-size: 300% 300%; + animation: gradient_horizontal 15s ease infinite; opacity: 0.5; - transition: all 0.3s ease-in-out; + transition: ${betterTransition}; ''} } #workspaces button.active { @@ -225,23 +226,30 @@ in with lib; { background: linear-gradient(45deg, #${palette.base0D}, #${palette.base0E}); opacity: 1.0; min-width: 40px; - transition: all 0.3s ease-in-out; + transition: ${betterTransition}; '' else if simplebar == true then '' - color: #${config.colorScheme.colors.base05}; - background: transparent; + color: #${palette.base00}; + background: linear-gradient(118deg, #${palette.base0D} 5%, #${palette.base0F} 5%, #${palette.base0F} 20%, #${palette.base0D} 20%, #${palette.base0D} 40%, #${palette.base0F} 40%, #${palette.base0F} 60%, #${palette.base0D} 60%, #${palette.base0D} 80%, #${palette.base0F} 80%, #${palette.base0F} 95%, #${palette.base0D} 95%); + background-size: 300% 300%; + animation: swiping 15s linear infinite; + border-radius: 15px; + margin: 4px 3px; opacity: 1.0; border: 0px; - transition: all 0.3s ease-in-out; + min-width: 45px; + transition: ${betterTransition}; '' else '' padding: 0px 5px; margin: 4px 3px; border-radius: 10px; border: 0px; color: #${palette.base00}; - background: linear-gradient(45deg, #${palette.base06}, #${palette.base0E}); + background: linear-gradient(45deg, #${palette.base0E}, #${palette.base0F}, #${palette.base0D}, #${palette.base09}); + background-size: 300% 300%; + animation: gradient_horizontal 15s ease infinite; + transition: ${betterTransition}; opacity: 1.0; min-width: 40px; - transition: all 0.3s ease-in-out; ''} } #workspaces button:hover { @@ -250,19 +258,41 @@ in with lib; { color: #${palette.base00}; background: linear-gradient(45deg, #${palette.base0D}, #${palette.base0E}); opacity: 0.8; + transition: ${betterTransition}; '' else if simplebar == true then '' color: #${config.colorScheme.colors.base05}; - background: transparent; - opacity: 0.8; border: 0px; - transition: all 0.3s ease-in-out; + border-radius: 15px; + transition: ${betterTransition}; '' else '' border-radius: 10px; color: #${palette.base00}; - background: linear-gradient(45deg, #${palette.base06}, #${palette.base0E}); + background: linear-gradient(45deg, #${palette.base0E}, #${palette.base0F}, #${palette.base0D}, #${palette.base09}); + background-size: 300% 300%; + animation: gradient_horizontal 15s ease infinite; opacity: 0.8; + transition: ${betterTransition}; ''} } + @keyframes gradient_horizontal { + 0% { + background-position: 0% 50%; + } + 50% { + background-position: 100% 50%; + } + 100% { + background-position: 0% 50%; + } + } + @keyframes swiping { + 0% { + background-position: 0% 200%; + } + 100% { + background-position: 200% 200%; + } + } tooltip { background: #${palette.base00}; border: 1px solid #${palette.base0E}; @@ -279,9 +309,11 @@ in with lib; { margin: 5px; padding: 2px 20px; '' else if simplebar == true then '' - color: #${config.colorScheme.colors.base05}; - background: transparent; - margin: 4px; + color: #${palette.base03}; + background: #${palette.base00}; + margin: 6px 4px; + border-radius: 15px; + padding: 0px 10px; '' else '' margin: 4px; padding: 2px 10px; @@ -294,13 +326,14 @@ in with lib; { color: #${palette.base0F}; ${if slickbar == true then '' background: #${palette.base00}; - border-radius: 15px 50px 15px 50px; + border-radius: 50px 15px 50px 15px; margin: 5px; padding: 2px 20px; '' else if simplebar == true then '' - color: #${config.colorScheme.colors.base05}; - background: transparent; - margin: 4px; + background: #${palette.base00}; + margin: 6px 4px; + padding: 0px 10px; + border-radius: 15px; '' else '' background: #${palette.base01}; margin: 4px; @@ -316,27 +349,10 @@ in with lib; { margin: 5px; padding: 2px 20px; '' else if simplebar == true then '' - color: #${config.colorScheme.colors.base05}; - background: transparent; - margin: 4px; - '' else '' - background: #${palette.base01}; - margin: 4px; - padding: 2px 10px; - border-radius: 10px; - ''} - } - #idle_inhibitor { - color: #${palette.base0A}; - ${if slickbar == true then '' background: #${palette.base00}; - border-radius: 50px 15px 50px 15px; - margin: 5px; - padding: 2px 20px; - '' else if simplebar == true then '' - color: #${config.colorScheme.colors.base05}; - background: transparent; - margin: 4px; + margin: 6px 4px; + padding: 0px 10px; + border-radius: 15px; '' else '' background: #${palette.base01}; margin: 4px; @@ -352,9 +368,10 @@ in with lib; { margin: 5px; padding: 2px 20px; '' else if simplebar == true then '' - color: #${config.colorScheme.colors.base05}; - background: transparent; - margin: 4px; + background: #${palette.base00}; + margin: 6px 4px; + padding: 0px 10px; + border-radius: 15px; '' else '' background: #${palette.base01}; margin: 4px; @@ -370,9 +387,10 @@ in with lib; { margin: 5px; padding: 2px 20px; '' else if simplebar == true then '' - color: #${config.colorScheme.colors.base05}; - background: transparent; - margin: 4px; + background: #${palette.base00}; + margin: 6px 4px; + padding: 0px 10px; + border-radius: 15px; '' else '' background: #${palette.base01}; margin: 4px; @@ -388,9 +406,10 @@ in with lib; { margin: 5px; padding: 2px 20px; '' else if simplebar == true then '' - color: #${config.colorScheme.colors.base05}; - background: transparent; - margin: 4px; + background: #${palette.base00}; + margin: 6px 4px; + padding: 0px 10px; + border-radius: 15px; '' else '' background: #${palette.base01}; margin: 4px; @@ -406,9 +425,10 @@ in with lib; { margin: 5px; padding: 2px 20px; '' else if simplebar == true then '' - color: #${config.colorScheme.colors.base05}; - background: transparent; - margin: 4px; + background: #${palette.base00}; + margin: 6px 4px; + padding: 0px 10px; + border-radius: 15px; '' else '' background: #${palette.base01}; margin: 4px; @@ -420,13 +440,14 @@ in with lib; { color: #${palette.base0E}; ${if slickbar == true then '' background: #${palette.base00}; - border-radius: 50px 15px 50px 15px; + border-radius: 15px 50px 15px 50px; margin: 5px; padding: 2px 20px; '' else if simplebar == true then '' - color: #${config.colorScheme.colors.base05}; - background: transparent; - margin: 4px; + background: #${palette.base00}; + margin: 6px 4px; + padding: 0px 10px; + border-radius: 15px; '' else '' background: #${palette.base01}; margin: 4px; @@ -442,9 +463,10 @@ in with lib; { margin: 5px 0px 5px 5px; padding: 2px 20px; '' else if simplebar == true then '' - color: #${config.colorScheme.colors.base05}; - background: transparent; - margin: 4px; + background: #${palette.base00}; + margin: 6px 4px; + padding: 0px 10px; + border-radius: 15px; '' else '' background: #${palette.base01}; margin: 4px; @@ -460,9 +482,10 @@ in with lib; { margin: 5px; padding: 2px 20px; '' else if simplebar == true then '' - color: #${config.colorScheme.colors.base05}; - background: transparent; - margin: 4px; + background: #${palette.base00}; + margin: 6px 4px; + padding: 0px 10px; + border-radius: 15px; '' else '' background: #${palette.base01}; margin: 4px; @@ -478,9 +501,10 @@ in with lib; { margin: 5px; padding: 2px 20px; '' else if simplebar == true then '' - color: #${config.colorScheme.colors.base05}; - background: transparent; - margin: 4px; + background: #${palette.base00}; + margin: 6px 4px; + padding: 0px 10px; + border-radius: 15px; '' else '' background: #${palette.base01}; margin: 4px; @@ -492,18 +516,19 @@ in with lib; { color: #${palette.base0D}; ${if slickbar == true then '' background: #${palette.base00}; - border-radius: 15px 50px 15px 50px; - margin: 5px; - padding: 2px 20px; + border-radius: 0px 50px 15px 0px; + margin: 5px 0px; + padding: 2px 15px 2px 5px; '' else if simplebar == true then '' - color: #${config.colorScheme.colors.base05}; - background: transparent; - margin: 4px; + background: #${palette.base00}; + margin: 6px 4px 6px 0px; + padding: 0px 10px 0px 5px; + border-radius: 0px 15px 15px 0px; '' else '' background: #${palette.base01}; - margin: 4px; - padding: 2px 10px; - border-radius: 10px; + margin: 4px 0px; + padding: 2px 10px 2px 5px; + border-radius: 0px 10px 10px 0px; ''} } #custom-startmenu { @@ -514,9 +539,10 @@ in with lib; { margin: 5px 5px 5px 0px; padding: 2px 20px; '' else if simplebar == true then '' - color: #${config.colorScheme.colors.base05}; - background: transparent; - margin: 4px; + background: #${palette.base00}; + margin: 6px 4px; + padding: 0px 8px 0px 10px; + border-radius: 15px; '' else '' background: #${palette.base01}; margin: 4px; @@ -528,36 +554,38 @@ in with lib; { color: #${palette.base09}; ${if slickbar == true then '' background: #${palette.base00}; - border-radius: 15px 50px 15px 50px; - margin: 5px; - padding: 2px 20px; + border-radius: 0px; + margin: 5px 0px; + padding: 2px 14px; '' else if simplebar == true then '' - color: #${config.colorScheme.colors.base05}; - background: transparent; - margin: 4px; + background: #${palette.base00}; + margin: 6px 0px; + padding: 0px 14px; + border-radius: 0px; '' else '' background: #${palette.base01}; - margin: 4px; - padding: 2px 10px; - border-radius: 10px; + margin: 4px 0px; + padding: 2px 14px; + border-radius: 0px; ''} } #custom-exit { color: #${palette.base0E}; ${if slickbar == true then '' background: #${palette.base00}; - border-radius: 15px 50px 15px 50px; - margin: 5px; - padding: 2px 20px; + border-radius: 15px 0px 0px 50px; + margin: 5px 0px; + padding: 2px 5px 2px 15px; '' else if simplebar == true then '' - color: #${config.colorScheme.colors.base05}; - background: transparent; - margin: 4px; + background: #${palette.base00}; + margin: 6px 0px 6px 4px; + padding: 0px 5px 0px 10px; + border-radius: 15px 0px 0px 15px; '' else '' background: #${palette.base01}; - margin: 4px; - padding: 2px 10px; - border-radius: 10px; + margin: 4px 0px; + padding: 2px 5px 2px 10px; + border-radius: 10px 0px 0px 10px; ''} } '' ]; diff --git a/config/home/wlogout.nix b/config/home/wlogout.nix index 61dbb04..17fc33c 100644 --- a/config/home/wlogout.nix +++ b/config/home/wlogout.nix @@ -30,6 +30,18 @@ in { "text" = "Suspend"; "keybind" = "u"; } + { + "label" = "lock"; + "action" = "sleep 1; hyprlock"; + "text" = "Lock"; + "keybind" = "l"; + } + { + "label" = "hibernate"; + "action" = "sleep 1; systemctl hibernate"; + "text" = "Hibernate"; + "keybind" = "h"; + } ]; style = '' * { @@ -78,6 +90,16 @@ in { border-radius: 20px; background-image: image(url("icons/reboot.png")); } + #lock { + margin: 10px; + border-radius: 20px; + background-image: image(url("icons/lock.png")); + } + #hibernate { + margin: 10px; + border-radius: 20px; + background-image: image(url("icons/hibernate.png")); + } ''; }; } diff --git a/config/scripts/wallsetter.nix b/config/scripts/wallsetter.nix index ad11338..f1d0760 100644 --- a/config/scripts/wallsetter.nix +++ b/config/scripts/wallsetter.nix @@ -10,8 +10,18 @@ pkgs.writeShellScriptBin "wallsetter" '' WALLPAPER=$(find ${wallpaperDir} -name '*' | awk '!/.git/' | tail -n +2 | shuf -n 1) PREVIOUS=$WALLPAPER if [ -d ${wallpaperDir} ]; then - cd ${wallpaperDir} - git pull + num_files=$(ls -1 ${wallpaperDir} | wc -l) + + if [ "$num_files" -eq 0 ]; then + notify-send "The wallpaper folder is empty. Exiting Wallsetter." + exit + elif [ "$num_files" -eq 1 ]; then + notify-send "The wallpaper folder has only one file. Exiting Wallsetter." + exit + else + cd ${wallpaperDir} + git pull + fi else ${pkgs.git}/bin/git clone ${wallpaperGit} ${wallpaperDir} chown -R ${username}:users ${wallpaperDir} diff --git a/options.nix b/options.nix index eaca6f8..3607206 100644 --- a/options.nix +++ b/options.nix @@ -8,7 +8,7 @@ let hostname = "hyprnix"; userHome = "/home/${username}"; flakeDir = "${userHome}/zaneyos"; - waybarStyle = "default"; # simplebar, slickbar, or default + waybarStyle = "simplebar"; # simplebar, slickbar, or default in { # User Variables username = "${username}"; @@ -18,7 +18,7 @@ in { theme = "gigavolt"; slickbar = if waybarStyle == "slickbar" then true else false; simplebar = if waybarStyle == "simplebar" then true else false; - bar-number = false; # Enable / Disable Workspace Numbers In Waybar + bar-number = true; # Enable / Disable Workspace Numbers In Waybar borderAnim = true; browser = "firefox"; wallpaperGit = "https://gitlab.com/Zaney/my-wallpapers.git"; # This will give you my wallpapers