gaming: declarative Flatpak via nix-flatpak (Bolt, Sober), Heroic + Proton-GE

Add nix-flatpak flake input and modules/gaming.nix managing Flatpak
remotes/packages declaratively: Bolt (Jagex launcher for RS3/OSRS) and
Sober (Roblox). Add Heroic and hyperplay-ext, plus Proton-GE for Steam.
Drops the old imperative runescape-launcher.
This commit is contained in:
Sergei Poljanski 2026-06-02 14:05:37 +03:00
commit cfbb434bd4
Signed by: asxpi
GPG key ID: 4F8851660FA4121B
5 changed files with 50 additions and 0 deletions

View file

@ -17,6 +17,7 @@
./modules/security.nix ./modules/security.nix
./modules/power.nix ./modules/power.nix
./modules/xray.nix ./modules/xray.nix
./modules/gaming.nix
]; ];
# This value determines the NixOS release from which the default # This value determines the NixOS release from which the default

17
flake.lock generated
View file

@ -98,6 +98,22 @@
"type": "github" "type": "github"
} }
}, },
"nix-flatpak": {
"locked": {
"lastModified": 1767983141,
"narHash": "sha256-7ZCulYUD9RmJIDULTRkGLSW1faMpDlPKcbWJLYHoXcs=",
"owner": "gmodena",
"repo": "nix-flatpak",
"rev": "440818969ac2cbd77bfe025e884d0aa528991374",
"type": "github"
},
"original": {
"owner": "gmodena",
"ref": "latest",
"repo": "nix-flatpak",
"type": "github"
}
},
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1776877367, "lastModified": 1776877367,
@ -141,6 +157,7 @@
"inputs": { "inputs": {
"anotherim": "anotherim", "anotherim": "anotherim",
"lanzaboote": "lanzaboote", "lanzaboote": "lanzaboote",
"nix-flatpak": "nix-flatpak",
"nixpkgs": "nixpkgs", "nixpkgs": "nixpkgs",
"sops-nix": "sops-nix" "sops-nix": "sops-nix"
} }

View file

@ -15,6 +15,7 @@
url = "git+https://dev.narayana.im/anotherim/anotherim-desktop.git?ref=dev"; url = "git+https://dev.narayana.im/anotherim/anotherim-desktop.git?ref=dev";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
nix-flatpak.url = "github:gmodena/nix-flatpak/?ref=latest";
}; };
outputs = { self, nixpkgs, ... }@inputs: { outputs = { self, nixpkgs, ... }@inputs: {
@ -24,6 +25,7 @@
modules = [ modules = [
inputs.lanzaboote.nixosModules.lanzaboote inputs.lanzaboote.nixosModules.lanzaboote
inputs.sops-nix.nixosModules.sops inputs.sops-nix.nixosModules.sops
inputs.nix-flatpak.nixosModules.nix-flatpak
./configuration.nix ./configuration.nix
]; ];
}; };

26
modules/gaming.nix Normal file
View file

@ -0,0 +1,26 @@
# Gaming-related configuration
# Flatpak is managed declaratively via nix-flatpak (see flake.nix input).
{ config, pkgs, lib, ... }:
{
# Proton-GE for Steam (better Jagex Launcher compatibility than stock Proton).
# Steam itself is enabled in modules/programs.nix.
programs.steam.extraCompatPackages = [ pkgs.proton-ge-bin ];
services.flatpak = {
enable = true;
remotes = [
{ name = "flathub"; location = "https://dl.flathub.org/repo/flathub.flatpakrepo"; }
];
packages = [
# Bolt: Jagex-account launcher for RuneScape 3 (NXT) and OSRS / RuneLite.
{ appId = "com.adamcake.Bolt"; origin = "flathub"; }
# Sober: Roblox Player runtime (Android build via Flatpak) — no native Linux client.
{ appId = "org.vinegarhq.Sober"; origin = "flathub"; }
];
update.auto = {
enable = true;
onCalendar = "weekly";
};
};
}

View file

@ -14,6 +14,7 @@
"terraform" "terraform"
"packer" "packer"
"obsidian" "obsidian"
"hyperplay-ext"
]; ];
# List packages installed in system profile. # List packages installed in system profile.
@ -66,6 +67,9 @@
obs-studio obs-studio
inputs.anotherim.packages.${pkgs.system}.default inputs.anotherim.packages.${pkgs.system}.default
# Gaming
heroic
# Development # Development
nodejs_20 nodejs_20
gnupg gnupg