forked from emkey1/AOK-Filesystem-Tools
-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathAOK_VARS
290 lines (261 loc) · 10.8 KB
/
AOK_VARS
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
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
#!/bin/sh
# This is sourced. Fake bang-path to help editors and linters
#
# ShellCheck conditions at the top of the file are globals
# shellcheck disable=SC2034
#
# Part of https://github.com/jaclu/AOK-Filesystem-Tools
#
# License: MIT
#
# Copyright (c) 2022-2024: [email protected]
#
# Environment variables defining how this AOK-FS should be setup
#
#
# Variables used during build.
# Recomended is to copy this file to .AOK_VARS and make changes there.
# This file will be ignored by git, and overrides this file. It also
# minimizes risk of temp changes to become unintentionally permanent.
# Only when you think a change should be saved into git, put it here!
#
#
# Label for AOK builds, is also displayed by motd to indicate what
# AOK FS release is being used
#
AOK_VERSION="0.19.16i"
#
# If defined this will be created as a no-password sudo capable user
#
USER_NAME="ish"
#
# Shell for account USER_NAME (if defined).
# If USER_NAME is defined root will also use this shell by default,
# to make sudo / switching user more convenient
#
USER_SHELL="/bin/bash"
#
# If you want to hard-code timezone, the FS will be setup without
# giving the option to select time-zone.
# During testing its a convenient thing to set, not having to select
# a TZ for every install.
#
# AOK_TIMEZONE="Europe/Berlin"
#
# cron (dcron for Alpine), will allaways be installed
# /etc/periodic placeholders will be created and a root crontab
# running the periodics will be put in place.
# The service will only be enabled if USE_CRON_SERVICE is set to "Y"
# Otherwise theese settings have no impact on performance.
# You can always decide later to activate the service.
#
# USE_CRON_SERVICE="Y"
#
# Replaces /root and USER_NAME home dirs with pre-defined content
# If USER_NAME is not set HOME_DIR_USER will be ignored.
#
# HOME_DIR_USER="/iCloud/ish_config/home_user.tgz"
# HOME_DIR_ROOT="/iCloud/ish_config/home_root.tgz"
#
# If you want to manually add something to the new FS, before deploy
# begins. Remember that from the outside, the new FS is located at
# $TMPDIR/aok_fs, if TMPDIR is undefined it defaults to /tmp
# I use this when I want to simulate a mounted /iCloud env like what I
# would have on my iPad, whilst testing the FS on a Linux build host
# If the FS is being compressed its /iCloud is first cleared, so
# anything you put in /iCloud will only be available for chrooted
# sessions on the build host.
# If you put stuff in locations other than /iCloud it will be
# kept in the compressed FS
#
# POPULATE_FS="rsync -ah /home/jaclu/iCloud $TMPDIR/aok_fs"
#
# Additional tasks done during the prebuild stage, ie on the build
# platform. Make sure nothing depends on the destination env!
#
# PREBUILD_ADDITIONAL_TASKS="/iCloud/deploy/additional-prebuild-tasks"
#
# Use this if you have your own restore procedure.
# If defined, this will be run after deploy has completed, at a time
# when it should be running inside a full AOK FS
# If this is a script, it must be available with this PATH on the new
# FS, that means it most likely needs to be in the iCloud mount.
# Unless you have used POPULATE_FS to insert it into the regular FS
#
# FIRST_BOOT_ADDITIONAL_TASKS="/iCloud/deploy/additional-tasks"
########################################################################
#
# Hostname handling
#
########################################################################
#
# Since iOS 17.0 iSH is no longer able to provide hostname at startup.
# If this is set to /etc/hostname, its content will only be displayed,
# and that file needs to be manually changed.
# Any other path would be asumed to be a sync file, written to by an iOS
# shortcut providing current hostname. The last line of this file will
# be copied to /etc/hostname when /usr/local/bin/hostname is run with -U
# If this is not defined, no hostname syncing will happen, and
# /etc/hostname will be used as a static hostname.
# During the final deploy step a hostname will be requested.
# It can be changed later by following the instructions listed by: hostname -h
#
# ALT_HOSTNAME_SOURCE_FILE="/iCloud/temp/hostname_by_shortcut.txt"
#
# If you run both iSH-AOK and regular iSH on the same device
# this setting modifies the hostname for aok kernels to have -aok suffix
# So my iPad JacPad would be calling itself JacPad-aok if you check
# `hostname` on iSH-AOK and JacPad if you check on regular iSH
# This feature also works for iOS >= 17
#
AOK_HOSTNAME_SUFFIX="Y"
########################################################################
#
# Alpine Specific
#
########################################################################
#
# ALPINE_VERSION defines what Alpine release (minirootfs) will be used
# current releases can be found at: https://alpinelinux.org/releases/
#
# sudo insta-crashes iSH if using Alpine >= 3.19... last checked 2024-07-02
# test: sudo ls
# AOK installs an older sudo (Alpine 3.18) on such releases, this
# solves the issue
#
# ALPINE_VERSION=3.14.10 # End of Alpine support 2023-05-01 # AppStore iSH
# ALPINE_VERSION=3.17.9 # End of Alpine support 2024-11-22
# ALPINE_VERSION=3.18.8 # End of Alpine support 2025-05-09
# ALPINE_VERSION=3.19.3 # End of Alpine support 2025-11-01 # TestFlight iSH
ALPINE_VERSION=3.20.2 # End of Alpine support 2026-04-01
#
# For edge releases - Current development tree
# Format is the isodate featured in the minirootfs filename
# Meaning that: alpine-minirootfs-20240606-x86.tar.gz
# Would be requested as: ALPINE_VERSION="20240606"
#
# ALPINE_VERSION="20240606" # 3.21.0_alpha20240606
#
#
# Use this if you want to deploy your own /etc/hosts file etc
# Check /opt/AOK/Docs/custom_files_template.sh for notation of this file
#
# CUSTOM_FILES_TEMPLATE="/iCloud/ish_config/alpine_files_template.sh"
#
# Always installed packages
#
pkgs_tools="busybox-extras coreutils util-linux musl-locales
sudo shadow shadow-login tzdata findutils sed tar pigz file gawk
grep htop less sqlite fzf py3-pip ncdu"
pkgs_shells="bash zsh"
pkgs_services="openrc dcron"
pkgs_net_tools="ssl_client openssh git rsync curl wget elinks mosh mtr"
pkgs_editing="vim nano mg"
pkgs_text_ui="ncurses newt tmux"
pkgs_other="fortune"
CORE_APKS="$pkgs_tools $pkgs_shells $pkgs_services $pkgs_net_tools \
$pkgs_editing $pkgs_text_ui $pkgs_other"
#
# Additional packages. These don't work with stock iSH but work with
# iSH-AOK and will probably work with the Linux Kernel iSH
# Will only be installed if the kernel is identified as iSH-AOK
# on first boot at dest device,
# not 3.17
AOK_APKS="nload"
#
# Packages that should be removed, typically this would make most
# sense to use in an .AOK_VARS
#
AOK_PKGS_SKIP=""
#
# Additional APK groups managed with /usr/local/bin/aok-groups
#
# Any variable ending with _APKS in this file, will be seen as a package
# group by aok-groups and with that tool you can add/delete groups more
# conveniently than having to open this file and then do cut/paste
# repeatedly.
#
# You can add/modify groups to your liking.
#
VNC_APKS="x11vnc x11vnc-doc xvfb xterm xorg-server xf86-video-dummy \
i3wm i3wm-doc i3lock i3lock-doc i3status i3status-doc xdpyinfo \
xdpyinfo-doc ttf-dejavu"
DEVEL_APKS="build-base musl-dev linux-headers cmake automake autoconf \
byacc ncurses-dev openssl-dev readline-dev libffi-dev openssl-dev \
bzip2-dev zlib-dev xz-dev sqlite-dev tk-dev libevent-dev \
libtool ncurses-dev python3-dev"
NODEJS_APKS='nodejs nodejs-dev'
#
# This only contains man pages for apps installed by default,
# not development related man pages, those doing development are
# assumed to know what man pages they might need :)
#
DOCS_APKS="man-db man-pages busybox-doc coreutils-doc \
sudo-doc shadow-doc shadow-login-doc tzdata-doc findutils-doc sed-doc \
tar-doc file-doc gawk-doc grep-doc htop-doc less-doc git-doc \
sqlite-doc fzf-doc py3-pip-doc ncdu-doc bash-doc zsh-doc openrc-doc \
dcron-doc openssh-doc rsync-doc curl-doc wget-doc elinks-doc \
mosh-doc vim-doc nano-doc mg-doc newt-doc tmux-doc fortune-doc"
########################################################################
#
# Debian Specific
#
########################################################################
#
# If this type of install is selected, this tarball will be used as
# base image. Since apt install tends to be really slow on iSH-AOK,
# these images comes with all the default AOK_FS stuff pre-installed
# If you want to get rid of some default packages, use DEB_PKGS_SKIP
# Best of all if you pre-build, this package removal happens on the
# buil-host, so will not have to be done on the dest device!
#
DEBIAN_SRC_IMAGE="https://www.dropbox.com/scl/fi/ft3hcmxe3ly9gydkr03cf/Debian10-12-aok-3.tgz?rlkey=gk96w8eizs0411lxif4jq3hst"
#
# Since the Debian src image comes pre installed as close as possibly
# matching the Alpine packages, here you can list packages that should
# be excluded. This happens during the pre-build when it is used,
# it saves time compared to having to do it on the target device.
# DEB_PKGS_SKIP is processed before DEB_PKGS to ensure that
# this doesnt unintentionally deelete something for DEB_PKGS
#
DEB_PKGS_SKIP=""
#
# All the AOK packages used on Alpine are pre-installed,
# here one can add any additional packages to be installed during setup
# If pre-build is used, this will happen on the build host.
#
DEB_PKGS=""
########################################################################
#
# Devuan Specific
#
########################################################################
#
# If this type of install is selected, this tarball will be used as
# base image. Since apt install tends to be really slow on iSH-AOK,
# these images comes with all the default AOK_FS stuff pre-installed
# If you want to get rid of some default packages, use DVU_PKGS_SKIP
# Best of all if you pre-build, this package removal happens on the
# buil-host, so will not have to be done on the dest device!
#
# Devuan 4 has network but no DNS on iSH
#
DEVUAN_SRC_IMAGE="https://www.dropbox.com/scl/fi/07wtt4x38lhg5kvnxw9qf/Devuan4-6-aok-3.tgz?rlkey=1rslv4yj5toyqp2fva5xh5smb"
#
# Devuan 5 insta-crashes on iSH and has issues in ish-AOK
#
# DEVUAN_SRC_IMAGE="https://www.dropbox.com/scl/fi/eitdo5shjdwwtau8osnj6/Devuan5-3-aok-1.tgz?rlkey=h9c97l9bc02sl45j3ald5ti0i"
#
# Since the Devuan src image comes pre installed as close as possibly
# matching the Alpine packages, here you can list packages that should
# be excluded. This happens during the pre-build when it isused,
# it saves time compared to having to do it on the target device.
# DVU_PKGS_SKIP is processed before DVU_PKGS to ensure that
# this doesnt unintentionally deelete something for DVU_PKGS
#
DEVU_PKGS_SKIP=""
#
# Here one can add any additional packages to be installed during setup
# If pre-build is used, this will happen on the build host.
#
DEVU_PKGS=""