We’re building an embedded systems application with Nixos as the base OS.
Our goal is to have the system boot directly into our custom (graphical) application where it occupies the entire screen; some refer to this mode as either kisok or full screen.
At present our configuration.nix is set up as follows, where we fire up a window and desktop managers, and automatically login and then fire up our app. Given what we’ve read, this seems like overkill.
What is the proper way to configure a minimal graphical nixos installation to support our needs?
# Enable X11
services.xserver.enable = true;
# We need nvidia drivers.
services.xserver.videoDrivers = [ "nvidia" ];
hardware.nvidia.package = config.boot.kernelPackages.nvidiaPackages.stable;
# GDM or something more else?
services.xserver.displayManager.gdm.enable = true;
services.xserver.desktopManager.gnome.enable = true;
# Auto loging
services.xserver.displayManager.autoLogin.user = "user-name";
services.xserver.displayManager.autoLogin.enable = true;
# Sleep required otherwise system crash.
services.xserver.displayManager.job.preStart = "sleep 10";