- defaults: link: create: true relink: true - clean: ['~', '${XDG_CONFIG_HOME}'] - shell: - description: Set XDG environmental variables command: source ./zsh/.zshenv - description: Check that $XDG_CONFIG_HOME is set command: > if [ -z ${XDG_CONFIG_HOME+x} ]; then; \ echo "XDG_CONFIG_HOME is not yet set. Will use ~/.config"; \ XDG_CONFIG_HOME="${HOME}/.config"; \ fi stdin: false stdout: true stderr: true quiet: true - description: Check that $XDG_DATA_HOME is set command: > if [ -z ${XDG_DATA_HOME+x} ]; then; \ echo "XDG_DATA_HOME is not yet set. Will use ~/.local/share"; \ XDG_DATA_HOME="${HOME}/.local/share"; \ fi stdin: false stdout: true stderr: true quiet: true # Symlink locations for files / directories - link: # Essential configs (ZSH, Vim, Tmux) ~/.zshenv: { path: zsh/.zshenv, force: true } ${XDG_CONFIG_HOME}/zsh: zsh ${XDG_CONFIG_HOME}/vim: vim ${XDG_CONFIG_HOME}/nvim: vim ${XDG_CONFIG_HOME}/tmux: tmux ${XDG_DATA_HOME}/tmux/tpm: lib/tpm ${XDG_DATA_HOME}/tmux/plugins/tpm: lib/tpm # Utility config files ${XDG_CONFIG_HOME}/bash/.bashrc: config/.bashrc ${XDG_CONFIG_HOME}/git/.gitconfig: config/.gitconfig ${XDG_CONFIG_HOME}/.gitignore_global: config/.gitignore_global ${XDG_CONFIG_HOME}/.wgetrc: config/.wgetrc # Bash utils ${XDG_CONFIG_HOME}/utils: utils # MacOS-Only ${XDG_CONFIG_HOME}/yabai/yabairc: if: '[ `uname` = Darwin ]' path: config/macos/yabairc ${XDG_CONFIG_HOME}/skhd/skhdrc: if: '[ `uname` = Darwin ]' path: config/macos/skhdrc ~/.Brewfile: if: '[ `uname` = Darwin ]' path: scripts/installs/Brewfile ~/.finicky.js: if: '[ `uname` = Darwin ]' path: config/macos/.finicky.js # If not already present, create home directories - create: - ~/Downloads - ~/Documents - ~/Applications