From da8ae20b5525ccb6f4059cc108daed70d45363bb Mon Sep 17 00:00:00 2001 From: DashieTM Date: Tue, 27 Aug 2024 22:47:48 +0200 Subject: [PATCH] Modularize nixos and home manager modules --- home/default.nix | 21 ++------------------- lib/default.nix | 43 ++++++++++++++++++++++++++++++++++--------- 2 files changed, 36 insertions(+), 28 deletions(-) diff --git a/home/default.nix b/home/default.nix index 59049e8..14d244f 100644 --- a/home/default.nix +++ b/home/default.nix @@ -5,27 +5,10 @@ lib, mod, additionalHomeConfig, + homeMods, root, ... }: -let - base_imports = [ - inputs.anyrun.homeManagerModules.default - inputs.ironbar.homeManagerModules.default - inputs.oxicalc.homeManagerModules.default - inputs.oxishut.homeManagerModules.default - inputs.oxinoti.homeManagerModules.default - inputs.oxidash.homeManagerModules.default - inputs.oxipaste.homeManagerModules.default - inputs.hyprdock.homeManagerModules.default - inputs.hyprland.homeManagerModules.default - inputs.reset.homeManagerModules.default - inputs.nix-flatpak.homeManagerModules.nix-flatpak - inputs.sops-nix.homeManagerModules.sops - inputs.dashvim.homeManagerModules.dashvim - ../modules - ]; -in { xdg = { portal.config.common.default = "*"; @@ -49,7 +32,7 @@ in ./themes ./sync.nix ] - ++ base_imports + ++ homeMods ++ lib.optional (builtins.pathExists mod) mod ++ lib.optional (builtins.pathExists additionalHomeConfig) additionalHomeConfig; }; diff --git a/lib/default.nix b/lib/default.nix index 0b33f2e..e25a471 100644 --- a/lib/default.nix +++ b/lib/default.nix @@ -1,4 +1,34 @@ -{ inputs, pkgs, ... }: +{ + inputs, + pkgs, + mods ? { + nixos = [ + inputs.home-manager.nixosModules.home-manager + inputs.stylix.nixosModules.stylix + ../base + ../home + ../modules + ]; + home = [ + inputs.anyrun.homeManagerModules.default + inputs.ironbar.homeManagerModules.default + inputs.oxicalc.homeManagerModules.default + inputs.oxishut.homeManagerModules.default + inputs.oxinoti.homeManagerModules.default + inputs.oxidash.homeManagerModules.default + inputs.oxipaste.homeManagerModules.default + inputs.hyprdock.homeManagerModules.default + inputs.hyprland.homeManagerModules.default + inputs.reset.homeManagerModules.default + inputs.nix-flatpak.homeManagerModules.nix-flatpak + inputs.sops-nix.homeManagerModules.sops + inputs.dashvim.homeManagerModules.dashvim + ../modules + ]; + }, + + ... +}: { /** # build_systems @@ -47,16 +77,11 @@ additionalHomeConfig root ; + homeMods = mods.home; }; modules = - [ - inputs.home-manager.nixosModules.home-manager - inputs.stylix.nixosModules.stylix - ../base - ../home - ../modules - mod - ] + [ mod ] + ++ mods.nixos ++ inputs.nixpkgs.lib.optional (builtins.pathExists additionalNixosConfig) additionalNixosConfig ++ inputs.nixpkgs.lib.optional (builtins.pathExists mod) mod; };