Compare commits

...

5 commits

Author SHA1 Message Date
c077841ce5
waybar: add waybar module 2025-10-07 15:13:17 -06:00
606a6cae37
waybar: move waybar to trivionomicon 2025-10-07 15:12:57 -06:00
c3c05af849
home baseline: add 7zip 2025-10-07 13:45:47 -06:00
30fe2a2f06
waybar: add idle inhibitor 2025-10-05 15:33:12 -06:00
350fcfbc7b
flake.lock: Update
Flake lock file updates:

• Updated input 'authentik-nix':
    'github:nix-community/authentik-nix/04db807ac00ba6d62808ffab18b3b6d500b6f7cb?narHash=sha256-2Zbde5orbGsYdzroe51P1AW8pFMCNyqHgLjmHYJvOmE%3D' (2025-09-12)
  → 'github:nix-community/authentik-nix/69fac057b2e553ee17c9a09b822d735823d65a6c?narHash=sha256-yiv/g/tiJI3PI95F7vhTnaf1TDsIkFLrmmFTjWfb6pQ%3D' (2025-10-01)
• Updated input 'authentik-nix/authentik-src':
    'github:goauthentik/authentik/dd7c6b29d950664deadbcf5390272619a8bf9a5e?narHash=sha256-5l1g55b0xozGg0NaZFimiO5JbHGcudaNSEn1/XsweaU%3D' (2025-08-22)
  → 'github:goauthentik/authentik/8d3a289d12c7de2f244c76493af7880f70d08af2?narHash=sha256-pIzDaoDWc58cY/XhsyweCwc4dfRvkaT/zqsV1gDSnCI%3D' (2025-09-30)
• Updated input 'authentik-nix/flake-parts':
    'github:hercules-ci/flake-parts/af66ad14b28a127c5c0f3bbb298218fc63528a18?narHash=sha256-pHYj8gUBapuUzKV/kN/tR3Zvqc7o6gdFB9XKXIp1SQ8%3D' (2025-08-06)
  → 'github:hercules-ci/flake-parts/4524271976b625a4a605beefd893f270620fd751?narHash=sha256-%2BuWLQZccFHwqpGqr2Yt5VsW/PbeJVTn9Dk6SHWhNRPw%3D' (2025-09-01)
• Updated input 'authentik-nix/flake-parts/nixpkgs-lib':
    'github:nix-community/nixpkgs.lib/0f36c44e01a6129be94e3ade315a5883f0228a6e?narHash=sha256-zvaMGVn14/Zz8hnp4VWT9xVnhc8vuL3TStRqwk22biA%3D' (2025-07-27)
  → 'github:nix-community/nixpkgs.lib/a73b9c743612e4244d865a2fdee11865283c04e6?narHash=sha256-x2rJ%2BOvzq0sCMpgfgGaaqgBSwY%2BLST%2BWbZ6TytnT9Rk%3D' (2025-08-10)
• Updated input 'authentik-nix/pyproject-build-systems':
    'github:pyproject-nix/build-system-pkgs/6edb3ae27395cd88be3d64b732d1539957dad59c?narHash=sha256-4jc3JDQt75fYXFrglgqyzF6C6zLU0QGLymzian4aP%2BU%3D' (2025-08-25)
  → 'github:pyproject-nix/build-system-pkgs/5b8e37fe0077db5c1df3a5ee90a651345f085d38?narHash=sha256-6nzSZl28IwH2Vx8YSmd3t6TREHpDbKlDPK%2Bdq1LKIZQ%3D' (2025-09-08)
• Updated input 'authentik-nix/pyproject-nix':
    'github:pyproject-nix/pyproject.nix/030dffc235dcf240d918c651c78dc5f158067b51?narHash=sha256-5aJM14MpoLk2cdZAetu60OkLQrtFLWTICAyn1EP7ZpM%3D' (2025-08-28)
  → 'github:pyproject-nix/pyproject.nix/8d77f342d66ad1601cdb9d97e9388b69f64d4c8e?narHash=sha256-6pNlGhwOIMfhe/RLjHdpXveKS4FyLHvlGe%2BKtjDild4%3D' (2025-09-07)
• Updated input 'authentik-nix/uv2nix':
    'github:pyproject-nix/uv2nix/0529e6d8227517205afcd1b37eee3088db745730?narHash=sha256-ALXRHIMXQ4qVNfCbcWykC23MjMwUoHn9BreoBfqmq0Y%3D' (2025-08-29)
  → 'github:pyproject-nix/uv2nix/780494c40895bb7419a73d942bee326291e80b3b?narHash=sha256-7Hwz0vfHuFqCo5v7Q07GQgLBWuPvZCuf/5/pk4NoADg%3D' (2025-09-15)
• Updated input 'home-manager':
    'github:nix-community/home-manager/f21d9167782c086a33ad53e2311854a8f13c281e?narHash=sha256-K6PEI5PYY94TVMH0mX3MbZNYFme7oNRKml/85BpRRAo%3D' (2025-09-14)
  → 'github:nix-community/home-manager/3b955f5f0a942f9f60cdc9cacb7844335d0f21c3?narHash=sha256-uhzsV0Q0I9j2y/rfweWeGif5AWe0MGrgZ/3TjpDYdGA%3D' (2025-09-21)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/9a094440e02a699be5c57453a092a8baf569bdad?narHash=sha256-Vp9K5ol6h0J90jG7Rm4RWZsCB3x7v5VPx588TQ1dkfs%3D' (2025-09-14)
  → 'github:nixos/nixpkgs/3bcc93c5f7a4b30335d31f21e2f1281cba68c318?narHash=sha256-YWo57PL7mGZU7D4WeKFMiW4ex/O6ZolUS6UNBHTZfkI%3D' (2025-10-04)
• Updated input 'nur':
    'github:nix-community/NUR/087c74cd9cc63e44dd20f1dcc5cdb4e5fddc9e14?narHash=sha256-EHZWQe3a04DvOlUR2j7LwGCaGqYTStYExpstYezfq3c%3D' (2025-09-14)
  → 'github:nix-community/NUR/ba4952df76bc6179d0bb3b9e7b4ff8517cfec870?narHash=sha256-bPh7JZnT7WydN4E1kVLq1l87NlzuD2pz1GYwvYSWo1U%3D' (2025-10-05)
• Updated input 'nur/nixpkgs':
    'github:nixos/nixpkgs/c23193b943c6c689d70ee98ce3128239ed9e32d1?narHash=sha256-hLEO2TPj55KcUFUU1vgtHE9UEIOjRcH/4QbmfHNF820%3D' (2025-09-13)
  → 'github:nixos/nixpkgs/7df7ff7d8e00218376575f0acdcc5d66741351ee?narHash=sha256-gTrEEp5gEspIcCOx9PD8kMaF1iEmfBcTbO0Jag2QhQs%3D' (2025-10-02)
• Updated input 'trivionomicon':
    'path:./trivionomicon'
  → 'path:./trivionomicon'
• Updated input 'unstable':
    'github:nixos/nixpkgs/c23193b943c6c689d70ee98ce3128239ed9e32d1?narHash=sha256-hLEO2TPj55KcUFUU1vgtHE9UEIOjRcH/4QbmfHNF820%3D' (2025-09-13)
  → 'github:nixos/nixpkgs/7df7ff7d8e00218376575f0acdcc5d66741351ee?narHash=sha256-gTrEEp5gEspIcCOx9PD8kMaF1iEmfBcTbO0Jag2QhQs%3D' (2025-10-02)
• Updated input 'vpsadminos':
    'github:vpsfreecz/vpsadminos/20f55b1d9bee4fdab62494d4471854d6586d3637?narHash=sha256-%2BYzznL/mHiSjDFC8vJsSgQ%2BpvjhqWMsLRjegEKSNv/4%3D' (2025-08-23)
  → 'github:vpsfreecz/vpsadminos/087b340cc897083a31defafd6a6f1c66e5bf48eb?narHash=sha256-H0FC6QbxgEE79pXwlPVvWUNenQOTMldzlWSij5pPyMk%3D' (2025-10-03)
2025-10-05 10:53:55 -06:00
8 changed files with 291 additions and 241 deletions

80
flake.lock generated
View file

@ -16,11 +16,11 @@
"uv2nix": "uv2nix"
},
"locked": {
"lastModified": 1757676906,
"narHash": "sha256-2Zbde5orbGsYdzroe51P1AW8pFMCNyqHgLjmHYJvOmE=",
"lastModified": 1759322529,
"narHash": "sha256-yiv/g/tiJI3PI95F7vhTnaf1TDsIkFLrmmFTjWfb6pQ=",
"owner": "nix-community",
"repo": "authentik-nix",
"rev": "04db807ac00ba6d62808ffab18b3b6d500b6f7cb",
"rev": "69fac057b2e553ee17c9a09b822d735823d65a6c",
"type": "github"
},
"original": {
@ -32,16 +32,16 @@
"authentik-src": {
"flake": false,
"locked": {
"lastModified": 1755873658,
"narHash": "sha256-5l1g55b0xozGg0NaZFimiO5JbHGcudaNSEn1/XsweaU=",
"lastModified": 1759190535,
"narHash": "sha256-pIzDaoDWc58cY/XhsyweCwc4dfRvkaT/zqsV1gDSnCI=",
"owner": "goauthentik",
"repo": "authentik",
"rev": "dd7c6b29d950664deadbcf5390272619a8bf9a5e",
"rev": "8d3a289d12c7de2f244c76493af7880f70d08af2",
"type": "github"
},
"original": {
"owner": "goauthentik",
"ref": "version/2025.8.1",
"ref": "version/2025.8.4",
"repo": "authentik",
"type": "github"
}
@ -67,11 +67,11 @@
"nixpkgs-lib": "nixpkgs-lib"
},
"locked": {
"lastModified": 1754487366,
"narHash": "sha256-pHYj8gUBapuUzKV/kN/tR3Zvqc7o6gdFB9XKXIp1SQ8=",
"lastModified": 1756770412,
"narHash": "sha256-+uWLQZccFHwqpGqr2Yt5VsW/PbeJVTn9Dk6SHWhNRPw=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "af66ad14b28a127c5c0f3bbb298218fc63528a18",
"rev": "4524271976b625a4a605beefd893f270620fd751",
"type": "github"
},
"original": {
@ -216,11 +216,11 @@
]
},
"locked": {
"lastModified": 1757808926,
"narHash": "sha256-K6PEI5PYY94TVMH0mX3MbZNYFme7oNRKml/85BpRRAo=",
"lastModified": 1758463745,
"narHash": "sha256-uhzsV0Q0I9j2y/rfweWeGif5AWe0MGrgZ/3TjpDYdGA=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "f21d9167782c086a33ad53e2311854a8f13c281e",
"rev": "3b955f5f0a942f9f60cdc9cacb7844335d0f21c3",
"type": "github"
},
"original": {
@ -345,11 +345,11 @@
},
"nixpkgs-lib": {
"locked": {
"lastModified": 1753579242,
"narHash": "sha256-zvaMGVn14/Zz8hnp4VWT9xVnhc8vuL3TStRqwk22biA=",
"lastModified": 1754788789,
"narHash": "sha256-x2rJ+Ovzq0sCMpgfgGaaqgBSwY+LST+WbZ6TytnT9Rk=",
"owner": "nix-community",
"repo": "nixpkgs.lib",
"rev": "0f36c44e01a6129be94e3ade315a5883f0228a6e",
"rev": "a73b9c743612e4244d865a2fdee11865283c04e6",
"type": "github"
},
"original": {
@ -360,11 +360,11 @@
},
"nixpkgs_2": {
"locked": {
"lastModified": 1757810152,
"narHash": "sha256-Vp9K5ol6h0J90jG7Rm4RWZsCB3x7v5VPx588TQ1dkfs=",
"lastModified": 1759580034,
"narHash": "sha256-YWo57PL7mGZU7D4WeKFMiW4ex/O6ZolUS6UNBHTZfkI=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "9a094440e02a699be5c57453a092a8baf569bdad",
"rev": "3bcc93c5f7a4b30335d31f21e2f1281cba68c318",
"type": "github"
},
"original": {
@ -376,11 +376,11 @@
},
"nixpkgs_3": {
"locked": {
"lastModified": 1757745802,
"narHash": "sha256-hLEO2TPj55KcUFUU1vgtHE9UEIOjRcH/4QbmfHNF820=",
"lastModified": 1759381078,
"narHash": "sha256-gTrEEp5gEspIcCOx9PD8kMaF1iEmfBcTbO0Jag2QhQs=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "c23193b943c6c689d70ee98ce3128239ed9e32d1",
"rev": "7df7ff7d8e00218376575f0acdcc5d66741351ee",
"type": "github"
},
"original": {
@ -396,11 +396,11 @@
"nixpkgs": "nixpkgs_3"
},
"locked": {
"lastModified": 1757879066,
"narHash": "sha256-EHZWQe3a04DvOlUR2j7LwGCaGqYTStYExpstYezfq3c=",
"lastModified": 1759682435,
"narHash": "sha256-bPh7JZnT7WydN4E1kVLq1l87NlzuD2pz1GYwvYSWo1U=",
"owner": "nix-community",
"repo": "NUR",
"rev": "087c74cd9cc63e44dd20f1dcc5cdb4e5fddc9e14",
"rev": "ba4952df76bc6179d0bb3b9e7b4ff8517cfec870",
"type": "github"
},
"original": {
@ -425,11 +425,11 @@
]
},
"locked": {
"lastModified": 1756087852,
"narHash": "sha256-4jc3JDQt75fYXFrglgqyzF6C6zLU0QGLymzian4aP+U=",
"lastModified": 1757296493,
"narHash": "sha256-6nzSZl28IwH2Vx8YSmd3t6TREHpDbKlDPK+dq1LKIZQ=",
"owner": "pyproject-nix",
"repo": "build-system-pkgs",
"rev": "6edb3ae27395cd88be3d64b732d1539957dad59c",
"rev": "5b8e37fe0077db5c1df3a5ee90a651345f085d38",
"type": "github"
},
"original": {
@ -446,11 +446,11 @@
]
},
"locked": {
"lastModified": 1756395552,
"narHash": "sha256-5aJM14MpoLk2cdZAetu60OkLQrtFLWTICAyn1EP7ZpM=",
"lastModified": 1757246327,
"narHash": "sha256-6pNlGhwOIMfhe/RLjHdpXveKS4FyLHvlGe+KtjDild4=",
"owner": "pyproject-nix",
"repo": "pyproject.nix",
"rev": "030dffc235dcf240d918c651c78dc5f158067b51",
"rev": "8d77f342d66ad1601cdb9d97e9388b69f64d4c8e",
"type": "github"
},
"original": {
@ -570,11 +570,11 @@
},
"unstable": {
"locked": {
"lastModified": 1757745802,
"narHash": "sha256-hLEO2TPj55KcUFUU1vgtHE9UEIOjRcH/4QbmfHNF820=",
"lastModified": 1759381078,
"narHash": "sha256-gTrEEp5gEspIcCOx9PD8kMaF1iEmfBcTbO0Jag2QhQs=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "c23193b943c6c689d70ee98ce3128239ed9e32d1",
"rev": "7df7ff7d8e00218376575f0acdcc5d66741351ee",
"type": "github"
},
"original": {
@ -596,11 +596,11 @@
]
},
"locked": {
"lastModified": 1756466761,
"narHash": "sha256-ALXRHIMXQ4qVNfCbcWykC23MjMwUoHn9BreoBfqmq0Y=",
"lastModified": 1757925761,
"narHash": "sha256-7Hwz0vfHuFqCo5v7Q07GQgLBWuPvZCuf/5/pk4NoADg=",
"owner": "pyproject-nix",
"repo": "uv2nix",
"rev": "0529e6d8227517205afcd1b37eee3088db745730",
"rev": "780494c40895bb7419a73d942bee326291e80b3b",
"type": "github"
},
"original": {
@ -611,11 +611,11 @@
},
"vpsadminos": {
"locked": {
"lastModified": 1755964485,
"narHash": "sha256-+YzznL/mHiSjDFC8vJsSgQ+pvjhqWMsLRjegEKSNv/4=",
"lastModified": 1759490618,
"narHash": "sha256-H0FC6QbxgEE79pXwlPVvWUNenQOTMldzlWSij5pPyMk=",
"owner": "vpsfreecz",
"repo": "vpsadminos",
"rev": "20f55b1d9bee4fdab62494d4471854d6586d3637",
"rev": "087b340cc897083a31defafd6a6f1c66e5bf48eb",
"type": "github"
},
"original": {

View file

@ -46,6 +46,7 @@ in {
man-pages
man-pages-posix
nmap
p7zip
pv
ripgrep
tree

View file

@ -44,6 +44,13 @@ in {
zola
];
trivium = {
waybar = {
enable = true;
fontFamily = "JetBrainsMono Nerd Font";
};
};
local = {
baseline.enable = true;

View file

@ -51,7 +51,6 @@ in {
./fonts.nix
./theme.nix
./sway.nix
./waybar.nix
./mako.nix
];

View file

@ -1,200 +0,0 @@
{
config,
lib,
pkgs,
...
}:
with lib; let
cfg = config.local.gui;
laptop = config.local.defaultDesktopPack.laptop;
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;
}
'';
};
};
}

View file

@ -0,0 +1,13 @@
{
config,
lib,
pkgs,
doctrine,
...
}:
doctrine.lib.mkModule {
inherit config;
name = "waybar";
hm = ./hm.nix;
options = ./options.nix;
}

View file

@ -0,0 +1,207 @@
{
lib,
pkgs,
cfg,
doctrine,
...
}:
with lib; {
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"
"idle_inhibitor"
"cpu"
"memory"
"disk"
"temperature"
"tray"
]
++ lists.optionals cfg.battery [
"battery"
];
battery = mkIf cfg.battery {
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 = "";
};
};
idle_inhibitor = {
format = "{icon}";
format-icons = {
activated = " ";
deactivated = " ";
};
};
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;
};
temperature = {
format = " {temperatureC}°C";
};
privacy = {
icon-size = 12;
};
};
};
style = ''
* {
font-family: "${cfg.fontFamily}", monospace;
font-size: ${cfg.fontSize};
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;
}
'';
};
}

View file

@ -0,0 +1,23 @@
{lib, ...}:
with lib.types; {
hm = {
battery = lib.mkOption {
type = bool;
default = false;
description = ''
`true` to display battery info
'';
};
fontFamily = lib.mkOption {
type = str;
example = "JetBrainsMono Nerd Font";
description = ''
needs to be a nerdfont
'';
};
fontSize = lib.mkOption {
type = str;
default = "12px";
};
};
}