commit 6fad3005ddfcaea3827089ed1e31bf12ebe12e75
parent 27adfc9f1912184eeb8ae74d7fd771d4ae22bba1
Author: ccx <ccx@te2000.cz>
Date: Sun, 24 Mar 2024 18:43:48 +0000
Rework site_containers_user_check, alpine-gpg
Diffstat:
1 file changed, 32 insertions(+), 69 deletions(-)
diff --git a/zsh-functions/confz_site_containers_init b/zsh-functions/confz_site_containers_init
@@ -72,7 +72,7 @@ confz_site_containers_xorg_check() {
confz_site_containers_user_check() {
checkvars containers_dir svscan_dir user
- local display container bind bind_dir bindroot chome uid gid
+ local display container param bind bind_dir bindroot chome uid gid
local -a fstab
bind=$'\tnone\tbind,nosuid,nodev\t0 0'
uid="${${(s.:.)"$(getent passwd $vars[user])"}[3]}" \
@@ -83,64 +83,38 @@ confz_site_containers_user_check() {
display_number=$display image_name=alpine-xsession \
:containers_dir :svscan_dir :user
done
- local -a generic=(
- alpine-{browsers,ssh,socials} # ,office}
- void-signal
- void-telegram
- # void-games
- # nix-signal
- pentoo
+ local -A container_img=(
+ {,}alpine-browsers
+ {,}pentoo
+ {,alpine-}{weechat,senpai,profanity,gomuks,mail,testssl,tor,ssh,socials,gpg}
+ {,void-}{signal,telegram}
+ recombee-browser void-browsers
+ te2000-browser void-browsers
+ twitch void-browsers
+ neonmodem alpine-go
+ simplex alpine-haskell
+ spark $'alpine-dev-spark\0mount_rw=ccx-bzr ccx-git'
+ sndiod alpine-sndio
+ mpd $'void-mpd\0mount_ro=audio'
+ alpine-recombee $'alpine-recombee\0mount_rw=ccx-git-recombee'
)
- for container in $generic; do
- require site_containers_usersvc_simple \
- :containers_dir :svscan_dir :user uid=$uid gid=$gid \
- image_name=$container
- done
- for container in weechat senpai profanity gomuks mail testssl tor; do
- require site_containers_usersvc_simple \
+ local -A container_type=(
+ sndiod alsa
+ )
+ for container param in ${(kv)container_img}; do
+ require site_containers_usersvc_${container_type[$container]:-simple} \
:containers_dir :svscan_dir :user uid=$uid gid=$gid \
- container_name=$container image_name=alpine-$container
+ container_name=$container image_name=${(0)param}
done
- require site_containers_usersvc_simple \
- :containers_dir :svscan_dir :user uid=$uid gid=$gid \
- container_name=neonmodem image_name=alpine-go
-
- require site_containers_usersvc_simple \
- :containers_dir :svscan_dir :user uid=$uid gid=$gid \
- container_name=simplex image_name=alpine-haskell
-
- require site_containers_usersvc_simple \
- :containers_dir :svscan_dir :user uid=$uid gid=$gid \
- mount_rw="ccx-bzr ccx-git" \
- container_name=spark image_name=alpine-dev-spark
-
- # void-recombee-browser
- require site_containers_usersvc_simple \
- :containers_dir :svscan_dir :user uid=$uid gid=$gid \
- image_name=void-browsers container_name=void-recombee-browser
-
- require site_containers_usersvc_simple \
- :containers_dir :svscan_dir :user uid=$uid gid=$gid \
- image_name=void-browsers container_name=void-te2000-browser
-
- require site_containers_usersvc_simple \
- :containers_dir :svscan_dir :user uid=$uid gid=$gid \
- image_name=void-browsers container_name=twitch
-
- container=alpine-sndio
- bindroot=$vars[containers_dir]/user/$vars[user]/$container/root
- require container_service_alsa \
- image_name=$container \
- :containers_dir :svscan_dir :user
-
- container=void-mpd
- bindroot=$vars[containers_dir]/user/$vars[user]/$container/root
- require container_service_generic \
- image_name=$container \
- :containers_dir :svscan_dir :user \
- mnt_dirs_extra=audio \
- fstab_extra=/mnt/volumes/audio$'\t'$bindroot/mnt/audio$'\tnone\tbind,ro,nosuid,nodev\t0 0'
+ # local -a generic=(
+ # alpine-{browsers,ssh,socials} # ,office}
+ # void-signal
+ # void-telegram
+ # # void-games
+ # # nix-signal
+ # pentoo
+ # )
# container=alpine-dev
# bindroot=$vars[containers_dir]/user/$vars[user]/$container/root
@@ -152,20 +126,6 @@ confz_site_containers_user_check() {
# require container_service_generic \
# image_name=$container fstab_extra=${(F)fstab} \
# :containers_dir :svscan_dir :user
-
- container=alpine-recombee
- chome=$vars[containers_dir]/user/$vars[user]/$container/home
- # this creates the homedir as a side effect
- require container_service_generic \
- image_name=$container fstab_extra=${(F)fstab} \
- :containers_dir :svscan_dir :user
- bindroot=$vars[containers_dir]/user/$vars[user]/$container/root
- # bind-mounts for alpine-recombee
- require fs_d filename=$chome/$vars[user]/git
- require fs_o filename=$chome/$vars[user]/git owner=$uid:$gid
- require fs_d filename=$chome/$vars[user]/git/recombee
- require fs_o filename=$chome/$vars[user]/git/recombee owner=$uid:$gid
- fstab=( /home/$vars[user]/git/recombee$'\t'$bindroot/home/$vars[user]/git/recombee$bind )
}
confz_site_container_services_check() {
@@ -331,6 +291,9 @@ confz_site_container_images_check() {
packages="$alpine_dev_core go"
require site_container_alpine :containers_dir :svscan_dir \
+ image_name=alpine-gnupg packages="$alpine_terminal gnupg gnupg-scdaemon"
+
+ require site_container_alpine :containers_dir :svscan_dir \
image_name=alpine-ssh packages="$alpine_terminal openssh dropbear make"
local -a alpine_weechat=(