{ inputs, config, pkgs, ... }: { imports = [ ./audio.nix ./bootloader.nix ./disk-config.nix ./hardware.nix ./mounts.nix ./nebula.nix ./secrets.nix ]; networking = { hostName = "mpl"; # Define your hostname. networkmanager.enable = true; firewall.enable = true; }; # Allow unfree packages (firmware) nixpkgs.config.allowUnfree = true; # Set your time zone. time.timeZone = "America/New_York"; # Select internationalisation properties. i18n.defaultLocale = "en_US.UTF-8"; console = { font = "Lat2-Terminus16"; keyMap = "us"; }; # Install fonts. fonts = { packages = with pkgs; [nerdfonts source-sans]; fontconfig = { enable = true; antialias = true; # >200dpi defaultFonts = { monospace = ["FantasqueSansMono Nerd Font"]; }; }; }; # Enable touchpad support (enabled default in most desktopManager). services.libinput.enable = true; # Define a user account. users.users = { root.hashedPasswordFile = config.sops.secrets."root-pw".path; min = { isNormalUser = true; extraGroups = ["wheel" "networkmanager" "tss"]; hashedPasswordFile = config.sops.secrets."user-pw".path; }; }; # Use zsh programs.zsh.enable = true; users.defaultUserShell = pkgs.zsh; # Enable hyprland (needed for home-manager module) programs.hyprland.enable = true; # Some programs need SUID wrappers, can be configured further or are # started in user sessions. programs.gnupg.agent = { enable = true; # TODO: pinentryPackage - rofi/bemenu maybe }; services.pcscd.enable = true; # Enable TPM2 security.tpm2 = { enable = true; pkcs11.enable = true; }; # SSH askpass programs.ssh.enableAskPassword = true; # KDE connect (firewall) programs.kdeconnect.enable = true; # Home-manager home-manager = { extraSpecialArgs = {inherit inputs;}; users.${config.users.users.min.name} = import ../../homes/min; }; system.stateVersion = "24.11"; }