diff --git a/configuration/live-dvd.nix b/configuration/live-dvd.nix index 91d366a9cff..03143803e6a 100644 --- a/configuration/live-dvd.nix +++ b/configuration/live-dvd.nix @@ -35,10 +35,12 @@ rec { export PATH=${pkgs.gnutar}/bin:${pkgs.bzip2}/bin:$PATH mkdir -p /etc/nixos/nixos tar xjf /nixos.tar.bz2 -C /etc/nixos/nixos - tar xjf /nixpkgs.tar.bz2 -C /etc/nixos - mv /etc/nixos/nixpkgs-* /etc/nixos/nixpkgs + mkdir -p /etc/nixos/nixpkgs + tar xjf /nixpkgs.tar.bz2 -C /etc/nixos/nixpkgs + mv /etc/nixos/nixpkgs-* /etc/nixos/nixpkgs || test -e /etc/nixos/nixpkgs ln -sfn ../nixpkgs/pkgs /etc/nixos/nixos/pkgs chown -R root.root /etc/nixos + touch /etc/resolv.conf end script "; } @@ -69,11 +71,12 @@ rec { }; fonts = { - enableFontConfig = false; + enableFontConfig = true; }; installer = { - nixpkgsURL = file:///root/ ; + manifests = [ file:///mnt/MANIFEST ]; + nixpkgsURL = file:///mnt/ ; }; security = { @@ -85,6 +88,51 @@ rec { environment = { extraPackages = pkgs: [ pkgs.vimDiet + pkgs.irssi + pkgs.elinks + pkgs.ltrace + pkgs.subversion + pkgs.which + pkgs.file + pkgs.zip + pkgs.unzip + pkgs.unrar + pkgs.usbutils + pkgs.bc + pkgs.cpio + pkgs.ncat + pkgs.patch + pkgs.fuse + pkgs.indent + pkgs.zsh + pkgs.hddtemp + pkgs.hdparm + pkgs.sdparm + pkgs.sqlite + pkgs.wpa_supplicant + pkgs.lynx + pkgs.db4 + pkgs.rogue + pkgs.attr + pkgs.acl + pkgs.automake + pkgs.autoconf + pkgs.libtool + pkgs.gnupg + pkgs.openssl + pkgs.units + pkgs.gnumake + pkgs.manpages + pkgs.cabextract + pkgs.upstartJobControl + pkgs.fpc + pkgs.python + pkgs.perl + pkgs.lftp + pkgs.wget + pkgs.guile + pkgs.utillinuxCurses + pkgs.emacs ]; }; @@ -113,6 +161,12 @@ rec { # CD. We put them in a tarball because accessing that many small # files from a slow device like a CD-ROM takes too long. makeTarball = tarName: input: pkgs.runCommand "tarball" {inherit tarName;} " + ensureDir $out + (cd ${input} && tar cvfj $out/${tarName} . \\ + --exclude '*~' \\ + --exclude 'result') + "; + makeTarballNixos = tarName: input: pkgs.runCommand "tarball" {inherit tarName;} " ensureDir $out (cd ${input} && tar cvfj $out/${tarName} . \\ --exclude '*~' \\ @@ -125,13 +179,19 @@ rec { nixosTarball = let filter = name: type: let base = baseNameOf (toString name); - in base != ".svn" && base != "result"; + in base != "result"; in - makeTarball "nixos.tar.bz2" (builtins.filterSource filter ./..); + makeTarballNixos "nixos.tar.bz2" (builtins.filterSource filter ./..); # Get a recent copy of Nixpkgs. - nixpkgsTarball = /root/nixpkgs.tar.bz2; + nixpkgsTarball = /* /root/nixpkgs.tar.bz2; */ + let filter = name: type: + let base = baseNameOf (toString name); + in base != "result"; + in + makeTarball "nixpkgs.tar.bz2" (builtins.filterSource filter /etc/nixos/nixpkgs); + # The configuration file for isolinux. isolinuxCfg = pkgs.writeText "isolinux.cfg" " @@ -172,7 +232,7 @@ rec { { source = nixosTarball + "/" + nixosTarball.tarName; target = "/" + nixosTarball.tarName; } - { source = nixpkgsTarball; + { source = nixpkgsTarball + "/" +nixpkgsTarball.tarName; target = "/nixpkgs.tar.bz2"; } ]; diff --git a/helpers/make-iso9660-image.nix b/helpers/make-iso9660-image.nix index c16d5413896..8bf3467b7fd 100644 --- a/helpers/make-iso9660-image.nix +++ b/helpers/make-iso9660-image.nix @@ -16,6 +16,9 @@ # to `source' that will be added to the CD. storeContents ? [] +, + buildStoreContents ? [] + # Whether this should be an El-Torito bootable CD. , bootable ? false @@ -43,5 +46,7 @@ stdenv.mkDerivation { # For obtaining the closure of `storeContents'. exportReferencesGraph = map (x: [("closure-" + baseNameOf x.object) x.object]) storeContents; + exportBuildReferencesGraph = + map (x: [("closure-build-" + baseNameOf x.object) x.object]) buildStoreContents; pathsFromGraph = ./paths-from-graph.pl; }