feat(desktop): move status-bar config to homes and use home-manager modules

This commit is contained in:
Mohammad Rafiq 2025-06-14 15:30:42 +08:00
parent d09d6d37d7
commit 2369c0d37e
No known key found for this signature in database
7 changed files with 75 additions and 64 deletions

View file

@ -27,7 +27,16 @@ let
in
{
config = mkMerge [
(mkIf osConfig.desktop.enable (import ./desktop { inherit lib inputs system; }))
(mkIf osConfig.desktop.enable (
import ./desktop {
inherit
lib
inputs
system
pkgs
;
}
))
(mkIf osConfig.desktop.enable {
home.persistence."/persist/home/rafiq".directories = [
"docs"

View file

@ -1,4 +1,5 @@
{
pkgs,
lib,
inputs,
system,
@ -12,4 +13,5 @@ mkMerge [
(import ./lockscreen.nix)
(import ./launcher.nix)
(import ./media-player.nix)
(import ./status-bar.nix { inherit pkgs; })
]

View file

@ -0,0 +1,50 @@
{ pkgs, ... }:
{
home.sessionVariables.STATUS_BAR = "waybar";
programs.waybar = {
settings = [
{
layer = "top";
modules-left = [
"pulseaudio"
];
modules-right = [
"battery"
"clock"
];
"pulseaudio" = {
format = "{icon} {volume}%";
format-muted = "";
format-icons.default = [
""
""
];
on-click = "${pkgs.pulseaudio}/bin/pactl set-sink-mute @DEFAULT_SINK@ toggle";
};
"clock" = {
interval = 1;
format = "{:%F %T}";
};
"battery" = {
interval = 1;
bat-compatibility = true;
};
}
];
style = # css
''
window#waybar {
background-color: rgba(0, 0, 0, 0);
}
#pulseaudio,
#battery,
#clock {
padding-top: 5px;
padding-bottom: 5px;
padding-right: 5px;
color: #ffffff;
}
'';
};
}

View file

@ -1,61 +0,0 @@
{
pkgs,
config,
lib,
osConfig,
...
}:
{
config = lib.mkMerge [
(lib.mkIf (osConfig.desktop.status-bar == "waybar") {
home.sessionVariables.STATUS_BAR = "waybar";
programs.waybar = {
enable = true;
settings = [
{
layer = "top";
modules-left = [
"pulseaudio"
];
modules-right = [
"battery"
"clock"
];
"pulseaudio" = {
format = "{icon} {volume}%";
format-muted = "";
format-icons.default = [
""
""
];
on-click = "${pkgs.pulseaudio}/bin/pactl set-sink-mute @DEFAULT_SINK@ toggle";
};
"clock" = {
interval = 1;
format = "{:%F %T}";
};
"battery" = {
interval = 1;
bat-compatibility = true;
};
}
];
style = # css
''
window#waybar {
background-color: rgba(0, 0, 0, 0);
}
#pulseaudio,
#battery,
#clock {
padding-top: 5px;
padding-bottom: 5px;
padding-right: 5px;
color: #ffffff;
}
'';
};
})
];
}

View file

@ -23,7 +23,6 @@ in
};
windowManager = lib.pantheon.mkStrOption;
terminal = lib.pantheon.mkStrOption;
status-bar = lib.pantheon.mkStrOption;
enableSpotifyd = lib.mkEnableOption "";
enableSteam = lib.mkEnableOption "";
enableVR = lib.mkEnableOption "";

View file

@ -0,0 +1,12 @@
{ config, lib, ... }:
let
inherit (lib) mkEnableOption singleton;
cfg = config.desktop.status-bar;
in
{
options.desktop.status-bar = {
waybar.enable = mkEnableOption "";
};
config.home-manager.sharedModules = singleton { programs.waybar.enable = cfg.waybar.enable; };
}

View file

@ -6,9 +6,9 @@
launcher.fuzzel.enable = true;
media-player.vlc.enable = true;
notification-daemon.mako.enable = true;
status-bar.waybar.enable = true;
windowManager = "hyprland";
terminal = "ghostty";
status-bar = "waybar";
mainMonitor = {
id = "desc:OOO AN-270W04K";
scale = "2";