diff --git a/hosts/del/configuration.nix b/hosts/del/configuration.nix
index e0bc02ac..0208fbdd 100644
--- a/hosts/del/configuration.nix
+++ b/hosts/del/configuration.nix
@@ -213,7 +213,6 @@
};
neovim.enable = true;
swaylock.enable = true;
- waybar.enable = true;
zathura.enable = true;
hyprland = {
enable = true;
diff --git a/hosts/del/default.nix b/hosts/del/default.nix
index db4b085a..8ff66f44 100644
--- a/hosts/del/default.nix
+++ b/hosts/del/default.nix
@@ -4,5 +4,6 @@ _: {
./hardware-configuration.nix
./profile.nix
./programs.nix
+ ./waybar.nix
];
}
diff --git a/hosts/del/waybar.nix b/hosts/del/waybar.nix
new file mode 100644
index 00000000..6b31c16d
--- /dev/null
+++ b/hosts/del/waybar.nix
@@ -0,0 +1,550 @@
+{
+ config,
+ inputs,
+ pkgs,
+ ...
+}: let
+ username = config.myOptions.other.system.username;
+in {
+ home-manager.users.${username} = {
+ programs.waybar = {
+ enable = true;
+ package = inputs.waybar.packages.${pkgs.system}.waybar;
+ settings.mainBar = {
+ gtk-layer-shell = true;
+ layer = "top";
+ modules-left = [ "custom/launcher" "custom/xwayland" "custom/rot" "custom/wvkbd" "tray" "hyprland/workspaces" ];
+ modules-center = [ "hyprland/window" ];
+ modules-right = [ /*"custom/dnd"*/ "backlight" /*"cava"*/ /*"mpd"*/ "pulseaudio" "clock" "battery" "custom/power" ];
+
+ pulseaudio = {
+ tooltip = false;
+ scroll-step = "1";
+ format = " {icon} {volume}%";
+ format-muted = " {volume}%";
+ format-icons = {
+ default = ["" "" ""];
+ };
+ on-click = "${pkgs.wireplumber}/bin/wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle";
+ };
+ "hyprland/workspaces" = {
+ sort-by-name = true;
+ sort-by-coordinates = false;
+ on-click = "activate";
+ #on-scroll = "~/Scripts/cycle_workspace.sh 1";
+ active-only = false;
+ format = "{icon}";
+ format-icons = {
+ "1" = "1";
+ "2" = "2";
+ "3" = "3";
+ "4" = "4";
+ "5" = "5";
+ "6" = "6";
+ "7" = "7";
+ "8" = "8";
+ "9" = "9";
+ "10" = "10";
+ "11" = "1";
+ "12" = "2";
+ "13" = "3";
+ "14" = "4";
+ "15" = "5";
+ "16" = "6";
+ "17" = "7";
+ "18" = "8";
+ "19" = "9";
+ "20" = "10";
+ };
+ };
+ network = {
+ tooltip = false;
+ format = "{ipaddr} {icon}";
+ format-alt = "{icon}";
+ format-icons = {
+ wifi = [ "" ];
+ ethernet = [ "" ];
+ disconnected = [ "" ];
+ };
+ on-click-right = "foot -e nmtui";
+ };
+ backlight = {
+ interval = 1;
+ align = 0;
+ rotate = 0;
+ format = "{icon} {percent}%";
+ format-icons = [ "" "" "" "" "" "" "" ];
+ #on-scroll-up = "~/Scripts/bright.sh s +1%";
+ #on-scroll-down = "~/Scripts/bright.sh s 1%-";
+ on-scroll-up = "${pkgs.brightnessctl}/bin/brightnessctl set +1%";
+ on-scroll-down = "${pkgs.brightnessctl}/bin/brightnessctl set 1%-";
+ smooth-scrolling-threshold = 1;
+ };
+ battery = {
+ interval = 1;
+ states = {
+ good = 75;
+ warning = 30;
+ critical = 20;
+ };
+ format = "{icon}{capacity}%";
+ format-charging = "{icon}{capacity}% {power}";
+ format-discharging = "{icon}{capacity}% {power}";
+ format-icons = ["" "" "" "" "" "" "" "" "" "" ""];
+ format-charging-icons = ["" "" "" "" "" "" "" "" "" "" ""];
+ };
+ tray = {
+ icon-size = 18;
+ spacing = 10;
+ };
+ clock = {
+ interval = 1;
+ format = "{: %H:%M:%S %d/%m/%Y}";
+ format-alt = "{: %H:%M:%S}";
+ tooltip-format = "{calendar}";
+ calendar = {
+ mode = "year";
+ mode-mon-col = 3;
+ weeks-pos = "right";
+ on-scroll = 1;
+ on-click-right = "mode";
+ format = {
+ months = "{}";
+ days = "{}";
+ weeks = "T{:%W}";
+ weekdays = "{}";
+ today = "{}";
+ };
+ 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";
+ };
+ };
+ };
+ cpu = {
+ interval = 1;
+ format = " {}%";
+ max-length = 10;
+ };
+ memory = {
+ interval = 1;
+ format = " {}%";
+ max-length = 10;
+ };
+ "custom/launcher" = {
+ format = " ";
+ on-click = "~/.config/rofi/launchers/type-2/launcher.sh";
+ on-click-right = "pkill rofi";
+ };
+ "custom/power" = {
+ format = "";
+ on-click = "~/.config/rofi/powermenu/type-2/powermenu.sh";
+ };
+ "hyprland/window" = {
+ format = "{}";
+ separate-outputs = true;
+ };
+ gamemode = {
+ format = "{glyph}";
+ format-alt = "{glyph} {count}";
+ glyph = "";
+ hide-not-running = true;
+ use-icon = true;
+ icon-name = "input-gaming-symbolic";
+ icon-spacing = 4;
+ icon-size = 20;
+ tooltip = true;
+ tooltip-format = "Games running: {count}";
+ };
+ "custom/dnd" = {
+ exec = "~/Scripts/waybar-dunst.sh";
+ on-click = "~/Scripts/dnd.sh";
+ restart-interval = 1;
+ tooltip = false;
+ };
+ cava = {
+ framerate = 165;
+ autosens = 1;
+ sensitivity = 100;
+ bars = 14;
+ lower_cutoff_freq = 50;
+ higher_cutoff_freq = 10000;
+ method = "pipewire";
+ source = "auto";
+ stereo = true;
+ reverse = false;
+ bar_delimiter = 0;
+ monstercat = false;
+ waves = false;
+ noise_reduction = 0.77;
+ input_delay = 2;
+ format-icons = ["▁" "▂" "▃" "▄" "▅" "▆" "▇" "█" ];
+ actions = {
+ on-click-right = "mode";
+ };
+ };
+ "custom/power_profile" = {
+ exec = "asusctl profile -p | sed s:'Active profile is'::";
+ interval = 30;
+ format = "{}";
+ format-alt-click = "click-right";
+ format-alt = "";
+ on-click = "asusctl profile -n; pkill -SIGRTMIN+8 waybar";
+ signal = 8;
+ };
+ "custom/xwayland" = {
+ exec = "${inputs.hyprland.packages.${pkgs.system}.hyprland}/bin/hyprctl clients | ${pkgs.ripgrep}/bin/rg -e 'xwayland: [1]' | ${pkgs.coreutils-full}/bin/wc -l";
+ interval = 1;
+ format = "X {}";
+ };
+ "custom/rot" = {
+ exec = "${pkgs.procps}/bin/pidof rot8 > /dev/null; if [ $? -eq '0' ]; then echo -n ''; else echo -n ''; fi";
+ interval = 1;
+ on-click = "${pkgs.procps}/bin/pkill rot8 || rot8 --threshold 0.75 & disown";
+ format = " {}";
+ };
+ "custom/wvkbd" = {
+ # RTMIN
+ on-click = "${pkgs.util-linux}/bin/kill -s 34 $(${pkgs.procps}/bin/pidof wvkbd-mobintl)";
+ format = "";
+ };
+ mpd = {
+ format = " {artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S})";
+ format-disconnected = " Disconnected";
+ format-stopped = " Stopped";
+ interval = 1;
+ tooltip-format = "MPD (connected)";
+ tooltip-format-disconnected = "MPD (disconnected)";
+ on-click = "mpc toggle";
+ };
+ };
+ style = ''
+ @define-color base #1e1e2e;
+ @define-color mantle #181825;
+ @define-color crust #11111b;
+
+ @define-color text #cdd6f4;
+ @define-color subtext0 #a6adc8;
+ @define-color subtext1 #bac2de;
+
+ @define-color surface0 #313244;
+ @define-color surface1 #45475a;
+ @define-color surface2 #585b70;
+
+ @define-color overlay0 #6c7086;
+ @define-color overlay1 #7f849c;
+ @define-color overlay2 #9399b2;
+
+ @define-color blue #89b4fa;
+ @define-color lavender #b4befe;
+ @define-color sapphire #74c7ec;
+ @define-color sky #89dceb;
+ @define-color teal #94e2d5;
+ @define-color green #a6e3a1;
+ @define-color yellow #f9e2af;
+ @define-color peach #fab387;
+ @define-color maroon #eba0ac;
+ @define-color red #f38ba8;
+ @define-color mauve #cba6f7;
+ @define-color pink #f5c2e7;
+ @define-color flamingo #f2cdcd;
+ @define-color rosewater #f5e0dc;
+
+ * {
+ border-radius: 10px;
+ font-family: Material Design Icons;
+ font-size: 24px;
+ }
+
+ window#waybar {
+ background-color: alpha(@base, 0.5);
+ border-radius: 0px;
+ }
+
+ window#waybar.hidden {
+ opacity: 0.2;
+ }
+
+ #window {
+ margin-top: 4px;
+ margin-bottom: 4px;
+ padding-left: 10px;
+ padding-right: 10px;
+ background: @mantle;
+ color: @teal;
+ font-family: JetBrains Mono;
+ }
+
+ #workspaces {
+ padding-left: 5px;
+ }
+
+ #workspaces button {
+ border-radius: 15px;
+ padding-top: 0px;
+ padding-right: 0px;
+ padding-bottom: 0px;
+ padding-left: 0px;
+ margin-top: 6px;
+ margin-right: 3px;
+ margin-bottom: 6px;
+ margin-left: 3px;
+ background-color: @mantle;
+ color: @text;
+ min-width: 24px;
+ }
+
+ #workspaces button.active {
+ padding-top: 0px;
+ padding-bottom: 0px;
+ padding-right: 0px;
+ padding-left: 0px;
+ margin-top: 6px;
+ margin-right: 3px;
+ margin-bottom: 6px;
+ margin-left: 3px;
+ background-color: @blue;
+ color: @mantle;
+ min-width: 24px;
+ }
+
+ #workspaces button:hover {
+ background: alpha(@mantle, 0.7);
+ transition-property: background, min-width;
+ transition-duration: 0.5s;
+ transition-timing-function: ease;
+ }
+
+ #workspaces button.focused {
+ background-color: @yellow;
+ }
+
+ #workspaces button.urgent {
+ background-color: @red;
+ }
+
+ .modules-left > widget:first-child > #workspaces {
+ margin-left: 0;
+ }
+
+ .modules-right > widget:first-child > #workspaces {
+ margin-right: 0;
+ }
+
+ #pulseaudio {
+ margin-top: 3px;
+ margin-bottom: 3px;
+ margin-left: 0px;
+ padding-left: 10px;
+ padding-right: 10px;
+ transition: none;
+ background: @mantle;
+ color: @peach;
+ /*border-top-left-radius: 0;
+ border-bottom-left-radius: 0;*/
+ }
+
+ #cava {
+ margin-top: 3px;
+ margin-bottom: 3px;
+ margin-left: 8px;
+ margin-right: 0px;
+ padding-left: 10px;
+ padding-right: 0px;
+ transition: none;
+ background: @mantle;
+ color: @peach;
+ border-top-right-radius: 0;
+ border-bottom-right-radius: 0;
+ }
+
+ #battery {
+ margin-top: 3px;
+ margin-bottom: 3px;
+ margin-left: 8px;
+ padding-left: 10px;
+ padding-right: 10px;
+ transition: none;
+ background: @mantle;
+ color: @teal;
+ }
+
+ @keyframes blink {
+ to {
+ background-color: @red;
+ }
+ }
+
+ #battery.charging, #battery.plugged {
+ background-color: @mantle;
+ }
+
+ #battery.critical:not(.charging) {
+ background-color: @mantle;
+ animation-name: blink;
+ animation-duration: 0.5s;
+ animation-timing-function: linear;
+ animation-iteration-count: infinite;
+ animation-direction: alternate;
+ }
+
+ #backlight {
+ margin-top: 3px;
+ margin-bottom: 3px;
+ margin-left: 8px;
+ padding-left: 10px;
+ padding-right: 10px;
+ transition: none;
+ background: @mantle;
+ color: @yellow;
+ }
+ #clock {
+ margin-top: 3px;
+ margin-bottom: 3px;
+ margin-left: 8px;
+ padding-left: 10px;
+ padding-right: 10px;
+ transition-property: min-width;
+ transition-duration: 0.5s;
+ background: @mantle;
+ color: @pink;
+ }
+
+ #custom-power_profile {
+ margin-top: 3px;
+ margin-bottom: 3px;
+ margin-left: 8px;
+ padding-left: 10px;
+ padding-right: 10px;
+ transition: none;
+ background: @mantle;
+ color: @rosewater;
+ }
+
+ #tray {
+ margin-top: 3px;
+ margin-bottom: 3px;
+ margin-left: 8px;
+ padding-left: 10px;
+ padding-right: 10px;
+ transition: none;
+ background: @mantle;
+ }
+
+ #custom-launcher {
+ font-size: 16px;
+ margin-top: 3px;
+ margin-bottom: 3px;
+ margin-left: 8px;
+ padding-left: 10px;
+ padding-right: 5px;
+ transition: none;
+ background: @mantle;
+ color: @blue;
+ }
+
+ #custom-power {
+ font-size: 20px;
+ margin-top: 3px;
+ margin-bottom: 3px;
+ margin-left: 8px;
+ margin-right: 8px;
+ padding-left: 10px;
+ padding-right: 10px;
+ transition: none;
+ background: @mantle;
+ color: @red;
+ }
+
+ #custom-wallpaper {
+ margin-top: 3px;
+ margin-bottom: 3px;
+ margin-left: 8px;
+ padding-left: 10px;
+ padding-right: 10px;
+ transition: none;
+ background: @mantle;
+ }
+
+ #custom-updates {
+ margin-top: 3px;
+ margin-bottom: 3px;
+ margin-left: 8px;
+ padding-left: 10px;
+ padding-right: 10px;
+ transition: none;
+ background: @mantle;
+ }
+
+ #custom-media {
+ margin-top: 3px;
+ margin-bottom: 3px;
+ margin-left: 8px;
+ padding-left: 10px;
+ padding-right: 10px;
+ transition: none;
+ background: @mantle;
+ }
+
+ #custom-dnd {
+ margin-top: 3px;
+ margin-bottom: 3px;
+ margin-left: 8px;
+ padding-left: 10px;
+ padding-right: 10px;
+ transition: none;
+ background: @mantle;
+ color: @flamingo;
+ }
+
+ #custom-xwayland {
+ margin-top: 3px;
+ margin-bottom: 3px;
+ margin-left: 8px;
+ padding-left: 10px;
+ padding-right: 10px;
+ transition: none;
+ background: @mantle;
+ color: @green;
+ }
+
+ #custom-rot {
+ margin-top: 3px;
+ margin-bottom: 3px;
+ margin-left: 8px;
+ padding-left: 10px;
+ padding-right: 10px;
+ transition: none;
+ background: @mantle;
+ color: @flamingo;
+ }
+
+ #custom-wvkbd {
+ margin-top: 3px;
+ margin-bottom: 3px;
+ margin-left: 8px;
+ padding-left: 10px;
+ padding-right: 10px;
+ transition: none;
+ background: @mantle;
+ color: @blue;
+ }
+
+ #mpd {
+ margin-top: 3px;
+ margin-bottom: 3px;
+ margin-left: 8px;
+ padding-left: 10px;
+ padding-right: 10px;
+ transition: none;
+ background: @mantle;
+ color: @green;
+ }
+ '';
+ };
+ };
+}
+
diff --git a/hosts/niks/configuration.nix b/hosts/niks/configuration.nix
index 52f3ca0c..22c57a74 100644
--- a/hosts/niks/configuration.nix
+++ b/hosts/niks/configuration.nix
@@ -184,7 +184,6 @@
};
neovim.enable = true;
swaylock.enable = true;
- waybar.enable = true;
zathura.enable = true;
hyprland = {
enable = true;
diff --git a/hosts/niks/default.nix b/hosts/niks/default.nix
index de26979e..17e9e287 100644
--- a/hosts/niks/default.nix
+++ b/hosts/niks/default.nix
@@ -6,6 +6,7 @@ _: {
./profile.nix
./programs.nix
#./restic.nix
+ ./waybar.nix
./waydroid.nix
];
}
diff --git a/hosts/niks/waybar.nix b/hosts/niks/waybar.nix
new file mode 100644
index 00000000..bceb7671
--- /dev/null
+++ b/hosts/niks/waybar.nix
@@ -0,0 +1,517 @@
+{
+ config,
+ inputs,
+ pkgs,
+ ...
+}: let
+ username = config.myOptions.other.system.username;
+in {
+ home-manager.users.${username} = {
+ programs.waybar = {
+ enable = true;
+ package = inputs.waybar.packages.${pkgs.system}.waybar;
+ settings.mainBar = {
+ gtk-layer-shell = true;
+ layer = "top";
+ modules-left = [ "custom/launcher" "custom/xwayland" "tray" "hyprland/workspaces" ];
+ modules-center = [ "hyprland/window" ];
+ modules-right = [ /*"custom/dnd"*/ "backlight" /*"cava"*/ "mpd" "pulseaudio" "clock" "battery" "custom/power" ];
+
+ pulseaudio = {
+ tooltip = false;
+ scroll-step = "1";
+ format = " {icon} {volume}%";
+ format-muted = " {volume}%";
+ format-icons = {
+ default = ["" "" ""];
+ };
+ on-click = "${pkgs.wireplumber}/bin/wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle";
+ };
+ "hyprland/workspaces" = {
+ sort-by-name = true;
+ sort-by-coordinates = false;
+ on-click = "activate";
+ #on-scroll = "~/Scripts/cycle_workspace.sh 1";
+ active-only = false;
+ format = "{icon}";
+ format-icons = {
+ "1" = "1";
+ "2" = "2";
+ "3" = "3";
+ "4" = "4";
+ "5" = "5";
+ "6" = "6";
+ "7" = "7";
+ "8" = "8";
+ "9" = "9";
+ "10" = "10";
+ "11" = "1";
+ "12" = "2";
+ "13" = "3";
+ "14" = "4";
+ "15" = "5";
+ "16" = "6";
+ "17" = "7";
+ "18" = "8";
+ "19" = "9";
+ "20" = "10";
+ };
+ };
+ network = {
+ tooltip = false;
+ format = "{ipaddr} {icon}";
+ format-alt = "{icon}";
+ format-icons = {
+ wifi = [ "" ];
+ ethernet = [ "" ];
+ disconnected = [ "" ];
+ };
+ on-click-right = "foot -e nmtui";
+ };
+ backlight = {
+ interval = 1;
+ align = 0;
+ rotate = 0;
+ format = "{icon} {percent}%";
+ format-icons = [ "" "" "" "" "" "" "" ];
+ #on-scroll-up = "~/Scripts/bright.sh s +1%";
+ #on-scroll-down = "~/Scripts/bright.sh s 1%-";
+ on-scroll-up = "${pkgs.brightnessctl}/bin/brightnessctl set +1%";
+ on-scroll-down = "${pkgs.brightnessctl}/bin/brightnessctl set 1%-";
+ smooth-scrolling-threshold = 1;
+ };
+ battery = {
+ interval = 1;
+ states = {
+ good = 75;
+ warning = 30;
+ critical = 20;
+ };
+ format = "{icon}{capacity}%";
+ format-charging = "{icon}{capacity}% {power}";
+ format-discharging = "{icon}{capacity}% {power}";
+ format-icons = ["" "" "" "" "" "" "" "" "" "" ""];
+ format-charging-icons = ["" "" "" "" "" "" "" "" "" "" ""];
+ };
+ tray = {
+ icon-size = 18;
+ spacing = 10;
+ };
+ clock = {
+ interval = 1;
+ format = "{: %H:%M:%S %d/%m/%Y}";
+ format-alt = "{: %H:%M:%S}";
+ tooltip-format = "{calendar}";
+ calendar = {
+ mode = "year";
+ mode-mon-col = 3;
+ weeks-pos = "right";
+ on-scroll = 1;
+ on-click-right = "mode";
+ format = {
+ months = "{}";
+ days = "{}";
+ weeks = "T{:%W}";
+ weekdays = "{}";
+ today = "{}";
+ };
+ 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";
+ };
+ };
+ };
+ cpu = {
+ interval = 1;
+ format = " {}%";
+ max-length = 10;
+ };
+ memory = {
+ interval = 1;
+ format = " {}%";
+ max-length = 10;
+ };
+ "custom/launcher" = {
+ format = " ";
+ on-click = "~/.config/rofi/launchers/type-2/launcher.sh";
+ on-click-right = "pkill rofi";
+ };
+ "custom/power" = {
+ format = "";
+ on-click = "~/.config/rofi/powermenu/type-2/powermenu.sh";
+ };
+ "hyprland/window" = {
+ format = "{}";
+ separate-outputs = true;
+ };
+ gamemode = {
+ format = "{glyph}";
+ format-alt = "{glyph} {count}";
+ glyph = "";
+ hide-not-running = true;
+ use-icon = true;
+ icon-name = "input-gaming-symbolic";
+ icon-spacing = 4;
+ icon-size = 20;
+ tooltip = true;
+ tooltip-format = "Games running: {count}";
+ };
+ "custom/dnd" = {
+ exec = "~/Scripts/waybar-dunst.sh";
+ on-click = "~/Scripts/dnd.sh";
+ restart-interval = 1;
+ tooltip = false;
+ };
+ cava = {
+ framerate = 165;
+ autosens = 1;
+ sensitivity = 100;
+ bars = 14;
+ lower_cutoff_freq = 50;
+ higher_cutoff_freq = 10000;
+ method = "pipewire";
+ source = "auto";
+ stereo = true;
+ reverse = false;
+ bar_delimiter = 0;
+ monstercat = false;
+ waves = false;
+ noise_reduction = 0.77;
+ input_delay = 2;
+ format-icons = ["▁" "▂" "▃" "▄" "▅" "▆" "▇" "█" ];
+ actions = {
+ on-click-right = "mode";
+ };
+ };
+ "custom/power_profile" = {
+ exec = "asusctl profile -p | sed s:'Active profile is'::";
+ interval = 30;
+ format = "{}";
+ format-alt-click = "click-right";
+ format-alt = "";
+ on-click = "asusctl profile -n; pkill -SIGRTMIN+8 waybar";
+ signal = 8;
+ };
+ "custom/xwayland" = {
+ exec = "${inputs.hyprland.packages.${pkgs.system}.hyprland}/bin/hyprctl clients | ${pkgs.ripgrep}/bin/rg -e 'xwayland: [1]' | ${pkgs.coreutils-full}/bin/wc -l";
+ interval = 1;
+ format = "X {}";
+ };
+ mpd = {
+ format = " {artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S})";
+ format-disconnected = " Disconnected";
+ format-stopped = " Stopped";
+ interval = 1;
+ tooltip-format = "MPD (connected)";
+ tooltip-format-disconnected = "MPD (disconnected)";
+ on-click = "mpc toggle";
+ };
+ };
+ style = ''
+ @define-color base #1e1e2e;
+ @define-color mantle #181825;
+ @define-color crust #11111b;
+
+ @define-color text #cdd6f4;
+ @define-color subtext0 #a6adc8;
+ @define-color subtext1 #bac2de;
+
+ @define-color surface0 #313244;
+ @define-color surface1 #45475a;
+ @define-color surface2 #585b70;
+
+ @define-color overlay0 #6c7086;
+ @define-color overlay1 #7f849c;
+ @define-color overlay2 #9399b2;
+
+ @define-color blue #89b4fa;
+ @define-color lavender #b4befe;
+ @define-color sapphire #74c7ec;
+ @define-color sky #89dceb;
+ @define-color teal #94e2d5;
+ @define-color green #a6e3a1;
+ @define-color yellow #f9e2af;
+ @define-color peach #fab387;
+ @define-color maroon #eba0ac;
+ @define-color red #f38ba8;
+ @define-color mauve #cba6f7;
+ @define-color pink #f5c2e7;
+ @define-color flamingo #f2cdcd;
+ @define-color rosewater #f5e0dc;
+
+ * {
+ border-radius: 10px;
+ font-family: Material Design Icons;
+ font-size: 16px;
+ }
+
+ window#waybar {
+ background-color: alpha(@base, 0.5);
+ border-radius: 0px;
+ }
+
+ window#waybar.hidden {
+ opacity: 0.2;
+ }
+
+ #window {
+ margin-top: 4px;
+ margin-bottom: 4px;
+ padding-left: 10px;
+ padding-right: 10px;
+ background: @mantle;
+ color: @teal;
+ font-family: JetBrains Mono;
+ }
+
+ #workspaces {
+ padding-left: 5px;
+ }
+
+ #workspaces button {
+ border-radius: 15px;
+ padding-top: 0px;
+ padding-right: 0px;
+ padding-bottom: 0px;
+ padding-left: 0px;
+ margin-top: 6px;
+ margin-right: 3px;
+ margin-bottom: 6px;
+ margin-left: 3px;
+ background-color: @mantle;
+ color: @text;
+ min-width: 24px;
+ }
+
+ #workspaces button.active {
+ padding-top: 0px;
+ padding-bottom: 0px;
+ padding-right: 0px;
+ padding-left: 0px;
+ margin-top: 6px;
+ margin-right: 3px;
+ margin-bottom: 6px;
+ margin-left: 3px;
+ background-color: @blue;
+ color: @mantle;
+ min-width: 24px;
+ }
+
+ #workspaces button:hover {
+ background: alpha(@mantle, 0.7);
+ transition-property: background, min-width;
+ transition-duration: 0.5s;
+ transition-timing-function: ease;
+ }
+
+ #workspaces button.focused {
+ background-color: @yellow;
+ }
+
+ #workspaces button.urgent {
+ background-color: @red;
+ }
+
+ .modules-left > widget:first-child > #workspaces {
+ margin-left: 0;
+ }
+
+ .modules-right > widget:first-child > #workspaces {
+ margin-right: 0;
+ }
+
+ #pulseaudio {
+ margin-top: 3px;
+ margin-bottom: 3px;
+ margin-left: 0px;
+ padding-left: 10px;
+ padding-right: 10px;
+ transition: none;
+ background: @mantle;
+ color: @peach;
+ /*border-top-left-radius: 0;
+ border-bottom-left-radius: 0;*/
+ }
+
+ #cava {
+ margin-top: 3px;
+ margin-bottom: 3px;
+ margin-left: 8px;
+ margin-right: 0px;
+ padding-left: 10px;
+ padding-right: 0px;
+ transition: none;
+ background: @mantle;
+ color: @peach;
+ border-top-right-radius: 0;
+ border-bottom-right-radius: 0;
+ }
+
+ #battery {
+ margin-top: 3px;
+ margin-bottom: 3px;
+ margin-left: 8px;
+ padding-left: 10px;
+ padding-right: 10px;
+ transition: none;
+ background: @mantle;
+ color: @teal;
+ }
+
+ @keyframes blink {
+ to {
+ background-color: @red;
+ }
+ }
+
+ #battery.charging, #battery.plugged {
+ background-color: @mantle;
+ }
+
+ #battery.critical:not(.charging) {
+ background-color: @mantle;
+ animation-name: blink;
+ animation-duration: 0.5s;
+ animation-timing-function: linear;
+ animation-iteration-count: infinite;
+ animation-direction: alternate;
+ }
+
+ #backlight {
+ margin-top: 3px;
+ margin-bottom: 3px;
+ margin-left: 8px;
+ padding-left: 10px;
+ padding-right: 10px;
+ transition: none;
+ background: @mantle;
+ color: @yellow;
+ }
+ #clock {
+ margin-top: 3px;
+ margin-bottom: 3px;
+ margin-left: 8px;
+ padding-left: 10px;
+ padding-right: 10px;
+ transition-property: min-width;
+ transition-duration: 0.5s;
+ background: @mantle;
+ color: @pink;
+ }
+
+ #custom-power_profile {
+ margin-top: 3px;
+ margin-bottom: 3px;
+ margin-left: 8px;
+ padding-left: 10px;
+ padding-right: 10px;
+ transition: none;
+ background: @mantle;
+ color: @rosewater;
+ }
+
+ #tray {
+ margin-top: 3px;
+ margin-bottom: 3px;
+ margin-left: 8px;
+ padding-left: 10px;
+ padding-right: 10px;
+ transition: none;
+ background: @mantle;
+ }
+
+ #custom-launcher {
+ font-size: 16px;
+ margin-top: 3px;
+ margin-bottom: 3px;
+ margin-left: 8px;
+ padding-left: 10px;
+ padding-right: 5px;
+ transition: none;
+ background: @mantle;
+ color: @blue;
+ }
+
+ #custom-power {
+ font-size: 20px;
+ margin-top: 3px;
+ margin-bottom: 3px;
+ margin-left: 8px;
+ margin-right: 8px;
+ padding-left: 10px;
+ padding-right: 10px;
+ transition: none;
+ background: @mantle;
+ color: @red;
+ }
+
+ #custom-wallpaper {
+ margin-top: 3px;
+ margin-bottom: 3px;
+ margin-left: 8px;
+ padding-left: 10px;
+ padding-right: 10px;
+ transition: none;
+ background: @mantle;
+ }
+
+ #custom-updates {
+ margin-top: 3px;
+ margin-bottom: 3px;
+ margin-left: 8px;
+ padding-left: 10px;
+ padding-right: 10px;
+ transition: none;
+ background: @mantle;
+ }
+
+ #custom-media {
+ margin-top: 3px;
+ margin-bottom: 3px;
+ margin-left: 8px;
+ padding-left: 10px;
+ padding-right: 10px;
+ transition: none;
+ background: @mantle;
+ }
+
+ #custom-dnd {
+ margin-top: 3px;
+ margin-bottom: 3px;
+ margin-left: 8px;
+ padding-left: 10px;
+ padding-right: 10px;
+ transition: none;
+ background: @mantle;
+ color: @flamingo;
+ }
+
+ #custom-xwayland {
+ margin-top: 3px;
+ margin-bottom: 3px;
+ margin-left: 8px;
+ padding-left: 10px;
+ padding-right: 10px;
+ transition: none;
+ background: @mantle;
+ color: @green;
+ }
+
+ #mpd {
+ margin-top: 3px;
+ margin-bottom: 3px;
+ margin-left: 8px;
+ padding-left: 10px;
+ padding-right: 10px;
+ transition: none;
+ background: @mantle;
+ color: @green;
+ }
+ '';
+ };
+ };
+}
+
diff --git a/modules/gui/default.nix b/modules/gui/default.nix
index f125440c..b4b25462 100644
--- a/modules/gui/default.nix
+++ b/modules/gui/default.nix
@@ -16,7 +16,6 @@ _: {
#./rofi.nix
#./schizofox.nix
./swaylock.nix
- ./waybar.nix
./zathura.nix
];
}
diff --git a/modules/gui/waybar.nix b/modules/gui/waybar.nix
deleted file mode 100644
index 22abbe45..00000000
--- a/modules/gui/waybar.nix
+++ /dev/null
@@ -1,523 +0,0 @@
-{
- config,
- inputs,
- lib,
- pkgs,
- ...
-}: with lib; let
- cfg = config.myOptions.programs.waybar;
- username = config.myOptions.other.system.username;
-in {
- options.myOptions.programs.waybar.enable = mkEnableOption "enable waybar";
-
- config = mkIf cfg.enable {
- home-manager.users.${username} = {
- programs.waybar = {
- enable = true;
- package = inputs.waybar.packages.${pkgs.system}.waybar;
- systemd.enable = false;
- settings.mainBar = {
- gtk-layer-shell = true;
- layer = "top";
- modules-left = [ "custom/launcher" "custom/xwayland" "tray" "hyprland/workspaces" ];
- modules-center = [ "hyprland/window" ];
- modules-right = [ /*"custom/dnd"*/ "backlight" /*"cava"*/ "mpd" "pulseaudio" "clock" "battery" "custom/power" ];
-
- pulseaudio = {
- tooltip = false;
- scroll-step = "1";
- format = " {icon} {volume}%";
- format-muted = " {volume}%";
- format-icons = {
- default = ["" "" ""];
- };
- on-click = "${pkgs.wireplumber}/bin/wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle";
- };
- "hyprland/workspaces" = {
- sort-by-name = true;
- sort-by-coordinates = false;
- on-click = "activate";
- #on-scroll = "~/Scripts/cycle_workspace.sh 1";
- active-only = false;
- format = "{icon}";
- format-icons = {
- "1" = "1";
- "2" = "2";
- "3" = "3";
- "4" = "4";
- "5" = "5";
- "6" = "6";
- "7" = "7";
- "8" = "8";
- "9" = "9";
- "10" = "10";
- "11" = "1";
- "12" = "2";
- "13" = "3";
- "14" = "4";
- "15" = "5";
- "16" = "6";
- "17" = "7";
- "18" = "8";
- "19" = "9";
- "20" = "10";
- };
- };
- network = {
- tooltip = false;
- format = "{ipaddr} {icon}";
- format-alt = "{icon}";
- format-icons = {
- wifi = [ "" ];
- ethernet = [ "" ];
- disconnected = [ "" ];
- };
- on-click-right = "foot -e nmtui";
- };
- backlight = {
- interval = 1;
- align = 0;
- rotate = 0;
- format = "{icon} {percent}%";
- format-icons = [ "" "" "" "" "" "" "" ];
- #on-scroll-up = "~/Scripts/bright.sh s +1%";
- #on-scroll-down = "~/Scripts/bright.sh s 1%-";
- on-scroll-up = "${pkgs.brightnessctl}/bin/brightnessctl set +1%";
- on-scroll-down = "${pkgs.brightnessctl}/bin/brightnessctl set 1%-";
- smooth-scrolling-threshold = 1;
- };
- battery = {
- interval = 1;
- states = {
- good = 75;
- warning = 30;
- critical = 20;
- };
- format = "{icon}{capacity}%";
- format-charging = "{icon}{capacity}% {power}";
- format-discharging = "{icon}{capacity}% {power}";
- format-icons = ["" "" "" "" "" "" "" "" "" "" ""];
- format-charging-icons = ["" "" "" "" "" "" "" "" "" "" ""];
- };
- tray = {
- icon-size = 18;
- spacing = 10;
- };
- clock = {
- interval = 1;
- format = "{: %H:%M:%S %d/%m/%Y}";
- format-alt = "{: %H:%M:%S}";
- tooltip-format = "{calendar}";
- calendar = {
- mode = "year";
- mode-mon-col = 3;
- weeks-pos = "right";
- on-scroll = 1;
- on-click-right = "mode";
- format = {
- months = "{}";
- days = "{}";
- weeks = "T{:%W}";
- weekdays = "{}";
- today = "{}";
- };
- 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";
- };
- };
- };
- cpu = {
- interval = 1;
- format = " {}%";
- max-length = 10;
- };
- memory = {
- interval = 1;
- format = " {}%";
- max-length = 10;
- };
- "custom/launcher" = {
- format = " ";
- on-click = "~/.config/rofi/launchers/type-2/launcher.sh";
- on-click-right = "pkill rofi";
- };
- "custom/power" = {
- format = "";
- on-click = "~/.config/rofi/powermenu/type-2/powermenu.sh";
- };
- "hyprland/window" = {
- format = "{}";
- separate-outputs = true;
- };
- gamemode = {
- format = "{glyph}";
- format-alt = "{glyph} {count}";
- glyph = "";
- hide-not-running = true;
- use-icon = true;
- icon-name = "input-gaming-symbolic";
- icon-spacing = 4;
- icon-size = 20;
- tooltip = true;
- tooltip-format = "Games running: {count}";
- };
- "custom/dnd" = {
- exec = "~/Scripts/waybar-dunst.sh";
- on-click = "~/Scripts/dnd.sh";
- restart-interval = 1;
- tooltip = false;
- };
- cava = {
- framerate = 165;
- autosens = 1;
- sensitivity = 100;
- bars = 14;
- lower_cutoff_freq = 50;
- higher_cutoff_freq = 10000;
- method = "pipewire";
- source = "auto";
- stereo = true;
- reverse = false;
- bar_delimiter = 0;
- monstercat = false;
- waves = false;
- noise_reduction = 0.77;
- input_delay = 2;
- format-icons = ["▁" "▂" "▃" "▄" "▅" "▆" "▇" "█" ];
- actions = {
- on-click-right = "mode";
- };
- };
- "custom/power_profile" = {
- exec = "asusctl profile -p | sed s:'Active profile is'::";
- interval = 30;
- format = "{}";
- format-alt-click = "click-right";
- format-alt = "";
- on-click = "asusctl profile -n; pkill -SIGRTMIN+8 waybar";
- signal = 8;
- };
- "custom/xwayland" = {
- exec = "${inputs.hyprland.packages.${pkgs.system}.hyprland}/bin/hyprctl clients | ${pkgs.ripgrep}/bin/rg -e 'xwayland: [1]' | ${pkgs.coreutils-full}/bin/wc -l";
- interval = 1;
- format = "X {}";
- };
- mpd = {
- format = " {artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S})";
- format-disconnected = " Disconnected";
- format-stopped = " Stopped";
- interval = 1;
- tooltip-format = "MPD (connected)";
- tooltip-format-disconnected = "MPD (disconnected)";
- on-click = "mpc toggle";
- };
- };
- style = ''
- @define-color base #1e1e2e;
- @define-color mantle #181825;
- @define-color crust #11111b;
-
- @define-color text #cdd6f4;
- @define-color subtext0 #a6adc8;
- @define-color subtext1 #bac2de;
-
- @define-color surface0 #313244;
- @define-color surface1 #45475a;
- @define-color surface2 #585b70;
-
- @define-color overlay0 #6c7086;
- @define-color overlay1 #7f849c;
- @define-color overlay2 #9399b2;
-
- @define-color blue #89b4fa;
- @define-color lavender #b4befe;
- @define-color sapphire #74c7ec;
- @define-color sky #89dceb;
- @define-color teal #94e2d5;
- @define-color green #a6e3a1;
- @define-color yellow #f9e2af;
- @define-color peach #fab387;
- @define-color maroon #eba0ac;
- @define-color red #f38ba8;
- @define-color mauve #cba6f7;
- @define-color pink #f5c2e7;
- @define-color flamingo #f2cdcd;
- @define-color rosewater #f5e0dc;
-
- * {
- border-radius: 10px;
- font-family: Material Design Icons;
- font-size: 16px;
- }
-
- window#waybar {
- background-color: alpha(@base, 0.5);
- border-radius: 0px;
- }
-
- window#waybar.hidden {
- opacity: 0.2;
- }
-
- #window {
- margin-top: 4px;
- margin-bottom: 4px;
- padding-left: 10px;
- padding-right: 10px;
- background: @mantle;
- color: @teal;
- font-family: JetBrains Mono;
- }
-
- #workspaces {
- padding-left: 5px;
- }
-
- #workspaces button {
- border-radius: 15px;
- padding-top: 0px;
- padding-right: 0px;
- padding-bottom: 0px;
- padding-left: 0px;
- margin-top: 6px;
- margin-right: 3px;
- margin-bottom: 6px;
- margin-left: 3px;
- background-color: @mantle;
- color: @text;
- min-width: 24px;
- }
-
- #workspaces button.active {
- padding-top: 0px;
- padding-bottom: 0px;
- padding-right: 0px;
- padding-left: 0px;
- margin-top: 6px;
- margin-right: 3px;
- margin-bottom: 6px;
- margin-left: 3px;
- background-color: @blue;
- color: @mantle;
- min-width: 24px;
- }
-
- #workspaces button:hover {
- background: alpha(@mantle, 0.7);
- transition-property: background, min-width;
- transition-duration: 0.5s;
- transition-timing-function: ease;
- }
-
- #workspaces button.focused {
- background-color: @yellow;
- }
-
- #workspaces button.urgent {
- background-color: @red;
- }
-
- .modules-left > widget:first-child > #workspaces {
- margin-left: 0;
- }
-
- .modules-right > widget:first-child > #workspaces {
- margin-right: 0;
- }
-
- #pulseaudio {
- margin-top: 3px;
- margin-bottom: 3px;
- margin-left: 0px;
- padding-left: 10px;
- padding-right: 10px;
- transition: none;
- background: @mantle;
- color: @peach;
- /*border-top-left-radius: 0;
- border-bottom-left-radius: 0;*/
- }
-
- #cava {
- margin-top: 3px;
- margin-bottom: 3px;
- margin-left: 8px;
- margin-right: 0px;
- padding-left: 10px;
- padding-right: 0px;
- transition: none;
- background: @mantle;
- color: @peach;
- border-top-right-radius: 0;
- border-bottom-right-radius: 0;
- }
-
- #battery {
- margin-top: 3px;
- margin-bottom: 3px;
- margin-left: 8px;
- padding-left: 10px;
- padding-right: 10px;
- transition: none;
- background: @mantle;
- color: @teal;
- }
-
- @keyframes blink {
- to {
- background-color: @red;
- }
- }
-
- #battery.charging, #battery.plugged {
- background-color: @mantle;
- }
-
- #battery.critical:not(.charging) {
- background-color: @mantle;
- animation-name: blink;
- animation-duration: 0.5s;
- animation-timing-function: linear;
- animation-iteration-count: infinite;
- animation-direction: alternate;
- }
-
- #backlight {
- margin-top: 3px;
- margin-bottom: 3px;
- margin-left: 8px;
- padding-left: 10px;
- padding-right: 10px;
- transition: none;
- background: @mantle;
- color: @yellow;
- }
- #clock {
- margin-top: 3px;
- margin-bottom: 3px;
- margin-left: 8px;
- padding-left: 10px;
- padding-right: 10px;
- transition-property: min-width;
- transition-duration: 0.5s;
- background: @mantle;
- color: @pink;
- }
-
- #custom-power_profile {
- margin-top: 3px;
- margin-bottom: 3px;
- margin-left: 8px;
- padding-left: 10px;
- padding-right: 10px;
- transition: none;
- background: @mantle;
- color: @rosewater;
- }
-
- #tray {
- margin-top: 3px;
- margin-bottom: 3px;
- margin-left: 8px;
- padding-left: 10px;
- padding-right: 10px;
- transition: none;
- background: @mantle;
- }
-
- #custom-launcher {
- font-size: 16px;
- margin-top: 3px;
- margin-bottom: 3px;
- margin-left: 8px;
- padding-left: 10px;
- padding-right: 5px;
- transition: none;
- background: @mantle;
- color: @blue;
- }
-
- #custom-power {
- font-size: 20px;
- margin-top: 3px;
- margin-bottom: 3px;
- margin-left: 8px;
- margin-right: 8px;
- padding-left: 10px;
- padding-right: 10px;
- transition: none;
- background: @mantle;
- color: @red;
- }
-
- #custom-wallpaper {
- margin-top: 3px;
- margin-bottom: 3px;
- margin-left: 8px;
- padding-left: 10px;
- padding-right: 10px;
- transition: none;
- background: @mantle;
- }
-
- #custom-updates {
- margin-top: 3px;
- margin-bottom: 3px;
- margin-left: 8px;
- padding-left: 10px;
- padding-right: 10px;
- transition: none;
- background: @mantle;
- }
-
- #custom-media {
- margin-top: 3px;
- margin-bottom: 3px;
- margin-left: 8px;
- padding-left: 10px;
- padding-right: 10px;
- transition: none;
- background: @mantle;
- }
-
- #custom-dnd {
- margin-top: 3px;
- margin-bottom: 3px;
- margin-left: 8px;
- padding-left: 10px;
- padding-right: 10px;
- transition: none;
- background: @mantle;
- color: @flamingo;
- }
-
- #custom-xwayland {
- margin-top: 3px;
- margin-bottom: 3px;
- margin-left: 8px;
- padding-left: 10px;
- padding-right: 10px;
- transition: none;
- background: @mantle;
- color: @green;
- }
-
- #mpd {
- margin-top: 3px;
- margin-bottom: 3px;
- margin-left: 8px;
- padding-left: 10px;
- padding-right: 10px;
- transition: none;
- background: @mantle;
- color: @green;
- }
- '';
- };
- };
- };
-}
diff --git a/modules/services/greetd.nix b/modules/services/greetd.nix
index 59508229..34e5e3c4 100644
--- a/modules/services/greetd.nix
+++ b/modules/services/greetd.nix
@@ -21,7 +21,6 @@
workspace=1,default:true,gapsout:0,gapsin:0,border:false,decorate:false
- ${if config.myOptions.programs.waybar.enable then "exec-once=systemctl --user stop waybar.service" else ""}
exec-once=[workspace 1;fullscreen;noanim] ${pkgs.greetd.${cfg.greeter}}/bin/${cfg.greeter} -l; ${inputs.hyprland.packages.${pkgs.system}.hyprland}/bin/hyprctl dispatch exit
exec-once=${inputs.hyprland.packages.${pkgs.system}.hyprland}/bin/hyprctl dispatch focuswindow ${cfg.greeter}
'';