diff options
Diffstat (limited to 'home-modules')
| -rw-r--r-- | home-modules/lmu-hausschrift/default.nix | 37 |
1 files changed, 25 insertions, 12 deletions
diff --git a/home-modules/lmu-hausschrift/default.nix b/home-modules/lmu-hausschrift/default.nix index c3344947..ceaf7252 100644 --- a/home-modules/lmu-hausschrift/default.nix +++ b/home-modules/lmu-hausschrift/default.nix | |||
| @@ -24,24 +24,37 @@ with lib; | |||
| 24 | ''; | 24 | ''; |
| 25 | }; | 25 | }; |
| 26 | 26 | ||
| 27 | systemd.user.services.sops-nix = { | 27 | systemd.user.services.unpack-lmu-hausschrift = { |
| 28 | Unit = { | ||
| 29 | ConditionPathExists = [ | ||
| 30 | "!%h/.local/share/lmu-hausschrift" | ||
| 31 | "!%t/lmu-hausschrift" | ||
| 32 | ]; | ||
| 33 | }; | ||
| 34 | Unit = { | ||
| 35 | After = ["sops-nix.service"]; | ||
| 36 | }; | ||
| 37 | Install = { | ||
| 38 | WantedBy = ["sops-nix.service"]; | ||
| 39 | }; | ||
| 28 | Service = { | 40 | Service = { |
| 29 | ExecStartPost = pkgs.writeShellScript "unpack-lmu-hausschrift.sh" '' | 41 | UMask = "07077"; |
| 42 | Environment = [ | ||
| 43 | "PATH=${lib.makeBinPath (with pkgs; [gnutar coreutils])}" | ||
| 44 | ]; | ||
| 45 | ExecStart = pkgs.writeShellScript "unpack-lmu-hausschrift.sh" '' | ||
| 30 | set -xe | 46 | set -xe |
| 31 | 47 | ||
| 32 | out=''${XDG_RUNTIME_DIR:-/tmp}/lmu-hausschrift | 48 | out=''${XDG_RUNTIME_DIR:-/tmp}/lmu-hausschrift |
| 33 | src="${config.sops.secrets."lmu-hausschrift.tar.zstd".path}" | 49 | src="${config.sops.secrets."lmu-hausschrift.tar.zstd".path}" |
| 34 | src=''${src#"%r/"} | 50 | if [[ "$src" =~ ^%r ]]; then |
| 35 | src=''${XDG_RUNTIME_DIR:-/tmp}/"''${src}" | 51 | src=''${src#"%r/"} |
| 36 | 52 | src=''${XDG_RUNTIME_DIR:-/tmp}/"''${src}" | |
| 37 | umask 07077 | ||
| 38 | |||
| 39 | if [[ ! -d "''${out}" ]]; then | ||
| 40 | ${pkgs.coreutils}/bin/mkdir -p "''${out}" | ||
| 41 | ${pkgs.gnutar}/bin/tar -xaf "''${src}" -C "''${out}" | ||
| 42 | |||
| 43 | ${pkgs.coreutils}/bin/ln -sfT "''${out}" "${config.home.homeDirectory}/.local/share/lmu-hausschrift" | ||
| 44 | fi | 53 | fi |
| 54 | |||
| 55 | mkdir -p "''${out}" | ||
| 56 | tar -xaf "''${src}" -C "''${out}" | ||
| 57 | ln -sfT "''${out}" "${config.home.homeDirectory}/.local/share/lmu-hausschrift" | ||
| 45 | ''; | 58 | ''; |
| 46 | }; | 59 | }; |
| 47 | }; | 60 | }; |
