Regenerated

This commit is contained in:
2026-03-25 21:14:26 +00:00
parent 6d0fe2c90e
commit b6c0c5c879
2 changed files with 58 additions and 18 deletions
@@ -1,29 +1,49 @@
{ config, pkgs, ... }:
{ lib, config, pkgs, flakeRoot, home-manager, ... }:
let
waybarPath = "${pkgs.waybar}/bin/waybar";
# Path to Waybar assets
assetPath = "${flakeRoot}/assets/system/conf/waybar";
# Pick the first normal user
normalUsers = builtins.filter (u: (config.users.users.${u}.isNormalUser or false) != false) (builtins.attrNames config.users.users);
myUser = if normalUsers == [] then builtins.head (builtins.attrNames config.users.users) else builtins.head normalUsers;
# Determine the username safely
username =
builtins.head (builtins.filter (u: config.users.users.${u}.isNormalUser != false)
(builtins.attrNames config.users.users));
# Compute UID safely
myUid = config.users.users.${myUser}.uid;
# Compute the Home Manager user map safely
hmUser = config.home-manager.users.${username} or {};
in
{
##############################
# System-wide Waybar package
##############################
environment.systemPackages = [ pkgs.waybar ];
##############################
# Home Manager Waybar config
##############################
home-manager.users = lib.recursiveUpdate config.home-manager.users {
${username} = lib.recursiveUpdate hmUser {
home.file = lib.recursiveUpdate (hmUser.home.file or {}) {
".config/waybar/config" = { source = "${assetPath}/config"; };
".config/waybar/style.css" = { source = "${assetPath}/style.css"; };
};
};
};
##############################
# Optional: Systemd --user service for Waybar
##############################
systemd.user.services.waybar = {
description = "Waybar for Hyprland";
after = [ "graphical-session.target" ];
serviceConfig = {
ExecStart = "${waybarPath}";
ExecStart = "${pkgs.waybar}/bin/waybar";
Restart = "always";
# Use the runtime dir provided by systemd, avoids null/UID issues
Environment = ''
WAYLAND_DISPLAY=${config.environment.sessionVariables.WAYLAND_DISPLAY or "wayland-0"}
XDG_CURRENT_DESKTOP=Hyprland
XDG_RUNTIME_DIR=/run/user/${myUid}
'';
};