Make VM file system configuration a disko module value #95

Closed
opened 2025-01-31 12:54:11 +01:00 by fricklerhandwerk · 10 comments

We currently manage disk layout manually, and while we have a bit of a disko setup we're not using it for actual VMs.

Integrate the disko spec (which should be essentially the same for all VMs) with how we deploy to VMs (as discussed with @niols, the disk layout should probably be a first-class configuration attribute and have the disko option type). It could also be that we don't need any sort of machine-specifics for disk layouts, which would simplify things substantially.

We currently manage disk layout manually, and while we have a bit of a disko setup we're not using it for actual VMs. Integrate the disko spec (which should be essentially the same for all VMs) with how we deploy to VMs (as discussed with @niols, the disk layout should probably be a first-class configuration attribute and have the disko option type). It could also be that we don't need any sort of machine-specifics for disk layouts, which would simplify things substantially.
Niols was assigned by fricklerhandwerk 2025-01-31 12:54:24 +01:00
fricklerhandwerk added the
contributor experience
label 2025-02-18 15:26:27 +01:00
Owner

let's try if it works without hardware config?
otherwise, further prior art:

  • SrvOS
  • some disko successor, forgot the name 😭
  • nixos-facter (iirc also built into say nixos-anywhere)
let's try if it works without hardware config? otherwise, further prior art: - [SrvOS](https://nix-community.github.io/srvos/) - some disko successor, forgot the name 😭 - [`nixos-facter`](https://github.com/nix-community/nixos-facter) (iirc also built into say `nixos-anywhere`)
Owner

let's try if it works without hardware config?

I'm not sure I see what you mean

> let's try if it works without hardware config? I'm not sure I see what you mean
Owner

i meant maybe we can verify this:

It could also be that we don't need any sort of machine-specifics for disk layouts, which would simplify things substantially.

i meant maybe we can verify this: > It could also be that we don't need any sort of machine-specifics for disk layouts, which would simplify things substantially.
Owner

With #174, all VMs[1] share the same hardware code which is just a disko definition.

[1]: All new VMs; I don't dare changing the fileSystems definition of old ones.

With #174, all VMs[1] share the same hardware code which is just a disko definition. [1]: All _new_ VMs; I don't dare changing the `fileSystems` definition of old ones.
Owner

okay, thanks.
old ones, prob we can replace if/when there is no state to preserve there.

okay, thanks. old ones, prob we can replace if/when there is no state to preserve there.
Owner

I guess you're right, so I could easily do that for all VMs except Forgejo and the Wiki; those I'd be a bit worried to break.

I guess you're right, so I could easily do that for all VMs except Forgejo and the Wiki; those I'd be a bit worried to break.
Owner

I'll go ahead and close this; I feel it's taken care of.

I'll go ahead and close this; I feel it's taken care of.
Niols closed this issue 2025-02-25 12:17:38 +01:00
Owner

eventually i'd beg to differ in the sense we still gotta manually hard-code a bunch of stuff, but that's blocked on stateful deployment anyways

eventually i'd beg to differ in the sense we still gotta manually hard-code a bunch of stuff, but that's blocked on stateful deployment anyways
Owner

correction: oh wait, on disk stuff that did seem only remaining for legacy ones still, never mind 🙈

correction: oh wait, on disk stuff that did seem only remaining for legacy ones still, never mind 🙈
Owner

Yes, it's only legacy stuff! I'm hoping to get rid of those legacy VMs one by one, but sadly they still have to be around for now! IIRC there is a note in each of those that explains why there is a fileSystems attribute in their config!

Yes, it's only legacy stuff! I'm hoping to get rid of those legacy VMs one by one, but sadly they still have to be around for now! IIRC there is a note in each of those that explains why there is a `fileSystems` attribute in their config!
Sign in to join this conversation.
No description provided.