OS, add Non-EFI Support

This commit is contained in:
Julia Lange 2024-12-24 17:06:05 -08:00
parent 5605c829b6
commit 0f7638ad40
Signed by: Julia
SSH key fingerprint: SHA256:KI8YxpkPRbnDRkXPgCuQCVz181++Vy7NAvmQj8alOhM

View file

@ -4,60 +4,68 @@
options = { options = {
system.timezone = lib.mkOption { default = "America/Los_Angeles"; }; system.timezone = lib.mkOption { default = "America/Los_Angeles"; };
system.extraFonts = lib.mkOption { default = []; }; system.extraFonts = lib.mkOption { default = []; };
system.isNonEFI = lib.mkEnableOption
"Enable if you are running a non-EFI system";
system.users.bigWheels = lib.mkOption { default = []; }; system.users.bigWheels = lib.mkOption { default = []; };
}; };
config = lib.mkMerge [
(lib.mkIf config.system.isNonEFI {
boot.loader.grub.enable = false;
boot.loader.generic-extlinux-compatible.enable = true;
})
(lib.mkIf (!config.system.isNonEFI) {
boot.kernelPackages = pkgs.linuxPackages_latest;
boot.loader.systemd-boot.enable = true;
boot.loader.timeout = 1;
boot.loader.efi.canTouchEfiVariables = true;
})
{
networking.hostName = hostname;
system.stateVersion = "23.05";
config = { time.timeZone = config.system.timezone;
# Use the systemd-boot EFI boot loader. i18n.defaultLocale = "en_US.UTF-8";
boot.kernelPackages = pkgs.linuxPackages_latest;
boot.loader.systemd-boot.enable = true;
boot.loader.timeout = 1;
boot.loader.efi.canTouchEfiVariables = true;
networking.hostName = hostname; # Packages & Default Packages
system.stateVersion = "23.05"; nixpkgs.config.allowUnfree = true;
environment.systemPackages = with pkgs; [
git
neovim
nnn
xdg-user-dirs
];
time.timeZone = config.system.timezone; # XDG Compliance
i18n.defaultLocale = "en_US.UTF-8"; nix.settings.use-xdg-base-directories = true;
# Packages & Default Packages users = {
nixpkgs.config.allowUnfree = true; users = builtins.listToAttrs (map (
environment.systemPackages = with pkgs; [ user: {
git
neovim
nnn
xdg-user-dirs
];
# XDG Compliance
nix.settings.use-xdg-base-directories = true;
users = {
users = builtins.listToAttrs (map (
user: {
name = user;
value = {
name = user; name = user;
isNormalUser = true; value = {
extraGroups = [ "network" ]; name = user;
isNormalUser = true;
extraGroups = [ "network" ];
};
}
) usernameList);
groups = {
wheel = {
members = config.system.users.bigWheels;
}; };
} network = { };
) usernameList);
groups = {
wheel = {
members = config.system.users.bigWheels;
}; };
network = { };
}; };
};
fonts = { fonts = {
enableDefaultPackages = true; enableDefaultPackages = true;
packages = with pkgs; [ packages = with pkgs; [
cascadia-code cascadia-code
(nerdfonts.override { fonts = [ "CascadiaCode" ]; }) (nerdfonts.override { fonts = [ "CascadiaCode" ]; })
source-han-sans # Pan-CJK font source-han-sans # Pan-CJK font
] ++ config.system.extraFonts; ] ++ config.system.extraFonts;
}; };
}; }
];
} }