dendrify: comfy-station

This commit is contained in:
2026-03-27 17:49:01 +01:00
parent 5ca75f28db
commit 88b3ff784a
205 changed files with 4036 additions and 1227 deletions

View File

@@ -1,73 +1,74 @@
{
config,
inputs,
lib,
pkgs,
...
}: let
cfg = config.hive.programs.games;
in {
options.hive.programs.games = {
enable = lib.mkEnableOption "Enable the games module";
steam = lib.mkOption {
type = lib.types.bool;
default = false;
description = ''
Enable Steam support.
'';
flake.nixosModules.games = {
config,
inputs,
lib,
pkgs,
...
}: let
cfg = config.hive.programs.games;
in {
options.hive.programs.games = {
steam = lib.mkOption {
type = lib.types.bool;
default = false;
description = ''
Enable Steam support.
'';
};
dayz = lib.mkOption {
type = lib.types.bool;
default = false;
description = ''
Enable DayZ tools.
'';
};
lutris = lib.mkOption {
type = lib.types.bool;
default = false;
description = ''
Enable Lutris support.
'';
};
r2modman = lib.mkOption {
type = lib.types.bool;
default = false;
description = ''
Enable R2ModMan support.
'';
};
wine = lib.mkOption {
type = lib.types.bool;
default = false;
description = ''
Enable Wine support.
'';
};
};
dayz = lib.mkOption {
type = lib.types.bool;
default = false;
description = ''
Enable DayZ tools.
'';
};
lutris = lib.mkOption {
type = lib.types.bool;
default = false;
description = ''
Enable Lutris support.
'';
};
r2modman = lib.mkOption {
type = lib.types.bool;
default = false;
description = ''
Enable R2ModMan support.
'';
};
wine = lib.mkOption {
type = lib.types.bool;
default = false;
description = ''
Enable Wine support.
'';
};
};
config = lib.mkIf cfg.enable {
environment.systemPackages =
lib.optional cfg.lutris
(pkgs.lutris.override {
extraPkgs = pkgs: [
pkgs.libnghttp2
config = {
environment.systemPackages =
lib.optional cfg.lutris
(pkgs.lutris.override {
extraPkgs = pkgs: [
pkgs.libnghttp2
pkgs.winetricks
];
})
++ lib.optional cfg.r2modman pkgs.r2modman
++ lib.optionals cfg.dayz [
pkgs.hive.crossover
inputs.dzgui-nix.packages.${pkgs.stdenv.system}.default
]
++ lib.optionals cfg.wine [
pkgs.wine
pkgs.winetricks
];
})
++ lib.optional cfg.r2modman pkgs.r2modman
++ lib.optionals cfg.dayz [
pkgs.hive.crossover
inputs.dzgui-nix.packages.${pkgs.stdenv.system}.default
]
++ lib.optionals cfg.wine [
pkgs.wine
pkgs.winetricks
];
programs.steam = lib.mkIf cfg.steam {
enable = true;
gamescopeSession.enable = true;
programs.steam = lib.mkIf cfg.steam {
enable = true;
gamescopeSession.enable = true;
};
};
};
}