working on waybar

This commit is contained in:
2026-03-11 19:53:29 +01:00
parent 5830793d0c
commit 47895c3562
3 changed files with 426 additions and 390 deletions
+370 -358
View File
File diff suppressed because it is too large Load Diff
+28 -16
View File
@@ -888,29 +888,41 @@ This file installs and configures waybar
{ lib, pkgs, config, ... }: { lib, pkgs, config, ... }:
let let
cfg = config.programs.waybar;
waybar-config = builtins.readFile ./assets/system/conf/config; waybar-config = builtins.readFile ./assets/system/conf/config;
waybar-style = builtins.readFile ./assets/system/conf/style.css; waybar-style = builtins.readFile ./assets/system/conf/style.css;
in in
{ {
waybar.enable = true; options.programs.waybar = {
enable = lib.mkEnableOption "Waybar";
systemd.user.services.waybar = { package = lib.mkOption {
description = "Waybar (status bar for Wayland)"; type = lib.types.package;
wantedBy = [ "graphical-session.target" ]; default = pkgs.waybar;
after = [ "graphical-session.target" ]; description = "Waybar package to use.";
serviceConfig = {
ExecStart = with pkgs; "${waybar}/bin/waybar -c ${./assets/system/conf/config} -s ${./assets/system/conf/style.css}";
Restart = "on-failure";
RestartSec = "5s";
}; };
}; };
# Create the required directories and files config = lib.mkIf cfg.enable {
system.activationScripts.waybarSetup = '' environment.systemPackages = [ cfg.package ];
mkdir -p /home/${config.users.users.${config.nixpkgs.config.permittedUsers[0]}.name}/.config/waybar
ln -sf ${./assets/system/conf/config} /home/${config.users.users.${config.nixpkgs.config.permittedUsers[0]}.name}/.config/waybar/config systemd.user.services.waybar = {
ln -sf ${./assets/system/conf/style.css} /home/${config.users.users.${config.nixpkgs.config.permittedUsers[0]}.name}/.config/waybar/style.css description = "Waybar (status bar for Wayland)";
''; wantedBy = [ "graphical-session.target" ];
after = [ "graphical-session.target" ];
serviceConfig = {
ExecStart = "${cfg.package}/bin/waybar -c ${./assets/system/conf/config} -s ${./assets/system/conf/style.css}";
Restart = "on-failure";
RestartSec = "5s";
};
};
# Create symlinks for config and style
system.activationScripts.waybarSetup = lib.mkAfter ''
mkdir -p /home/${config.users.users.${config.nixpkgs.config.permittedUsers[0]}.name}/.config/waybar
ln -sf ${./assets/system/conf/config} /home/${config.users.users.${config.nixpkgs.config.permittedUsers[0]}.name}/.config/waybar/config
ln -sf ${./assets/system/conf/style.css} /home/${config.users.users.${config.nixpkgs.config.permittedUsers[0]}.name}/.config/waybar/style.css
'';
};
} }
#+END_SRC #+END_SRC
+28 -16
View File
@@ -1,27 +1,39 @@
{ lib, pkgs, config, ... }: { lib, pkgs, config, ... }:
let let
cfg = config.programs.waybar;
waybar-config = builtins.readFile ./assets/system/conf/config; waybar-config = builtins.readFile ./assets/system/conf/config;
waybar-style = builtins.readFile ./assets/system/conf/style.css; waybar-style = builtins.readFile ./assets/system/conf/style.css;
in in
{ {
waybar.enable = true; options.programs.waybar = {
enable = lib.mkEnableOption "Waybar";
systemd.user.services.waybar = { package = lib.mkOption {
description = "Waybar (status bar for Wayland)"; type = lib.types.package;
wantedBy = [ "graphical-session.target" ]; default = pkgs.waybar;
after = [ "graphical-session.target" ]; description = "Waybar package to use.";
serviceConfig = {
ExecStart = with pkgs; "${waybar}/bin/waybar -c ${./assets/system/conf/config} -s ${./assets/system/conf/style.css}";
Restart = "on-failure";
RestartSec = "5s";
}; };
}; };
# Create the required directories and files config = lib.mkIf cfg.enable {
system.activationScripts.waybarSetup = '' environment.systemPackages = [ cfg.package ];
mkdir -p /home/${config.users.users.${config.nixpkgs.config.permittedUsers[0]}.name}/.config/waybar
ln -sf ${./assets/system/conf/config} /home/${config.users.users.${config.nixpkgs.config.permittedUsers[0]}.name}/.config/waybar/config systemd.user.services.waybar = {
ln -sf ${./assets/system/conf/style.css} /home/${config.users.users.${config.nixpkgs.config.permittedUsers[0]}.name}/.config/waybar/style.css description = "Waybar (status bar for Wayland)";
''; wantedBy = [ "graphical-session.target" ];
after = [ "graphical-session.target" ];
serviceConfig = {
ExecStart = "${cfg.package}/bin/waybar -c ${./assets/system/conf/config} -s ${./assets/system/conf/style.css}";
Restart = "on-failure";
RestartSec = "5s";
};
};
# Create symlinks for config and style
system.activationScripts.waybarSetup = lib.mkAfter ''
mkdir -p /home/${config.users.users.${config.nixpkgs.config.permittedUsers[0]}.name}/.config/waybar
ln -sf ${./assets/system/conf/config} /home/${config.users.users.${config.nixpkgs.config.permittedUsers[0]}.name}/.config/waybar/config
ln -sf ${./assets/system/conf/style.css} /home/${config.users.users.${config.nixpkgs.config.permittedUsers[0]}.name}/.config/waybar/style.css
'';
};
} }