Compare commits
2 Commits
fc1f1b328b
...
4586c00f4e
Author | SHA1 | Date | |
---|---|---|---|
4586c00f4e | |||
|
162045b8d7 |
4
.github/workflows/build.yml
vendored
4
.github/workflows/build.yml
vendored
@ -14,7 +14,7 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
- uses: cachix/install-nix-action@v19
|
- uses: cachix/install-nix-action@v20
|
||||||
- name: Check ${{ matrix.check }}
|
- name: Check ${{ matrix.check }}
|
||||||
# Depends on nixos/nix#7759 to simply `nix flake check`
|
# Depends on nixos/nix#7759 to simply `nix flake check`
|
||||||
run: nix run .#checks.$(nix eval --raw --impure --expr "builtins.currentSystem").${{ matrix.check }}
|
run: nix run .#checks.$(nix eval --raw --impure --expr "builtins.currentSystem").${{ matrix.check }}
|
||||||
@ -45,7 +45,7 @@ jobs:
|
|||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
- name: Install nix
|
- name: Install nix
|
||||||
uses: cachix/install-nix-action@v19
|
uses: cachix/install-nix-action@v20
|
||||||
- name: Show nixpkgs version
|
- name: Show nixpkgs version
|
||||||
run: nix eval --impure --expr '(import ./flake-compat.nix { src = ./.; }).lib.version'
|
run: nix eval --impure --expr '(import ./flake-compat.nix { src = ./.; }).lib.version'
|
||||||
- name: Setup cachix
|
- name: Setup cachix
|
||||||
|
2
.github/workflows/update.yml
vendored
2
.github/workflows/update.yml
vendored
@ -12,7 +12,7 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
- uses: cachix/install-nix-action@v19
|
- uses: cachix/install-nix-action@v20
|
||||||
with:
|
with:
|
||||||
extra_nix_config: |
|
extra_nix_config: |
|
||||||
access-tokens = github.com=${{ secrets.GITHUB_TOKEN }}
|
access-tokens = github.com=${{ secrets.GITHUB_TOKEN }}
|
||||||
|
10
callUnitRoot.nix
Normal file
10
callUnitRoot.nix
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
{ pkgs, lib ? pkgs.lib, unitDir ? "unit", packageFun ? "package.nix", root ? "${./pkgs}/${unitDir}" }:
|
||||||
|
let
|
||||||
|
shards = lib.attrNames (builtins.readDir root);
|
||||||
|
namesForShard = shard: lib.mapAttrs'
|
||||||
|
(name: _: { inherit name; value = "${root}/${shard}/${name}"; })
|
||||||
|
(builtins.readDir "${root}/${shard}");
|
||||||
|
namesToPath = lib.foldl' lib.recursiveUpdate { } (map namesForShard shards);
|
||||||
|
units = lib.mapAttrs (_: path: pkgs.callPackage "${path}/${packageFun}" { }) namesToPath;
|
||||||
|
in
|
||||||
|
units
|
@ -9,9 +9,9 @@
|
|||||||
{ pkgs ? import <nixpkgs> { } }:
|
{ pkgs ? import <nixpkgs> { } }:
|
||||||
|
|
||||||
import ./pkgs/top-level/all-packages.nix { inherit pkgs; }
|
import ./pkgs/top-level/all-packages.nix { inherit pkgs; }
|
||||||
// {
|
// {
|
||||||
# The `lib`, `modules`, and `overlay` names are special
|
# The `lib`, `modules`, and `overlay` names are special
|
||||||
lib = import ./lib { inherit pkgs; }; # functions
|
lib = import ./lib { inherit pkgs; }; # functions
|
||||||
modules = import ./modules; # NixOS modules
|
modules = import ./modules; # NixOS modules
|
||||||
overlays = import ./overlays; # nixpkgs overlays
|
overlays = import ./overlays; # nixpkgs overlays
|
||||||
}
|
} // import ./callUnitRoot.nix { inherit pkgs; }
|
||||||
|
14
flake.nix
14
flake.nix
@ -20,23 +20,11 @@
|
|||||||
# Unstable names are variables.
|
# Unstable names are variables.
|
||||||
packages =
|
packages =
|
||||||
let
|
let
|
||||||
unitDir = "unit";
|
|
||||||
packageFun = "package.nix";
|
|
||||||
|
|
||||||
callUnitRoot = root:
|
|
||||||
let
|
|
||||||
shards = lib.attrNames (builtins.readDir root);
|
|
||||||
namesForShard = shard: lib.mapAttrs'
|
|
||||||
(name: _: { inherit name; value = "${root}/${shard}/${name}"; })
|
|
||||||
(builtins.readDir "${root}/${shard}");
|
|
||||||
namesToPath = lib.foldl' lib.recursiveUpdate { } (map namesForShard shards);
|
|
||||||
units = lib.mapAttrs (_: path: pkgs.callPackage "${path}/${packageFun}" { }) namesToPath;
|
|
||||||
in
|
|
||||||
units;
|
|
||||||
legacyPackages = import ./pkgs/top-level/all-packages.nix { inherit pkgs; };
|
legacyPackages = import ./pkgs/top-level/all-packages.nix { inherit pkgs; };
|
||||||
onlyAvailable = lib.filterAttrs (_: drv: builtins.elem system (drv.meta.platforms or [ ]));
|
onlyAvailable = lib.filterAttrs (_: drv: builtins.elem system (drv.meta.platforms or [ ]));
|
||||||
in
|
in
|
||||||
onlyAvailable (legacyPackages // callUnitRoot "${./pkgs}/${unitDir}");
|
onlyAvailable (legacyPackages // import ./callUnitRoot.nix { inherit pkgs; });
|
||||||
|
|
||||||
checks = {
|
checks = {
|
||||||
nixpkgs-fmt = pkgs.writeShellScriptBin "nixpkgs-fmt-check" ''
|
nixpkgs-fmt = pkgs.writeShellScriptBin "nixpkgs-fmt-check" ''
|
||||||
|
Loading…
Reference in New Issue
Block a user