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 <[email protected]> > 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 > > [email protected] > > http://lists.science.uu.nl/mailman/listinfo/nix-dev > > _______________________________________________ > nix-dev mailing list > [email protected] > http://lists.science.uu.nl/mailman/listinfo/nix-dev >
_______________________________________________ nix-dev mailing list [email protected] http://lists.science.uu.nl/mailman/listinfo/nix-dev
