mirror of
https://github.com/SteamDeckHomebrew/decky-loader.git
synced 2026-06-13 12:15:09 +03:00
5a633fdd82
* fix: get rid of title view jank on latest beta * Count the number of installs for each plugin (#557) * Bump aiohttp from 3.8.4 to 3.8.5 in /backend (#558) * fix: include Decky version in request for index.js This avoids the If-Modified-Since logic in aiohttp and ensures Steam doesn't cache old JS, even if the timestamps are normalized. * fix: clean up shellcheck warnings in act runner script * fix: gitignore settings/ * fix: ensure state directories exist when running without the installer * feat: determine root directory correctly when running from in-tree * fix: fix typo in CI script * refactor: build a proper Python package with poetry * refactor: move decky_plugin under the poetry structure There's no need to special case it anymore, just treat it like any other Python module. * sandboxed_plugin: better fix, attempt 2 --------- Co-authored-by: AAGaming <aagaming@riseup.net> Co-authored-by: Party Wumpus <48649272+PartyWumpus@users.noreply.github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
53 lines
1.7 KiB
Python
53 lines
1.7 KiB
Python
import platform, os
|
|
|
|
ON_WINDOWS = platform.system() == "Windows"
|
|
ON_LINUX = not ON_WINDOWS
|
|
|
|
if ON_WINDOWS:
|
|
from .localplatformwin import *
|
|
from . import localplatformwin as localplatform
|
|
else:
|
|
from .localplatformlinux import *
|
|
from . import localplatformlinux as localplatform
|
|
|
|
def get_privileged_path() -> str:
|
|
'''Get path accessible by elevated user. Holds plugins, decky loader and decky loader configs'''
|
|
return localplatform.get_privileged_path()
|
|
|
|
def get_unprivileged_path() -> str:
|
|
'''Get path accessible by non-elevated user. Holds plugin configuration, plugin data and plugin logs. Externally referred to as the 'Homebrew' directory'''
|
|
return localplatform.get_unprivileged_path()
|
|
|
|
def get_unprivileged_user() -> str:
|
|
'''Get user that should own files made in unprivileged path'''
|
|
return localplatform.get_unprivileged_user()
|
|
|
|
def get_chown_plugin_path() -> bool:
|
|
return os.getenv("CHOWN_PLUGIN_PATH", "1") == "1"
|
|
|
|
def get_server_host() -> str:
|
|
return os.getenv("SERVER_HOST", "127.0.0.1")
|
|
|
|
def get_server_port() -> int:
|
|
return int(os.getenv("SERVER_PORT", "1337"))
|
|
|
|
def get_live_reload() -> bool:
|
|
return os.getenv("LIVE_RELOAD", "1") == "1"
|
|
|
|
def get_keep_systemd_service() -> bool:
|
|
return os.getenv("KEEP_SYSTEMD_SERVICE", "0") == "1"
|
|
|
|
def get_log_level() -> int:
|
|
return {"CRITICAL": 50, "ERROR": 40, "WARNING": 30, "INFO": 20, "DEBUG": 10}[
|
|
os.getenv("LOG_LEVEL", "INFO")
|
|
]
|
|
|
|
def get_selinux() -> bool:
|
|
if ON_LINUX:
|
|
from subprocess import check_output
|
|
try:
|
|
if (check_output("getenforce").decode("ascii").strip("\n") == "Enforcing"): return True
|
|
except FileNotFoundError:
|
|
pass
|
|
return False
|