This is currently not actively maintained. However, I plan to come back to this with a cleaner and better XFCE live ISO environment. If that ends up not happening for some reason, this repository will simply be archived.
Welp, this did, in fact, not happen. I have no intereset nor time at the moment to keep this updated, and it has been inactive for too long now anyway. Hm… I might try to make a live ISO of my current desktop, though… Not a terrible idea!
These are a collection of Nix modules that allows one to create a live ISO of a NixOS unstable system with the XFCE desktop environment.
It contains certain tools that I use, excludes some that I do not, and is even themed appropriately (with a black-and-blue theme for the live user, and a black-and-red theme for the root user).
The way it is structured is somewhat similar, though not identical, to my main NixOS configuration.
This has only been tested on NixOS unstable system. Support for NixOS stable has not been tested, and nothing is guaranteed to work for them.
Support for QEMU/KVM guests is enabled by default in the graphical-base.nix module. It can be disabled, and guest additions for other hypervisors can be enabled. Note that XFCE does not seem to support automatic resizing out of the box, but the proper screen resolutions should still be available in XFCE's Display settings.
You might wish to check every Nix module present here, and modify them to fit your own needs.
- Open a terminal emulator.
- Execute the following command:
sudo nix-build '<nixpkgs/nixos>' -A config.system.build.isoImage -I nixos-config=/path/to/ISO.nix
- Wait.
- The ISO file will be located in the
results/iso/symlink.
You may use different flags to make the output neater, more or less verbose, etc. I personally use the following:
sudo nix-build '<nixpkgs/nixos>' -A config.system.build.isoImage -I nixos-config=/path/to/ISO.nix --quiet --log-format bar-with-logs
Once you have moved/copied the ISO and wish to get rid of the built image and its dependencies, you must:
- Find the full path of the symlink (e.g.
/nix/store/…-nixos-XX.XXbeta…-x86_64-linux.iso). - Open a terminal emulator.
- Execute the following command:
sudo nix-store --delete --ignore-liveness /nix/store…-nixos-XX.XXbeta…-x86_64-linux.iso
- Calamares is currently not provided, as I, for now, cannot figure out how to include NixOS's own settings to it.
- Even if it were, I have no prior experience working with Calamares, and thus do not know how to make this live session installable.
- This is purely a live environment, useful for very basic rescue operations, program usage on the go, as well as installing NixOS manually on other devices. Of course, you may feel free to change it to fit your own needs.
