diff options
Diffstat (limited to 'flake.nix')
| -rw-r--r-- | flake.nix | 26 |
1 files changed, 19 insertions, 7 deletions
@@ -9,19 +9,31 @@ (system: let pkgs = nixpkgs.legacyPackages.${system}; - lcq = builtins.mapAttrs (nm: _: (import ./${nm}/packages.nix) pkgs lcq) (builtins.readDir ./.); - in { - isPackage = p: (builtins.readDir ./${p}) ? "packages.nix"; - packages = lcq; - devShells.default = pkgs.mkShell { + subpackages = pkgs.lib.filterAttrs (nm: _: builtins.pathExists ./${nm}/packages.nix) (builtins.readDir ./.); + lcq = builtins.mapAttrs (nm: _: (import ./${nm}/packages.nix) pkgs lcq) subpackages; + shells = builtins.mapAttrs (nm: d: pkgs.mkShell { hardeningDisable = ["all"]; NIX_ENFORCE_NO_NATIVE = "0"; buildInputs = [ pkgs.musl pkgs.valgrind pkgs.universal-ctags - ]; - }; + ] ++ d.native.buildInputs; + }) lcq; + in { + isPackage = p: (builtins.readDir ./${p}) ? "packages.nix"; + packages = lcq; + devShells = { + default = pkgs.mkShell { + hardeningDisable = ["all"]; + NIX_ENFORCE_NO_NATIVE = "0"; + buildInputs = [ + pkgs.musl + pkgs.valgrind + pkgs.universal-ctags + ]; + }; + } // shells; } ); } |
