aboutsummaryrefslogtreecommitdiff
path: root/modules/profiles/core.nix
diff options
context:
space:
mode:
Diffstat (limited to 'modules/profiles/core.nix')
-rw-r--r--modules/profiles/core.nix61
1 files changed, 61 insertions, 0 deletions
diff --git a/modules/profiles/core.nix b/modules/profiles/core.nix
new file mode 100644
index 0000000..a79505a
--- /dev/null
+++ b/modules/profiles/core.nix
@@ -0,0 +1,61 @@
+{
+ 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";
+}