{ outputs, pkgs, username, ... }: { imports = [ ./hardware-configuration.nix ../../modules/nixos/headscale.nix ]; nixpkgs = { overlays = [ outputs.overlays.additions outputs.overlays.modifications outputs.overlays.unstable-packages outputs.overlays.nur ]; config = { allowUnfree = true; joypixels.acceptLicense = true; }; }; nix = { settings = { experimental-features = "nix-command flakes"; auto-optimise-store = true; }; }; boot = { kernelPackages = pkgs.linuxPackages_zen; initrd.systemd.enable = true; loader = { grub.device = "/dev/sda"; timeout = 1; }; }; networking = { hostName = "controller"; }; security = { sudo.wheelNeedsPassword = false; }; programs = { zsh.enable = true; nix-ld.enable = true; dconf.enable = true; }; services = { openssh = { enable = true; settings = { PermitRootLogin = "no"; }; }; }; users = { defaultUserShell = pkgs.zsh; users.${username} = { initialPassword = "${username}"; isNormalUser = true; extraGroups = ["networkmanager" "wheel" "storage"]; openssh.authorizedKeys.keys = [ ''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIL+OzPUe2ECPC929DqpkM39tl/vdNAXfsRnmrGfR+X3D 0xtux@pm.me'' ]; }; }; environment.systemPackages = with pkgs; [ ]; fonts.packages = with pkgs; [(nerdfonts.override {fonts = ["FiraCode" "JetBrainsMono"];})]; system.stateVersion = "23.11"; }