# Dotfiles Personal collection of (public) dotfiles, managed with [GNU Stow](https://www.gnu.org/software/stow/). ![A screenshot of the dotfiles in use](https://git.dyamon.me/dotfiles/plain/resources/screen.jpg "A screenshot of the dotfiles in use") Each top-level folder is a set of dotfiles you can deploy with ```{.bash} stow --verbose ``` On top of this I'm using my own fork of [st](https://st.suckless.org/). You can find it [here](https://git.dyamon.me/st/). Some packages depend on others and should be deployed together. Use the [deployment script](#piping-hot) if you want to avoid any problem. In particular: - `nvim` depends on `bash`, `ripgrep`, and `nnn` - `tmux` depends on `bash` `git` and `stow` are assumed to be installed on the machine. **N.B.** I'm currently transitioning from Vim to NeoVim. NeoVim configs have now reached a usable state and the dotfiles under `vim` will be remove soon™. ## Installation Some of the *packages* need extra work to be fully deployed. For this reason a deployment script is provided to automate this. The script deploys everything locally and installs new executables under `~/.local/bin/` (if needed). If you want to know what are the additional steps for a specific package check the [script](https://git.dyamon.me/dotfiles/tree/setup.sh) and in particular the corresponding function `setup_()`. ### The risky way If you like the risk, you can [pipe directly into `bash`](https://pi-hole.net/2016/07/25/curling-and-piping-to-bash). Please [read the script](https://git.dyamon.me/dotfiles/tree/setup.sh) first! ``` curl -sSL https://git.dyamon.me/dotfiles/plain/setup.sh | bash -s -- [ ...] ``` This will clone the repository and deploy the dotfiles for the requested packages. The script will take care of dependency between packages and notify the user of missing external dependences for which is able to perform a *simple*, *distribution agnostic*, *local* install. ### Good ol' method If you want to be a bit more careful, use the following: ``` curl -L https://git.dyamon.me/dotfiles/plain/setup.sh > dyamon.bash ${EDITOR:-vi} dyamon.bash chmod u+x dyamon.sh ./dyamon.sh [