system/hosts/smrk.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 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 | {
config,
lib,
pkgs,
...
}:
let
hostname = "smrk";
domain = "alin.ovh";
in
{
imports = [
../roles/server.nix
../roles/ci.nix
../roles/reverse-proxy.nix
../roles/forgejo-runner.nix
];
system.stateVersion = "25.11";
environment.homeBinInPath = true;
environment.localBinInPath = true;
environment.systemPackages = with pkgs; [
cifs-utils
lsof
pdns
litecli
knot-dns
nixpkgs-review
nix-output-monitor
];
networking = {
hostName = hostname;
domain = domain;
nameservers = [
"2606:4700:4700::1111"
"2606:4700:4700::1001"
"1.1.1.1"
"1.0.0.1"
];
firewall = {
enable = true;
allowPing = true;
pingLimit = "--limit 60/minute --limit-burst 30";
logRefusedConnections = false;
allowedTCPPorts = [
22
80
443
];
allowedUDPPorts = [
443
];
};
};
nix = {
settings = {
max-jobs = 4;
};
gc = {
dates = "08:15";
};
optimise = {
automatic = true;
dates = [ "02:30" ];
};
};
users.users.root = {
openssh.authorizedKeys.keys = [
"ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBHYUyDdw92TNXguAxcmcmZmn/7ECGdRp6ckjxU+5zCw3BCnsS5+xEvHBVnnFdJRoH2XpfMeJjE+fi67zFVhlbn4= root@secretive.marvin"
];
};
users.users.alin = {
extraGroups = [
"wheel"
"caddy"
"docker"
"podman"
"laminar"
];
isNormalUser = true;
home = "/home/alin";
createHome = true;
openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFp1R7ls50vzyCx8pZAwGepQUuos0ogewkIioiW1uMup alin@prefect"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAII8VIII+598QOBxi/52O1Kb19RdUdX0aZmS1/dNoyqc5 alan@hetzner.strongbox"
"ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBENXbdPPOq0mA+9bPklpUkikvIXjCEKE5IRwNPNMr5/Ta1J/ND737fexCjEb7YPoAJtaf0gD/JThQQi/RxDTvy4= alin@alin.ovh"
];
};
users.users.nixremote = {
shell = "/bin/sh";
isNormalUser = true;
home = "/var/lib/nixremote/";
createHome = true;
openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPKGzXGgFm/4Da2KNl1wb7TC2YOu/baP/2eFVBaJY0Wq root@marvin"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIy9jFioBvV0JA0lc+De2N+vDOABGHgCECW6vkD33CE4 sourcehut"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIII7sWEwsm8JZiJ0LUnjSt0Kg1RXypG6p5AzP/R2n5ca actions@github.com"
];
};
programs.git = {
enable = true;
package = pkgs.gitMinimal;
config = {
advice = {
detachedHead = false;
mergeConflict = false;
};
};
};
services.syncthing = {
enable = true;
dataDir = "/var/lib/syncthing";
configDir = "/var/lib/syncthing";
guiAddress = "[::]:8384";
openDefaultPorts = true;
overrideDevices = false;
overrideFolders = false;
};
}
|