107 lines
2.5 KiB
Nix
107 lines
2.5 KiB
Nix
{ config, lib, pkgs, jovian, ... }:
|
|
{
|
|
imports = [ jovian.nixosModules.jovian ];
|
|
|
|
options.system.steamdeck.enable = lib.mkEnableOption "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;
|
|
};
|
|
}
|