blob: 9167cb7e4963336364395b5e38483c89eab0ea7a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
with builtins;
let
sources = import ./nix/sources.nix;
sourcesJSON = fromJSON (readFile ./nix/sources.json);
nixpkgs = sources.nixpkgs;
pkgs = import nixpkgs { };
inherit (pkgs.lib) path attrsets;
mkPathable = v: toString (
if
path.subpath.isValid v
then
path.append ./. v
else
v
);
nixPath = concatStringsSep ":" (
attrsets.mapAttrsToList
(k: v: "${k}=${mkPathable (getAttr "outPath" v)}")
(intersectAttrs sourcesJSON sources)
);
in
pkgs.mkShell
{
name = "nixfiles-shell";
buildInputs = with pkgs; [
niv
deploy-rs
(pkgs.callPackage "${sources.agenix}/pkgs/agenix.nix" { })
(import sources.home-manager { inherit pkgs; }).home-manager
];
shellHook = ''
export NIX_PATH="${nixPath}";
'';
}
|