aboutsummaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
Diffstat (limited to 'modules')
-rw-r--r--modules/user/desktop/apps/waybar/default.nix42
-rw-r--r--modules/user/desktop/apps/waybar/style.css8
-rw-r--r--modules/user/desktop/scripts/screenshot.sh1
-rw-r--r--modules/user/desktop/sessions/sway.nix4
4 files changed, 51 insertions, 4 deletions
diff --git a/modules/user/desktop/apps/waybar/default.nix b/modules/user/desktop/apps/waybar/default.nix
index 053859c..127954a 100644
--- a/modules/user/desktop/apps/waybar/default.nix
+++ b/modules/user/desktop/apps/waybar/default.nix
@@ -7,17 +7,50 @@
modules-left = [ "sway/workspaces" ];
modules-center = [ "clock" ];
modules-right = [
+ "wireplumber"
+ "battery"
+ "backlight"
"sway/language"
"tray"
];
+ backlight = {
+ format = "{icon}";
+ format-icons = [ "" "󰖨" ];
+ };
+
+ battery = {
+ format = "{icon}";
+ format-critical = "{icon} {capacity}%";
+ format-icons = {
+ good = [ "" ];
+ okay = [ "" ];
+ mediocre = [ "" ];
+ low = [ "" ];
+ critical = [ "" ];
+ };
+
+ format-low = "{icon} {capacity}%";
+ format-time = "{H}h{m}m";
+ states = {
+ good = 85;
+ okay = 75;
+ mediocre = 50;
+ low = 25;
+ critical = 10;
+ };
+
+ tooltip-format = "{timeTo} ({power}W)";
+ tooltip-format-critical = "please. charge me.";
+ };
+
clock = {
format = "{:%A, %b %d %Y | %H:%M}";
};
"sway/language" = {
on-click = "swaymsg input type:keyboard xkb_switch_layout next";
- tooltip-format = " {long}";
+ tooltip-format = "{long}";
};
"sway/workspaces" = {
@@ -36,6 +69,13 @@
"9" = "IX";
};
};
+
+ wireplumber = {
+ format = "{icon}";
+ format-icons = [ "󰕿" "󰖀" "󰕾" ];
+ format-muted = "󰝟";
+ tooltip-format = "{node_name} ({volume}%)";
+ };
};
style = builtins.readFile ./style.css;
diff --git a/modules/user/desktop/apps/waybar/style.css b/modules/user/desktop/apps/waybar/style.css
index cb20626..6f503ec 100644
--- a/modules/user/desktop/apps/waybar/style.css
+++ b/modules/user/desktop/apps/waybar/style.css
@@ -24,6 +24,7 @@ tooltip label {
margin: 0 6px; /* don't ask. the outer gaps are set to 4px but they're actually 6px */
}
+
#workspaces button {
background: none;
box-shadow: none;
@@ -50,6 +51,11 @@ tooltip label {
text-shadow: inherit;
}
-#tray {
+#backlight, #battery, #language, #tray, #wireplumber {
+ min-width: 2em;
padding-left: 4px;
}
+
+#battery.critical {
+ color: #f38ba8;
+}
diff --git a/modules/user/desktop/scripts/screenshot.sh b/modules/user/desktop/scripts/screenshot.sh
index f7d607b..8250f9e 100644
--- a/modules/user/desktop/scripts/screenshot.sh
+++ b/modules/user/desktop/scripts/screenshot.sh
@@ -1,5 +1,6 @@
#!/usr/bin/env bash
# Bash screenshot script. Requires grim, slurp, sway, fuzzel, libnotify and jq.
+[[ -d "~/Pictures/Screenshots" ]] || mkdir -p ~/Pictures/Screenshots
IFS=$'\n'
screenshot_targets=$(swaymsg -rt get_outputs | jq -r '.[].name' | sort)
screenshot_targets+=($'\nSpecific region') # i LOVE bash
diff --git a/modules/user/desktop/sessions/sway.nix b/modules/user/desktop/sessions/sway.nix
index 0aea541..1ff9b98 100644
--- a/modules/user/desktop/sessions/sway.nix
+++ b/modules/user/desktop/sessions/sway.nix
@@ -208,8 +208,8 @@
"${mod}+G" = "layout toggle tabbed split";
"${mod}+S" = "sticky toggle";
"XF86AudioMute" = "exec wpctl set-mute @DEFAULT_SINK@ toggle";
- "XF86AudioLowerVolume" = "exec wpctl set-volume @DEFAULT_SINK@ 5%-";
- "XF86AudioRaiseVolume" = "exec wpctl set-volume @DEFAULT_SINK@ 5%+";
+ "XF86AudioLowerVolume" = "exec wpctl set-volume @DEFAULT_SINK@ 5%- -l 1";
+ "XF86AudioRaiseVolume" = "exec wpctl set-volume @DEFAULT_SINK@ 5%+ -l 1";
"XF86MonBrightnessDown" = "exec brightnessctl --class=backlight s 5%-";
"XF86MonBrightnessUp" = "exec brightnessctl --class=backlight s +5%";
};