41 lines
1.4 KiB
Nix
Raw Normal View History

2024-01-22 16:44:51 +03:00
{ config, pkgs, inputs, ... }:
2023-06-13 23:11:47 +03:00
let
homeDir = config.home-manager.users.${config.mainuser}.home.homeDirectory;
2024-01-22 16:44:51 +03:00
token-file = config.sops.secrets.attic-token.path;
attic-config = pkgs.writeText "config.toml" ''
2023-06-13 23:11:47 +03:00
default-server = "dev"
[servers.dev]
endpoint = "https://cache.ataraxiadev.com/"
token = "@token@"
'';
2023-06-14 03:39:35 +03:00
nix-config = pkgs.writeText "netrc" ''
machine cache.ataraxiadev.com
password @token@
'';
2023-06-13 23:11:47 +03:00
in {
2023-06-14 03:39:35 +03:00
home-manager.users.${config.mainuser} = {
home.packages = [ pkgs.attic ];
nix.settings = {
substituters = config.nix.settings.substituters;
trusted-public-keys = config.nix.settings.trusted-public-keys;
2023-06-15 01:48:11 +03:00
netrc-file = "${homeDir}/.config/nix/netrc";
2023-06-14 03:39:35 +03:00
};
};
2023-06-13 23:11:47 +03:00
2024-01-22 16:44:51 +03:00
sops.secrets.attic-token.sopsFile = inputs.self.secretsDir + /misc.yaml;
sops.secrets.attic-token.restartUnits = [ "attic-config.service" ];
systemd.services.attic-config = {
2023-06-13 23:11:47 +03:00
serviceConfig.Type = "oneshot";
script = ''
token=$(cat ${token-file})
2023-06-14 03:39:35 +03:00
mkdir -p ${homeDir}/.config/{nix,attic} > /dev/null 2>&1
cp ${attic-config} ${homeDir}/.config/attic/config.toml
2023-06-14 03:39:35 +03:00
cp ${nix-config} ${homeDir}/.config/nix/netrc
sed -i "s/@token@/$token/" ${homeDir}/.config/attic/config.toml
2023-06-14 03:39:35 +03:00
sed -i "s/@token@/$token/" ${homeDir}/.config/nix/netrc
chown -R ${config.mainuser}:users ${homeDir}/.config/{attic,nix}
2023-06-13 23:11:47 +03:00
'';
wantedBy = [ "multi-user.target" ];
2023-06-13 23:11:47 +03:00
};
2023-06-15 01:48:11 +03:00
}