'nix dotfiles
Well, it will probably work on a nix system. It's actually mostly been tested on OSX, and some of the dependencies will only install automatically on OSX.
./setup.sh
This will:
- backup all current dotfiles to
~/.dotfile_backups/<current timestamp>
- install dependencies if possible
- generate a self-signed ssl cert and copy it to
~/
- install new dotfiles to
~/
- install new fonts to
~/Library/Fonts
on OSX or~/.fonts
elsewhere
backup
- will backup current dotfiles to~/.dotfile_backups/<current timestamp>
deps
- will try to install dependenciesgenerate_ssl_cert
- will generate a self-signed ssl cert and copy the files to your home folderinstall
: runs thebackup
,deps
generate_ssl_cert
install_dotfiles
,install_fonts
andsetup_git
targets -- this is the default commandinstall_bin
- will install new binaries to~/bin
;~/bin
is already added to the path in the included .bashrcinstall_dotfiles
- will install the new dotfiles to~/
install_fonts
- will install new fonts to~/Library/Fonts
or~/.fonts
on other systemsrestore
- will restore backed up dotfiles, usageRESTORE_TIMESTAMP=<desired timestamp> ./setup.sh restore
setup_git
- asks you to enter a name and email that will be used when making commits with git
Not completely necessary, but may be desired. Will be installed by default if possible.
- autojump - a faster way to navigate your filesystem - https://github.com/wting/autojump
- bat - A cat(1) clone with wings - https://github.com/sharkdp/bat#installation
- ctags - this will only install on OSX as the BSD one installed is fairly outdated - https://github.com/universal-ctags/homebrew-universal-ctags
- exa - ls replacement - https://github.com/ogham/exa
- fd - A simple, fast and user-friendly alternative to 'find' - https://github.com/sharkdp/fd
- fzf - command-line fuzzy finder - https://github.com/junegunn/fzf
- git-extras - some extra commands for git - https://github.com/tj/git-extras
- homebrew - package management for OSX - https://brew.sh/
- jq - like sed for json - https://stedolan.github.io/jq/
- starship - cross shell prompt - https://github.com/starship/starship
- vim-plug - vim plugin manager - https://github.com/junegunn/vim-plug
- change the font in your terminal to whichever font you like from the fonts folder.
- please see instructions for your particular OS on how to do this
- allow for other flavours of linux than debian, eg, redhat
- make dependencies install correctly on linux -- mostly done
- install vim-plug plugins automatically
- if the dotfiles installed did not exist before the installation, then maybe the restore task should remove them; but this could have issues if the user subsequently added one of those files; maybe ask the user if they want the files removed
- ask user if they would like vim or emacs (or editor of their choice) to be their default editor in the EDITOR env variable
- make dependency installation interactive so user can choose which they want... maybe entire process could be interactive
- shell integration - allow for shells other than
bash
to be used