system/roles/ci-runner.nix (view raw)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | {
config,
pkgs,
...
}:
{
services.logind.settings.Login = {
IdleAction = "poweroff";
IdleActionSec = "1 hour";
StopIdleSessionSec = "15 min";
};
services.openssh.startWhenNeeded = true;
systemd.services."ssh-inhibit-idle@" = {
bindsTo = [ "sshd@%i.service" ];
wantedBy = [ "sshd@.service" ];
serviceConfig.ExecStart = ''
${pkgs.systemd}/bin/systemd-inhibit \
--mode block --what idle \
--who 'ssh session '%I \
--why 'session still active' \
${pkgs.coreutils}/bin/sleep infinity
'';
};
users.groups.laminar = { };
users.users.laminar = {
group = "laminar";
home = "/var/lib/laminar";
isNormalUser = true;
createHome = true;
packages = with pkgs; [
fish
bash
gnutar
bzip2
gzip
config.programs.git.package
cached-nix-shell
nix
nix-build-uncached
config.programs.ssh.package
laminar
moreutils
flock
just
rsync
go
];
openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHeFYWByDp3lurxzYbQPiMJfHcFEDUdj3TAu5ib2Sv1A laminar@smrk.alin.ovh"
];
};
}
|