diff --git a/hosts/user-config.nix b/hosts/user-config.nix index f90cdf5..cb5a648 100644 --- a/hosts/user-config.nix +++ b/hosts/user-config.nix @@ -20,7 +20,8 @@ let accounts = usersData.ugaif.users or { }; # Helper: Resolve external module path from fetchGit/fetchTarball/path - resolveExternalPath = external: + resolveExternalPath = + external: if external == null then null else if builtins.isAttrs external && external ? outPath then @@ -29,7 +30,8 @@ let external; # Helper: Check if path exists and is valid - isValidPath = path: + isValidPath = + path: path != null && (builtins.isPath path || (builtins.isString path && lib.hasPrefix "/" path)) && builtins.pathExists path; @@ -176,7 +178,6 @@ in } // (externalUserOptions.${name} or { }) ) accounts; - # Generate NixOS users users.users = @@ -236,7 +237,14 @@ in ... }: let - evaluated = fullModule { inherit config lib pkgs osConfig; }; + evaluated = fullModule { + inherit + config + lib + pkgs + osConfig + ; + }; in lib.filterAttrs (name: _: name != "ugaif") evaluated else @@ -248,10 +256,7 @@ in ]; # Build imports list - allImports = - user.extraImports - ++ commonImports - ++ lib.optional hasExternalUser externalUserModule; + allImports = user.extraImports ++ commonImports ++ lib.optional hasExternalUser externalUserModule; in lib.mkMerge [ { diff --git a/templates/user/home.nix b/templates/user/home.nix index ba27275..375a9c8 100644 --- a/templates/user/home.nix +++ b/templates/user/home.nix @@ -15,7 +15,7 @@ # description = "My Name"; # shell = pkgs.zsh; # extraGroups = [ "wheel" "networkmanager" ]; -# +# # external = builtins.fetchGit { # url = "https://github.com/username/dotfiles"; # rev = "commit-hash"; diff --git a/templates/user/user.nix b/templates/user/user.nix index 01abbd2..dc1ce32 100644 --- a/templates/user/user.nix +++ b/templates/user/user.nix @@ -26,7 +26,7 @@ # ========== User Account Configuration ========== # These are imported as a NixOS module to set ugaif.users options # Replace "myusername" with your actual username - + ugaif.users.myusername = { description = "Your Full Name";