Files
nixos/Droidnix/generated/system/core/waybar.nix
T
2026-03-11 19:53:29 +01:00

40 lines
1.4 KiB
Nix

{ lib, pkgs, config, ... }:
let
cfg = config.programs.waybar;
waybar-config = builtins.readFile ./assets/system/conf/config;
waybar-style = builtins.readFile ./assets/system/conf/style.css;
in
{
options.programs.waybar = {
enable = lib.mkEnableOption "Waybar";
package = lib.mkOption {
type = lib.types.package;
default = pkgs.waybar;
description = "Waybar package to use.";
};
};
config = lib.mkIf cfg.enable {
environment.systemPackages = [ cfg.package ];
systemd.user.services.waybar = {
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
'';
};
}