{pkgs, ... }: { system.stateVersion = "23.05"; # Enables flakes and the updated `nix` command nix.settings.experimental-features = [ "nix-command" "flakes" ]; # Enables opengl support hardware.opengl.enable = true; # Includes packages needed for startx environment.systemPackages = with pkgs; [ xorg.xauth xorg.xinit ]; users = { # No need to edit users on a single-purpose system. mutableUsers = false; users = { # My authorized keys are used for remote access # CHANGE THIS if forking root.openssh.authorizedKeys.keyFiles = [ ./authorized_keys ]; # Unprivledged user for running the application. appuser = { isNormalUser = true; group = "appuser"; password = ""; packages = with pkgs; [ graphfix ]; }; }; }; # Allow SSH with authorized keys only! services.openssh = { enable = true; settings.PasswordAuthentication = false; }; }