{ config, pkgs, lib, ... }: with lib; { options = { fonts.lmu-hausschrift.enable = mkEnableOption "LMU Hausschrift"; }; config = mkIf config.fonts.lmu-hausschrift.enable { sops.secrets."lmu-hausschrift.tar.zstd" = { format = "binary"; sopsFile = ./lmu-hausschrift.tar.zstd; }; xdg.configFile = { "fontconfig/conf.d/20-lmu-hausschrift.conf".text = '' ${config.home.homeDirectory}/.local/share/lmu-hausschrift ''; }; systemd.user.services.unpack-lmu-hausschrift = { Unit = { ConditionPathExists = [ "!%h/.local/share/lmu-hausschrift" "!%t/lmu-hausschrift" ]; }; Unit = { After = ["sops-nix.service"]; }; Install = { WantedBy = ["sops-nix.service"]; }; Service = { UMask = "07077"; Environment = [ "PATH=${lib.makeBinPath (with pkgs; [gnutar coreutils])}" ]; ExecStart = pkgs.writeShellScript "unpack-lmu-hausschrift.sh" '' set -xe out=''${XDG_RUNTIME_DIR:-/tmp}/lmu-hausschrift src="${config.sops.secrets."lmu-hausschrift.tar.zstd".path}" if [[ "$src" =~ ^%r ]]; then src=''${src#"%r/"} src=''${XDG_RUNTIME_DIR:-/tmp}/"''${src}" fi mkdir -p "''${out}" tar -xaf "''${src}" -C "''${out}" ln -sfT "''${out}" "${config.home.homeDirectory}/.local/share/lmu-hausschrift" ''; }; }; }; }