From 57077bc43431ca294f4ee9cd600ab0b29a3814bd Mon Sep 17 00:00:00 2001 From: r-vdp Date: Tue, 10 Sep 2024 00:24:15 +0200 Subject: [PATCH 1/2] waybar: include the systemd user unit --- pkgs/by-name/wa/waybar/package.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/wa/waybar/package.nix b/pkgs/by-name/wa/waybar/package.nix index c92d04e5a982..1195238719c5 100644 --- a/pkgs/by-name/wa/waybar/package.nix +++ b/pkgs/by-name/wa/waybar/package.nix @@ -166,13 +166,15 @@ stdenv.mkDerivation (finalAttrs: { "pulseaudio" = pulseSupport; "rfkill" = rfkillSupport; "sndio" = sndioSupport; - "systemd" = false; + "systemd" = true; "tests" = runTests; "upower_glib" = upowerSupport; "wireplumber" = wireplumberSupport; }) ++ lib.optional experimentalPatches (lib.mesonBool "experimental" true); + PKG_CONFIG_SYSTEMD_SYSTEMDUSERUNITDIR = "${placeholder "out"}/lib/systemd/user"; + postPatch = '' substituteInPlace include/util/command.hpp \ --replace-fail /bin/sh ${lib.getExe' bash "sh"} From a03d5e6f56fc83152d17a05226d230f143942da5 Mon Sep 17 00:00:00 2001 From: r-vdp Date: Tue, 10 Sep 2024 12:58:10 +0200 Subject: [PATCH 2/2] waybar: the systemd unit is coming from the package now --- nixos/modules/programs/wayland/waybar.nix | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/nixos/modules/programs/wayland/waybar.nix b/nixos/modules/programs/wayland/waybar.nix index ab811994be07..35c5cc86f3b4 100644 --- a/nixos/modules/programs/wayland/waybar.nix +++ b/nixos/modules/programs/wayland/waybar.nix @@ -1,4 +1,9 @@ -{ lib, pkgs, config, ... }: +{ + lib, + pkgs, + config, + ... +}: let cfg = config.programs.waybar; @@ -11,11 +16,9 @@ in config = lib.mkIf cfg.enable { environment.systemPackages = [ cfg.package ]; - systemd.user.services.waybar = { - description = "Waybar as systemd service"; - wantedBy = [ "graphical-session.target" ]; - partOf = [ "graphical-session.target" ]; - script = "${cfg.package}/bin/waybar"; + systemd = { + packages = [ cfg.package ]; + user.services.waybar.wantedBy = [ "graphical-session.target" ]; }; };