{ config, lib, options, pkgs, ... }: { config = { boot = { loader = { efi.canTouchEfiVariables = lib.mkDefault true; limine = { enable = lib.mkDefault config.system.profile.core.enable; extraConfig = lib.mkDefault "quiet"; maxGenerations = lib.mkDefault 10; # TODO: secureBoot }; timeout = 1; }; tmp.cleanOnBoot = lib.mkDefault true; }; environment = { systemPackages = with pkgs; [ kakoune ]; variables = { EDITOR = "kak"; VISUAL = "kak"; }; }; hardware.enableRedistributableFirmware = lib.mkDefault config.system.profile.core.enable; i18n = { defaultLocale = lib.mkDefault "en_CA.UTF-8"; extraLocales = [ "en_US.UTF-8/UTF-8" ]; }; networking = { dhcpcd.enable = lib.mkDefault !config.system.profile.core.enable; nftables.enable = lib.mkDefault config.system.profile.core.enable; }; nix = { gc = { automatic = lib.mkDefault config.system.profile.core.enable; dates = "weekly"; options = "--delete-older-than 15d"; }; settings.experimental-features = [ "flakes" "nix-command" ]; }; programs.nano.enable = lib.mkDefault !config.system.profile.core.enable; }; options.system.profile.core.enable = lib.mkEnableOption "the core system profile"; }