Personal Nix flake
nixos home-manager nix
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

refactor: Saner packages/legacyPackages definitions

Change back to more manually assembled outputs for better control of the
overridden attributes

Create lib.callPackageRecursiveWith to wrap
lib.packagesFromDirectoryRecursive so that it works more like the
existing callPackageWith

Create lib.callPackageWith to make it automatically attempt to load a
subdir's package.nix or default.nix if present

Reintroduce package overlay and make it the default

+41 -28
+1 -1
nix/apps/ci.nix
··· 15 15 --branch: string # Only include the specified branch 16 16 --flatten # Output a single list 17 17 ]: nothing -> string { 18 - open "${self'.legacyPackages.ciMatrix}" 18 + open "${self'.legacyPackages.ci.matrix}" 19 19 | from json 20 20 | if $system != all { 21 21 filter-records { where system == $system }
+9 -14
nix/legacyPackages/default.nix
··· 1 - args: { 1 + {inputs, ...} @ args: let 2 + inherit (inputs.self.lib) callPackageWith callPackageRecursiveWith; 3 + in { 2 4 perSystem = { 3 - lib, 4 5 self', 5 6 pkgs, 6 7 ... 7 8 }: let 8 - extraArgs = { 9 - inherit (args) inputs; 10 - inherit (self'.legacyPackages.pkgs) writeNuScriptStdinBin; 9 + callPackage = callPackageWith pkgs; 10 + callPackageRecursive = callPackageRecursiveWith pkgs; 11 + in { 12 + legacyPackages = { 13 + ci.matrix = callPackage ./ciMatrix.nix {inherit (args) inputs;}; 14 + scripts = callPackageRecursive ./scripts {inherit (self'.legacyPackages.pkgs) writeNuScriptStdinBin;}; 11 15 }; 12 - callPackage = lib.callPackageWith (pkgs // extraArgs); 13 - in { 14 - legacyPackages = 15 - lib.packagesFromDirectoryRecursive { 16 - inherit callPackage; 17 - directory = ./.; 18 - } 19 - |> lib.filterAttrsRecursive (name: _: name != "default") 20 - |> (legacyPackages: legacyPackages // legacyPackages.scripts); 21 16 }; 22 17 }
+17
nix/lib/default.nix
··· 8 8 storage = import ./storage args; 9 9 strings = import ./strings.nix args; 10 10 11 + callPackageWith = pkgs: path: extraArgs: 12 + lib.callPackageWith 13 + pkgs 14 + ( 15 + if (lib.pathIsDirectory path && builtins.pathExists "${path}/package.nix") 16 + then "${path}/package.nix" 17 + else if (lib.pathIsDirectory path && builtins.pathExists "${path}/default.nix") 18 + then "${path}/default.nix" 19 + else path 20 + ) 21 + extraArgs; 22 + callPackageRecursiveWith = pkgs: path: extraArgs: 23 + lib.packagesFromDirectoryRecursive { 24 + callPackage = lib.callPackageWith (pkgs // extraArgs); 25 + directory = path; 26 + } 27 + |> lib.filterAttrsRecursive (name: _: name != "default"); 11 28 mkPkgs = { 12 29 system, 13 30 nixpkgs ? inputs.nixpkgs,
+2 -1
nix/overlays/default.nix
··· 4 4 in { 5 5 flake.overlays = 6 6 nixFilesToAttrs ./. 7 - |> lib.mapAttrs (_: path: import path args); 7 + |> lib.mapAttrs (_: path: import path args) 8 + |> (_: _ // {default = inputs.self.overlays.packages;}); 8 9 }
+4
nix/overlays/packages.nix
··· 1 + {inputs, ...}: final: prev: let 2 + inherit (prev.stdenv.hostPlatform) system; 3 + in 4 + inputs.self.packages.${system} or {}
+8 -12
nix/packages/default.nix
··· 1 - {...}: { 1 + {inputs, ...}: let 2 + inherit (inputs.self.lib) callPackageWith; 3 + in { 2 4 perSystem = { 3 5 inputs', 4 - lib, 5 6 pkgs, 6 7 ... 7 8 }: let 8 - extraArgs = { 9 - inherit (inputs'.nixpkgs-hare.legacyPackages) hare hareHook; 10 - }; 11 - callPackage = lib.callPackageWith (pkgs // extraArgs); 9 + callPackage = callPackageWith pkgs; 12 10 in { 13 - packages = 14 - lib.packagesFromDirectoryRecursive { 15 - inherit callPackage; 16 - directory = ./.; 17 - } 18 - |> lib.filterAttrsRecursive (name: _: name != "default"); 11 + packages = { 12 + libfprint-canvasbio-cb2000 = callPackage ./libfprint-canvasbio-cb2000 {}; 13 + lichen = callPackage ./lichen {inherit (inputs'.nixpkgs-hare.legacyPackages) hare hareHook;}; 14 + }; 19 15 }; 20 16 }