diff --git a/flake.lock b/flake.lock index eaa99e8..ac38227 100644 --- a/flake.lock +++ b/flake.lock @@ -436,6 +436,49 @@ "type": "github" } }, + "jovian": { + "inputs": { + "nix-github-actions": "nix-github-actions", + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1729921861, + "narHash": "sha256-lR1FS18NxY8XfYVxFSIAHCeJuTgbGUy7J79Bo0e9ZMA=", + "owner": "Jovian-Experiments", + "repo": "Jovian-NixOS", + "rev": "b0d86a65833bed4eda4d36ad54730a967bdca15a", + "type": "github" + }, + "original": { + "owner": "Jovian-Experiments", + "repo": "Jovian-NixOS", + "type": "github" + } + }, + "nix-github-actions": { + "inputs": { + "nixpkgs": [ + "jovian", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1729697500, + "narHash": "sha256-VFTWrbzDlZyFHHb1AlKRiD/qqCJIripXKiCSFS8fAOY=", + "owner": "zhaofengli", + "repo": "nix-github-actions", + "rev": "e418aeb728b6aa5ca8c5c71974e7159c2df1d8cf", + "type": "github" + }, + "original": { + "owner": "zhaofengli", + "ref": "matrix-name", + "repo": "nix-github-actions", + "type": "github" + } + }, "nixpkgs": { "locked": { "lastModified": 1727348695, @@ -498,6 +541,7 @@ "hy3", "hyprland" ], + "jovian": "jovian", "nixpkgs": "nixpkgs_2", "sops-nix": "sops-nix" } diff --git a/flake.nix b/flake.nix index ec34b8e..e35a48b 100644 --- a/flake.nix +++ b/flake.nix @@ -50,6 +50,12 @@ url = "github:GaspardCulis/anixrun"; inputs.nixpkgs.follows = "nixpkgs"; }; + + # SteamOS + jovian = { + url = "github:Jovian-Experiments/Jovian-NixOS"; + inputs.nixpkgs.follows = "nixpkgs"; + }; }; outputs = { @@ -59,6 +65,7 @@ deploy-rs, sops-nix, home-manager, + jovian, ... } @ inputs: let system = "x86_64-linux"; @@ -71,6 +78,7 @@ ./hosts/Zephyrus disko.nixosModules.disko home-manager.nixosModules.home-manager + jovian.nixosModules.jovian ]; }; diff --git a/hosts/Zephyrus/default.nix b/hosts/Zephyrus/default.nix index a81d815..7e7eca4 100644 --- a/hosts/Zephyrus/default.nix +++ b/hosts/Zephyrus/default.nix @@ -104,28 +104,15 @@ ]; group = "steam"; }; - programs = { - gamescope = { - enable = true; - capSysNice = true; - env = { - XKB_DEFAULT_LAYOUT = "fr"; - }; - }; - steam = { - enable = true; - gamescopeSession.enable = true; - remotePlay.openFirewall = true; - dedicatedServer.openFirewall = true; - localNetworkGameTransfers.openFirewall = true; - }; + services.desktopManager.plasma6.enable = true; + jovian.steam = { + enable = true; + autoStart = true; + user = "steam"; + desktopSession = "plasma"; }; - hardware.xone.enable = true; # support for the xbox controller USB dongle - services.getty.autologinUser = "steam"; - environment = { - loginShellInit = '' - [[ "$(tty)" = "/dev/tty1" ]] && ${(pkgs.writeShellScript "gs.sh" "${builtins.readFile ../../bin/gs.sh}")} - ''; + environment.sessionVariables = { + XKB_DEFAULT_LAYOUT = "fr"; }; }; diff --git a/hosts/Zephyrus/hardware-configuration.nix b/hosts/Zephyrus/hardware-configuration.nix index 1817989..78eaea1 100644 --- a/hosts/Zephyrus/hardware-configuration.nix +++ b/hosts/Zephyrus/hardware-configuration.nix @@ -68,6 +68,8 @@ "steam-original" "steam-run" "steam-unwrapped" + "steam-jupiter-unwrapped" + "steamdeck-hw-theme" ]; hardware.graphics = {