1
0
Fork 0
nix-system-configurations/nixos/hpenvy/configuration.nix

72 lines
1.6 KiB
Nix

# SPDX-FileCopyrightText: 2025 Ethan Reece <contact@ethanreece.com>
#
# SPDX-License-Identifier: MIT
# https://gitlab.com/hmajid2301/nixicle
# TODO: make builds optimized for hardware features
# TODO: Add psi-notify for memory related issues
# TODO: Enable secure boot
# TODO: Enable impermanence
{
config,
flakeConfig,
inputs,
lib,
module-name,
pkgs,
system,
...
}:
let
users = {
utd_cs4485 = rec {
username = "utd_cs4485";
homeDirectory = "/home/${username}";
};
root = rec {
username = "root";
homeDirectory = "/root";
};
};
in
{
imports = [
inputs.disko.nixosModules.disko
inputs.impermanence.nixosModules.impermanence
inputs.lanzaboote.nixosModules.lanzaboote
../base.nix
../disko-config.nix
./hardware-configuration.nix
];
flakeSettings.graphical = true;
home-manager = {
extraSpecialArgs = { inherit inputs system flakeConfig; };
users.${users.utd_cs4485.username} = with users.utd_cs4485; {
imports = [
../../home-manager/${username}/home.nix
{ home = { inherit username homeDirectory; }; }
];
};
users.root = with users.root; {
imports = [
../../home-manager/personal/root.nix
{ home = { inherit username homeDirectory; }; }
];
};
};
users = {
users.${users.utd_cs4485.username} = with users.utd_cs4485; {
extraGroups = [
"wheel"
"networkmanager"
"aria2"
];
shell = pkgs.nushell;
isNormalUser = true;
initialPassword = username;
};
};
networking.hostName = module-name;
system.stateVersion = "23.11";
}