nixos-configs/hosts/mpl/configuration.nix

99 lines
2.0 KiB
Nix
Raw Permalink Normal View History

2024-12-31 21:20:02 -06:00
{
inputs,
2024-12-31 21:48:36 -06:00
config,
pkgs,
2024-12-31 21:20:02 -06:00
...
}: {
2024-12-27 16:44:03 -06:00
imports = [
./audio.nix
./bootloader.nix
./disk-config.nix
./hardware.nix
./mounts.nix
./nebula.nix
2024-12-27 16:44:03 -06:00
./secrets.nix
];
2025-01-12 15:42:20 -06:00
networking = {
hostName = "mpl"; # Define your hostname.
networkmanager.enable = true;
firewall.enable = true;
};
2024-12-27 16:44:03 -06:00
# 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";
};
2025-01-06 13:50:04 -06:00
# Install fonts.
fonts = {
packages = with pkgs; [nerdfonts source-sans];
fontconfig = {
enable = true;
antialias = true; # >200dpi
defaultFonts = {
monospace = ["FantasqueSansMono Nerd Font"];
};
};
};
2024-12-27 16:44:03 -06:00
# Enable touchpad support (enabled default in most desktopManager).
services.libinput.enable = true;
# Define a user account.
2024-12-31 21:48:36 -06:00
users.users = {
root.hashedPasswordFile = config.sops.secrets."root-pw".path;
2024-12-31 21:48:36 -06:00
min = {
isNormalUser = true;
2025-01-06 13:50:04 -06:00
extraGroups = ["wheel" "networkmanager" "tss"];
2024-12-31 21:48:36 -06:00
hashedPasswordFile = config.sops.secrets."user-pw".path;
};
2024-12-27 16:44:03 -06:00
};
2024-12-31 21:48:36 -06:00
# Use zsh
programs.zsh.enable = true;
users.defaultUserShell = pkgs.zsh;
2024-12-31 22:13:36 -06:00
# Enable hyprland (needed for home-manager module)
programs.hyprland.enable = true;
2024-12-27 16:44:03 -06:00
# 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;
2025-01-06 13:50:04 -06:00
# Enable TPM2
security.tpm2 = {
enable = true;
pkcs11.enable = true;
};
# SSH askpass
programs.ssh.enableAskPassword = true;
2025-01-12 15:42:20 -06:00
# KDE connect (firewall)
programs.kdeconnect.enable = true;
2024-12-30 20:45:49 -06:00
# Home-manager
2024-12-31 21:20:02 -06:00
home-manager = {
extraSpecialArgs = {inherit inputs;};
users.${config.users.users.min.name} = import ../../homes/min;
};
2024-12-30 20:45:49 -06:00
2024-12-27 16:44:03 -06:00
system.stateVersion = "24.11";
}