Dotfiles
Dotfiles copied to clipboard
dotfiles for configuration
dotfiles
My Dotfiles for configuration of different software and command-line programs
:warning:WARNING:warning: Dotfiles are not meant to be forked: they are personal castles that you should construct yourself. That said, feel free to peruse mine and steal whatever you like.
In spite of the above warning, I have tried to make this repo relatively easy to
fork and play with. Sourcing local files, such as ~/.gitconfig.local, is a
large part of that.
Installing
First, clone the repo into your dotfiles directory (the name of the directory
doesn't matter). If your git supports it, --jobs ... might be a good idea. You
can skip the submodules if you choose, but you must have the plink submodule
or a plink installation to build the
makefile used for installation and maintenance. The submodule is the easiest
route.
mkdir ~/Dotfiles
git clone --recurse-submodules https://github.com/benknoble/Dotfiles.git ~/Dotfiles
cd ~/Dotfiles
Next, run make to kick things off:
./dotfiles.plink
make install
This will do several things:
- Use Plink to generate the makefile.
- Executes
make symlink, which removes old files and creates the symlinks :warning:No backups are made. Create your own prior to installing if you wish.:warning: - (Optional) Executes
make $(FEATURES). See the Makefile for supported options and the defaults.FEATURES=nonecan be used to skip this.
At this point, you may want to setup brew, so do
# Linux
eval $(/home/linuxbrew/.linuxbrew/bin/brew shellenv)
# macOS
command -v brew
make brew_setup
The next time you start a shell (probably homebrewed zsh, since that's what
make brew_setup sets it to), your new config files will load , giving you
access to a whole host of new command-line fu.
reload is a helpful alias (defined for both bash and zsh) for when changes
have been made to shell dotfiles: it essentially loads those changes into the
environment. :Reload exists for vim, and there are reload bindings for both
tmux and readline as well.
Keeping Up-to-date
make update should be all you need.
Other make things
Controlled via Plink and dotfiles.plink.
The Makefile is only guaranteed to work if run from the top-level of this repo.
- provides useful targets (
makeprints a list) - customizable (see the top section of Makefile)
- updates as needed
Documentation & Full Feature List
Check the code—this is where you should probably not use something until you understand what it is doing. Feel free to ask me questions.
The old docs have been eliminated. They can be found in the git history.
Misc
Theme
I am now using the Dracula themes for all my software. You can find some of them under the Dracula directory and some in a vim package. Some are hand-coded and not official. Additionally, if Dracula Pro is available, I'm using that instead. I usually use the regular variant, though the Van Helsing variant is also nice.
I'm using Victor Mono as a font. Cursive italics have grown on me.
Code of Conduct
Note that we also have a Code of Conduct that governs the behavioral expectations of the Dotfiles.
License
This project is licensed under the MIT License--see LICENSE for more information.
© 2016 David Ben Knoble
Acknowledgments
This project was inspired by a blog post from this guy.
I've also grabbed code from a number of places over the development of the project. I've tried to attribute you in the code where possible, but I can't hit everybody.
Thanks to Steve Losh for some Vim help and teaching.
Thanks further to the kind Internet for providing a wealth of resources when things go wonky.