]> glassweightruler.freedombox.rocks Git - waydroid.git/blob - tools/config/__init__.py
config: Store data in /var/lib/waydroid rather than /home/.waydroid
[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": "/var/lib/waydroid",
42 "vendor_type": "MAINLINE",
43 "system_datetime": "0",
44 "vendor_datetime": "0",
45 "preinstalled_images_path": "/usr/share/waydroid-extra/images"
46 }
47 defaults["images_path"] = defaults["work"] + "/images"
48 defaults["rootfs"] = defaults["work"] + "/rootfs"
49 defaults["data"] = defaults["work"] + "/data"
50 defaults["lxc"] = defaults["work"] + "/lxc"
51 defaults["host_perms"] = defaults["work"] + "/host-permissions"
52
53 session_defaults = {
54 "user_name": pwd.getpwuid(os.getuid()).pw_name,
55 "user_id": str(os.getuid()),
56 "group_id": str(os.getgid()),
57 "host_user": os.path.expanduser("~"),
58 "xdg_runtime_dir": str(os.environ.get('XDG_RUNTIME_DIR')),
59 "wayland_display": str(os.environ.get('WAYLAND_DISPLAY')),
60 "pulse_runtime_path": str(os.environ.get('PULSE_RUNTIME_PATH')),
61 "state": "STOPPED",
62 "lcd_density": "0"
63 }
64 session_defaults["config_path"] = defaults["work"] + "/session.cfg"
65 session_defaults["waydroid_data"] = session_defaults["host_user"] + \
66 "/waydroid/data"
67 if session_defaults["pulse_runtime_path"] == "None":
68 session_defaults["pulse_runtime_path"] = session_defaults["xdg_runtime_dir"] + "/pulse"
69
70 channels_defaults = {
71 "config_path": "/usr/share/waydroid-extra/channels.cfg",
72 "system_channel": "https://raw.githubusercontent.com/waydroid/OTA/master/system",
73 "vendor_channel": "https://raw.githubusercontent.com/waydroid/OTA/master/vendor",
74 "rom_type": "lineage",
75 "system_type": "VANILLA"
76 }
77 channels_config_keys = ["system_channel",
78 "vendor_channel",
79 "rom_type",
80 "system_type"]