FAQ: Difference between revisions

Ardenet (talk | contribs)
Marked this version for translation
DHCP (talk | contribs)
m replace <code> with <pre> to unbreak formatting
 
(3 intermediate revisions by 3 users not shown)
Line 28: Line 28:
Also see:
Also see:
* https://wiki.nixos.org/wiki/User:Winny/WikiRisks
* https://wiki.nixos.org/wiki/User:Winny/WikiRisks
* https://greasyfork.org/en/scripts/495011-redirect-to-wiki-nixos-org (trivial userscript to redirect nixos.wiki links here)
* https://greasyfork.org/en/scripts/560152-redirect-to-wiki-nixos-org (trivial userscript to redirect nixos.wiki links here)


=== Why is Nix written in C++ rather than a functional language like Haskell? === <!--T:2-->
=== Why is Nix written in C++ rather than a functional language like Haskell? === <!--T:2-->
Line 54: Line 54:
</translate>
</translate>


<syntaxhighlight lang="bash">nixos-rebuild switch</syntaxhighlight>
<syntaxhighlight lang="console">
$ nixos-rebuild switch
</syntaxhighlight>


<translate>
<translate>
Line 61: Line 63:
</translate>
</translate>


<syntaxhighlight lang="bash">
<syntaxhighlight lang="console">
nix-store -qR $(nix-instantiate '<nixpkgs/nixos>' -A system) | xargs nix-store -r
$ nix-store -qR $(nix-instantiate '<nixpkgs/nixos>' -A system) | xargs nix-store -r
warning: you did not specify `--add-root'; the result might be removed by the garbage collector
warning: you did not specify `--add-root'; the result might be removed by the garbage collector


Line 73: Line 75:
</translate>
</translate>


<syntaxhighlight lang="bash">nix-store -qR ~/.nix-profile | xargs nix-store -r</syntaxhighlight>
<syntaxhighlight lang="console">
$ nix-store -qR ~/.nix-profile | xargs nix-store -r
</syntaxhighlight>


<translate>
<translate>
Line 99: Line 103:
</translate>
</translate>


<syntaxhighlight lang="bash">
<pre>
q0yi2nr8i60gm2zap46ryysydd2nhzhp-automake-1.11.1/
q0yi2nr8i60gm2zap46ryysydd2nhzhp-automake-1.11.1/
vbi4vwwidvd6kklq2kc0kx3nniwa3acl-automake-1.11.1/
vbi4vwwidvd6kklq2kc0kx3nniwa3acl-automake-1.11.1/
Line 109: Line 113:
j714mv53xi2j4ab4g2i08knqr137fd6l-nixos-build-vms/
j714mv53xi2j4ab4g2i08knqr137fd6l-nixos-build-vms/
xvs7y09jf7j48p6l0p87iypgpq470jqw-nixos-build-vms/
xvs7y09jf7j48p6l0p87iypgpq470jqw-nixos-build-vms/
</syntaxhighlight>
</pre>


<translate>
<translate>
=== I've updated my channel and something is broken, how can I rollback to an earlier channel? === <!--T:5-->
=== I've updated my channel and something is broken, how can I rollback to an earlier channel? === <!--T:5-->


Line 118: Line 123:
</translate>
</translate>


<syntaxhighlight lang="bash">
<syntaxhighlight lang="console">
nix-env --list-generations -p /nix/var/nix/profiles/per-user/root/channels
$ nix-env --list-generations -p /nix/var/nix/profiles/per-user/root/channels
18  2014-04-17 09:16:28
18  2014-04-17 09:16:28
19  2014-06-13 10:31:24  
19  2014-06-13 10:31:24  
Line 130: Line 135:
</translate>
</translate>


<syntaxhighlight lang="bash">
<syntaxhighlight lang="console">
nix-env --rollback -p /nix/var/nix/profiles/per-user/root/channels
$ nix-env --rollback -p /nix/var/nix/profiles/per-user/root/channels
switching from generation 20 to 19
switching from generation 20 to 19
</syntaxhighlight>
</syntaxhighlight>
Line 140: Line 145:
</translate>
</translate>


<syntaxhighlight lang="bash">
<syntaxhighlight lang="console">
nix-env --switch-generation 18 -p /nix/var/nix/profiles/per-user/root/channels
$ nix-env --switch-generation 18 -p /nix/var/nix/profiles/per-user/root/channels
switching from generation 20 to 18
switching from generation 20 to 18
</syntaxhighlight>
</syntaxhighlight>
Line 149: Line 154:
</translate>
</translate>


<syntaxhighlight lang="bash">nix-build -E 'with import <nixpkgs> { }; callPackage ./mypackage.nix { }'</syntaxhighlight>
<syntaxhighlight lang="console">
$ nix-build -E 'with import <nixpkgs> { }; callPackage ./mypackage.nix { }'
</syntaxhighlight>


<translate>
<translate>
Line 161: Line 168:
</translate>
</translate>


<syntaxhighlight lang="bash">nix-build -E 'with import <nixpkgs> { }; enableDebugging fooPackage'</syntaxhighlight>
<syntaxhighlight lang="console">
$ nix-build -E 'with import <nixpkgs> { }; enableDebugging fooPackage'
</syntaxhighlight>


<translate>
<translate>
Line 173: Line 182:
</translate>
</translate>


<syntaxhighlight lang="bash">sudo nix-build --check -A ncdu</syntaxhighlight>
<syntaxhighlight lang="console">
$ sudo nix-build --check -A ncdu
</syntaxhighlight>


<translate>
<translate>
Line 199: Line 210:
</syntaxhighlight></li>
</syntaxhighlight></li>
<li><p><translate><!--T:137--> Install all specified packages using this command:</translate></p>
<li><p><translate><!--T:137--> Install all specified packages using this command:</translate></p>
<syntaxhighlight lang="bash">nix-env -iA userPackages -f '<nixpkgs>'</syntaxhighlight></li></ol>
<syntaxhighlight lang="console">
$ nix-env -iA userPackages -f '<nixpkgs>'</syntaxhighlight></li>
</ol>


<translate>
<translate>
Line 277: Line 290:
</translate>
</translate>


<syntaxhighlight lang="bash">nix-build mybinaryprogram.nix</syntaxhighlight>
<syntaxhighlight lang="console">
$ nix-build mybinaryprogram.nix
</syntaxhighlight>


<translate>
<translate>
Line 284: Line 299:
</translate>
</translate>


<syntaxhighlight lang="bash">./result/bin/mybinaryprogram</syntaxhighlight>
<syntaxhighlight lang="console">
$ ./result/bin/mybinaryprogram
</syntaxhighlight>


<translate>
<translate>
Line 318: Line 335:
</translate>
</translate>


<syntaxhighlight lang="bash">nix-shell fhsUser.nix</syntaxhighlight>
<syntaxhighlight lang="console">
$ nix-shell fhsUser.nix
</syntaxhighlight>


<translate>
<translate>
Line 363: Line 382:
* For nixpkgs: the trunk [http://hydra.nixos.org/job/nixpkgs/trunk/unstable unstable] job, which contains some critical release packages.
* For nixpkgs: the trunk [http://hydra.nixos.org/job/nixpkgs/trunk/unstable unstable] job, which contains some critical release packages.
</translate>
</translate>


<ol start="2" style="list-style-type: decimal;">
<ol start="2" style="list-style-type: decimal;">
Line 383: Line 401:
</translate>
</translate>


<syntaxhighlight lang="bash">nix-instantiate --find-file nixpkgs</syntaxhighlight>
<syntaxhighlight lang="console">
$ nix-instantiate --find-file nixpkgs
</syntaxhighlight>


<translate>
<translate>
Line 402: Line 422:


<!--T:83-->
<!--T:83-->
So in short, the <code>relase-XX.YY</code> branches have not been run through Hydra yet, whereas the <code>nixos-XX.YY</code> ones have.
So in short, the <code>release-XX.YY</code> branches have not been run through Hydra yet, whereas the <code>nixos-XX.YY</code> ones have.


=== There's an updated version for $software on nixpkgs but not in channels, how can I use it? === <!--T:13-->
=== There's an updated version for $software on nixpkgs but not in channels, how can I use it? === <!--T:13-->
Line 410: Line 430:
</translate>
</translate>


<syntaxhighlight lang="command">
<syntaxhighlight lang="console">
NIX_PATH=nixpkgs=https://github.com/NixOS/nixpkgs/archive/release-17.09.tar.gz nix-shell -p $software
$ NIX_PATH='nixpkgs=https://github.com/NixOS/nixpkgs/archive/release-17.09.tar.gz' nix-shell -p $software
</syntaxhighlight>
</syntaxhighlight>


Line 438: Line 458:


<!--T:151-->
<!--T:151-->
{{Warning|`nixos-rebuild --upgrade` will by default only update the channel named `nixos`, which this new channel is not. Use `nixos-rebuild --upgrade-all` instead.}}
{{Warning|<code>nixos-rebuild --upgrade</code> will by default only update the channel named <code>nixos</code>, which this new channel is not. Use <code>nixos-rebuild --upgrade-all</code> instead.}}
</translate>
</translate>


Line 548: Line 568:
</translate>
</translate>


<syntaxhighlight lang="bash">sudo unshare -m bash</syntaxhighlight>
<syntaxhighlight lang="console">
$ sudo unshare -m bash
</syntaxhighlight>


<translate>
<translate>
Line 555: Line 577:
</translate>
</translate>


<syntaxhighlight lang="bash">mount -o remount,rw /nix/store</syntaxhighlight>
<syntaxhighlight lang="console">
$ mount -o remount,rw /nix/store
</syntaxhighlight>


<translate>
<translate>
Line 562: Line 586:
</translate>
</translate>


<syntaxhighlight lang="bash">nano <PATH_TO_PACKAGE>/default.nix</syntaxhighlight>
<syntaxhighlight lang="console">
$ nano <PATH_TO_PACKAGE>/default.nix
</syntaxhighlight>


<translate>
<translate>
Line 569: Line 595:
</translate>
</translate>


<syntaxhighlight lang="bash">exit</syntaxhighlight>
<syntaxhighlight lang="console">
$ exit
</syntaxhighlight>


<translate>
<translate>
Line 584: Line 612:
</translate>
</translate>


<syntaxhighlight lang="bash">nix-prefetch-git https://git.zx2c4.com/password-store</syntaxhighlight>
<syntaxhighlight lang="console">
$ nix-prefetch-git https://git.zx2c4.com/password-store
</syntaxhighlight>


<translate>
<translate>
Line 615: Line 645:
</translate>
</translate>


<syntaxhighlight lang="bash">nixos-rebuild switch --option binary-caches ''</syntaxhighlight>
<syntaxhighlight lang="console">
$ nixos-rebuild switch --option binary-caches ''
</syntaxhighlight>


<translate>
<translate>
Line 649: Line 681:
</translate>
</translate>


<syntaxhighlight lang="bash">nix-shell -I nixpkgs=channel:nixpkgs-unstable -p somepackage</syntaxhighlight>
<syntaxhighlight lang="console">
$ nix-shell -I nixpkgs=channel:nixpkgs-unstable -p somepackage
</syntaxhighlight>


<translate>
<translate>
Line 656: Line 690:
</translate>
</translate>


<syntaxhighlight lang="bash">sudo nix-channel --add https://nixos.org/channels/nixos-unstable nixos-unstable</syntaxhighlight>
<syntaxhighlight lang="console">
$ sudo nix-channel --add https://nixos.org/channels/nixos-unstable nixos-unstable
</syntaxhighlight>


<translate>
<translate>
Line 663: Line 699:
</translate>
</translate>


<syntaxhighlight lang="bash">sudo nix-channel --update nixos-unstable</syntaxhighlight>
<syntaxhighlight lang="console">
$ sudo nix-channel --update nixos-unstable
</syntaxhighlight>


<translate>
<translate>
Line 719: Line 757:
</translate>
</translate>


<syntaxhighlight lang="bash">su nano /etc/nixos/configuration.nix</syntaxhighlight>
<syntaxhighlight lang="console">
$ su nano /etc/nixos/configuration.nix
</syntaxhighlight>


<translate>
<translate>
Line 726: Line 766:
</translate>
</translate>


<syntaxhighlight lang="bash">boot.extraModulePackages = [ config.boot.kernelPackages.exfat-nofuse ];</syntaxhighlight>
<syntaxhighlight lang="nix">
boot.extraModulePackages = [ config.boot.kernelPackages.exfat-nofuse ];
</syntaxhighlight>


<translate>
<translate>
Line 733: Line 775:
</translate>
</translate>


<syntaxhighlight lang="bash">nixos-rebuild switch</syntaxhighlight>
<syntaxhighlight lang="console">
$ nixos-rebuild switch
</syntaxhighlight>


<translate>
<translate>
Line 771: Line 815:


<translate>
<translate>
== References == <!--T:134-->
== References == <!--T:134-->