Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I'm not super found of this list, but

> Self perpetuating desktop

Nix and Guix are this (or close enough)?



Yeah I can only speak for Guix but it's exactly this.

>This means that the desktop can build .ISOs to distribute itself. The desktop can also build any package that is available in package repositories.

These are 'guix system disk-image' and 'guix build' respectively.


How is that different than say Debian?

Debian's tools are kinda clunky, but I think the funny thing is that you can ONLY use Debian to build a Debian ISO. Or Debian packages even. How else would you do it ???

-----

Looking at the original suggestion, I don't think it really makes sense.

Without downloading additional packages, a Linux distribution that can also run as a continuous integration server and build server. This means that the desktop can build .ISOs to distribute itself. The desktop can also build any package that is available in package repositories.

Every operating system can do this, but none of them do it without downloading packages, for good reason.

And "downloading packages" is vague. Windows and OS X do not come with C compilers, but Linux distros do generally. You can build many packages with a C compiler and Make, but not all.

----

Aboriginal Linux was supposed to be the smallest Linux distro that can rebuild itself: http://landley.net/aboriginal/

However once you add "real" functionality to it, the size of the build and their transitive dependencies explodes. Like to build a 300 MB .ISO, you'd probably need 2 or 4 GiB of tools.


> Every operating system can do this, but none of them do it without downloading packages, for good reason.

> And "downloading packages" is vague.

I agree completely

> Debian's tools are kinda clunky, but I think the funny thing is that you can ONLY use Debian to build a Debian ISO. Or Debian packages even. How else would you do it ???

So, with Nix (and probably Guix), one can configure the live CD the same way they'd configure a real installation. I think this gives us a way to improve the definition:

1. A distribution where all packages can be built from source or downloaded pre-built

2. installation media can be configured just like the regular installs

3. Customized installer media and reproduce augmented configuration packages in installations without network access

Nix and Guix satisfy all 3 parts of that revised definition.


So, with Nix (and probably Guix), one can configure the live CD the same way they'd configure a real installation

Hm I don't get what this means... Is there a demo or documentation somewhere?

I have rebuilt a Debian chroot inside Debian (which I think is pretty much the same process as building an ISO). It's a big shell script that downloads a more-or-less fixed list of .deb files, installs them, and does some fixups.


I run Guix System on my laptop. To change my system configuration (think installed packages, installed services, users, filesystem mounts, etc) I would run:

'guix system reconfigure ~/guix/system.scm'

...after editing that system config file. To build an ISO image from the same configuration, I would run:

'guix system disk-image ~/guix/system.scm'

...which would build a bootable ISO image of the same configured system. (Obviously I'd need to change things like the filesystem mounts to do this as they're specific to my laptop; it's possible to make more generic configs and inherit them per-machine but I only have one so haven't bothered yet.) Here's the config for my laptop: https://github.com/jfrederickson/dotfiles/blob/master/guix/g...


See https://nixos.wiki/wiki/Creating_a_NixOS_live_CD for a little flavor

The

> -I nixos-config=iso.nix

in

> nix-build '<nixpkgs/nixos>' -A config.system.build.isoImage -I nixos-config=iso.nix

is basically saying "use this file instead of my regular `/etc/nixos/configuration.nix` entry point".

The format of the two however is the same.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: