28 lines
845 B
Fish
28 lines
845 B
Fish
|
#!/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 echo "$displayName" | jq --exit-status > /dev/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
|