]> us-delaporte.pagekite.me Git - dotfiles.git/blobdiff - bin/dot
Add utils env
[dotfiles.git] / bin / dot
diff --git a/bin/dot b/bin/dot
index c3e4a6aa10f9fa5c7c9e3d16c529605a27dcafba..312dd4a973257b8c9971b56301e44b8d1b981d34 100755 (executable)
--- a/bin/dot
+++ b/bin/dot
@@ -1,17 +1,28 @@
 #!/bin/bash
+ENVS="$HOME/envs"
+ANSIBLE="$ENVS/ansible/bin/ansible-playbook"
 read -d '' HELP << EOF
 dot - a (mostly) one script dotfiles manager
 
+1. Install this file on your path
+2. Clone your (or my) 'dotfiles' repository to ~/dotfiles
+3. Run 'dot help' to get started.
+
 Copyright 2026 Edward Delaporte V
 Licensed under AGPLv3 and later.
 
 dot setup
-       install the necessary tools to $HOME/envs/dot
+       install ansible CLI to $ANSIBLE
 
 dot link FILE
   updates ~/dot.HOSTNAME.yaml
   to include a symlink from ~/dotfiles/files/FILE to ~/.FILE
 
+dot install SCRIPT
+  updates ~/dot.HOSTNAME.yaml
+  to run ~/dotfiles/SCRIPT.sh if it has not yet been run
+  creates ~/dot/SCRIPT.installed after SCRIPT has been run
+
 dot check
        check setup against ~/dot.HOSTNAME.yaml
 
@@ -24,9 +35,7 @@ if [ ! -n "$1" ] || [ "$1" == "help" ]; then
 fi
 # set -v
 
-ENVS="$HOME/envs"
-ANSIBLE="$ENVS/ansible/bin/ansible-playbook"
-TASKFILE="$HOME/dot.$HOSTNAME.yaml"
+TASKFILE="$HOME/backup/dot.$HOSTNAME.yaml"
 LINKFILES="$HOME/dotfiles/files"
 INSTALLS="$HOME/dotfiles/install"
 DOT="$HOME/dot"
@@ -44,6 +53,11 @@ read -d '' EMPTY_TASKFILE << EOF
         path: $TASKFILE
 EOF
 
+if [[ ! -f "$TASKFILE" ]]; then
+       echo "Creating empty $TASKFILE"
+       mkdir -p "$HOME/backup"
+       echo "$EMPTY_TASKFILE" >> $TASKFILE
+fi
 
 if [ "$1" == "setup" ]; then
   if [[ ! -f "$ANSIBLE" ]]; then
@@ -55,10 +69,6 @@ if [ "$1" == "setup" ]; then
   if [[ -f "$ANSIBLE" ]]; then
                echo "[ ok ]: Ansible setup at $ANSIBLE"
        fi
-  if [[ ! -f "$TASKFILE" ]]; then
-               echo "Creating $TASKFILE"
-               echo "$EMPTY_TASKFILE" >> $TASKFILE
-       fi
   if [[ -f "$TASKFILE" ]]; then
                echo "[ ok ]: dot config at $TASKFILE"
        fi
@@ -81,7 +91,7 @@ fi
 
 if [ "$1" == "link" ]; then
        if [ ! -n "$2" ]; then
-               echo "May symlink:"
+               echo "Can symlink: (from $LINKFILES)"
                cd $LINKFILES
                ls -p | grep -v /
                exit 1
@@ -112,9 +122,9 @@ fi
 
 if [ "$1" == "install" ]; then
        if [ ! -n "$2" ]; then
-               echo "Can install:"
+               echo "Can install: (.sh scripts in $INSTALLS)"
                cd $INSTALLS
-               ls -p | grep -v /
+               ls -p | grep -v / | grep .sh
                exit 1
        fi
   if [[ ! -f "$INSTALLS/$2.sh" ]]; then