mirror of
https://github.com/nix-community/home-manager.git
synced 2025-03-10 18:57:22 +00:00
50 lines
1.3 KiB
Nix
50 lines
1.3 KiB
Nix
|
{ config, ... }:
|
||
|
|
||
|
{
|
||
|
services.yubikey-agent = {
|
||
|
enable = true;
|
||
|
package = config.lib.test.mkStubPackage { outPath = "@yubikey-agent@"; };
|
||
|
};
|
||
|
|
||
|
nmt.script = ''
|
||
|
serviceFile=home-files/.config/systemd/user/yubikey-agent.service
|
||
|
socketFile=home-files/.config/systemd/user/yubikey-agent.socket
|
||
|
|
||
|
assertFileExists $serviceFile
|
||
|
assertFileExists $socketFile
|
||
|
|
||
|
assertFileContent $serviceFile ${
|
||
|
builtins.toFile "expected-service" ''
|
||
|
[Service]
|
||
|
ExecStart=@yubikey-agent@/bin/yubikey-agent -l %t/yubikey-agent/yubikey-agent.sock
|
||
|
ReadWritePaths=%t
|
||
|
Type=simple
|
||
|
|
||
|
[Unit]
|
||
|
After=yubikey-agent.socket
|
||
|
Description=Seamless ssh-agent for YubiKeys
|
||
|
Documentation=https://github.com/FiloSottile/yubikey-agent
|
||
|
RefuseManualStart=true
|
||
|
Requires=yubikey-agent.socket
|
||
|
''
|
||
|
}
|
||
|
|
||
|
assertFileContent $socketFile ${
|
||
|
builtins.toFile "expected-socket" ''
|
||
|
[Install]
|
||
|
WantedBy=sockets.target
|
||
|
|
||
|
[Socket]
|
||
|
DirectoryMode=0700
|
||
|
ListenStream=%t/yubikey-agent/yubikey-agent.sock
|
||
|
RuntimeDirectory=yubikey-agent
|
||
|
SocketMode=0600
|
||
|
|
||
|
[Unit]
|
||
|
Description=Unix domain socket for Yubikey SSH agent
|
||
|
Documentation=https://github.com/FiloSottile/yubikey-agent
|
||
|
''
|
||
|
}
|
||
|
'';
|
||
|
}
|