dotfile organization forked from holmans dotfiles
If you're interested in the philosophy behind why projects like these are awesome, you might want to read his post on the subject.
If you plan on using his system yourself, head over to his repository and fork it to have a clean start.
Run this:
cd
git clone --recursive https://github.com/benutzer193/.dotfiles.git ~/Dotfiles
cd Dotfiles
script/bootstrap
This will symlink the appropriate files in Dotfiles
to your home directory.
Everything is configured and tweaked within ~/Dotfiles
.
I don't recommend to hide the Dotfiles like ~/.dotfiles
because
fzf is configured to exclude hidden folders
and won't find files in ~/.dotfiles
.
Everything's built around topic areas. If you're adding a new area to your
forked dotfiles — say, "Java" — you can simply add a java
directory and put
files in there. Anything with an extension of .zsh
will get automatically
included into your shell. Anything with an extension of .symlink
and
.cfolder
will get
symlinked without extension into $HOME
when you run script/bootstrap
.
There's a few special files in the hierarchy.
- bin/: Anything in
bin/
andprivate/bin
will get added to your$PATH
and be made available everywhere. - topic/*.symlink: Any files ending in
*.symlink
get symlinked into your$HOME
. This is so you can keep all of those versioned in your dotfiles but still keep those autoloaded files in your home directory. These get symlinked in when you runscript/bootstrap
. - topic/*.cfolder: Any files ending in
*.cfolder
get symlinked into your$HOME/.config
folder. This is so you can keep all of those versioned in your dotfiles but still keep those autoloaded files in your home directory. These get symlinked in when you runscript/bootstrap
.
The following files have to be located inside a topic/**/config-files/ folder:
- *.zsh: Any files ending in
.zsh
get loaded into your environment. - completion.zsh: Any file named
completion.zsh
is loaded last and is expected to setup autocomplete.
Every file in a topic/**/env/ folder with a specific name will be added to the corresponding environmental variable.
Possible filenames are path.zsh, manpath.zsh and infopath.zsh. The files should contain only the paths separated by lines! e.g.:
path.zsh
/usr/bin
/usr/sbin
The Dotfile directory is available as $DOTFILES
.
Git will ignore everything inside private/
!
bootstrap
will also install and update Neovim or Vim plugins (incl. fzf),
depending on what is installed on the system. If both is installed Neovim
will be preferred.
Many thanks to Zach Holman for sharing his system.