[Nix-dev] disk setup for nixos installation

Aristid Breitkreuz aristidb at gmail.com
Sun Aug 18 19:16:15 CEST 2013


I believe Aszlig had actually done some work on automated partitioning for
Nixops, but I'm not sure how far from ready for primetime it is.


Cheers,

Aristid


2013/8/18 Shea Levy <shea at shealevy.com>

> Hi Tim,
>
> Generally, in NixOS we achieve effects outside of the store in a
> two-phase process: We have derivations to create data (config files,
> systemd units, shell scripts, etc.) in the store that represent the end
> state we want (including a master activation script that joins all the
> rest into a whole), and then a particular system state is transitioned
> to by running the top level script.
>
> Generally, these derivations are generated from a declarative
> specification made possible by a module system implemented purely in
> nix. We work hard to make the generated scripts idempotent, to make it
> possible to transition arbitrarily between system configurations, to
> make the system behave identically (for the relevant aspects) if a given
> system configuration is switched to after having previously used
> thousands of different configurations compared to if a system is freshly
> installed with that configuration. We try to minimize the chances of
> inconsistent system state. But generally these things are much harder to
> achieve when considering an operating system as a whole rather than an
> immutable file store, so guarantees are obviously less stringent than
> what we can offer in the nix store itself.
>
> Regarding your initial question: Already, we have NixOS modules to
> describe the partitions/filesystems in use. There's no fundamental
> reason why that information couldn't be used to automatically partition
> and install filesystems, at least in simple cases, but currently it is
> only used to manage fstab, determine which filesystems to boot from the
> initrd, etc. IMO an automated partitioning system based on a NixOS
> config would be an awesome addition.
>
> Cheers,
> Shea
>
> On 8/17/13 7:22 AM, Tim Barbour wrote:
> > I would like to be able to boot from nixos installation media, then do
> > automated partitioning, LVM setup and filesystem creation, then let
> nixops do
> > the rest. What is the best way to automate partitioning, LVM setup and
> > filesystem creation ? I wrote a shell script to do this (just for one
> disk, so
> > far) using parted etc., but it looks ugly, and I wonder if it would be
> better
> > done using nix.
> >
> > Does nix / nixos provide any existing mechanisms for doing this ?
> >
> > I am an experienced functional programmer (Haskell, not nix), but I don't
> > understand how to do IO in nix. Perhaps I should be modelling the disk
> setup
> > as the building of some derivations, but such derivations would not
> produce a
> > result in the nix store.  If I made them produce a result in the store,
> then
> > the disk setup would be a side-effect, and not referentially
> transparent. I
> > get the feeling that this is outside the scope of nix.
> >
> > Tim
> > ---
> > GPG public key available at:
> >        http://phasechangeit.com/~trb/gpg-key  or
> >        http://subkeys.pgp.net:11371
> > _______________________________________________
> > nix-dev mailing list
> > nix-dev at lists.science.uu.nl
> > http://lists.science.uu.nl/mailman/listinfo/nix-dev
>
> _______________________________________________
> nix-dev mailing list
> nix-dev at lists.science.uu.nl
> http://lists.science.uu.nl/mailman/listinfo/nix-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.science.uu.nl/pipermail/nix-dev/attachments/20130818/01533c0f/attachment.html 


More information about the nix-dev mailing list