forked from Vanilla-OS/first-setup
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrecipe.json
164 lines (164 loc) · 6.77 KB
/
recipe.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
{
"log_file": "/etc/vanilla/first-setup.log",
"distro_name": "Vanilla OS",
"distro_logo": "io.github.vanilla-os.FirstSetup",
"steps": {
"welcome": {
"template": "welcome"
},
"theme": {
"template": "theme"
},
"packages": {
"template": "preferences",
"icon": "vanilla-package-symbolic",
"title": "Package Manager",
"description": "Choose one or more package managers to install",
"preferences": [
{
"id": "flatpak",
"title": "Flatpak",
"subtitle": "Will also configure the Flathub repository.",
"default": true
},
{
"id": "snap",
"title": "Snap",
"subtitle": "Uses the Snapcraft repository. Default in Ubuntu."
},
{
"id": "appimage",
"title": "AppImage",
"subtitle": "Will install the necessary dependencies to run AppImages."
}
],
"final": [
{
"if": "flatpak",
"type": "command",
"commands": [
"sudo apt install -y flatpak gnome-software-plugin-flatpak",
"flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo"
]
},
{
"if": "snap",
"type": "command",
"commands": ["sudo apt install -y snapd"]
},
{
"if": "appimage",
"type": "command",
"commands": ["sudo apt install -y fuse2"]
}
]
},
"subsystem": {
"template": "yes-no",
"icon": "vanilla-container-terminal-symbolic",
"title": "Sub System",
"description": "Access a minimal mutable Ubuntu installation integrated with Vanilla OS.",
"buttons": {
"yes": "Enable",
"no": "Skip",
"info": {
"type": "text",
"title": "What is Sub System?",
"text": "The Sub-System is a container that allows you to install deb packages without altering the system. It is useful for installing software without having to enter the read-write mode.\n\nYou don't need to enter the container to install packages, just use the apx command (wrapper around the apt inside the container) to install new programs and automatically make them available in your Vanilla OS installation.\n\nThis features uses distrobox as backend."
}
},
"final": [
{
"if": "subsystem",
"type": "command",
"commands": [
"sudo apt install -y apx",
"curl -s https://raw.githubusercontent.com/89luca89/distrobox/main/install | sudo sh"
]
}
]
},
"immutability": {
"template": "yes-no",
"icon": "security-medium-symbolic",
"title": "On-Demand Immutability",
"description": "Choose whether to protect your system from deterioration by making it immutable.",
"buttons": {
"yes": "Enable",
"no": "Skip",
"info": {
"type": "text",
"title": "What is On-Demand Immutability?",
"text": "Immutability makes it impossible to modify system files, preventing them from being compromised.\n\nImmutable On-Demand mode is a file attribute-based system that lets you turn OS immutability on and off on the fly, without having to reboot. You can use the command line tool 'almost' to change its operation, check its status, change the default mode and much more.\n\nThis system does not require the use of special file systems and is entirely managed by the Almost tool, developed by the Vanilla OS Team."
}
},
"final": [
{
"if": "immutability",
"type": "command",
"commands": [
"sudo apt install -y almost",
"sudo almost enter rw"
]
}
]
},
"nvidia": {
"template": "yes-no",
"display-conditions": [
"lspci | grep -i '.* vga .* nvidia .*'"
],
"icon": "video-display-symbolic",
"title": "NVIDIA® Drivers",
"description": "Choose whether to install proprietary NVIDIA drivers for better compatibility and performance.",
"buttons": {
"yes": "Yes, install",
"no": "Skip",
"info": {
"type": "text",
"title": "About Proprietary Drivers",
"text": "A proprietary driver has private code that neither Vanilla OS nor Ubuntu developers can review.\n\nSecurity and other updates are dependent on the driver vendor."
}
},
"final": [
{
"if": "nvidia",
"type": "command",
"commands": ["sudo ubuntu-drivers install --recommended"]
}
]
},
"extra": {
"template": "preferences",
"icon": "vanilla-puzzle-piece-symbolic",
"title": "Extra Settings",
"description": "The following are optional settings, leave them as they are if you don't know what they do.",
"preferences": [
{
"id": "apport",
"title": "Apport",
"subtitle": "Apport is a crash reporting system that helps us improve the stability of the system."
}
],
"final": [
{
"if": "apport",
"type": "command",
"commands": [
"sudo apt install -y apport",
"systemctl enable apport.service || true"
]
},
{
"if": "apport",
"condition": false,
"type": "command",
"commands": [
"sudo apt remove -y apport",
"systemctl disable apport.service || true"
]
}
]
}
}
}