Skip to content

Commit b5d5f44

Browse files
Copilotblaggacao
andcommitted
Implement reference lock file approach instead of flattening inputs
- Reverted main flake.nix to original clean state with blank follows - Created src/local/flake.lock and src/tests/flake.lock with reference inputs - Updated .gitignore to track specific lock files - Avoids lock file bloat while maintaining Nix 2.18+ compatibility Co-authored-by: blaggacao <[email protected]>
1 parent b1bdf42 commit b5d5f44

File tree

4 files changed

+489
-50
lines changed

4 files changed

+489
-50
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55

66
.std
77
/**/flake.lock
8+
!src/local/flake.lock
9+
!src/tests/flake.lock
810
result
911

1012
# prj-spec dirs

flake.nix

Lines changed: 34 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -4,65 +4,49 @@
44
# SPDX-License-Identifier: Unlicense
55
{
66
description = "The Nix Flakes framework for perfectionists with deadlines";
7-
7+
# override downstream with inputs.std.inputs.nixpkgs.follows = ...
8+
inputs.nixpkgs.url = "github:nixos/nixpkgs/release-23.11";
9+
inputs.lib.url = "github:nix-community/nixpkgs.lib";
810
inputs = {
9-
# Core dependencies
10-
nixpkgs.url = "github:nixos/nixpkgs/release-23.11"; # override downstream with inputs.std.inputs.nixpkgs.follows = ...
11-
lib.url = "github:nix-community/nixpkgs.lib";
12-
13-
# Framework dependencies
1411
paisano.url = "github:paisano-nix/core/0.2.0";
1512
paisano.inputs.nixpkgs.follows = "nixpkgs";
1613
paisano.inputs.yants.follows = "yants";
1714
paisano-tui = {
1815
url = "github:paisano-nix/tui/v0.5.0";
1916
flake = false; # we're after the source code, only
2017
};
21-
22-
blank.url = "github:divnix/blank";
23-
yants = {
24-
url = "github:divnix/yants";
25-
inputs.nixpkgs.follows = "lib";
26-
};
27-
dmerge = {
28-
url = "github:divnix/dmerge/0.2.1";
29-
inputs.haumea.follows = "haumea";
30-
inputs.yants.follows = "yants";
31-
inputs.nixlib.follows = "lib";
32-
};
33-
haumea = {
34-
url = "github:nix-community/haumea/v0.2.2";
35-
inputs.nixpkgs.follows = "lib";
36-
};
37-
incl = {
38-
url = "github:divnix/incl";
39-
inputs.nixlib.follows = "lib";
40-
};
41-
42-
# Development tools (previously "blank" and injected via sub-flakes, now included directly
43-
# to avoid self-referential sub-flake issues with Nix 2.18+)
44-
devshell.url = "github:numtide/devshell";
45-
devshell.inputs.nixpkgs.follows = "nixpkgs";
46-
47-
nixago.url = "github:nix-community/nixago";
48-
nixago.inputs.nixpkgs.follows = "nixpkgs";
49-
nixago.inputs.nixago-exts.follows = "blank";
50-
51-
n2c.url = "github:nlewo/nix2container";
52-
n2c.inputs.nixpkgs.follows = "nixpkgs";
53-
54-
# Testing and infrastructure tools
55-
namaka.url = "github:nix-community/namaka/v0.2.0";
56-
namaka.inputs.haumea.follows = "haumea";
57-
namaka.inputs.nixpkgs.follows = "nixpkgs";
58-
59-
# Additional tools (keep as blank for now, can be enabled if needed)
60-
terranix.follows = "blank";
61-
microvm.follows = "blank";
62-
makes.follows = "blank";
63-
arion.follows = "blank";
64-
flake-parts.follows = "blank";
6518
};
19+
};
20+
inputs.blank.url = "github:divnix/blank";
21+
inputs.yants = {
22+
url = "github:divnix/yants";
23+
inputs.nixpkgs.follows = "lib";
24+
};
25+
inputs.dmerge = {
26+
url = "github:divnix/dmerge/0.2.1";
27+
inputs.haumea.follows = "haumea";
28+
inputs.yants.follows = "yants";
29+
inputs.nixlib.follows = "lib";
30+
};
31+
inputs.haumea = {
32+
url = "github:nix-community/haumea/v0.2.2";
33+
inputs.nixpkgs.follows = "lib";
34+
};
35+
inputs.incl = {
36+
url = "github:divnix/incl";
37+
inputs.nixlib.follows = "lib";
38+
};
39+
/*
40+
Auxiliar inputs used in builtin libraries or for the dev environment.
41+
*/
42+
inputs.n2c.follows = "blank";
43+
inputs.devshell.follows = "blank";
44+
inputs.nixago.follows = "blank";
45+
inputs.terranix.follows = "blank";
46+
inputs.microvm.follows = "blank";
47+
inputs.makes.follows = "blank";
48+
inputs.arion.follows = "blank";
49+
inputs.flake-parts.follows = "blank";
6650

6751
outputs = inputs: let
6852
# bootstrap std

src/local/flake.lock

Lines changed: 172 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)