on master help sign in
More refactoring.
commit2ce85648d93870a2f4a1858c8e59750ec8471337 authorMatthew Bauer <mjbauer95@gmai.com> dateTue 14 Jun 2016, 20:38 (10 years ago) parent2cb965c
4 files changed+53−43
default.nix+1−25 install-nix-from-closure.nix+22 makebootstrap.nix+20 nix-bootstrap.nix+10−18
default.nix+1−25
@@ -1,25 +1 @@
1−{nixpkgs ? import <nixpkgs> {}}:
2−
3−with nixpkgs;
4−
5−let
6−
7− makeself = callPackage ./makeself.nix {};
8− makedir = callPackage ./makedir.nix {};
9−
10− nix-bootstrap = callPackage ./nix-bootstrap.nix {};
11−
12− makebootstrap = {name, script}:
13− makeself {
14− inherit name;
15− startup = ".${script}/install";
16− archive = makedir {
17− name = "${name}-dir";
18− toplevel = script;
19− };
20− };
21−
22−in makebootstrap {
23− name = "nix-bootstrap.sh";
24− script = nix-bootstrap;
25−}
1+import ./nix-bootstrap.nix
install-nix-from-closure.nixnew file+22
@@ -0,0 +1,22 @@
1+{ stdenv, fetchFromGitHub, nix, cacert }:
2+
3+ stdenv.mkDerivation {
4+ name = "nix-bootstrap";
5+
6+ src = fetchFromGitHub {
7+ owner = "matthewbauer";
8+ repo = "nix-bootstrap";
9+ rev = "cc882b2cb92d8de87dad9cb890ad1745b06a9787";
10+ sha256 = "05w6xjg0cgz6a4szc7jd7v53bmy4zjrgph5xkgyj73g62jyq7ajf";
11+ };
12+
13+ propagatedBuildInputs = [ nix cacert ];
14+
15+ installPhase = ''
16+ mkdir -p $out/
17+ substitute install-nix-from-closure.sh $out/install \
18+ --subst-var-by nix .${nix} \
19+ --subst-var-by cacert .${cacert}
20+ chmod +x $out/install
21+ '';
22+ }
makebootstrap.nixnew file+20
@@ -0,0 +1,20 @@
1+{nixpkgs ? import <nixpkgs> {}}:
2+
3+with nixpkgs;
4+
5+let
6+
7+ makeself = callPackage ./makeself.nix {};
8+ makedir = callPackage ./makedir.nix {};
9+
10+in
11+
12+ { name, target, run }:
13+ makeself {
14+ inherit name;
15+ startup = ".${target}${run}";
16+ archive = makedir {
17+ name = "${name}-dir";
18+ toplevel = target;
19+ };
20+ }
nix-bootstrap.nix+10−18
@@ -1,22 +1,14 @@
1−{ stdenv, fetchFromGitHub, nix, cacert }:
1+{nixpkgs ? import <nixpkgs> {}}:
22
3− stdenv.mkDerivation {
4− name = "nix-bootstrap";
3+with nixpkgs;
54
6− src = fetchFromGitHub {
7− owner = "matthewbauer";
8− repo = "nix-bootstrap";
9− rev = "cc882b2cb92d8de87dad9cb890ad1745b06a9787";
10− sha256 = "05w6xjg0cgz6a4szc7jd7v53bmy4zjrgph5xkgyj73g62jyq7ajf";
11− };
5+let
126
13− propagatedBuildInputs = [ nix cacert ];
7+ makebootstrap = callPackage ./makebootstrap.nix {};
8+ install-nix-from-closure = callPackage ./install-nix-from-closure.nix {};
149
15− installPhase = ''
16− mkdir -p $out/
17− substitute install-nix-from-closure.sh $out/install \
18− --subst-var-by nix .${nix} \
19− --subst-var-by cacert .${cacert}
20− chmod +x $out/install
21− '';
22− }
10+in makebootstrap {
11+ name = "nix-bootstrap.sh";
12+ target = install-nix-from-closure;
13+ run = "/install";
14+}