ChanServ changed the topic of #nixus to: Nixus is an experimental deployment tool for NixOS systems - https://github.com/Infinisil/nixus - https://logs.nix.samueldr.com/nixus/
veleiro has joined #nixus
lovesegfault has joined #nixus
<lovesegfault> infinisil: o/
<infinisil> \o
<infinisil> lovesegfault | let nixus expose something that builds the default NixOS non-graphical ISO, but has one extra binary nixstrap which, once you've done all your partitioning etc, just does a "local deploy" to /mnt
<infinisil> For context ^
<infinisil> Hmm..
<lovesegfault> I think it's the easiest way to kickoff systems
<lovesegfault> avoiding the dummy install with ssh -> online -> key exchange -> deploy -> reboot dance
<infinisil> Yeah
<infinisil> I do want to have support for arbitrary actions at some point
<lovesegfault> you could even use nixstrap locally to deploy to an SD card or other attached storage
<infinisil> That would include provisioning, partitioning, installing, etc.
<lovesegfault> partitioning is, IMHO, a hard problem
<infinisil> But yeah, deploying to /mnt sounds like a good idea!
pie_ has joined #nixus
* pie_ lurks
<infinisil> o/
<infinisil> Some time ago I made a prototype of a resource-management system in Nix, which can create, update and delete stateful resources, all declared in Nix
<infinisil> And other than some minor problems, it seems to have worked great
<lovesegfault> That's pretty awesome :D
<lovesegfault> Although, I also think for Nixus to grow it has to leave bash
<lovesegfault> which, knowing you, means haskell land
<infinisil> E.g. you can declare a digital ocean VPS and attach it to a volume with `let vol = volume { size = "1gb"; }; vps = droplet { volume = vol; size = ".."; }; in vps`
<infinisil> Run the deploy and it sets everything up, creating as needed. Updating the size of the volume and deploying again only does that single change without destroying anything
<infinisil> But if you e.g. change the location of the volume, it has to recreate it
<infinisil> lovesegfault: Above prototype actually uses generic binaries with a json interface between them, so that would work for any language :)
<infinisil> (and the prototype uses bash, though it's a pain in the butt already, so probably gonna switch off bash)
<infinisil> Honestly though, I don't really want to see nixus grow, because that just means people will get disappointed if it's not maintained or if I break their stuff :P
<infinisil> And I couldn't do random experiments with it
<infinisil> If I were to have time to maintain and develop it though, my opinion on this would probably change :)
<lovesegfault> (back, making pie)
<lovesegfault> infinisil: I can only speak of what I'd personally like to see nixus be :P
<infinisil> Oh yeah I got off on a tangent, but I can imagine this whole resource management thing also working out for a /mnt installation
<infinisil> In a very generic way
<lovesegfault> Right, I agree that that'd probably work and be elegant
colemickens has joined #nixus
<pie_> uwu
veleiro has quit [Remote host closed the connection]
veleiro has joined #nixus
veleiro has quit [Ping timeout: 246 seconds]
cole-h has quit [Ping timeout: 260 seconds]
eyJhb has joined #nixus
cole-h has joined #nixus
veleiro has joined #nixus