nix-dotfiles/nixosModules/automatic/default.nix

71 lines
1.9 KiB
Nix
Raw Normal View History

{ config, pkgs, lib, ... }:
2024-04-07 17:08:48 -07:00
{
2025-08-26 08:54:57 -07:00
options.system = {
timezone = lib.mkOption { default = "America/Los_Angeles"; };
extraFonts = lib.mkOption { default = []; };
extraPkgs = lib.mkOption { default = []; };
isNonEFI = lib.mkEnableOption
2024-12-24 17:06:05 -08:00
"Enable if you are running a non-EFI system";
2025-08-26 08:54:57 -07:00
users.bigWheels = lib.mkOption { default = []; };
2024-04-07 17:08:48 -07:00
};
2024-12-24 17:06:05 -08:00
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;
})
{
system.stateVersion = lib.mkDefault "23.05";
2024-04-07 17:08:48 -07:00
2024-12-24 17:06:05 -08:00
time.timeZone = config.system.timezone;
i18n.defaultLocale = "en_US.UTF-8";
2024-04-07 17:08:48 -07:00
2024-12-24 17:06:05 -08:00
# Packages & Default Packages
nixpkgs.config.allowUnfree = true;
environment.systemPackages = with pkgs; [
git
neovim
xdg-user-dirs
2025-08-26 08:54:57 -07:00
] ++ config.system.extraPkgs;
2024-12-24 17:06:05 -08:00
# XDG Compliance
nix.settings.use-xdg-base-directories = true;
2024-04-07 17:08:48 -07:00
# users = {
# users = builtins.listToAttrs (map (
# user: {
# name = user;
# value = {
# name = user;
# isNormalUser = true;
# extraGroups = [ "network" ];
# };
# }
# ) usernameList);
# groups = {
# wheel = {
# members = config.system.users.bigWheels;
# };
# network = { };
# };
# };
2024-04-07 17:08:48 -07:00
2024-12-24 17:06:05 -08:00
fonts = {
enableDefaultPackages = true;
packages = with pkgs; [
2025-01-14 13:29:17 -08:00
nerd-fonts.caskaydia-cove
2024-12-24 17:06:05 -08:00
cascadia-code
source-han-sans # Pan-CJK font
] ++ config.system.extraFonts;
};
}
];
2024-04-07 17:08:48 -07:00
}