Skip to content

Latest commit

 

History

History
73 lines (55 loc) · 3.55 KB

README.md

File metadata and controls

73 lines (55 loc) · 3.55 KB

dotfiles

Description

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

Table of Contents

Installation

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

Setup Commands

  • backup - will backup current dotfiles to ~/.dotfile_backups/<current timestamp>
  • deps - will try to install dependencies
  • generate_ssl_cert - will generate a self-signed ssl cert and copy the files to your home folder
  • install: runs the backup, deps generate_ssl_cert install_dotfiles, install_fonts and setup_git targets -- this is the default command
  • install_bin - will install new binaries to ~/bin; ~/bin is already added to the path in the included .bashrc
  • install_dotfiles - will install the new dotfiles to ~/
  • install_fonts - will install new fonts to ~/Library/Fonts or ~/.fonts on other systems
  • restore - will restore backed up dotfiles, usage RESTORE_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

Dependencies

Not completely necessary, but may be desired. Will be installed by default if possible.

Post Install Manual Changes

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

TODO

  • 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