summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--home/desktop/default.nix1
-rw-r--r--home/desktop/sway.nix13
-rw-r--r--home/desktop/waybar.nix201
3 files changed, 11 insertions, 204 deletions
diff --git a/home/desktop/default.nix b/home/desktop/default.nix
index 1224bcc..5f2d34e 100644
--- a/home/desktop/default.nix
+++ b/home/desktop/default.nix
@@ -10,7 +10,6 @@ in {
./athena.nix
./firefox.nix
./sway.nix
- ./waybar.nix
];
options.local.desktop = {
diff --git a/home/desktop/sway.nix b/home/desktop/sway.nix
index d363e11..40fd83a 100644
--- a/home/desktop/sway.nix
+++ b/home/desktop/sway.nix
@@ -8,13 +8,22 @@ with lib; let
cfg = config.local.desktop;
in {
config = mkIf cfg.enable {
+ local = {
+ waybar = {
+ enable = true;
+
+ battery = cfg.portable;
+
+ fontSize = "24px";
+ fontFamily = "Hack Nerd Font";
+ };
+ };
+
home.packages = [
pkgs.wlr-randr
];
programs = {
- waybar.enable = true;
-
wofi.enable = true;
};
diff --git a/home/desktop/waybar.nix b/home/desktop/waybar.nix
deleted file mode 100644
index dcb7df3..0000000
--- a/home/desktop/waybar.nix
+++ /dev/null
@@ -1,201 +0,0 @@
-# https://git.posixlycorrect.com/fabian/nix/src/branch/master/home/modules/gui/waybar.nix
-{
- config,
- lib,
- pkgs,
- ...
-}:
-with lib; let
- cfg = config.local.desktop;
- laptop = config.local.desktop.portable;
-in {
- config = mkIf cfg.enable {
- programs.waybar = {
- enable = true;
- settings = {
- mainBar = {
- layer = "top";
- position = "top";
- height = 20;
- spacing = 0;
-
- modules-left = [
- "sway/workspaces"
- "sway/mode"
- ];
- modules-center = [
- "clock"
- ];
-
- modules-right =
- [
- "keyboard-state"
- "privacy"
- "cpu"
- "memory"
- "disk"
- "temperature"
- "tray"
- ]
- ++ lists.optionals laptop [
- "battery"
- ];
- battery = mkIf laptop {
- format = "{capacity}% {icon}";
- format-plugged = "{capacity}% 󱐥{icon}";
- format-icons = ["󰂃" "󰁺" "󰁻" "󰁼" "󰁽" "󰁾" "󰁿" "󰂀" "󰂁" "󰂂" "󰁹"];
- states = {
- warning = 20;
- critical = 10;
- };
- };
- keyboard-state = {
- capslock = true;
- format.capslock = "{icon}";
- format-icons = {
- locked = "󰘲 ";
- unlocked = "";
- };
- };
- tray = {
- icon-size = 13;
- spacing = 8;
- };
- clock = {
- interval = 60;
- format = "{:%A %B %d %Y %H:%M}";
- tooltip = false;
- };
- cpu = {
- format = " {usage}%";
- tooltip = false;
- };
- memory = {
- format = " {percentage}% ";
- tooltip = true;
- tooltip-format = "{used}/{total}";
- };
- disk = {
- format = " {specific_used:0.0f}/{specific_total:0.0f}";
- unit = "GiB";
- tooltip = false;
- };
- privacy = {
- icon-size = 12;
- };
- };
- };
- style = ''
- * {
- font-family: "JetBrainsMono Nerd Font", monospace;
- font-size: 12px;
- font-weight: 500;
- border: none;
- box-shadow: none;
- }
-
- /* Entire bar: fully transparent, no border */
- window#waybar {
- background: transparent;
- color: #eaeaea;
- margin: 0;
- padding: 0;
- }
-
- /* Optional: small edge breathing room (comment out if you want edge-to-edge) */
- /* window#waybar { margin: 3px 6px 0 6px; } */
-
- /* Module containers */
- .modules-left, .modules-center, .modules-right {
- padding: 0;
- margin: 0 6px;
- }
-
- /* Subtle separators between modules (no boxes) */
- .modules-left > widget:not(:first-child),
- .modules-center > widget:not(:first-child),
- .modules-right > widget:not(:first-child) {
- margin-left: 12px;
- padding-left: 12px;
- border-left: 1px solid rgba(255, 255, 255, 0.08);
- }
-
- /* Tightest possible workspaces */
- #workspaces { padding: 0; margin: 0; }
- #workspaces button {
- margin: 0;
- padding: 0 3px;
- min-width: 0;
- border-radius: 0;
- background: transparent;
- color: #cfcfcf;
- }
- #workspaces button:hover {
- background: rgba(255, 255, 255, 0.06);
- }
- #workspaces button.active,
- #workspaces button.focused {
- background: rgba(255, 255, 255, 0.10);
- color: #ffffff;
- box-shadow: inset 0 -2px #ffffff;
- }
- #workspaces button.urgent {
- background: rgba(255, 80, 80, 0.25);
- box-shadow: inset 0 -2px #ff5050;
- }
-
- /* Focused window title: single line, no glow */
- #window {
- padding: 0 6px;
- margin: 0;
- color: #dedede;
- }
-
- /* Sway mode indicator: visible only when active, no bloat */
- #mode {
- padding: 0 6px;
- margin: 0;
- background: rgba(255, 255, 255, 0.10);
- color: #ffffff;
- box-shadow: inset 0 -2px #ffffff;
- }
-
- /* Status modules — keep them flat and compact */
- #clock, #battery, #network, #pulseaudio, #backlight, #cpu, #memory, #temperature, #tray {
- padding: 0 6px;
- margin: 0;
- background: transparent;
- color: #eaeaea;
- }
-
- /* States (battery, network, audio) */
- #battery.charging { color: #27f902; }
- #battery.warning:not(.charging) { color: #fc8b02; }
- #battery.critical:not(.charging) { color: #fc0000; }
-
- #network.disconnected { color: #ffb4b4; }
- #pulseaudio.muted { color: #9aa0a6; }
-
- /* Tray: compress icons */
- #tray > .passive { opacity: 0.6; }
- #tray > .needs-attention { opacity: 1; }
-
- /* Tooltips: clean and readable */
- tooltip {
- background: rgba(30, 30, 30, 0.95);
- border: 1px solid rgba(255, 255, 255, 0.08);
- color: #eaeaea;
- padding: 6px 8px;
- }
-
- /* Remove any leftover borders around everything */
- #custom-*, #idle_inhibitor, #privacy, #bluetooth {
- border: none;
- background: transparent;
- margin: 0;
- padding: 0 6px;
- }
- '';
- };
- };
-}