Skip to content

Feedback and questions #330

@senpro-ingwersenk

Description

@senpro-ingwersenk

Hello there!

Apologies for opening a Q&A ticket; but I don't have a Discord for my job and my matrix server is currently belly-up (Dendrite update imploded and haven't had time to fix it).

We recently purchased Raspberry Pi 5s to use as off-site monitoring agents at customers. So far, we Have had been using NixOS on the rpi3 and rpi4 - but the rpi5 currently does not have an official NixOS image. While searching for potential workarounds, I came across SkiffOS - and I like it a lot! Granted, I am the only geek in this company, so I need to condense compexity down to a minimum if possible; not everyone here is used to this stuff. But, for now, it'll be fine.

I wanted to leave some feedback of the things that I discovered, perhaps they are useful to you:

  • Finding my IP. ...was a nightmare. I used nmap to pick up the Pi after boot, but it certainly wasn't fun. I saw that the recent NixOS installers actually print the IP on the fb console - which is super handy. Perhaps adding something like this to SkiffOS would be possible? Alternatively, why not add a static network interface over the USB controller (the USB Type C port) with a static IP? That way I could get the initial configuration in, and set a static IP for further work.
  • The core/nixos config is old; 21.11 is rather old by now. I haven't fully explored the docker-nixos repo to figure out where and how I could upgrade the base image.
  • Setting time. My time was basically unset and I had to manually do it. Might be nice to run an ntp by default?
  • Docs are excellent. I was within actually building the image very quickly. Simple and to the point.

Now, as for questions:

  • Network Management. Our previous NixOS deployments all configure static IPs and firewall settings. It would be great if we could pass network setup into the container. That way, we wouldn't have to have vastly different onboarding steps. In fact, we use a configuration.nix template with most of this stuff prepared that we copy over, edit and adjust, and then nixos-rebuild switch to once done. And update nix-channels, if neccessary.
  • Swapping core and root: Our configuration relies on root@ip a lot, so I would like to swap the root login to instead be the container, and core to instead go into SkiffOS itself. Is that possible?
  • SSH key management: Is it possible to propagate SSH keys between SkiffOS and the NixOS container? Normally we have a set of five or so keys that we add to our configuration - and sometimes expand that with an additional key. Due to the overlay configuration, /root/.ssh is populated, but NixOS places those into /etc/ssh/authorized_keys.d. Any idea how that could be done? Alternatively I had thought of just running two SSH servers; one from SkiffOS and one from NixOS, so that Nix can manage it's own configuration just fine and using the other one to access the underlying SkiffOS, when needed.

So far, this is a great way to get started on a new device. I had previously worked with OpenADK for ucLibC shenanigans on RISC-V so buildroot does not feel too alien to me. And, the A/B booting is really nice to have in case something goes south.

Thanks for this awesome project and I hope to do much more with it in the future =)

Kind regards!

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions