about summary refs log tree commit diff
path: root/src/nix/main.cc
AgeCommit message (Collapse)AuthorFilesLines
2018-02-08 Add plugins to make Nix more extensible.Shea Levy1-0/+2
All plugins in plugin-files will be dlopened, allowing them to statically construct instances of the various Register* types Nix supports.
2018-01-31 Add 'nix upgrade-nix' commandEelco Dolstra1-1/+4
This command upgrades Nix to the latest stable version by installing a store path obtained from https://github.com/NixOS/nixpkgs/raw/master/nixos/modules/installer/tools/nix-fallback-paths.nix which is the same store path that the installer at https://nixos.org/nix/install.sh uses. The upgrade fails if Nix is not installed in a profile (e.g. on NixOS, or when installed outside of the Nix store).
2017-11-14 Make config options available to legacy commandsEelco Dolstra1-4/+0
2017-10-24 nix: Respect -I, --arg, --argstrEelco Dolstra1-13/+23
Also, random cleanup to argument handling.
2017-08-29 nix edit / log: Operate on a single InstallableEelco Dolstra1-0/+3
2017-08-29 nix run: Flush the progress bar before starting the commandEelco Dolstra1-1/+2
2017-08-29 nix run: Fix chroot executionEelco Dolstra1-0/+11
Running "nix run" with a diverted store, e.g. $ nix run --store local?root=/tmp/nix nixpkgs.hello stopped working when Nix became multithreaded, because unshare(CLONE_NEWUSER) doesn't work in multithreaded processes. The obvious solution is to terminate all other threads first, but 1) there is no way to terminate Boehm GC marker threads; and 2) it appears that the kernel has a race where unshare(CLONE_NEWUSER) will still fail for some indeterminate amount of time after joining other threads. So instead, "nix run" will now exec() a single-threaded helper ("nix __run_in_chroot") that performs the actual unshare()/chroot()/exec().
2017-07-30 Replace Unicode quotes in user-facing strings by ASCIIJörg Thalheim1-3/+3
Relevant RFC: NixOS/rfcs#4 $ ag -l | xargs sed -i -e "/\"/s/’/'/g;/\"/s/‘/'/g"
2017-07-14 nix: Show help when no arguments are givenEelco Dolstra1-6/+9
Fixes #1464.
2017-06-07 Don't show flags from config settings in "nix --help"Eelco Dolstra1-1/+3
2017-06-07 nix: Add --help-config flagEelco Dolstra1-0/+20
2017-06-07 nix: Make all options available as flagsEelco Dolstra1-0/+2
Thus, instead of ‘--option <name> <value>’, you can write ‘--<name> <value>’. So --option http-connections 100 becomes --http-connections 100 Apart from brevity, the difference is that it's not an error to set a non-existent option via --option, but unrecognized arguments are fatal. Boolean options have special treatment: they're mapped to the argument-less flags ‘--<name>’ and ‘--no-<name>’. E.g. --option auto-optimise-store false becomes --no-auto-optimise-store
2017-05-16 Improve progress indicatorEelco Dolstra1-0/+1
2017-04-13 Convert Settings to the new config systemEelco Dolstra1-1/+0
This makes all config options self-documenting. Unknown or unparseable config settings and --option flags now cause a warning.
2017-04-08 Process nix.conf options in "new" nix commands, add test.Will Dietz1-0/+1
Without this (minor) change, the options set using "--option" or read from nix.conf were parsed but not used.
2016-04-25 nix: Disable verbose buildsEelco Dolstra1-0/+2
2016-04-25 Improved logging abstractionEelco Dolstra1-0/+3
This also gets rid of --log-type, since the nested log type isn't useful in a multi-threaded situation, and nobody cares about the "pretty" log type.
2016-03-04 Add warning about "nix" being experimentalEelco Dolstra1-0/+1
2016-02-09 Start of new Nix command-line interfaceEelco Dolstra1-0/+55