From c94c24207b05752a8e9a8ece89b6481445df4eac Mon Sep 17 00:00:00 2001 From: Patrick Spek Date: Fri, 6 May 2022 13:59:42 +0200 Subject: First attempt to manage my own user --- playbooks.d/user-tyil/description.txt | 1 + playbooks.d/user-tyil/etc/defaults | 6 ++++++ playbooks.d/user-tyil/playbook.bash | 31 +++++++++++++++++++++++++++++++ 3 files changed, 38 insertions(+) create mode 100644 playbooks.d/user-tyil/description.txt create mode 100644 playbooks.d/user-tyil/etc/defaults create mode 100644 playbooks.d/user-tyil/playbook.bash diff --git a/playbooks.d/user-tyil/description.txt b/playbooks.d/user-tyil/description.txt new file mode 100644 index 0000000..0345a23 --- /dev/null +++ b/playbooks.d/user-tyil/description.txt @@ -0,0 +1 @@ +User configuration for "tyil" diff --git a/playbooks.d/user-tyil/etc/defaults b/playbooks.d/user-tyil/etc/defaults new file mode 100644 index 0000000..e1bd13a --- /dev/null +++ b/playbooks.d/user-tyil/etc/defaults @@ -0,0 +1,6 @@ +users.tyil.home=/home/tyil +users.tyil.git.url=https://git.tyil.nl/dotfiles +users.tyil.git.branch=master + +pkg.git=git +pkg.sudo=sudo diff --git a/playbooks.d/user-tyil/playbook.bash b/playbooks.d/user-tyil/playbook.bash new file mode 100644 index 0000000..cf960bd --- /dev/null +++ b/playbooks.d/user-tyil/playbook.bash @@ -0,0 +1,31 @@ +#!/usr/bin/env bash + +playbook_add() { + notice "$BASHTARD_PLAYBOOK" "Creating user 'tyil'" + useradd \ + --no-create-home \ + tyil + + notice "$BASHTARD_PLAYBOOK" "Cloning dotfiles" + git clone "$(config "users.tyil.git.url")" "$(config "users.tyil.home")" + chown -R tyil:tyil "$(config "users.tyil.home")" + + playbook_sync +} + +playbook_sync() { + notice "$BASHTARD_PLAYBOOK" "Installing all desired utilities" + pkg install \ + git \ + sudo + + [[ $BASHTARD_COMMAND == "add" ]] && return + + notice "$BASHTARD_PLAYBOOK" "Updating dotfiles" + git -C "$(config "users.tyil.home")" pull origin "$(config "users.tyil.git.branch")" +} + +playbook_del() { + userdel tyil + rm -fr --one-file-system -- "$(config "users.tyil.home")" +} -- cgit v1.1