Move Nix Store to new partition: Difference between revisions
imported>Buecking No edit summary |
imported>Buecking No edit summary |
||
Line 1: | Line 1: | ||
The tutorial will teach you how to relocate `/nix` to a new | The tutorial will teach you how to relocate `/nix` to a new | ||
device. | device on non `NixOS` Hosts. A summery of how this could be done on nixOS is below | ||
'''This has not been tested on NixOS''' but there may still be a way: | |||
= On *BSD/Linux Host = | |||
The device that /nix is on has no more space | The device that /nix is on has no more space | ||
Line 41: | Line 46: | ||
$ sudo systemctl start nix-daemon.service | $ sudo systemctl start nix-daemon.service | ||
= NixOS = | |||
Add [https://github.com/cleverca22/nixos-configs/blob/master/rescue_boot.nix rescue-boot.nix] to your imports section. | |||
nixos-rebuild (and pray you have ~300mb free on /boot/) | |||
run the installer from grub at any time. | |||
adjust your configuration.nix so it expects /nix to be at the new place, and nixos-rebuild boot, so it doesnt break after you move it | |||
Now reboot and move it. | |||
[[Category:Tutorial]] | [[Category:Tutorial]] | ||
[[Category:NixOS]] | [[Category:NixOS]] |
Revision as of 21:47, 8 February 2019
The tutorial will teach you how to relocate `/nix` to a new device on non `NixOS` Hosts. A summery of how this could be done on nixOS is below This has not been tested on NixOS but there may still be a way:
On *BSD/Linux Host
The device that /nix is on has no more space
$ du -h Filesystem Size Used Avail Use% Mounted on /dev/sda1 182G 180G 2G 99% /
Stop nix daemon
$ sudo systemctl stop nix-daemon.service
Move backup /nix; mv /nix to /nix.bak
$ ls -alF /nix total 1068 drwxr-xr-x 4 root root 4096 Jan 22 02:43 ./ drwxr-xr-x 26 root root 4096 Feb 8 12:17 ../ drwxrwxr-t 1555 root nixbld 1077248 Feb 8 12:05 store/ drwxr-xr-x 4 root root 4096 Jan 22 02:43 var/ $ cd / $ tar -afp /nix.tgz /nix /nix.bak $ sudo mv /nix /nix.bak # incase something goes horribly wrong
Mount new device. You will need to add this device to `/etc/fstab`
$ mount /nix $ du -h Filesystem Size Used Avail Use% Mounted on /dev/sdb1 300G 0G 300G 0% /nix
Restore /nix from /nix.tgz; verify contents
$ cd / $ sudo tar -xf /nix.tgz $ nix-store --verify --check-contents
Start up nixdaemon
$ sudo systemctl start nix-daemon.service
NixOS
Add rescue-boot.nix to your imports section.
nixos-rebuild (and pray you have ~300mb free on /boot/)
run the installer from grub at any time.
adjust your configuration.nix so it expects /nix to be at the new place, and nixos-rebuild boot, so it doesnt break after you move it
Now reboot and move it.