From b1a0574ed1ad79a09d2fe13f9a95f4c4b7907313 Mon Sep 17 00:00:00 2001 From: Patrick Menking Date: Mon, 16 Sep 2024 09:45:29 -0400 Subject: [PATCH] Make package options and split users into different file --- flake.nix | 8 +++++++- modules/core.nix | 5 ----- modules/default.nix | 35 ++++++++++++++++++++++++++++------- modules/users/crow.nix | 15 +++++++++++++++ modules/users/default.nix | 5 +++++ 5 files changed, 55 insertions(+), 13 deletions(-) create mode 100644 modules/users/crow.nix create mode 100644 modules/users/default.nix diff --git a/flake.nix b/flake.nix index 0a0a25d..5b6fce0 100644 --- a/flake.nix +++ b/flake.nix @@ -18,7 +18,13 @@ ns = host: (lib.nixosSystem { specialArgs = {inherit pkgs inputs;}; - modules = [(./hosts + "/${host}")]; + modules = [ + (./hosts + "/${host}") + home-manager.nixosModules.home-manager { + home-manager.useGlobalPkgs = true; + home-manager.useUserPackages = true; + } + ]; }); in {nixosConfigurations = lib.attrsets.genAttrs [ "Parzival-Mobile" ] ns;}; } diff --git a/modules/core.nix b/modules/core.nix index cbc1966..90876a5 100644 --- a/modules/core.nix +++ b/modules/core.nix @@ -6,9 +6,4 @@ }: { system.stateVersion = "24.05"; time.timeZone = "America/New_York"; - - users.users.crow = { - isNormalUser = true; - extraGroups = [ "wheel" "networking" ]; - }; } diff --git a/modules/default.nix b/modules/default.nix index 3c5a6cb..1c47ee4 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -1,8 +1,29 @@ -{ -imports = [ - ./core.nix - ./boot.nix - ./networking.nix - ./programs.nix -]; +{ lib, config, ...}: { + imports = [ + ./core.nix + ./boot.nix + ./networking.nix + ./programs.nix + ./users + ]; + + config = { + base = { + enable = lib.mkDefault true; + services.enable = lib.mkDefault true; + programs.enable = lib.mkDefault true; + }; + + home.enable = lib.mkDefault true; + hypr.enable = lib.mkDefault true; + i3.enable = lib.mkDefault true; + + packages = { + enable = lib.mkDefault true; + programming.enable = lib.mkDefault true; + mudding.enable = lib.mkDefault true; + gaming.enable = lib.mkDefault true; + gui.enable = lib.mkDefault true; + }; + }; } diff --git a/modules/users/crow.nix b/modules/users/crow.nix new file mode 100644 index 0000000..37e9778 --- /dev/null +++ b/modules/users/crow.nix @@ -0,0 +1,15 @@ +{ lib, config, pkgs, ...}: { + users.users.crow = { + isNormalUser = true; + extraGroups = [ "wheel" "networkmanager" ]; + }; + + home-manager.users.crow = { + home.username = "crow"; + home.homeDirectory = "/home/crow"; + + home.stateVersion = "24.05"; + + programs.home-manager.enable = true; + }; +} diff --git a/modules/users/default.nix b/modules/users/default.nix new file mode 100644 index 0000000..31b65c3 --- /dev/null +++ b/modules/users/default.nix @@ -0,0 +1,5 @@ +{ + imports = [ + ./crow.nix + ]; +}