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
|
2024-12-27 16:56:59 -06:00
|
|
|
./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;
|
|
|
|
|
2024-12-27 16:56:59 -06:00
|
|
|
# Define a user account.
|
2024-12-31 21:48:36 -06:00
|
|
|
users.users = {
|
|
|
|
root.hashedPasswordFile = config.sops.secrets."root-pw".path;
|
2024-12-27 16:56:59 -06:00
|
|
|
|
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:56:59 -06:00
|
|
|
};
|
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";
|
|
|
|
}
|