]> glassweightruler.freedombox.rocks Git - waydroid.git/blob - tools/config/__init__.py
4c16de252365d09946df09fc59d05323f7cead86
[waydroid.git] / tools / config / __init__.py
1 # Copyright 2021 Oliver Smith
2 # SPDX-License-Identifier: GPL-3.0-or-later
3 import os
4 import pwd
5
6 #
7 # Exported functions
8 #
9 from tools.config.load import load, load_session, load_channels
10 from tools.config.save import save, save_session
11
12 #
13 # Exported variables (internal configuration)
14 #
15 version = "1.0.0"
16 tools_src = os.path.normpath(os.path.realpath(__file__) + "/../../..")
17
18 # Keys saved in the config file (mostly what we ask in 'waydroid init')
19 config_keys = ["arch",
20 "images_path",
21 "vendor_type",
22 "system_datetime",
23 "vendor_datetime"]
24
25 session_config_keys = ["user_name",
26 "user_id",
27 "group_id",
28 "host_user",
29 "waydroid_data",
30 "xdg_runtime_dir",
31 "wayland_display",
32 "pulse_runtime_path",
33 "state",
34 "lcd_density"]
35
36 # Config file/commandline default values
37 # $WORK gets replaced with the actual value for args.work (which may be
38 # overridden on the commandline)
39 defaults = {
40 "arch": "arm64",
41 "work": "/home/.waydroid",
42 "vendor_type": "MAINLINE",
43 "system_datetime": "0",
44 "vendor_datetime": "0"
45 }
46 defaults["images_path"] = defaults["work"] + "/images"
47 defaults["rootfs"] = defaults["work"] + "/rootfs"
48 defaults["data"] = defaults["work"] + "/data"
49 defaults["lxc"] = defaults["work"] + "/lxc"
50 defaults["host_perms"] = defaults["work"] + "/host-permissions"
51
52 session_defaults = {
53 "user_name": pwd.getpwuid(os.getuid()).pw_name,
54 "user_id": str(os.getuid()),
55 "group_id": str(os.getgid()),
56 "host_user": os.path.expanduser("~"),
57 "xdg_runtime_dir": str(os.environ.get('XDG_RUNTIME_DIR')),
58 "wayland_display": str(os.environ.get('WAYLAND_DISPLAY')),
59 "pulse_runtime_path": str(os.environ.get('PULSE_RUNTIME_PATH')),
60 "state": "STOPPED",
61 "lcd_density": "0"
62 }
63 session_defaults["config_path"] = defaults["work"] + "/session.cfg"
64 session_defaults["waydroid_data"] = session_defaults["host_user"] + \
65 "/waydroid/data"
66 if session_defaults["pulse_runtime_path"] == "None":
67 session_defaults["pulse_runtime_path"] = session_defaults["xdg_runtime_dir"] + "/pulse"
68
69 channels_defaults = {
70 "config_path": "/usr/share/waydroid-extra/channels.cfg",
71 "system_channel": "https://raw.githubusercontent.com/waydroid/OTA/master/systems",
72 "vendor_channel": "https://raw.githubusercontent.com/waydroid/OTA/master/vendor",
73 "rom_type": "lineage",
74 "system_type": "VANILLA"
75 }
76 channels_config_keys = ["system_channel",
77 "vendor_channel",
78 "rom_type",
79 "system_type"]