{ pkgs, lib, inputs, ... }: { imports = [ inputs.self.nixosModules.homeManagerConfig inputs.jovian-nixos.nixosModules.default ../../hardware/steam-deck.nix ../../modules/steam.nix ./topology.nix ]; config = { boot.loader.systemd-boot = { enable = true; editor = false; configurationLimit = 5; }; boot.loader.efi.canTouchEfiVariables = false; boot.binfmt.registrations.appimage = { wrapInterpreterInShell = false; interpreter = "${pkgs.appimage-run}/bin/appimage-run"; recognitionType = "magic"; offset = 0; mask = ''\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff''; magicOrExtension = ''\x7fELF....AI\x02''; }; boot.consoleLogLevel = 0; boot.initrd.verbose = false; boot.plymouth = { enable = true; theme = "breeze"; }; console = { font = "ter-132n"; packages = [pkgs.terminus_font]; useXkbConfig = true; earlySetup = false; }; networking.hostName = "polymita-picta"; networking.networkmanager.enable = true; # === Settings === settings.ssh.openOutsideVPN = true; hardware.pulseaudio.enable = lib.mkForce false; services.xserver.enable = true; services.xserver.desktopManager.plasma5.enable = true; services.displayManager = { autoLogin = { enable = true; user = "deck"; }; }; # Use some fonts fonts = { enableDefaultPackages = true; packages = with pkgs; [hack-nerdfont noto-fonts noto-fonts-cjk joypixels]; fontDir.enable = true; fontconfig = { enable = true; defaultFonts.monospace = ["Hack Nerd Font Mono"]; }; }; services.openssh = { enable = true; settings.PasswordAuthentication = false; settings.KbdInteractiveAuthentication = false; }; programs.dconf.enable = true; users = { mutableUsers = false; defaultUserShell = pkgs.fish; custom.deck.enable = true; }; environment.systemPackages = with pkgs; [ inputs.self.packages.x86_64-linux.emudeck steam-rom-manager boilr electron ]; security.sudo.extraRules = [ { users = ["deck"]; commands = [ { command = "ALL"; options = ["NOPASSWD"]; } ]; } ]; programs.steam = { enable = true; extraPkgs = [pkgs.flatpak]; remotePlay.openFirewall = true; }; jovian.devices.steamdeck.enable = true; jovian.devices.steamdeck.autoUpdate = true; jovian.devices.steamdeck.enableGyroDsuService = true; jovian.steam.enable = true; jovian.steam.autoStart = true; jovian.steam.desktopSession = "plasmawayland"; jovian.steam.user = "deck"; jovian.decky-loader = { enable = true; user = "deck"; }; jovian.hardware.has.amd.gpu = true; # This value determines the NixOS release from which the default # settings for stateful data, like file locations and database versions # on your system were taken. It‘s perfectly fine and recommended to leave # this value at the release version of the first install of this system. # Before changing this value read the documentation for this option # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). system.stateVersion = "22.11"; # Did you read the comment? }; }