cleverca22/not-os

Using not-os for kiosks

matthewbauer opened this issue · 8 comments

Hi,

I'm interested in using NixOS & not-os as a graphical kiosk with one of my Raspberry PI's. Have you looked into making graphical kiosks with not-os?

Some features that this would probably require:

  • default autologin'd user (possible with agetty in NixOS now)
  • automatic startup of Wayland/Weston with a configurable single window
  • way to disable root login

is wayland in a usable state on nixpkgs+rpi?, ive only seen xorg working so far
once i have a command that can run that, it would be pretty simple to run any gui program under it and entirely skip the login system

I'm not sure TBH. I had thought the architecture would make it easier to do single app stuff though.

@matthewbauer, did you end up pursuing this?

I haven't worked on it since but am still interested.

I’m finishing up a RPi3B+ kiosk with NixOS and I’m also interested in ways to make it leaner.

I’m also interested in nice ways to develop simple full screen apps. I ended up using ratpoison with a terminal running a Node Blessed app and using dmenu2 for user input.

The best way I came up with to do a simple multiline text input was to start a small centered terminal running bash’s “read” command...

It’s nice to work with Raspberry Pi to renew one’s enthusiasm for fast, simple, small software... also kind of demoralizing.

If you're not opposed to using X11, I recommend looking at monsterwm.

It's a very small window manager, and I found the source code easy to read. I stripped out the different tiling layouts until only MONOCLE remained, and that displays all apps fullscreen with no X11 decorations. It doesn't work well with multiple windows at this point--windows stuck behind the front window--but a single-window application works great.

I use monsterwm on a linux machine to run Windows in a virtual machine at full screen. It keeps users in Windows, and allows me to remote in on the linux side and fix Windows when it dies without the commute. MonsterWM has been a solid bit of software for me, so don't let the lack of development activity scare you.

Keep in mind Ctrl-Alt-Fn will still switch out of X11 to other virtual consoles unless you disable those virtual consoles. I think that's done in the /etc/inittab...

I've found this that looks like it does exactly what I want:

https://github.com/Hjdskes/cage

Example of using cage (not using not-os currently, but can probably be updated for other inits):

https://github.com/matthewbauer/nixos-kiosk