Files
nixos/Droidnix/generated/modules/traveldroid/desktop/waybar.nix
T
2026-03-27 14:27:49 +00:00

45 lines
1.2 KiB
Nix

{ lib, config, pkgs, flakeRoot, ... }:
let
# Use the config option defaultUser directly, fallback to "henrov"
username = config.defaultUser or "henrov";
assetPath = "${flakeRoot}/generated/.config/waybar";
in
{
# Install Waybar system-wide
environment.systemPackages = [ pkgs.waybar ];
# Use flake-safe Home Manager user definition
_module.args.hmUsers = {
${username} = {
home.file = {
".config/waybar/config" = {
source = "${assetPath}/config";
force = true; # overwrite existing
};
".config/waybar/style.css" = {
source = "${assetPath}/style.css";
force = true; # overwrite existing
};
};
};
};
# Systemd user service for Waybar
systemd.user.services.waybar = {
description = "Waybar for Hyprland";
after = [ "graphical-session.target" ];
serviceConfig = {
ExecStart = "${pkgs.waybar}/bin/waybar";
Restart = "always";
Environment = ''
WAYLAND_DISPLAY=${config.environment.sessionVariables.WAYLAND_DISPLAY or "wayland-0"}
XDG_CURRENT_DESKTOP=Hyprland
'';
};
wantedBy = [ "default.target" ];
};
}