From e8c6f48bec470acfd96349c28dbe1de24b9560d6 Mon Sep 17 00:00:00 2001 From: Zynh Ludwig Date: Thu, 1 Aug 2024 01:48:41 -0700 Subject: [PATCH] extract service.nix --- module.nix | 20 ++------------------ service.nix | 26 ++++++++++++++++++++++++++ 2 files changed, 28 insertions(+), 18 deletions(-) create mode 100644 service.nix diff --git a/module.nix b/module.nix index 2d8c4a8..56da316 100644 --- a/module.nix +++ b/module.nix @@ -8,7 +8,7 @@ let inherit (lib.strings) concatStringsSep; inherit (lib.attrsets) mapAttrsToList; - inherit (pkgs) writeShellScriptBin writeText; + inherit (pkgs) writeText; in { options.${service} = { @@ -30,23 +30,7 @@ in # /nix/store/pxd7wc8icz577hpl6pmz02b74nhbrj6h-unit-home-manager-ravenshade.service/home-manager-ravenshade.service config = mkIf cfg.enable { - systemd.user.services.${service} = { - Unit.Description = "${service} service"; - Service = { - Type = "exec"; - ExecStart = - let - execName = service; - script = writeShellScriptBin execName '' - echo "hello!" - echo "${config.repo-clone.pkg}" - ''; - in - "${script}/bin/${execName}"; - RemainAfterExit = "yes"; - }; - Install.WantedBy = [ "multi-user.target" ]; - }; + systemd.user.services.${service} = import ./service.nix { inherit service pkgs config; }; repo-clone.pkg = writeText "${service}.conf" (concatStringsSep "\n" diff --git a/service.nix b/service.nix new file mode 100644 index 0000000..57a9773 --- /dev/null +++ b/service.nix @@ -0,0 +1,26 @@ +{ config, service, pkgs }: + +let + inherit (pkgs) + writeShellScriptBin; +in +{ + Unit = { + Description = "${service} service"; + X-Restart-Triggers = [ "${config.repo-clone.pkg}" ]; + }; + Service = { + Type = "exec"; + ExecStart = + let + execName = service; + script = writeShellScriptBin execName '' + echo "hello!" + echo "${config.repo-clone.pkg}" + ''; + in + "${script}/bin/${execName}"; + RemainAfterExit = "yes"; + }; + Install.WantedBy = [ "multi-user.target" ]; +}