{ inputs, outputs, lib, config, pkgs, ... }: { imports = [ inputs.home-manager.nixosModules.home-manager ./hardware-configuration.nix ../../pkgs/firefox.nix ../../pkgs/zsh.nix ]; home-manager = { extraSpecialArgs = { inherit inputs outputs; }; users = { horseman = import ../../home-manager/apps.nix; }; }; nixpkgs = { overlays = [ outputs.overlays.additions outputs.overlays.modifications outputs.overlays.unstable-packages ]; config = { allowUnfree = true; }; }; nix.registry = (lib.mapAttrs (_: flake: {inherit flake;})) ((lib.filterAttrs (_: lib.isType "flake")) inputs); nix.nixPath = ["/etc/nix/path"]; environment.etc = lib.mapAttrs' (name: value: { name = "nix/path/${name}"; value.source = value.flake; }) config.nix.registry; nix.settings = { experimental-features = "nix-command flakes"; auto-optimise-store = true; }; networking.hostName = "luna"; time.timeZone = "Europe/Amsterdam"; services.xserver.enable = true; services.desktopManager.plasma6.enable = true; services.xserver.displayManager.sddm.enable = true; boot.loader.systemd-boot.enable = true; services.tailscale.enable = true; services.acpid.enable = true; networking.networkmanager.enable = true; users.users = { horseman = { initialPassword = "1234"; isNormalUser = true; openssh.authorizedKeys.keys = []; extraGroups = [ "wheel" "networkmanager" ]; }; }; services.openssh = { enable = true; settings = { PermitRootLogin = "no"; PasswordAuthentication = false; }; }; # https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion system.stateVersion = "23.11"; }