65 lines
1.8 KiB
Nix
65 lines
1.8 KiB
Nix
{ lib, config, ... }:
|
|
|
|
# Minimal Jovian compatibility layer for NixOS stable (25.05)
|
|
# Defines only the Jovian options used by roles/desktop/steamos.nix
|
|
# No actual implementation - just option definitions to prevent evaluation errors
|
|
# REMOVE THIS FILE when all systems are on NixOS 25.11+ or unstable
|
|
|
|
with lib;
|
|
|
|
let
|
|
nixosVersion = config.system.nixos.release;
|
|
isCompatibleVersion = versionOlder nixosVersion "25.11";
|
|
in
|
|
{
|
|
options.jovian = {
|
|
steam = {
|
|
enable = mkEnableOption "Steam (jovian-compat stub)";
|
|
|
|
autoStart = mkOption {
|
|
type = types.bool;
|
|
default = false;
|
|
description = "Auto-start Steam (jovian-compat stub)";
|
|
};
|
|
|
|
user = mkOption {
|
|
type = types.str;
|
|
default = "user";
|
|
description = "Steam user (jovian-compat stub)";
|
|
};
|
|
|
|
desktopSession = mkOption {
|
|
type = types.nullOr types.str;
|
|
default = null;
|
|
description = "Desktop session (jovian-compat stub)";
|
|
};
|
|
};
|
|
|
|
decky-loader = {
|
|
enable = mkEnableOption "Decky Loader (jovian-compat stub)";
|
|
};
|
|
};
|
|
|
|
config = mkMerge [
|
|
{
|
|
assertions = [
|
|
{
|
|
assertion = isCompatibleVersion;
|
|
message = ''
|
|
The Jovian compatibility shim (roles/jovian-compat.nix) is only needed for NixOS 25.05 and earlier.
|
|
You are running NixOS ${nixosVersion}.
|
|
Please remove 'roles/jovian-compat.nix' from your flake.nix nixosModules list.
|
|
'';
|
|
}
|
|
];
|
|
}
|
|
# No config implementation - these options do nothing on stable systems
|
|
# steamos role is only enabled on nix-deck which uses unstable anyway
|
|
(mkIf config.jovian.steam.enable {
|
|
warnings = [
|
|
"Jovian is enabled but you're using the compatibility stub. This won't work correctly. Use NixOS unstable for Jovian support."
|
|
];
|
|
})
|
|
];
|
|
}
|