{ 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." ]; }) ]; }