system/hosts/marvin.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 | {
config,
pkgs,
...
}:
let
tsnet = "fin-marlin.ts.net";
in
{
imports = [
../settings/darwin.nix
../settings/dev.nix
../settings/programs/shell.nix
../settings/programs/base.nix
];
local.web = {
enable = true;
projectRoot = "/Users/alan/projects";
};
system.primaryUser = "alan";
system.primaryUserHome = "/Users/alan";
users.users."${config.system.primaryUser}".openssh.authorizedKeys.keys = [
"ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBJVREjPey2TOIPzfYJoG9yIR4Rui7tNJK2QIKa+pbgsyXg31hhPIw37LRRIic+l53mW8eahHxX3Y1IeTjcMw8IU= alan@marvin"
];
services.openssh.extraConfig = ''
PermitUserEnvironment yes
AcceptEnv TERM_PROGRAM
'';
networking = {
hostName = "marvin";
localHostName = "Paranoid-Android";
};
services.caddy = {
user = "root";
group = "wheel";
virtualHosts = {
"${config.networking.hostName}.${tsnet}" = {
logFormat = "output discard";
extraConfig = ''
reverse_proxy http://localhost:1234 {
transport http {
dial_timeout 1s
compression off
}
}
'';
};
};
};
services.redis = {
enable = true;
bind = "127.0.0.1 ::1";
extraConfig = ''
save ""
'';
};
services.tailscale = {
enable = true;
};
environment.etc."resolver/ts.net".text = ''
nameserver fd7a:115c:a1e0::53
'';
environment.etc."resolver/home.arpa".text = ''
nameserver fe80::3e7c:3fff:fe31:3e40
nameserver fd7a:115c:a1e0::53
'';
environment.shells = with pkgs; [
fish
"/Users/alan/.local/state/nix/profile/bin/fish"
];
environment.variables.LANG = "en_GB.UTF-8";
# Used for backwards compatibility, please read the changelog before changing.
# $ darwin-rebuild changelog
system.stateVersion = 4;
ids.gids.nixbld = 350;
# You should generally set this to the total number of logical cores in your system.
# $ sysctl -n hw.ncpu
nix.settings = {
max-jobs = 4;
cores = 8;
};
nix = {
distributedBuilds = true;
buildMachines = [
{
protocol = "ssh-ng";
sshUser = "nixremote";
hostName = "linde";
system = "aarch64-linux";
maxJobs = 2;
speedFactor = 1;
supportedFeatures = [ "kvm" ];
}
];
};
nix.linux-builder = {
enable = false;
systems = [
"x86_64-linux"
"aarch64-linux"
];
speedFactor = 8;
};
nix-rosetta-builder = {
enable = false;
memory = "32GiB";
onDemand = true;
onDemandLingerMinutes = 180;
};
}
|