2021-02-18 13:50:13 +01:00
|
|
|
{ lib, config, pkgs, ... }:
|
2020-10-31 20:51:25 +01:00
|
|
|
let
|
2021-10-12 11:51:55 +02:00
|
|
|
inherit (import <niveum/lib>) kieran retiolumAddresses;
|
2020-10-31 20:51:25 +01:00
|
|
|
in
|
|
|
|
|
{
|
|
|
|
|
imports = [
|
|
|
|
|
./hardware-configuration.nix
|
2021-01-15 10:05:12 +01:00
|
|
|
<niveum/configs/hedgedoc.nix>
|
2020-10-31 20:51:25 +01:00
|
|
|
<niveum/configs/spacetime.nix>
|
|
|
|
|
<niveum/configs/sshd.nix>
|
|
|
|
|
<niveum/configs/nextcloud.nix>
|
2021-04-10 14:33:06 +02:00
|
|
|
<niveum/configs/moodle-dl/borsfaye.nix>
|
2020-10-31 20:51:25 +01:00
|
|
|
<niveum/configs/save-space.nix>
|
2021-09-18 23:54:12 +02:00
|
|
|
<niveum/configs/monitoring/pull.nix>
|
|
|
|
|
<niveum/configs/monitoring/push.nix>
|
2020-10-31 20:51:25 +01:00
|
|
|
<niveum/configs/version.nix>
|
2021-06-08 22:04:17 +02:00
|
|
|
<niveum/configs/radio>
|
2020-11-11 10:18:04 +01:00
|
|
|
<niveum/configs/gitea.nix>
|
2021-11-30 21:58:38 +01:00
|
|
|
<niveum/configs/retiolum-map.nix>
|
2021-10-12 22:03:29 +02:00
|
|
|
<niveum/configs/names.nix>
|
2021-10-18 21:14:52 +02:00
|
|
|
<niveum/configs/menstruation.nix>
|
2021-02-06 11:54:06 +01:00
|
|
|
<niveum/configs/telegram-bots>
|
2021-12-28 23:24:30 +01:00
|
|
|
<niveum/configs/nix.nix>
|
2021-02-06 13:44:38 +01:00
|
|
|
<niveum/configs/weechat.nix>
|
2021-07-08 07:52:03 +02:00
|
|
|
<niveum/configs/urlwatch.nix>
|
2020-11-18 00:07:28 +01:00
|
|
|
<niveum/configs/matterbridge.nix>
|
2021-12-15 00:10:06 +01:00
|
|
|
<niveum/configs/tarot.nix>
|
2020-10-31 20:51:25 +01:00
|
|
|
<niveum/modules/retiolum.nix>
|
|
|
|
|
];
|
|
|
|
|
|
|
|
|
|
boot.loader.grub.enable = true;
|
|
|
|
|
boot.loader.grub.version = 2;
|
|
|
|
|
|
2021-05-30 12:57:37 +02:00
|
|
|
nixpkgs.config = {
|
|
|
|
|
allowUnfree = true;
|
|
|
|
|
packageOverrides = pkgs: {
|
|
|
|
|
writeDashBin = pkgs.writers.writeDashBin;
|
|
|
|
|
writeDash = pkgs.writers.writeDash;
|
|
|
|
|
};
|
|
|
|
|
};
|
2021-01-31 10:08:09 +01:00
|
|
|
|
2020-10-31 20:51:25 +01:00
|
|
|
networking.useDHCP = false;
|
|
|
|
|
networking.interfaces.ens3.useDHCP = true;
|
|
|
|
|
|
|
|
|
|
networking.hostName = "makanek";
|
|
|
|
|
|
|
|
|
|
system.stateVersion = "20.03";
|
|
|
|
|
|
|
|
|
|
boot.loader.grub.devices = [ "/dev/sda" ];
|
|
|
|
|
|
|
|
|
|
services.openssh.enable = true;
|
|
|
|
|
|
2021-10-12 11:51:55 +02:00
|
|
|
networking.retiolum = retiolumAddresses.makanek;
|
2020-10-31 20:51:25 +01:00
|
|
|
|
|
|
|
|
environment.etc."tinc/retiolum/rsa_key.priv" = {
|
|
|
|
|
text = builtins.readFile <system-secrets/retiolum.key>;
|
|
|
|
|
mode = "400";
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
networking.firewall.allowedTCPPorts = [ 80 443 ];
|
|
|
|
|
|
|
|
|
|
services.nginx = {
|
|
|
|
|
enable = true;
|
|
|
|
|
recommendedGzipSettings = true;
|
|
|
|
|
recommendedOptimisation = true;
|
|
|
|
|
recommendedProxySettings = true;
|
|
|
|
|
recommendedTlsSettings = true;
|
|
|
|
|
|
|
|
|
|
# Only allow PFS-enabled ciphers with AES256
|
|
|
|
|
sslCiphers = "AES256+EECDH:AES256+EDH:!aNULL";
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
security.acme = {
|
|
|
|
|
acceptTerms = true;
|
|
|
|
|
email = kieran.email;
|
|
|
|
|
};
|
|
|
|
|
|
2021-05-18 19:55:19 +02:00
|
|
|
environment.systemPackages = [ pkgs.vim pkgs.git pkgs.tmux pkgs.python3Packages.python ];
|
2020-10-31 20:51:25 +01:00
|
|
|
}
|