cleverca22 / not-os

An operating system generator, based on NixOS, that, given a config, outputs a small (47 MB), read-only squashfs for a runit-based operating system, with support for iPXE and signed boot.
MIT License
791 stars 40 forks source link

Using not-os for kiosks #4

Open matthewbauer opened 6 years ago

matthewbauer commented 6 years ago

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:

cleverca22 commented 6 years ago

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

matthewbauer commented 6 years ago

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

expipiplus1 commented 5 years ago

@matthewbauer, did you end up pursuing this?

matthewbauer commented 5 years ago

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

mbrock commented 5 years ago

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.

boxofrox commented 5 years ago

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...

matthewbauer commented 5 years ago

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

https://github.com/Hjdskes/cage

matthewbauer commented 5 years ago

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

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