summary refs log tree commit diff
path: root/pkgs/servers/x11
diff options
context:
space:
mode:
authorobadz <obadz-git@obadz.com>2016-08-22 01:15:13 +0100
committerGitHub <noreply@github.com>2016-08-22 01:15:13 +0100
commit3d16af70bf894ce15ec9bdcad3c9ac736dc43630 (patch)
tree75f612c7c1128c02334769e63a1e631225531f9a /pkgs/servers/x11
parent5120af001f2bb163b58c41c84b11a0c136a207fe (diff)
downloadnixlib-3d16af70bf894ce15ec9bdcad3c9ac736dc43630.tar
nixlib-3d16af70bf894ce15ec9bdcad3c9ac736dc43630.tar.gz
nixlib-3d16af70bf894ce15ec9bdcad3c9ac736dc43630.tar.bz2
nixlib-3d16af70bf894ce15ec9bdcad3c9ac736dc43630.tar.lz
nixlib-3d16af70bf894ce15ec9bdcad3c9ac736dc43630.tar.xz
nixlib-3d16af70bf894ce15ec9bdcad3c9ac736dc43630.tar.zst
nixlib-3d16af70bf894ce15ec9bdcad3c9ac736dc43630.zip
nixos/stage-1: add mechanism which lustrates all impurities from / (#17784)
lustrate /ˈlʌstreɪt/ verb.
  purify by expiatory sacrifice, ceremonial washing, or some other
  ritual action.

- sudo touch /etc/NIXOS_LUSTRATE
  ⇒ on next reboot, during stage 1, everything but /nix and /boot
  is moved to /old-root
- echo "etc/passwd" | sudo tee -a /etc/NIXOS_LUSTRATE
  ⇒ on next reboot, during stage 1, everything but /nix and /boot
  is moved to /old-root; except /etc/passwd is copied back.

Useful for installing NixOS in place on another distro. For instance:

$ nix-env -iE '_: with import <nixpkgs/nixos> { configuration = {}; }; with config.system.build; [ nixos-generate-config manual.manpages ]'
$ sudo mkdir /etc/nixos
$ sudo `which nixos-generate-config`

… edit the configuration files in /etc/nixos using man configuration.nix
  if needed

  maybe add: users.extraUsers.root.initialHashedPassword = "" ?

… Build the entire NixOS system and link it to the system profile:
$ nix-env -p /nix/var/nix/profiles/system -f '<nixpkgs/nixos>' -A system --set

… If you were using a single user install:
$ sudo chown -R 0.0 /nix

… NixOS is about to take over
$ sudo touch /etc/NIXOS
$ sudo touch /etc/NIXOS_LUSTRATE

… Let's keep the configuration files we just created
$ echo etc/nixos | sudo tee -a /etc/NIXOS_LUSTRATE

$ sudo mv -v /boot /boot.bak &&
  sudo /nix/var/nix/profiles/system/bin/switch-to-configuration boot
$ sudo reboot

… NixOS boots, Stage 1 moves all the old distro stuff in /old-root.
Diffstat (limited to 'pkgs/servers/x11')
0 files changed, 0 insertions, 0 deletions