What's in there?
This is meant to be a 'minimal', distraction free setup. It should automate as much as possible and keep UI clutter to a minimum.
I don't recommend running the
setup script on your machine unless
you understand what it does.
I do recommend having a look through the various config files. Below is a rough overview.
If you are interested in the CI setup, look below.
- i3bar is only shown when the modifier key is pressed
- i3bar only shows the workspaces, time and tray programs
The status display has no additional information apart from windows.
- Custom zsh prompt/theme
- CTRL+Z to send jobs to background and to foreground
- No oh-my-zsh, because it makes things slow
- Same completion as oh-my-zsh
.xinitrc for i3
Launches a couple of programs and the i3 window manager.
.Xresources for urxvt configuration
- Gruvbox and Solarized themes
- Clickable urls to launch firefox
- Shortcuts to change the terminal font size
- Font size management with Ctrl + arrow keys
- Support for 'line' cursor shape in insert mode if using nvim
- Turns syntax off for large files
- Open the current file in browser (Useful for markdown)
- Return to the same line when you reopen a file
- Pre-defined commit message with suggestions
- Basic rubocop.yml
- irbrc - start pry if possible
- gemrc - never download docs
Scripts in bin/
offWill ask you to do a daily review, time tracking and if you are fine with your journaling and then suspend the machine.
lock.shLocks the screen with a blurred screenshot of the current screen. Requires
clean_railscleans cache and log files in rails projects
Just run the following command:
wget --no-check-certificate https://github.com/phansch/dotfiles/raw/master/setup -O - | bash
- Setup Ansible
- Upgrade and autoclean system packages
- Clone the dotfiles (or pull if they exist already)
- Run the base playbook to install the prerequisites
- Run the dotfiles playbook to symlink the dotfiles
- Print the command to run the optional playbooks
Just the dotfiles
If you just want the dotfiles, clone them and use stow as below.
git clone https://github.com/phansch/dotfiles.git $HOME/.dotfiles cd $HOME # Install stow sudo apt-get install stow # To install the ruby dotfiles. Replace Ruby with the stow package you want. # See ansible/playbooks/dotfiles.yml for a complete list of the stow packages. stow ruby --verbose=1 --target=$HOME/ --dir=$HOME/.dotfiles
Some scripts like the off script use environment variables for configuration.
You can set these in your
~/.zshrc.local which is sourced by
The current environment variables are:
|DAILY_REVIEW_LINK||If set, opens the configured link when using the
|WORK_TIME_TRACKING||If set, opens the configured link when using the
Since it can be a bit problematic to test changes to the configuration on the actual machine where you want to make them, you can use Vagrant to test changes to the configuration.
You will need Vagrant and Virtualbox installed, then you can run:
You can then either use
vagrant ssh or connect to the VM through Virtualbox to have a GUI.
Re-running a failed ansible playbook
Running the tests
CI is trying to mirror a full Ubuntu installation in order to ensure the setup script doesn't fail.
All ansible playbooks are run on CI. The build will fail if:
- Any ansible playbook has not finished successfully
- i3 config is invalid
ansible-playbook --syntax-checkhas not finished successfully
- shellcheck found errors