{ mobile-nixos, lib, pkgs, ... }: { imports = [ (import "${mobile-nixos}/lib/configuration.nix" { device = "pine64-pinephone"; }) ]; this.locales.default = "us"; time.timeZone = "America/Chicago"; this.pc.enable = true; this.overlays.emacs.enable = lib.mkForce false; this.users.enabled = ["simon"]; this.sets = { cli.tools.full = true; de.utils = true; media.tools = true; net.tools.minimal = true; script.utils = true; sound.tools = true; sys.tools = true; }; services.xserver = { enable = true; desktopManager.plasma5.mobile.enable = true; displayManager.lightdm = { enable = true; # Workaround for autologin only working at first launch. # A logout or session crashing will show the login screen otherwise. extraSeatDefaults = '' session-cleanup-script=${pkgs.procps}/bin/pkill -P1 -fx ${pkgs.lightdm}/sbin/lightdm ''; }; }; programs.firefox = { enable = true; package = pkgs.firefox-esr; }; hardware.bluetooth.enable = true; powerManagement.enable = true; services.libinput.enable = true; services.displayManager.defaultSession = "plasma-mobile"; services.displayManager.autoLogin.enable = true; # Ensures any rndis config from stage-1 is not clobbered by NetworkManager networking.networkmanager.unmanaged = [ "rndis0" "usb0" ]; # Setup USB gadget networking in initrd... mobile.boot.stage-1.networking.enable = true; nixpkgs.hostPlatform = "aarch64-linux"; system.stateVersion = "24.11"; }