From 143bb7b1d54004ca862f0e56424ecdce176fe9e1 Mon Sep 17 00:00:00 2001 From: "info@data-pro.nu" Date: Wed, 4 Mar 2026 14:19:47 +0100 Subject: [PATCH] New service for end-script.sh --- henrovnix_ok/README.org | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/henrovnix_ok/README.org b/henrovnix_ok/README.org index 3cab8f183..44b025265 100755 --- a/henrovnix_ok/README.org +++ b/henrovnix_ok/README.org @@ -858,7 +858,7 @@ I'll let the code comments explain the file here. This section describes the main system configuration for the computers that I have. Nix will look for a ~default.nix~ file if you give it a path to a folder to import. And ~default.nix~ looks as follows :- #+begin_src nix :tangle configuration/default.nix :noweb tangle :mkdirp yes - { pkgs, user, ... } : +{ pkgs, user, ... } : { imports = [ ./apps/flatpaks.nix @@ -1459,21 +1459,29 @@ The configuration is done in the home manager section. ** Setting the config #+begin_src nix :tangle configuration/end_script.nix :noweb tangle :mkdirp yes -{ config, pkgs, lib, ... }: { - systemd.user.services.endScript = lib.mkIf (builtins.pathExists ./assets/scripts/end_script.sh) { +{ lib, config, pkgs, ... }: +let + scriptPath = "${config.nixpkgs.config}/../assets/scripts/end_script.sh"; + scriptExists = lib.fileExists "${scriptPath}"; +in +{ + systemd.user.services.endScript = lib.mkIf scriptExists { description = "Run end script after Home Manager"; - wantedBy = [ "default.target" ]; - after = [ "home-manager-henrov.service" ]; - serviceConfig.Type = "oneshot"; + wantedBy = [ "multi-user.target" ]; + after = [ "home-manager-activate.service" ]; + serviceConfig = { + Type = "oneshot"; + WorkingDirectory = "${config.nixpkgs.config}/.."; + Environment = [ + "HOME=${config.users.users.${config.users.mutableUsersList.[0].name}.home}" + ]; + }; script = '' - ${pkgs.bash}/bin/bash -c 'cd $HOME && ${./assets/scripts/end_script.sh}' + ${scriptPath} ''; - serviceConfig.Restart = "no"; - enable = true; }; } - #+end_src ** Services