Files
nixos/Droidnix/generated/modules/traveldroid/desktop/waybar.nix
T
2026-03-25 21:24:20 +00:00

46 lines
1.2 KiB
Nix

{ lib, config, pkgs, flakeRoot, ... }:
let
assetPath = "${flakeRoot}/assets/system/conf/waybar";
# Pick a normal user safely
username =
builtins.head (builtins.filter (u: config.users.users.${u}.isNormalUser != false)
(builtins.attrNames config.users.users));
in
{
# Install Waybar globally
environment.systemPackages = [ pkgs.waybar ];
##############################
# Home Manager: only define the user entries we want
##############################
home-manager.users = {
${username} = {
home.file = {
".config/waybar/config" = { source = "${assetPath}/config"; };
".config/waybar/style.css" = { source = "${assetPath}/style.css"; };
};
};
};
##############################
# Systemd user service
##############################
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" ];
};
}