]> glassweightruler.freedombox.rocks Git - waydroid.git/blob - tools/config/__init__.py
Mount overlays on top of image mount points
[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_channels
10 from tools.config.save import save
11
12 #
13 # Exported variables (internal configuration)
14 #
15 version = "1.3.4"
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 "suspend_action"]
25
26 # Config file/commandline default values
27 # $WORK gets replaced with the actual value for args.work (which may be
28 # overridden on the commandline)
29 defaults = {
30 "arch": "arm64",
31 "work": "/var/lib/waydroid",
32 "vendor_type": "MAINLINE",
33 "system_datetime": "0",
34 "vendor_datetime": "0",
35 "preinstalled_images_paths": [
36 "/etc/waydroid-extra/images",
37 "/usr/share/waydroid-extra/images",
38 ],
39 "suspend_action": "freeze"
40 }
41 defaults["images_path"] = defaults["work"] + "/images"
42 defaults["rootfs"] = defaults["work"] + "/rootfs"
43 defaults["overlay"] = defaults["work"] + "/overlay"
44 defaults["overlay_rw"] = defaults["work"] + "/overlay_rw"
45 defaults["overlay_work"] = defaults["work"] + "/overlay_work"
46 defaults["data"] = defaults["work"] + "/data"
47 defaults["lxc"] = defaults["work"] + "/lxc"
48 defaults["host_perms"] = defaults["work"] + "/host-permissions"
49
50 session_defaults = {
51 "user_name": pwd.getpwuid(os.getuid()).pw_name,
52 "user_id": str(os.getuid()),
53 "group_id": str(os.getgid()),
54 "host_user": os.path.expanduser("~"),
55 "pid": str(os.getpid()),
56 "xdg_data_home": str(os.environ.get('XDG_DATA_HOME', os.path.expanduser("~") + "/.local/share")),
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["xdg_data_home"] + \
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://ota.waydro.id/system",
72 "vendor_channel": "https://ota.waydro.id/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"]