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.
When you run script/bootstrap
- anything with an extension of
.zsh
will get automatically included into your shell. - anything with an extension of
.symlink
will get symlinked without file extension into$HOME
- a file
<folder>/<name>.dotconf
will get symlinked to$HOME/.config/<folder>/<name>
- the folders
bin
andsystem
will be added to thepath
variable
When you run script/install
- you will be asked which
install.sh
files should be executed. The selected ones will be executed with an argumenta
oru
which classifies if the script should be run for an Arch-Linux or Ubuntu/Debian environment.
- Windowmanager: bspwm
- Compositer: Compton (Tyron-git with rounded corners)
- Notification daemon: linux-notification-center
- Statusbar: Polybar
- Dock: Plank
- Lots of stuff
Some applications, notification:
Emacs as an only window on a desktop in monocle view:
There’s a few special files in the hierarchy.
bin/
- Anything in `bin/` will get added to your `$PATH` and be made available everywhere.
topic/*.zsh
- Any files ending in `.zsh` get loaded into your environment.
topic/path.zsh
- Any file named `path.zsh` is loaded first and is expected to setup `$PATH` or similar.
topic/completion.zsh
- Any file named `completion.zsh` is loaded last and is expected to setup autocomplete.
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 run `script/bootstrap`.
topic/(*).(*).dotconfig
- Any file with name \1 is symlinked to .config/\2
Run this:
git clone https://github.com/phuhl/.dotfiles.git ~/.dotfiles
cd ~/.dotfiles
./script/bootstrap
sudo ./script/install
sudo chsh <username> /bin/zsh
#reboot
This will symlink the appropriate files in `.dotfiles` to your home directory. Everything is configured and tweaked within `~/.dotfiles`.
I based my dotfiles on Zach Holmans dotfiles who forked Ryan Bates’ dotfiles.