/.dotfiles

Primary LanguageShellMIT LicenseMIT

Dotfiles

dotfiles

Topical

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 and system will be added to the path 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 argument a or u which classifies if the script should be run for an Arch-Linux or Ubuntu/Debian environment.

What’s inside

Screenshots

Some applications, notification: README.org.img/org_20181125_131724_ZI9o09.jpg

Notification Center opened: README.org.img/org_20181203_164608_WqFdmO.jpg

Emacs as an only window on a desktop in monocle view: README.org.img/org_20181203_164817_XTvKHh.jpg

Components

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

Install

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`.

Thanks

I based my dotfiles on Zach Holmans dotfiles who forked Ryan Batesdotfiles.