From: Edward Delaporte Date: Mon, 6 Jul 2026 03:08:59 +0000 (-0500) Subject: Add ability to check localhost X-Git-Url: https://apps.delaporte.us/gitweb/dotfiles.git/commitdiff_plain/b6742c73921137d07c9e3f889faef131e711db7b Add ability to check localhost --- diff --git a/bin/dot b/bin/dot index a59d80d..16e366e 100755 --- a/bin/dot +++ b/bin/dot @@ -23,28 +23,77 @@ # apply all added ROLES # set -v -# + +ENVS="$HOME/envs" +ANSIBLE="$ENVS/ansible/bin/ansible-playbook" +TASKFILE="$HOME/dot.$HOSTNAME.yaml" + +read -d '' EMPTY_TASKFILE << EOF +--- +- name: Set up dotfiles on $HOSTNAME + gather_facts: no + hosts: localhost + connection: local + + tasks: + - name: Do nothing + ansible.builtin.shell: echo "Nothing to do." +EOF + + if [ "$1" == "setup" ]; then - if [[ ! -d $HOME/envs/ansible ]]; then - mkdir -p "$HOME/envs" + if [[ ! -f "$ANSIBLE" ]]; then + mkdir -p "$ENVS" echo "Setting up Ansible in ~/envs/ansible" cd $HOME/envs; python3 -m venv ansible - $HOME/envs/ansible/bin/pip install ansible + $HOME/envs/ansible/bin/pip install ansible jinja2 + fi + if [[ -f "$ANSIBLE" ]]; then + echo "[ ok ]: Ansible setup at $ANSIBLE" + fi + if [[ ! -f "$TASKFILE" ]]; then + echo "Creating $TASKFILE" + echo "$EMPTY_TASKFILE" >> $TASKFILE fi - if [[ -d $HOME/envs/ansible ]]; then - echo "[ ok ]: ~/envs/ansible" + if [[ -f "$TASKFILE" ]]; then + echo "[ ok ]: dot config at $TASKFILE" fi fi if [ "$1" == "check" ]; then - echo "check" + $ANSIBLE $TASKFILE --check --diff fi if [ "$1" == "list" ]; then echo "May symlink:" cd $HOME/dotfiles/files ls -p | grep -v / +fi + +if [ "$1" == "link" ]; then + echo "wait" fi +echo << EOF +- name: Create a symbolic link + ansible.builtin.file: + src: /file/to/link/to + dest: /path/to/symlink + owner: foo + group: foo + state: link +EOF + +echo "heh" + + +if [ "$1" == "reset" ]; then + read -n1 -p "Reset $TASKFILE? [y,N]" input + if [[ ! $input == "Y" && ! $input == "y" ]]; then + echo "Aborted by user" + exit 1 + fi + echo "$EMPTY_TASKFILE" > $TASKFILE +fi