]> apps.delaporte.us Git - dotfiles.git/blob - bin/dot
WIP dotfile manager with Ansible
[dotfiles.git] / bin / dot
1 #!/bin/bash
2 # dot - a (mostly) one script dotfiles manager
3 #
4 # Copyright 2026 Edward Delaporte V
5 # Licensed under AGPLv3 and later.
6 #
7 # Features
8 # symlinks - any file in $HOME/dotfiles/files may be symlinked
9 #
10 # dot setup
11 # install the necessary tools to $HOME/envs/dot
12 #
13 # dot list
14 # list available roles
15 #
16 # dot check
17 # check setup vs expected
18 #
19 # dot add ROLE
20 # add ROLE to localhost
21 #
22 # dot apply
23 # apply all added ROLES
24
25 # set -v
26 #
27 if [ "$1" == "setup" ]; then
28 if [[ ! -d $HOME/envs/ansible ]]; then
29 mkdir -p "$HOME/envs"
30 echo "Setting up Ansible in ~/envs/ansible"
31 cd $HOME/envs; python3 -m venv ansible
32 $HOME/envs/ansible/bin/pip install ansible
33 fi
34 if [[ -d $HOME/envs/ansible ]]; then
35 echo "[ ok ]: ~/envs/ansible"
36 fi
37 fi
38
39 if [ "$1" == "check" ]; then
40 echo "check"
41 fi
42
43 if [ "$1" == "list" ]; then
44 echo "May symlink:"
45 cd $HOME/dotfiles/files
46 ls -p | grep -v /
47
48
49 fi
50