Skip to content

Latest commit

 

History

History
100 lines (68 loc) · 5.82 KB

README.md

File metadata and controls

100 lines (68 loc) · 5.82 KB

Groovytron dotfiles

Build Status

This is a quick backup of my dotfiles to make tool configuration easier in case of system issue. The M̀akefile can be used to install configurations of different tools.

To install one or many configurations, do the following:

  1. Clone the repository into your $HOME directory by runnning git clone https://github.com/groovytron/dotfiles.git ~/dotfiles.
  2. Go into the cloned repository by running cd ~/dotfiles.
  3. Run make install_all to install all the configurations. You can run make help to list all the available installations if you only want to install the configuration of one tool.

The Makefile mainly creates symbolic links but it will overwrite you current configuration files so have a look at the Makefile and backup your configuration files before running something if you are not sure of what you are doing.

As I was tired to setup and reinstall everything by hand when I buy a new machine, I wrote an Ansible playbook to automate the tedious installation and setup tasks. It's even tested with molecule combined with podman !

I use the below tools.

Shells

  • bash (because it's simple and quite easy to tweak). Check the .bashrc and .bash_profile files for settings details.
  • oh-my-zsh (when I want a fancy shell). Check the .zshrc file for settings details.

Shells themes can be found in the .Xresources.basic file which contains a simple theme that I did by myself.

The .Xresources.solarized file contains a solarized color theme.

The .Xresources.gruvbox file contains a gruvbox color theme.

To use one of these themes, just copy the one you want into your home directory and rename it into .Xresources. Do not forget to reboot or launch xrdb ~/.Xresources to apply the theme in the next terminals you will open.

If you are interested in how X clients configuration works. Have a look here.

I also use undistract-me to be able to run long standing command, do something else while it's running and get notified when the command is finished. If you want to get it working, you need to install zsh-notify and wmctrl packages.

There are some homemade commands, aliases and environement variables definitions in the groovy_functions.sh and groovy_variables.sh files.

Terminal multiplexing

  • tmux as a terminal multiplexer with both of the above shells. Check the .tmux.conf file for settings details.
  • tpm which stands for Tmux Plugin Manager.
  • tmux-powerline-theme
  • tmuxinator to speed up project startup with tmux using «per-project configurations»

Editors

I am now using neovim because it has a built-in support for Language Server Protocol (LSP) and makes code editing and debugging easier. Feel free to have a look at my configuration in config/nvim to check which plugins I am using and how they are configured.

I used to use gvim in the past for a few years with the following config:

CLI Tools

  • ag and ripgrep as more user-friendly and faster alternatives to grep
  • bat as a replacement for cat
  • glow to read Markdown files in the terminal
  • fzf as a command-line fuzzy finder an pluggable to vim
  • zathura as a document viewer (have a look at my zathurarc to check the configuration)
  • dog as a DNS client for DNS debugging

Fonts

I used to use the patched fonts for Powerline to get all the characters displayed nicely in the shells.

I now use nerd-fonts and its font patcher to patch it with the font Input Mono from Font Bureau. It makes the fonts usable in Vim with all the icons from Nerd Fonts.

The command I use to generate the font is the following:

python font-patcher --mono InputMono-Regular.ttf

Result

Here is how it looks with zsh, tmux and vim configured with the solarized theme: