My dotfiles for my nixos machines and infra
1{ pins, lib }:
2
3{
4 gen_flakes = (
5 flakes:
6 let
7 wanted = lib.getAttrs flakes pins;
8 in
9 (lib.mapAttrs (
10 name: value:
11 (import pins.flake-compat {
12 src = builtins.path {
13 inherit name;
14 path = value;
15 };
16 }).outputs
17 ) wanted)
18 );
19
20 gen_repos = (
21 repos:
22 let
23 wanted = lib.getAttrs repos pins;
24 in
25 (lib.mapAttrs (
26 name: value:
27 import pins.value {
28 config.allowUnfree = true;
29 }
30 ) wanted)
31 );
32
33 # nixosHost = (
34 # modules: arguments:
35 # (lib.fix (
36 # self:
37 # nixosSystem {
38 # inherit modules;
39 # specialArgs =
40 # let
41 # args = arguments // {
42 # mod_self = self;
43 # };
44 # in
45 # args;
46 # }
47 # ))
48 # );
49
50 nixosHost =
51 {
52 nixpkgs,
53 specialArgs,
54 system,
55 modules,
56 lib ? import "${nixpkgs}/lib",
57 }:
58 import "${nixpkgs}/nixos/lib/eval-config.nix" {
59 inherit specialArgs;
60 inherit system;
61 inherit modules;
62 inherit lib;
63 };
64
65}