Add users from configuration

This commit is contained in:
Manuel Thalmann 2024-07-20 00:46:02 +02:00
parent af53a09b17
commit 6bd2844efb
3 changed files with 32 additions and 5 deletions

View file

@ -91,11 +91,6 @@ begin
and arch-chroot "$mountDir" bash "$tempDir/../Software/sudo/install.sh" and arch-chroot "$mountDir" bash "$tempDir/../Software/sudo/install.sh"
and runInOS fish "$tempDir/../Software/GRUB/main.fish" and runInOS fish "$tempDir/../Software/GRUB/main.fish"
and USER_NAME="$USER_NAME" \
USER_DISPLAYNAME="$USER_DISPLAYNAME" \
USER_GROUPS="$USER_GROUPS" \
arch-chroot "$mountDir" bash "$tempDir/user.sh"
and if set -l keyLayout (getConfig valhalla.keyboardLayout) and if set -l keyLayout (getConfig valhalla.keyboardLayout)
set -l serviceName set-keymap.service set -l serviceName set-keymap.service
and set -l serviceFile "$mountDir/etc/systemd/system/$serviceName" and set -l serviceFile "$mountDir/etc/systemd/system/$serviceName"

View file

@ -39,5 +39,10 @@ else
runHook installOS || true runHook installOS || true
runHook installSoftware || true runHook installSoftware || true
runHook initializeConfig || true runHook initializeConfig || true
runHook addUsers || begin
source "$dir/users.fish"
end
runHook postInstall || true runHook postInstall || true
end end

View file

@ -0,0 +1,27 @@
#!/bin/env fish
set -l dir (status dirname)
source "$dir/../Scripts/config.fish"
set -l users (getConfig valhalla.users --apply "builtins.attrNames" --json)
for name in (echo "$users" | jq '.[]' --raw-output0 | string split0)
function getUserConfig -S -a config
getConfig "valhalla.users.$name.$config" $argv[2..]
end
set -l displayName (getUserConfig displayName --json)
useradd --create-home (
if [ displayName != "null" ]
echo "--comment"
echo "$displayName" | jq --raw-output
end
) --groups (getUserConfig groups --apply 'builtins.concatStringsSep ","') \
"$name"
echo "Please Choose a New Password for User \`$name\`"
while ! passwd "$name"
echo "An error occurred! Please try again."
end
end