nixos-config/hosts/jupiter/jovian/default.nix

107 lines
2.5 KiB
Nix

{ config, lib, pkgs, jovian, ... }:
{
imports = [ jovian.nixosModules.jovian ];
options.system.steamdeck.enable = lib.mkEnableOption "Enable Jovian NixOS environment";
config = lib.mkIf config.system.steamdeck.enable {
jovian = {
steam = {
enable = true;
autoStart = true;
desktopSession = "gnome";
user = config.sysusers.main;
};
decky-loader = {
enable = true;
package = pkgs.decky-loader-prerelease;
};
devices.steamdeck = {
enable = true;
enableGyroDsuService = true;
};
};
boot.kernelPackages = lib.mkForce pkgs.linuxPackages_jovian;
programs.steam = {
extest.enable = true;
extraCompatPackages = with pkgs; [ proton-ge-bin ];
localNetworkGameTransfers.openFirewall = true;
remotePlay.openFirewall = true;
};
services = {
displayManager.ly.enable = lib.mkForce false;
keyd.enable = lib.mkForce false;
tlp.enable = lib.mkForce false;
xserver.desktopManager.gnome.enable = true;
};
networking = {
networkmanager.enable = true;
wireless.enable = lib.mkForce false;
};
environment = {
persistence."/persist" = {
directories = [
"/etc/NetworkManager/system-connections"
"/var/lib/decky-loader"
];
users.${config.sysusers.main}.directories = [
".local/share/gnome-settings-daemon"
".local/share/gnome-shell"
".steam"
];
};
gnome.excludePackages = with pkgs; [
adwaita-icon-theme
baobab
epiphany
evince
file-roller
geary
gnome-calculator
gnome-calendar
gnome-characters
gnome-clocks
gnome-color-manager
gnome-connections
gnome-console
gnome-contacts
gnome-disk-utility
gnome-font-viewer
gnome-logs
gnome-maps
gnome-music
gnome-shell-extensions
gnome-software
gnome-system-monitor
gnome-text-editor
gnome-tour
gnome-user-docs
gnome-weather
loupe
nautilus
orca
seahorse
simple-scan
snapshot
sushi
sysprof
totem
yelp
];
};
nixpkgs.allowUnfreePackages = [
"steam"
"steam-jupiter-unwrapped"
"steamdeck-firmware"
"steamdeck-hw-theme"
];
specialisation.desktop.configuration.config.system.steamdeck.enable = lib.mkForce false;
};
}