diff --git a/modules/home/desktop.nix b/modules/home/desktop.nix index ff0746a..6964ff6 100644 --- a/modules/home/desktop.nix +++ b/modules/home/desktop.nix @@ -20,5 +20,6 @@ ../../packages/mangohud/home.nix ../../packages/protonup/home.nix ../../packages/lutris/home.nix + ../../packages/steam/home.nix ]; } diff --git a/packages/steam/default.nix b/packages/steam/default.nix index 62de51f..a83c057 100644 --- a/packages/steam/default.nix +++ b/packages/steam/default.nix @@ -3,6 +3,9 @@ myConfig, ... }: { + environment.systemPackages = with pkgs; [ + steam-run + ]; programs.steam = { enable = true; gamescopeSession.enable = true; diff --git a/packages/steam/home.nix b/packages/steam/home.nix new file mode 100644 index 0000000..f73f94d --- /dev/null +++ b/packages/steam/home.nix @@ -0,0 +1,35 @@ +{pkgs, ...}: { + xdg.desktopEntries = { + steam = { + # The key 'steam' will result in the file 'steam.desktop' + name = "Steam"; + genericName = "Game Platform"; + comment = "Play and discuss games."; + exec = "${pkgs.mangohud}/bin/mangohud ${pkgs.steam}/bin/steam %U"; # The standard command to launch Steam + terminal = false; + icon = "steam"; # Assumes the 'steam' icon is available in your icon theme + type = "Application"; + categories = ["Game" "Network"]; + mimeType = [ + "x-scheme-handler/steam" # For handling steam:// links + ]; + # If you want to add actions (like launching in Big Picture mode) + actions = { + BigPicture = { + name = "Big Picture Mode"; + exec = "${pkgs.mangohud}/bin/mangohud ${pkgs.steam}/bin/steam steam://open/bigpicture"; + }; + Store = { + name = "Store"; + exec = "${pkgs.mangohud}/bin/mangohud ${pkgs.steam}/bin/steam steam://store"; + }; + Library = { + name = "Library"; + exec = "${pkgs.mangohud}/bin/mangohud ${pkgs.steam}/bin/steam steam://library"; + }; + }; + # You might also want StartupWMClass if Steam has a specific window class name + # StartupWMClass = "Steam"; + }; + }; +}