Commit graph

563 commits

Author SHA1 Message Date
Victor Engmark e0f1682910 nixos/installer: Quote variable references
See <https://github.com/koalaman/shellcheck/wiki/SC2086>.
2021-11-26 18:58:08 +13:00
Victor Engmark c9a7385997 nixos/installer: Use -n instead of ! -z
See <https://github.com/koalaman/shellcheck/wiki/SC2236>.
2021-11-26 18:55:53 +13:00
Victor Engmark adb8f5c858 nixos/installer: Mark scripts as Bash for ShellCheck
See <https://github.com/koalaman/shellcheck/wiki/SC2239>.
2021-11-26 18:54:23 +13:00
Graham Christensen 6cfd23fa0b nixos-install: support --no-root-password 2021-11-22 22:09:50 +02:00
Artturin f93a7f8b56 nixos-generate-config: automatically enable microcode updates 2021-11-15 22:28:41 +02:00
Eelco Dolstra 58a9cca8cd
nix-fallback-paths.nix: Update to 2.4 2021-11-09 10:47:10 -08:00
Artturin 9145f833cc nixos/nixos-enter: bind mount /etc/resolv.conf to chroot 2021-10-30 18:46:14 +03:00
Janne Heß b071aea8d0
nixos/nixos-enter: Add IN_NIXOS_ENTER variable 2021-10-13 13:05:54 +02:00
Eelco Dolstra a47875938d
nix-fallback-paths.nix: Update to 2.3.16 2021-10-07 17:33:53 +02:00
Jacek Galowicz d68f1e43df
Merge pull request #126713 from blaggacao/nixos-test-ref/05-class-ify-test-driver
nixos test ref/05 class ify test driver
2021-10-07 14:37:01 +02:00
Maximilian Bosch b2e59bcf77 nixos/build-vms: fix eval 2021-10-05 14:38:48 -05:00
David Arnold b0fc9da879 nixos/test/test-driver: Class-ify the test driver
This commit encapsulates the involved domain into classes and
defines explicit and typed arguments where untyped dicts where used.

It preserves backwards compatibility through legacy wrappers.
2021-10-05 14:38:48 -05:00
Artturi 045bf139db
Merge pull request #104828 from matthewbauer/add-disableInstallerTools-option 2021-09-14 20:41:02 +03:00
Eelco Dolstra 512ee6db39
nix-fallback-paths.nix: Update to 2.3.15 2021-07-28 22:45:33 +02:00
Maximilian Bosch e66237af15
nixStable: 2.3.12 -> 2.3.14
Changes: https://github.com/NixOS/nix/compare/2.3.12...2.3.14

Since this is a bugfix release that wasn't pushed to `nixpkgs`, I
decided to take care of it.

As it's usually done in `upload-release.pl`[1], I updated the
fallback-paths accordingly and used eval `1687468`[2] for this with Nix
2.3.14.

Also added a fallback-path for `aarch64-darwin` as Nix 2.3.14 seems to
support this now[3].

[1] https://github.com/NixOS/nix/blob/2.3-maintenance/maintainers/upload-release.pl
[2] https://hydra.nixos.org/eval/1687468
[3] 14262b86cc
2021-07-20 17:06:51 +02:00
Robert Helgesson 231a31be87 nixos-option: add backwards compatibility layer
This adds a basic `nixos-option/default.nix` file to provide some
measure of backwards compatibility with Nixpkgs prior to
ce6f17f953.
2021-07-10 22:32:26 +02:00
Robert Helgesson ce6f17f953
nixos-option: init at <unversioned> 2021-07-09 08:59:12 +02:00
Timothy DeHerrera 7e59c19715 nixos-option: remove if nix.package is unstable
This was done in a0a61c3e34, but users
typically install `nixUnstable` via `nix.package`, not by overlaying
`pkgs.nix` directly.
2021-06-29 16:13:52 -07:00
Eelco Dolstra b08e223a04 nix: 2.3.10 -> 2.3.11
The patch is included in the new release, so can be dropped.

Co-authored-by: Alyssa Ross <hi@alyssa.is>
2021-05-14 12:24:54 +00:00
Alyssa Ross 195d532a63
Revert "Revert "Revert "nix: 2.3.10 -> 2.3.11"""
This reverts commit 66fc303070.

There is still a patch that doesn't apply.
2021-05-14 11:35:18 +00:00
Eelco Dolstra 66fc303070
Revert "Revert "nix: 2.3.10 -> 2.3.11""
This reverts commit 1872bbdae5.
2021-05-14 13:33:05 +02:00
Alyssa Ross 1872bbdae5
Revert "nix: 2.3.10 -> 2.3.11"
This reverts commit 6f6b2cdc98.

Version wasn't updated, and apparently a patch didn't apply.  Let's do
this upgrade properly, in a PR, but for now I'm reverting so we don't
have a broken nix package in master.
2021-05-14 11:30:55 +00:00
Eelco Dolstra 6f6b2cdc98
nix: 2.3.10 -> 2.3.11 2021-05-14 13:11:26 +02:00
Jörg Thalheim c534a8434f
nixos-install: fix flake command 2021-04-24 11:49:59 +02:00
Jörg Thalheim e9cf66e042
configuration template: improve docs on nano 2021-04-21 05:43:50 +02:00
Jörg Thalheim 20e0c6d583
configuration template: add hint to install editor (#105771)
fixes #25376
2021-04-20 21:20:03 +01:00
rnhmjoj 61b7cab481
treewide: use perl.withPackages when possible
Since 03eaa48 added perl.withPackages, there is a canonical way to
create a perl interpreter from a list of libraries, for use in script
shebangs or generic build inputs. This method is declarative (what we
are doing is clear), produces short shebangs[1] and needs not to wrap
existing scripts.

Unfortunately there are a few exceptions that I've found:

  1. Scripts that are calling perl with the -T switch. This makes perl
  ignore PERL5LIB, which is what perl.withPackages is using to inform
  the interpreter of the library paths.

  2. Perl packages that depends on libraries in their own path. This
  is not possible because perl.withPackages works at build time. The
  workaround is to add `-I $out/${perl.libPrefix}` to the shebang.

In all other cases I propose to switch to perl.withPackages.

[1]: https://lwn.net/Articles/779997/
2021-03-31 21:35:37 +02:00
WORLDofPEACE 452f7e14d4 nixos/tools: generate an xserver config
The desktop configuration won't enable xserver.
If there's multiple desktops enabled they will now evaluate properly.
2021-02-13 18:46:01 -05:00
WORLDofPEACE 94f0210e60 nixos/tools: make desktopConfiguation types.listOf types.lines
This fixes #108124.
2021-02-13 18:45:27 -05:00
Robert Hensing d51d15e1cf
Merge pull request #109665 from prusnak/stdenv-lib-nixos
nixos/modules: stdenv.lib -> lib
2021-01-19 23:50:30 +01:00
Jonathan Ringer e2fcf81d2a nixos/modules: pkgconfig -> pkg-config 2021-01-19 01:16:25 -08:00
Pavol Rusnak 66dc9dbb59
nixos/modules: stdenv.lib -> lib 2021-01-17 21:40:51 +01:00
Domen Kožar c32f5b22f1
move nixos-rebuild into pkgs 2021-01-15 20:07:38 +01:00
Niklas Hambüchen 5604a20762
Merge pull request #80769 from chkno/nixos-enter-tmp
nixos/nixos-enter: Create /tmp
2020-12-31 01:37:41 +01:00
Eelco Dolstra a8c49a97a6
nix: 2.3.9 -> 2.3.10 2020-12-18 12:33:49 +01:00
Matthew Bauer 62e723f5aa installers/tools: add system.disableInstallerTools option
This option can be set to disable installer tools like nixos-rebuild,
nixos-install, and nixos-generate-config (as well as more). This is
nice when a system is not expected to be rebuild or reconfigure itself
such as in a stateless PXE setup, as well as other embedded scenarios.
Note, that the system can still be updated, but it must either get
nixos-rebuild from another source, or, for embedded systems, be
upgraded by another machine like:

  nix copy "$system" --to "ssh://root@<host>" && ssh "root@<host>"
  "nix-env -p /nix/var/nix/profiles/system --set $system && $system/bin/switch-to-configuration switch".

Along with other options, this allows removing Perl from a closure.
For example:

{
  boot.enableContainers = false;
  environment.defaultPackages = [];
  system.disableInstallerTools = true;
}

should not include Perl.
2020-11-24 18:22:11 -06:00
Eelco Dolstra 80097e57c9
nix: 2.3.8 -> 2.3.9 2020-11-20 13:03:04 +01:00
Victor Nawothnig 27e9328895 Support virtio_scsi devices on nixos-generate-config 2020-11-04 10:00:28 +01:00
hyperfekt 1338647a8c nixos-install: pass through keep-going flag 2020-10-31 17:13:45 +01:00
WORLDofPEACE 7b3b82f7af
Merge pull request #100136 from xaverdh/nixos-install-support-impure
nixos-install: pass through impure flag
2020-10-31 01:17:07 -04:00
Andreas Rammhold d4fb7daafd
nixos-build-vms: use the driverInteractive attribute instead
This reverts commit aab534b894 & uses the
driverInteractive attribute for the test driver instead.

This has the same effect but removes the extra module in the
nixos-build-vms code.
2020-10-25 20:14:53 +01:00
WORLDofPEACE ef803ab1bb
Merge pull request #100199 from worldofpeace/seeded-config
nixos/tools: add desktopConfiguration option (to seed configuration into configuration.nix)
2020-10-24 11:35:33 -04:00
Maximilian Bosch aab534b894
nixos/nixos-build-vms: use pkgs.qemu for virtualisation
When I test a change e.g. in the module system manually, I usually use
`nixos-build-vms(8)` which also gives me a QEMU window where I can play
around in the freshly built VM.

It seems as this has changed recently when the default package for
non-interactive VM tests using the same framework was switched to
`pkgs.qemu_test` to reduce the closure size. While this is a reasonable
decision for our CI tests, I think that you really want a QEMU window of
the VM by default when using `nixos-build-vms(8)`.

[1] bc2188b083
2020-10-23 17:37:57 +02:00
Eelco Dolstra d28565a1c6
nix: 2.3.7 -> 2.3.8 2020-10-22 14:47:55 +02:00
WORLDofPEACE 99d5111246 nixos/tools: add desktopConfiguration option
We now have a GNOME ISO so it would be nice to seed that one
with configuration on how to enable it.
2020-10-12 22:03:16 -04:00
WORLDofPEACE 2d6a694842 nixos/tools: add firefox to systemPackages example
This is in the graphical iso's.
2020-10-10 22:44:56 -04:00
WORLDofPEACE 3b20eb47f1 nixos/tools: don't call Plasma KDE 2020-10-10 22:44:56 -04:00
WORLDofPEACE 9f1a43cefa nixos/tools: comment about libinput 2020-10-10 22:44:56 -04:00
WORLDofPEACE 12825bc21f nixos/tools: don't mention pinentryFlavor
We don't need to actually set this as it find a good
default automatically. This could confuse the user into thinking they need
to set it themselves.
2020-10-10 22:44:55 -04:00
Dominik Xaver Hörl bb61cce82a nixos-install: pass through impure flag 2020-10-10 10:05:15 +02:00
WORLDofPEACE 0d47426f37
Merge pull request #99615 from andir/use-configured-nix-for-installer
nixos/installer: use the configured nix package for nixos-install
2020-10-05 21:00:29 -04:00
Andreas Rammhold 544059b01f
nixos/installer: drop the extra nixUnstable in nixos-install
The only nix version available in the installer should be the version
configure in the module system. If someone needs `nixUnstable` in their
`nixos-install` they should probably set the module option and not just
add it to the closure.
2020-10-06 01:11:09 +02:00
Cole Helbling 3bbe4c322a
nixos-install: use mountpoint as store
Otherwise, it's possible building a flake may cause the live CD to run
out of memory.
2020-10-03 10:09:20 -07:00
Eelco Dolstra b551f06097 nixos-generate-config: Add missing newline 2020-10-03 10:48:39 +02:00
WORLDofPEACE 1343164249 nixos-rebuild: add impure 2020-09-28 17:24:37 -04:00
Graham Christensen d9a93852d4
nixos-rebuild: support --upgrade-all and document --upgrade (#83327) 2020-09-25 17:22:11 +02:00
zowoq 74c2ed9e35 nixos/tools/nixos-install: remove trailing whitespace 2020-09-21 09:35:27 +10:00
WORLDofPEACE 684d691c6e
Merge pull request #97738 from cole-h/build-vm-for-flakes
nixos-rebuild: add flake support for build-vm
2020-09-20 15:10:16 -04:00
Cole Helbling e26b348689
nixos-rebuild: add flake support for build-vm
This relies on users using `nixpkgs.lib.nixosSystem` to define their
system; otherwise, the `vm` and `vmWithBootLoader` attributes will not
exist.
2020-09-17 11:44:47 -07:00
WORLDofPEACE a39ad85726
nixos/tools/nixos-install: add jq to path 2020-09-11 13:03:03 -04:00
WORLDofPEACE d0972c9637
Merge pull request #95194 from ju1m/nixos-install
nixos-install: add support for flakes
2020-09-05 15:31:14 -04:00
Julien Moutinho b03c506178 nixos-install: add support for flakes 2020-09-04 06:56:09 +02:00
Julien Moutinho c6a3a0f4f5 nixos-rebuild: do not depend on nix.conf to activate flakes 2020-09-04 06:56:09 +02:00
WORLDofPEACE 18348c7829
Merge pull request #96042 from rnhmjoj/loaOf
treewide: completely remove types.loaOf
2020-09-02 08:45:37 -04:00
rnhmjoj 20d491a317
treewide: completely remove types.loaOf 2020-09-02 00:42:50 +02:00
V e08bcdbec3 nixos-rebuild: don't quote $EDITOR
$EDITOR is allowed to contain flags, so it is important to allow the
shell to split this normally. For example, Sublime Text needs to be
passed --wait, since otherwise it will daemonise.
2020-08-29 09:54:14 +02:00
V be193a2057 nixos-rebuild: make 'edit' work with directories
$NIXOS_CONFIG can be set to a directory, in which case the file used
is $NIXOS_CONFIG/default.nix. This updates 'nixos-rebuild edit' to
handle that case correctly.
2020-08-29 09:54:02 +02:00
Ben Wolsieffer 23b4356a5f nixos/nixos-*: use runtimeShell
Fix shebangs and other shell uses in the NixOS tools, allowing them to work
correctly on cross-compiled systems.
2020-08-16 13:08:33 +00:00
Linus Heckemann a5d20d25eb
Merge pull request #88669 from Mic92/hidpi
nixos/hidpi: Reasonable defaults for high-density displays
2020-07-22 17:43:03 +02:00
Eelco Dolstra 046427570e
nix: 2.3.6 -> 2.3.7 2020-07-08 16:58:54 +02:00
Matthew Bauer c34507d795
Merge pull request #90431 from euank/nixos-install-warn
nixos-install: error out if $mountPoint has bad permissions
2020-07-05 18:55:43 -04:00
Jörg Thalheim e943489f24
nixos-generate-config: refer to nixos-hardware 2020-06-22 23:51:08 +01:00
Euan Kemp 460c0d608f nixos-install: error out if $mountPoint has bad permissions
The nix store more-or-less requires o+rx on all parent directories.
This is primarily because nix runs builders in a uid/gid mapped
user-namespace, and those builders have to be able to operate on the nix
store.

This check is especially helpful because nix does not produce a helpful
error on its own (rather, creating directories and such works, it's not
until 'mount --bind' that it gets an EACCES).

Helps users who run into this opaque error, such as in #67465.
Possibly fixes that issue if bad permissions were the only cause.
2020-06-18 20:10:26 -07:00
Eelco Dolstra aef2bc1330
nix: 2.3.6 -> 2.3.6 2020-06-03 14:57:39 +02:00
Eelco Dolstra e8896deced
nix: 2.3.4 -> 2.3.5 2020-05-27 16:48:28 +02:00
Jörg Thalheim 435340ed58
nixos-generate-config: enable hidpi module for displays 2020-05-24 16:32:03 +01:00
Alexey Shmalko afbab5a3f3
Merge pull request #85996 from misuzu/nixos-install-low-memory
nixos/nixos-installer: use temporary directory on target filesystem
2020-05-08 18:40:24 +03:00
Eelco Dolstra ecdb5c4320
nixos-install: 'nix build' -> nix-build
'nix build' is an experimental command so we shouldn't use it
yet. (nixos-rebuild also uses 'nix', but only when using flakes, which
are themselves an experimental feature.)
2020-05-07 13:12:29 +02:00
misuzu 5700232c3f nixos/nixos-installer: use temporary directory on target filesystem
nix build should store it's temporary files on target filesystem.
This should fix 'No space left on device' on systems
with low amount of RAM when there is a need to build something
like Linux kernel
2020-04-25 14:37:36 +03:00
worldofpeace 9b20a24d4d
Merge pull request #85643 from petabyteboy/feature/generate-config
nixos/tools: adapt for renamed console options
2020-04-21 12:50:55 -04:00
Milan Pässler d19089e1e7 nixos/tools: adapt for renamed console options 2020-04-21 02:07:53 +02:00
Matthew Bauer c45295d47e nixos/nixos-generate-config.pl: use modulesPath instead of <nixpkgs>
For imports, it is better to use ‘modulesPath’ than rely on <nixpkgs>
being correctly set. Some users may not have <nixpkgs> set correctly.
In addition, when ‘pure-eval=true’, <nixpkgs> is unset.
2020-04-20 09:57:17 -05:00
Maximilian Bosch ec6bac99cc
nixos/build-vms: propagate file location
When trying to build a VM using `nixos-build-vms` with a configuration
that doesn't evaluate, an error "at `<unknown-file>`" is usually shown.

This happens since the `build-vms.nix` creates a VM-network of
NixOS-configurations that are attr-sets or functions and don't contain
any file information. This patch manually adds the `_file`-attribute to
tell the module-system which file contained broken configuration:

```
$ cat vm.nix
{ vm.invalid-option = 1; }

$ nixos-build-vms vm.nix
error: The option `invalid-option' defined in `/home/ma27/Projects/nixpkgs/vm.nix@node-vm' does not exist.
(use '--show-trace' to show detailed location information)
```
2020-04-13 17:50:13 +02:00
Eelco Dolstra aa084e2a24
nix: Fix fallback paths 2020-04-10 21:13:15 +02:00
Eelco Dolstra cea352d276
nix: 2.3.3 -> 2.3.4 2020-04-10 17:23:28 +02:00
Jörg Thalheim e6a15db534
nixos: default nix.maxJobs to auto
Instead of making the configuration less portable by hard coding the number of
jobs equal to the cores we can also let nix set the same number at runtime.
2020-04-07 08:45:56 +01:00
Eelco Dolstra a0a61c3e34 nixos-option: Disable on Nix >= 2.4 because it doesn't compile
This is needed when using the overlay from the Nix flake.
2020-03-20 14:52:22 +01:00
Eelco Dolstra 21a3b141c3
nix-fallback-paths.nix: Fix x86_64-linux path
https://github.com/NixOS/nix/issues/3370
2020-02-24 10:16:26 +01:00
Chuck 48810b2cfa nixos/nixos-enter: Create /tmp
/tmp is normally created by the systemd-tmpfiles-setup systemd service
at startup.

Fixes #39140
2020-02-21 17:52:47 -08:00
Eelco Dolstra 3c47f78e82
nix: 2.3.2 -> 2.3.3 2020-02-19 01:54:25 +01:00
Maximilian Bosch c391343fcd
nixos/nixos-build-vms: switch to python test-driver
In 0945178b3c we decided that Perl-based
VM tests should be deprecated and will be removed between 20.03 and
20.09. So let's switch `nixos-build-vms(8)` to python as well (which is
entirely interactive, so other scripts won't break).

In my experience, the test-driver isn't used most of the time, so this
patch is mainly supposed to get rid of the (probably misleading)
deprecation warning when running `nixos-build-vms`. Apart from that, the
interface for python's test-driver is way nicer.
2020-02-15 19:35:17 +01:00
Graham Christensen 2d42fc240c
nixos-enter: redirect to fd2 instead of a file named /dev/stderr
In some cases, /dev/stderr may not point to a sensible location. For
example, running nixos-enter inside a systemd unit where the unit's
StandardOutput and StandardError are set to be sockets. In these
cases, this line would fail.

Piping to fd2 directly works just as well, even under strange and
twisted executions.

Co-authored-by: Michael Bishop <michael.bishop@iohk.io>
2020-02-12 21:18:27 -05:00
Eelco Dolstra fb05afd78d Doh 2020-02-10 16:32:59 +01:00
Eelco Dolstra 8f86624ac9 nixos-rebuild: Remove TODOs 2020-02-10 15:45:27 +01:00
Eelco Dolstra c05cc615f2 nixos.revision: Use null instead of "master"
"master" is not a valid SHA-1 commit hash, and it's not even
necessarily the branch used. 'nixos-version --revision' now returns an
error if the commit hash is not known.
2020-02-10 15:45:15 +01:00
Eelco Dolstra b98ea45608 nixos-version --json: Use builtins.toJSON 2020-02-10 15:45:10 +01:00
Eelco Dolstra f9392f04ae nixos-rebuild: Remove --keep-going flag 2020-02-10 15:45:06 +01:00
Eelco Dolstra 4089dbf090 nixos-rebuild: Make 'edit' work with with flakes 2020-02-10 15:45:03 +01:00
Eelco Dolstra c08930874a nixos-rebuild: Propagate various flake lock file flags
And also --refresh and --no-net.
2020-02-05 23:15:18 +01:00
Eelco Dolstra 2a0cf385d2 nixos-rebuild: Avoid subshell reading hostname
Co-Authored-By: Jörg Thalheim <Mic92@users.noreply.github.com>
2020-02-05 23:15:18 +01:00