'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/Fontson OSX or~/.fontselsewhere
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,depsgenerate_ssl_certinstall_dotfiles,install_fontsandsetup_gittargets -- this is the default commandinstall_bin- will install new binaries to~/bin;~/binis already added to the path in the included .bashrcinstall_dotfiles- will install the new dotfiles to~/install_fonts- will install new fonts to~/Library/Fontsor~/.fontson other systemsrestore- will restore backed up dotfiles, usageRESTORE_TIMESTAMP=<desired timestamp> ./setup.sh restoresetup_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
bashto be used