{ config, pkgs, hostname, lib, self, ... }: let secrets = config.age.secrets; in { imports = [ ./boot.nix ./hardware.nix ./services.nix "${self}/profiles/btrfs.nix" "${self}/profiles/nas.nix" "${self}/profiles/acme.nix" "${self}/profiles/nginx.nix" "${self}/profiles/samba.nix" "${self}/profiles/backup.nix" "${self}/profiles/git-server.nix" "${self}/profiles/music-server.nix" "${self}/profiles/hardware/amd.nix" "${self}/profiles/monitoring/exporter.nix" ]; # Use systemd-networkd for networking systemd.network.enable = true; systemd.network.networks.enp42s0 = { matchConfig.Name = "enp42s0"; networkConfig.DHCP = "yes"; dhcpV4Config = { UseDNS = "yes"; UseDomains = "yes"; }; }; systemd.network.networks.enp33s0f1 = { matchConfig.Name = "enp33s0f1"; networkConfig.DHCP = "yes"; dhcpV4Config = { UseDNS = "yes"; UseDomains = "yes"; }; }; networking.useNetworkd = true; networking.useDHCP = false; networking.firewall.enable = false; networking.private-wireguard.enable = true; services.nscd.enable = false; system.nssModules = lib.mkForce [ ]; my.services.backup = { enable = true; repository = "/data/slow/backups/hosts/${config.networking.hostName}"; timerConfig = { OnCalendar = "00:15"; }; passwordFile = secrets."restic/repo-systems".path; paths = [ "/data/fast/music" "/data/fast/photos" "/home/fcuny/documents" "/home/fcuny/workspace" "/home/fcuny/media" ]; exclude = [ ]; }; # This value determines the NixOS release from which the default # settings for stateful data, like file locations and database versions # on your system were taken. It‘s perfectly fine and recommended to leave # this value at the release version of the first install of this system. # Before changing this value read the documentation for this option # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). system.stateVersion = "21.11"; # Did you read the comment? }