From 40352d6a74a499404cb6b399b8b16be0d64a028c Mon Sep 17 00:00:00 2001 From: Gabriel Arazas Date: Fri, 1 Mar 2024 18:09:47 +0800 Subject: [PATCH] lib: standardize the required arguments Just to make it consistent. --- lib/nixos.nix | 37 ++----------------- lib/nixvim.nix | 4 +- .../home-manager/_private/extra-arguments.nix | 12 +++--- modules/nixos/_private/extra-arguments.nix | 12 +++--- modules/nixvim/_private/extra-arguments.nix | 5 ++- 5 files changed, 21 insertions(+), 49 deletions(-) diff --git a/lib/nixos.nix b/lib/nixos.nix index b58a6b34..8c479c87 100644 --- a/lib/nixos.nix +++ b/lib/nixos.nix @@ -1,43 +1,14 @@ # All of the functions suitable only for NixOS. -{ pkgs, config, lib }: +{ pkgs, lib }: rec { - # This is only used for home-manager users without a NixOS user counterpart. - mapHomeManagerUser = user: settings: - let - homeDirectory = "/home/${user}"; - defaultUserConfig = { - extraGroups = pkgs.lib.mkDefault [ "wheel" ]; - createHome = pkgs.lib.mkDefault true; - home = pkgs.lib.mkDefault homeDirectory; - isNormalUser = pkgs.lib.mkForce true; - }; - in - ({ lib, ... }: { - home-manager.users."${user}" = { ... }: { - imports = [ - { - home.username = user; - home.homeDirectory = homeDirectory; - } - - ../configs/home-manager/${user} - ]; - }; - - users.users."${user}" = lib.mkMerge [ - defaultUserConfig - settings - ]; - }); - # Checks if the NixOS configuration is part of the nixos-generator build. # Typically, we just check if there's a certain attribute that is imported # from it. - hasNixosFormat = + hasNixosFormat = config: pkgs.lib.hasAttrByPath [ "formatAttr" ] config; # Checks if the NixOS config is being built for a particular format. - isFormat = format: - hasNixosFormat && config.formatAttr == format; + isFormat = config: format: + hasNixosFormat config && config.formatAttr == format; } diff --git a/lib/nixvim.nix b/lib/nixvim.nix index e836f159..57afe603 100644 --- a/lib/nixvim.nix +++ b/lib/nixvim.nix @@ -1,6 +1,6 @@ -{ config, pkgs, lib }: +{ pkgs, lib }: { - isStandalone = + isStandalone = config: !config?hmConfig && !config?nixosConfig && !config?darwinConfig; } diff --git a/modules/home-manager/_private/extra-arguments.nix b/modules/home-manager/_private/extra-arguments.nix index c2b5b9db..5c279cb8 100644 --- a/modules/home-manager/_private/extra-arguments.nix +++ b/modules/home-manager/_private/extra-arguments.nix @@ -1,15 +1,15 @@ # All of the extra module arguments to be passed as part of the home-manager # environment. -{ options, pkgs, lib, ... }: +{ pkgs, lib, options, ... }: let foodogsquaredLib = import ../../../lib { inherit pkgs; }; in { _module.args.foodogsquaredLib = - foodogsquaredLib.extend (final: prev: - import ../../../lib/home-manager.nix { inherit pkgs; lib = prev; } - // lib.optionalAttrs (options?sops) { - sops-nix = import ../../../lib/sops.nix { inherit pkgs; lib = prev; }; - }); + foodogsquaredLib.extend (final: prev: { + home-manager = import ../../../lib/home-manager.nix { inherit pkgs; lib = prev; }; + } // lib.optionalAttrs (options?sops) { + sops-nix = import ../../../lib/sops.nix { inherit pkgs; lib = prev; }; + }); } diff --git a/modules/nixos/_private/extra-arguments.nix b/modules/nixos/_private/extra-arguments.nix index 62230e36..c1602f02 100644 --- a/modules/nixos/_private/extra-arguments.nix +++ b/modules/nixos/_private/extra-arguments.nix @@ -1,15 +1,15 @@ # All of the extra module arguments to be passed as part of the holistic NixOS # system. -{ config, options, lib, pkgs, ... }: +{ pkgs, lib, options, ... }: let foodogsquaredLib = import ../../../lib { inherit pkgs; }; in { _module.args.foodogsquaredLib = - foodogsquaredLib.extend (final: prev: - import ../../../lib/nixos.nix { inherit pkgs config; lib = prev; } - // lib.optionalAttrs (options?sops) { - sops-nix = import ../../../lib/sops.nix { inherit pkgs; lib = prev; }; - }); + foodogsquaredLib.extend (final: prev: { + nixos = import ../../../lib/nixos.nix { inherit pkgs; lib = final; }; + } // lib.optionalAttrs (options?sops) { + sops-nix = import ../../../lib/sops.nix { inherit pkgs; lib = final; }; + }); } diff --git a/modules/nixvim/_private/extra-arguments.nix b/modules/nixvim/_private/extra-arguments.nix index 2761b89b..934bdb21 100644 --- a/modules/nixvim/_private/extra-arguments.nix +++ b/modules/nixvim/_private/extra-arguments.nix @@ -6,6 +6,7 @@ let in { _module.args.foodogsquaredLib = - foodogsquaredLib.extend (final: prev: - import ../../../lib/nixvim.nix { inherit config pkgs; lib = prev; }); + foodogsquaredLib.extend (final: prev: { + nixvim = import ../../../lib/nixvim.nix { inherit pkgs; lib = prev; }; + }); }