72 lines
1.6 KiB
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";
|
|
}
|