Tristan Daniël Maat
1f0c70f1c2
This is an initial configuration to restore old services. Obviously, vendoring everything in a tarball is pretty awful, and if I ever wanted to open source this, that would be a problem. I intend to create a proper derivation in time, but including mods is difficult from some initial experimentation.
69 lines
1.3 KiB
Nix
69 lines
1.3 KiB
Nix
{ config, pkgs, ... }:
|
|
|
|
{
|
|
imports = [
|
|
./hardware-configuration.nix
|
|
./linode.nix
|
|
<nixpkgs/nixos/modules/profiles/headless.nix>
|
|
|
|
./modules/networked-docker-containers.nix
|
|
|
|
# FIXME: It'd be much nicer if these were imported further down,
|
|
# and set inside the docker-containers set, instead of setting the
|
|
# docker-containers set here.
|
|
./services/nginx.nix
|
|
./services/gitea.nix
|
|
./services/nextcloud.nix
|
|
./services/tlaternet.nix
|
|
./services/minecraft.nix
|
|
];
|
|
|
|
networking = {
|
|
hostName = "tlaternet";
|
|
|
|
usePredictableInterfaceNames = false;
|
|
# useDHCP is deprecated
|
|
useDHCP = false;
|
|
interfaces.eth0.useDHCP = true;
|
|
|
|
firewall = {
|
|
enable = true;
|
|
allowedTCPPorts = [
|
|
80
|
|
443
|
|
2222
|
|
2221
|
|
25565
|
|
];
|
|
};
|
|
};
|
|
|
|
time.timeZone = "Europe/London";
|
|
|
|
users.users = {
|
|
tlater = {
|
|
isNormalUser = true;
|
|
extraGroups = [ "wheel" "docker" ];
|
|
openssh.authorizedKeys.keyFiles = [ ./keys/tlater.pub ];
|
|
};
|
|
};
|
|
|
|
services = {
|
|
openssh = {
|
|
enable = true;
|
|
allowSFTP = false;
|
|
passwordAuthentication = false;
|
|
permitRootLogin = "no";
|
|
ports = [ 2222 ];
|
|
startWhenNeeded = true;
|
|
};
|
|
};
|
|
|
|
virtualisation.docker = {
|
|
enable = true;
|
|
autoPrune.enable = true;
|
|
};
|
|
|
|
system.stateVersion = "19.09";
|
|
}
|