refactor: modularize flatpak and make roblox an option

This commit is contained in:
Youwen Wu 2024-12-23 01:18:36 -08:00
parent 6414434a1e
commit ab0ccf2519
Signed by: youwen
GPG key ID: 865658ED1FE61EC3
3 changed files with 71 additions and 32 deletions

View file

@ -10,7 +10,14 @@ in
{
options.liminalOS.extras.gaming = {
enable = lib.mkEnableOption "gaming";
withHamachi = lib.mkEnableOption "hamachi";
utilities.hamachi.enable = lib.mkEnableOption "hamachi";
roblox.enable = lib.mkOption {
type = lib.types.bool;
default = config.liminalOS.extras.gaming && cfg.enable;
description = ''
Whether to install the Roblox Sober flatpak automatically. Note that this will enable the nix-flatpak service and automatic flatpak updates.`
'';
};
};
config = lib.mkIf cfg.enable {
environment.systemPackages = with pkgs; [
@ -21,6 +28,19 @@ in
mangojuice
];
liminalOS.programs.flatpaks.enable = true;
services.flatpak.packages = lib.mkIf cfg.roblox.enable [
{
flatpakref = "https://sober.vinegarhq.org/sober.flatpakref";
sha256 = "sha256:1pj8y1xhiwgbnhrr3yr3ybpfis9slrl73i0b1lc9q89vhip6ym2l";
}
{
appId = "org.vinegarhq.Sober";
origin = "sober";
}
];
programs.steam = {
enable = true;
remotePlay.openFirewall = true;
@ -47,8 +67,8 @@ in
users.users.${config.liminalOS.username}.extraGroups = [ "gamemode" ];
services.logmein-hamachi.enable = cfg.withHamachi;
programs.haguichi.enable = cfg.withHamachi;
services.logmein-hamachi.enable = cfg.utilities.hamachi.enable;
programs.haguichi.enable = cfg.utilities.hamachi.enable;
nixpkgs.config.packageOverrides = pkgs: {
steam = pkgs.steam.override {