den
1{
2 lib,
3 den,
4 ...
5}: {
6 den.aspects.pardofelis.provides.ssh = {user, ...}: {
7 nixos = {config, ...}: {
8 vaultix.templates.ssh-host-pardofelis = {
9 content = ''
10 HostName ${config.vaultix.placeholder.hosts-pardofelis-ipv4}
11 '';
12 owner = user.userName;
13 };
14
15 vaultix.secrets.hosts-pardofelis-ipv4.file = ./ipv4.age;
16 };
17
18 homeManager = {osConfig, ...}: {
19 programs.ssh.extraConfig = ''
20 Host pardofelis
21 Port ${toString (lib.elemAt den.hosts.x86_64-linux.pardofelis.sshPorts 0)}
22 Include ${osConfig.vaultix.templates."ssh-host-pardofelis".path}
23 '';
24 };
25 };
26}