{ modulesPath, repoFlake, packages', pkgs, lib, config, nodeFlake, nodeName, system, ... }: { disabledModules = [ # "services/networking/hostapd.nix" ]; imports = [ nodeFlake.inputs.disko.nixosModules.disko repoFlake.inputs.sops-nix.nixosModules.sops ../../profiles/common/user.nix # TODO # ./network.nix # ./monitoring.nix # user config { users.commonUsers = { enable = true; enableNonRoot = true; }; home-manager.users.root = import ../../../home-manager/configuration/text-minimal.nix { inherit pkgs; }; home-manager.users.steveej = import ../../../home-manager/configuration/text-minimal.nix { inherit pkgs; }; programs.zsh.enable = true; users.defaultUserShell = pkgs.zsh; environment.pathsToLink = ["/share/zsh"]; } ]; services.openssh.enable = true; services.openssh.settings.PermitRootLogin = "yes"; nix.nixPath = [ "nixpkgs=${pkgs.path}" ]; nix.registry = { nixpkgs.to = { type = "path"; path = pkgs.path; }; }; nix.settings.experimental-features = ["nix-command" "flakes" "ca-derivations"]; boot = { kernel = { sysctl = { "net.ipv4.conf.all.forwarding" = true; "net.ipv6.conf.all.forwarding" = true; }; }; }; networking = { hostName = nodeName; useNetworkd = true; useDHCP = true; # No local firewall. nat.enable = true; firewall.enable = false; }; disko.devices = let disk = id: { type = "disk"; device = "/dev/${id}"; content = { type = "gpt"; partitions = { boot = { size = "1M"; type = "EF02"; # for grub MBR }; mdadm = { size = "100%"; content = { type = "mdraid"; name = "raid0"; }; }; }; }; }; in { disk = { sda = disk "sda"; sdb = disk "sdb"; }; mdadm = { raid0 = { type = "mdadm"; level = 0; content = { type = "gpt"; partitions = { primary = { size = "100%"; content = { type = "filesystem"; format = "btrfs"; mountpoint = "/"; }; }; }; }; }; }; }; system.stateVersion = "23.11"; boot.kernelPackages = pkgs.linuxPackages_latest; boot.initrd.includeDefaultModules = true; boot.initrd.kernelModules = [ "dm-raid" "dm-integrity" "xhci_pci_renesas" ]; hardware.enableRedistributableFirmware = true; environment.systemPackages = [ pkgs.hdparm ]; # home-manager.users.steveej = _: { # imports = [ # ../../../home-manager/configuration/text-minimal.nix # ]; # home.sessionVariables = { # }; # home.packages = with pkgs; [ # ]; # }; }