* nix-pull now requires the full url to the manifest, i.e., `/MANIFEST/' is no longer automatically appended. * nix-prefetch-url works again.
		
			
				
	
	
		
			141 lines
		
	
	
		
			No EOL
		
	
	
		
			3.5 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
			
		
		
	
	
			141 lines
		
	
	
		
			No EOL
		
	
	
		
			3.5 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
<chapter>
 | 
						|
  <title>Quick Start</title>
 | 
						|
 | 
						|
  <para>
 | 
						|
    This chapter is for impatient people who don't like reading
 | 
						|
    documentation.  For more in-depth information you are kindly
 | 
						|
    referred to <xref linkend='chap-installation' /> and <xref
 | 
						|
    linkend='chap-overview' />.
 | 
						|
  </para>
 | 
						|
 | 
						|
  <orderedlist>
 | 
						|
 | 
						|
    <listitem>
 | 
						|
      <para>
 | 
						|
        Download a source tarball or RPM from <ulink
 | 
						|
        url='http://www.cs.uu.nl/groups/ST/Trace/Nix'/>.
 | 
						|
        Build source distributions using the regular sequence:
 | 
						|
        
 | 
						|
        <screen>
 | 
						|
$ tar xvfj nix-<replaceable>version</replaceable>.tar.bz2
 | 
						|
$ ./configure
 | 
						|
$ make
 | 
						|
$ make install <lineannotation>(as root)</lineannotation></screen>
 | 
						|
 | 
						|
        This will install Nix in <filename>/nix</filename>.  You
 | 
						|
        should also add <filename>/nix/etc/profile.d/nix.sh</filename>
 | 
						|
        to your <filename>~/.bashrc</filename> (or some other login
 | 
						|
        file).
 | 
						|
      </para>
 | 
						|
    </listitem>
 | 
						|
 | 
						|
    <listitem>
 | 
						|
      <para>
 | 
						|
        Get some Nix expressions for pre-built packages by downloading
 | 
						|
        the latest <literal>nixpkgs</literal> distribution (from the
 | 
						|
        same location), and unpack them.
 | 
						|
 | 
						|
        <screen>
 | 
						|
$ wget http://<replaceable>...</replaceable>/nix/nixpkgs-<replaceable>version</replaceable>/nixpkgs-<replaceable>version</replaceable>.tar.bz2
 | 
						|
$ tar xfj nixpkgs-<replaceable>version</replaceable>.tar.bz2</screen>
 | 
						|
 | 
						|
        This will unpack the distribution into a directory
 | 
						|
        <filename>nixpkgs-<replaceable>version</replaceable>/</filename>.
 | 
						|
      </para>
 | 
						|
    </listitem>
 | 
						|
 | 
						|
    <listitem>
 | 
						|
      <para>
 | 
						|
        Pull the Nix cache.  This ensures that when you install
 | 
						|
        packages they are downloaded in pre-built form from the
 | 
						|
        network, rather than built from source.
 | 
						|
 | 
						|
        <screen>
 | 
						|
$ nix-pull http://<replaceable>...</replaceable>/nix/nixpkgs-<replaceable>version</replaceable>/MANIFEST</screen>
 | 
						|
 | 
						|
      </para>
 | 
						|
 | 
						|
      <para>
 | 
						|
        Note that currently we only pre-build for Linux on x86
 | 
						|
        platforms.
 | 
						|
      </para>
 | 
						|
        
 | 
						|
    </listitem>
 | 
						|
        
 | 
						|
    <listitem>
 | 
						|
      <para>
 | 
						|
        See what's available:
 | 
						|
 | 
						|
        <screen>
 | 
						|
$ nix-env -qaf nixpkgs-<replaceable>version</replaceable>/
 | 
						|
MozillaFirebird-0.7
 | 
						|
hello-2.1.1
 | 
						|
docbook-xml-4.2
 | 
						|
libxslt-1.1.0
 | 
						|
<replaceable>...</replaceable></screen>
 | 
						|
 | 
						|
      </para>
 | 
						|
    </listitem>
 | 
						|
 | 
						|
    <listitem>
 | 
						|
      <para>
 | 
						|
        Install some packages:
 | 
						|
        
 | 
						|
        <screen>
 | 
						|
$ nix-env -iBf nixpkgs-<replaceable>version</replaceable>/ hello MozillaFirebird <replaceable>...</replaceable> </screen>
 | 
						|
 | 
						|
      </para>
 | 
						|
    </listitem>
 | 
						|
 | 
						|
    <listitem>
 | 
						|
      <para>
 | 
						|
        Test that they work:
 | 
						|
 | 
						|
        <screen>
 | 
						|
$ which hello
 | 
						|
/home/eelco/.nix-profile/bin/hello
 | 
						|
$ hello
 | 
						|
Hello, world!
 | 
						|
$ MozillaFirebird
 | 
						|
<lineannotation>(read Slashdot or something)</lineannotation></screen>
 | 
						|
 | 
						|
      </para>
 | 
						|
    </listitem>
 | 
						|
    
 | 
						|
    <listitem>
 | 
						|
      <para>
 | 
						|
        Uninstall a package:
 | 
						|
 | 
						|
        <screen>
 | 
						|
$ nix-env -e hello</screen>
 | 
						|
 | 
						|
      </para>
 | 
						|
    </listitem>
 | 
						|
 | 
						|
    <listitem>
 | 
						|
      <para>
 | 
						|
        If a new release of <literal>nixpkgs</literal> comes along,
 | 
						|
        you can upgrade all installed packages to the latest versions
 | 
						|
        by downloading and unpacking the new release and doing:
 | 
						|
 | 
						|
        <screen>
 | 
						|
$ nix-env -uBf nixpkgs-<replaceable>version</replaceable>/ '*'</screen>
 | 
						|
 | 
						|
      </para>
 | 
						|
    </listitem>
 | 
						|
 | 
						|
    <listitem>
 | 
						|
      <para>
 | 
						|
        You should periodically run the Nix garbage collector to get
 | 
						|
        rid of unused packages, since uninstalls or upgrades don't
 | 
						|
        actual delete them:
 | 
						|
 | 
						|
        <screen>
 | 
						|
$ nix-collect-garbage | xargs nix-store --delete</screen>
 | 
						|
 | 
						|
      </para>
 | 
						|
    </listitem>
 | 
						|
 | 
						|
  </orderedlist>
 | 
						|
 | 
						|
</chapter> |