{ lib, pkgs, config, flakeRoot, ... }: let username = "henrov"; waybar-config = pkgs.writeText "waybar-config" (builtins.readFile (flakeRoot + "/assets/system/conf/waybar/config")); waybar-style = pkgs.writeText "waybar-style" (builtins.readFile (flakeRoot + "/assets/system/conf/waybar/style.css")); in { programs.waybar = { enable = true; package = pkgs.waybar; }; systemd.user.services.waybar = { description = "Waybar (status bar for Wayland)"; wantedBy = [ "graphical-session.target" ]; after = [ "graphical-session.target" ]; serviceConfig = { Type = "simple"; ExecStart = "${config.programs.waybar.package}/bin/waybar -c ${waybar-config} -s ${waybar-style}"; Restart = "on-failure"; RestartSec = "5s"; }; }; # Create symlinks for config and style system.activationScripts.waybarSetup = lib.mkAfter '' mkdir -p /home/${username}/.config/waybar ln -sf ${waybar-config} /home/${username}/.config/waybar/config ln -sf ${waybar-style} /home/${username}/.config/waybar/style.css chown -R ${username}:users /home/${username}/.config/waybar ''; }