nix machine / user configurations
1lib: 2lib.makeExtensible (self: { 3 defaultSystems = import ./systems.nix; 4 genSystems = lib.genAttrs self.defaultSystems; 5 6 pkgBin = 7 pkg: 8 if (pkg.meta or { }) ? mainProgram then 9 "${pkg}/bin/${pkg.meta.mainProgram}" 10 else 11 "${pkg}/bin/${pkg.pname}"; 12 13 prefixStrings = prefix: strings: lib.forEach strings (string: "${prefix}${string}"); 14 15 importFolder = 16 modules: 17 let 18 b = builtins; 19 files = b.readDir modules; 20 fileNames = b.attrNames files; 21 filesToImport = b.map (name: "${modules}/${name}") ( 22 b.filter (name: (b.match ".*\.nix" name != null) && (name != "default.nix")) fileNames 23 ); 24 in 25 filesToImport; 26})