From b57feb23b6bf52ed7a792a7a5d10dfbf0e5f5b12 Mon Sep 17 00:00:00 2001 From: chn Date: Sat, 24 Jun 2023 22:00:28 +0800 Subject: [PATCH] add a helper function --- flake.nix | 12 ++---------- lib/mkModules.nix | 10 ++++++++++ 2 files changed, 12 insertions(+), 10 deletions(-) create mode 100644 lib/mkModules.nix diff --git a/flake.nix b/flake.nix index 40a662ac..e93ccf77 100644 --- a/flake.nix +++ b/flake.nix @@ -39,11 +39,7 @@ nur-xddxdd = { url = "github:xddxdd/nur-packages"; - inputs = - { - flake-utils.follows = "flake-utils"; - nixpkgs.follows = "nixpkgs-stable"; - }; + inputs = { flake-utils.follows = "flake-utils"; nixpkgs.follows = "nixpkgs-stable"; }; }; nix-vscode-extensions = { @@ -68,11 +64,7 @@ plasma-manager = { url = "github:pjones/plasma-manager"; - inputs = - { - nixpkgs.follows = "nixpkgs"; - home-manager.follows = "home-manager"; - }; + inputs = { nixpkgs.follows = "nixpkgs"; home-manager.follows = "home-manager"; }; }; impermanence.url = "github:nix-community/impermanence"; }; diff --git a/lib/mkModules.nix b/lib/mkModules.nix new file mode 100644 index 00000000..ad35635e --- /dev/null +++ b/lib/mkModules.nix @@ -0,0 +1,10 @@ +# Behaviors of these two NixOS modules would be different: +# { pkgs, ... }@inputs: { environment.systemPackages = [ pkgs.hello ]; } +# inputs: { environment.systemPackages = [ pkgs.hello ]; } +# The second one would failed to evaluate because nixpkgs would not pass pkgs to it. +# So that we wrote a wrapper to make it always works like the first one. +moduleList: { pkgs, ... }@inputs: +{ + imports = builtins.map + ( module: if ( ( builtins.typeOf module ) == "set" ) then module else module inputs ) moduleList; +}