2024-10-19 01:19:59 -05:00
|
|
|
{
|
|
|
|
|
pkgs,
|
|
|
|
|
lib,
|
|
|
|
|
config,
|
|
|
|
|
...
|
|
|
|
|
}:
|
2022-04-12 02:33:46 +00:00
|
|
|
|
|
|
|
|
{
|
2024-10-03 11:26:39 -05:00
|
|
|
imports = [
|
|
|
|
|
./git.nix
|
|
|
|
|
./hardware-configuration.nix
|
|
|
|
|
./podman.nix
|
|
|
|
|
./matrix.nix
|
|
|
|
|
./nextcloud.nix
|
|
|
|
|
./nginx.nix
|
|
|
|
|
./postgres.nix
|
|
|
|
|
];
|
2024-02-07 07:43:10 +00:00
|
|
|
|
2024-10-03 11:26:39 -05:00
|
|
|
greg = {
|
|
|
|
|
home = false;
|
|
|
|
|
linode.enable = true;
|
|
|
|
|
tailscale.enable = true;
|
|
|
|
|
};
|
2024-02-07 07:43:10 +00:00
|
|
|
|
2024-10-03 11:26:39 -05:00
|
|
|
programs.ssh.extraConfig = lib.strings.concatStringsSep "\n" [
|
|
|
|
|
"Host chronicles.shire-zebra.ts.net"
|
|
|
|
|
" User backup"
|
|
|
|
|
" IdentityFile /etc/ssh/backup_ed25519"
|
|
|
|
|
" StrictHostKeyChecking no"
|
|
|
|
|
" UserKnownHostsFile /dev/null"
|
|
|
|
|
];
|
2024-02-07 07:43:10 +00:00
|
|
|
|
2024-10-03 11:26:39 -05:00
|
|
|
networking = {
|
|
|
|
|
networkmanager.enable = lib.mkForce false;
|
|
|
|
|
hostName = "linode";
|
|
|
|
|
domain = "thehellings.com";
|
2024-10-19 01:19:59 -05:00
|
|
|
nameservers = [ "100.88.91.27" ];
|
2024-10-03 11:26:39 -05:00
|
|
|
};
|
2024-02-07 07:43:10 +00:00
|
|
|
|
2024-10-03 11:26:39 -05:00
|
|
|
age.secrets.runner-deployer = {
|
|
|
|
|
file = ../../secrets/gitlab/linode-deployer-runner-reg.age;
|
|
|
|
|
owner = "gitlab-runner";
|
|
|
|
|
};
|
2024-05-01 19:46:34 +00:00
|
|
|
|
2024-10-03 11:26:39 -05:00
|
|
|
services.gitlab-runner = {
|
|
|
|
|
enable = true;
|
|
|
|
|
services.deployer = {
|
|
|
|
|
executor = "shell";
|
|
|
|
|
authenticationTokenConfigFile = config.age.secrets.runner-deployer.path;
|
|
|
|
|
};
|
|
|
|
|
};
|
2024-05-01 19:46:34 +00:00
|
|
|
|
2024-10-03 11:26:39 -05:00
|
|
|
users.users.gitlab-runner = {
|
|
|
|
|
isSystemUser = true;
|
|
|
|
|
group = "gitlab-runner";
|
|
|
|
|
};
|
|
|
|
|
users.groups.gitlab-runner = { };
|
2024-05-01 19:46:34 +00:00
|
|
|
|
2024-10-03 11:26:39 -05:00
|
|
|
systemd.services."gitlab-runner".serviceConfig = {
|
|
|
|
|
DynamicUser = lib.mkForce false;
|
|
|
|
|
User = "gitlab-runner";
|
|
|
|
|
};
|
2024-05-01 19:46:34 +00:00
|
|
|
|
2024-10-19 01:19:59 -05:00
|
|
|
security.sudo.extraRules = [
|
|
|
|
|
{
|
|
|
|
|
users = [ "gitlab-runner" ];
|
|
|
|
|
commands = [
|
|
|
|
|
{
|
|
|
|
|
command = "/run/current-system/sw/bin/systemctl";
|
|
|
|
|
options = [ "NOPASSWD" ];
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
command = "/run/current-system/sw/bin/podman";
|
|
|
|
|
options = [ "NOPASSWD" ];
|
|
|
|
|
}
|
|
|
|
|
];
|
2024-10-03 11:26:39 -05:00
|
|
|
}
|
2024-10-19 01:19:59 -05:00
|
|
|
];
|
2024-05-01 19:46:34 +00:00
|
|
|
|
2024-10-03 11:26:39 -05:00
|
|
|
environment.systemPackages = with pkgs; [
|
|
|
|
|
bind
|
|
|
|
|
graphviz
|
|
|
|
|
nix-du
|
|
|
|
|
pgloader
|
|
|
|
|
];
|
2022-04-12 02:33:46 +00:00
|
|
|
}
|