From 1b71cd450ff4a31e401dd58d130e58a387af1847 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miskolczi=20Rich=C3=A1rd?= Date: Sun, 12 Apr 2026 19:53:50 +0200 Subject: [PATCH] flake: use inputs block, readDir pkgs safely, and builtins.map for packages --- flake.nix | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/flake.nix b/flake.nix index daa5429..b44263d 100644 --- a/flake.nix +++ b/flake.nix @@ -1,5 +1,7 @@ { - inputs.nixpkgs.url = "github:NixOS/nixpkgs"; + inputs = { + nixpkgs.url = "github:NixOS/nixpkgs"; + }; outputs = { self, nixpkgs }: let @@ -8,11 +10,13 @@ pkgsDir = ./pkgs; - entries = builtins.readDir pkgsDir; + entries = if builtins.pathExists pkgsDir then builtins.readDir pkgsDir else []; - # only subdirectories - pkgNames = - lib.attrNames (lib.filterAttrs (_: t: t == "directory") entries); + # builtins.readDir returns a list of names; when pkgs are present as + # committed directories use them directly. (If you use git submodules, + # their contents are not available during flake evaluation unless + # vendored.) + pkgNames = entries; loadPkg = name: let @@ -23,13 +27,7 @@ flake.packages.${system}.default; # build final package set - packages = - lib.listToAttrs ( - map (name: { - inherit name; - value = loadPkg name; - }) pkgNames - ); + packages = lib.listToAttrs (builtins.map (name: { inherit name; value = loadPkg name; }) pkgNames); in { packages.${system} = packages;