57 lines
1.5 KiB
Nix
57 lines
1.5 KiB
Nix
{ modulesPath, config, lib, ... }: {
|
|
imports = [
|
|
(modulesPath + "/installer/scan/not-detected.nix")
|
|
(modulesPath + "/virtualisation/digital-ocean-config.nix")
|
|
../common-nixos-config.nix
|
|
./nginx.nix
|
|
./sops.nix
|
|
./dovecot.nix
|
|
./mail.nix
|
|
./dkim.nix
|
|
./sieve.nix
|
|
];
|
|
|
|
options = let
|
|
mkReadOnly = val: lib.options.mkOption { default = val; readOnly = true; };
|
|
in {
|
|
vacu.liam = {
|
|
shel_domains = mkReadOnly [
|
|
"shelvacu.com"
|
|
"dis8.net"
|
|
"mail.dis8.net"
|
|
"jean-luc.org"
|
|
"in.jean-luc.org"
|
|
"vacu.store"
|
|
];
|
|
julie_domains = mkReadOnly [
|
|
"violingifts.com"
|
|
"theviolincase.com"
|
|
"shop.theviolincase.com"
|
|
];
|
|
domains = mkReadOnly (config.vacu.liam.shel_domains ++ config.vacu.liam.julie_domains);
|
|
reservedIpLocal = mkReadOnly "10.46.0.7";
|
|
};
|
|
};
|
|
|
|
config = {
|
|
system.nixos.tags = [ "host-${config.networking.hostName}" ];
|
|
networking.hostName = "liam";
|
|
networking.domain = "dis8.net";
|
|
|
|
# networking.interfaces."ens3".useDHCP = false;
|
|
# from `curl -fsSL http://169.254.169.254/metadata/v1.json | jq '.interfaces.public[0].anchor_ipv4'`
|
|
# {
|
|
# "ip_address": "10.46.0.7",
|
|
# "netmask": "255.255.0.0",
|
|
# "gateway": "10.46.0.1"
|
|
# }
|
|
|
|
services.openssh.enable = true;
|
|
|
|
virtualisation.digitalOcean.setSshKeys = false;
|
|
|
|
users.users.root.openssh.authorizedKeys.keys = config.users.users.shelvacu.openssh.authorizedKeys.keys;
|
|
|
|
system.stateVersion = "23.11";
|
|
};
|
|
} |