Regenerated
This commit is contained in:
+29
-9
@@ -812,32 +812,52 @@ in
|
|||||||
** =generated/modules/traveldroid/desktop/waybar.nix=
|
** =generated/modules/traveldroid/desktop/waybar.nix=
|
||||||
This file installs and configures waybar
|
This file installs and configures waybar
|
||||||
#+BEGIN_SRC nix :tangle generated/modules/traveldroid/desktop/waybar.nix :noweb tangle :mkdirp yes :eval never-html
|
#+BEGIN_SRC nix :tangle generated/modules/traveldroid/desktop/waybar.nix :noweb tangle :mkdirp yes :eval never-html
|
||||||
{ config, pkgs, ... }:
|
{ lib, config, pkgs, flakeRoot, home-manager, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
waybarPath = "${pkgs.waybar}/bin/waybar";
|
# Path to Waybar assets
|
||||||
|
assetPath = "${flakeRoot}/assets/system/conf/waybar";
|
||||||
|
|
||||||
# Pick the first normal user
|
# Determine the username safely
|
||||||
normalUsers = builtins.filter (u: (config.users.users.${u}.isNormalUser or false) != false) (builtins.attrNames config.users.users);
|
username =
|
||||||
myUser = if normalUsers == [] then builtins.head (builtins.attrNames config.users.users) else builtins.head normalUsers;
|
builtins.head (builtins.filter (u: config.users.users.${u}.isNormalUser != false)
|
||||||
|
(builtins.attrNames config.users.users));
|
||||||
|
|
||||||
# Compute UID safely
|
# Compute the Home Manager user map safely
|
||||||
myUid = config.users.users.${myUser}.uid;
|
hmUser = config.home-manager.users.${username} or {};
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
##############################
|
||||||
|
# System-wide Waybar package
|
||||||
|
##############################
|
||||||
environment.systemPackages = [ pkgs.waybar ];
|
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 = {
|
systemd.user.services.waybar = {
|
||||||
description = "Waybar for Hyprland";
|
description = "Waybar for Hyprland";
|
||||||
after = [ "graphical-session.target" ];
|
after = [ "graphical-session.target" ];
|
||||||
|
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
ExecStart = "${waybarPath}";
|
ExecStart = "${pkgs.waybar}/bin/waybar";
|
||||||
Restart = "always";
|
Restart = "always";
|
||||||
|
# Use the runtime dir provided by systemd, avoids null/UID issues
|
||||||
Environment = ''
|
Environment = ''
|
||||||
WAYLAND_DISPLAY=${config.environment.sessionVariables.WAYLAND_DISPLAY or "wayland-0"}
|
WAYLAND_DISPLAY=${config.environment.sessionVariables.WAYLAND_DISPLAY or "wayland-0"}
|
||||||
XDG_CURRENT_DESKTOP=Hyprland
|
XDG_CURRENT_DESKTOP=Hyprland
|
||||||
XDG_RUNTIME_DIR=/run/user/${myUid}
|
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -1,29 +1,49 @@
|
|||||||
{ config, pkgs, ... }:
|
{ lib, config, pkgs, flakeRoot, home-manager, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
waybarPath = "${pkgs.waybar}/bin/waybar";
|
# Path to Waybar assets
|
||||||
|
assetPath = "${flakeRoot}/assets/system/conf/waybar";
|
||||||
|
|
||||||
# Pick the first normal user
|
# Determine the username safely
|
||||||
normalUsers = builtins.filter (u: (config.users.users.${u}.isNormalUser or false) != false) (builtins.attrNames config.users.users);
|
username =
|
||||||
myUser = if normalUsers == [] then builtins.head (builtins.attrNames config.users.users) else builtins.head normalUsers;
|
builtins.head (builtins.filter (u: config.users.users.${u}.isNormalUser != false)
|
||||||
|
(builtins.attrNames config.users.users));
|
||||||
|
|
||||||
# Compute UID safely
|
# Compute the Home Manager user map safely
|
||||||
myUid = config.users.users.${myUser}.uid;
|
hmUser = config.home-manager.users.${username} or {};
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
##############################
|
||||||
|
# System-wide Waybar package
|
||||||
|
##############################
|
||||||
environment.systemPackages = [ pkgs.waybar ];
|
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 = {
|
systemd.user.services.waybar = {
|
||||||
description = "Waybar for Hyprland";
|
description = "Waybar for Hyprland";
|
||||||
after = [ "graphical-session.target" ];
|
after = [ "graphical-session.target" ];
|
||||||
|
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
ExecStart = "${waybarPath}";
|
ExecStart = "${pkgs.waybar}/bin/waybar";
|
||||||
Restart = "always";
|
Restart = "always";
|
||||||
|
# Use the runtime dir provided by systemd, avoids null/UID issues
|
||||||
Environment = ''
|
Environment = ''
|
||||||
WAYLAND_DISPLAY=${config.environment.sessionVariables.WAYLAND_DISPLAY or "wayland-0"}
|
WAYLAND_DISPLAY=${config.environment.sessionVariables.WAYLAND_DISPLAY or "wayland-0"}
|
||||||
XDG_CURRENT_DESKTOP=Hyprland
|
XDG_CURRENT_DESKTOP=Hyprland
|
||||||
XDG_RUNTIME_DIR=/run/user/${myUid}
|
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user