Skip to content

tiborsimko/dotfiles

Repository files navigation

Tibor's dotfiles

About

This repository contains dotfiles to set up my personal GNU/Linux development environment and configure several preferred applications.

  • Editor: Emacs, Vim
  • Multiplexer: Tmux
  • Shell: Zsh
  • Terminal: XTerm
  • Theme: Gruvbox
  • Window manager: AwesomeWM

Screenshot

Prerequisites

This repository uses GNU Stow to manage symbolic links to dotfiles. The stow package should be readily installable using your operating system's package manager.

Usage

First, clone this repository to new home:

$ cd $HOME
$ git clone git@github.com:tiborsimko/dotfiles .dotfiles

Second, install any wanted software (such as tmux, vim, zsh) using your operating system's package manager (such as apt, brew, pacman, yum):

$ sudo pacman -S tmux vim zsh

Third, install tpm (used for tmux), vim-plug (used for vim), and prepare directories for zsh plugins (used for zsh) and mutt cache:

$ # zsh: prepare directories
$ mkdir -p ~/.zsh/plugged ~/.cache/zsh
$ # vim: install vim-plug
$ mkdir -p ~/.vim/undo
$ curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
    https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
$ # tmux: install tpm
$ git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
$ # mutt: prepare cache directory
$ mkdir -p ~/.cache/mutt

Fourth, activate all wanted configurations (such as tmux, vim, zsh) via stow:

$ stow --no-folding tmux vim zsh

Fifth, build and install Nix and Unclutter tools; the configuration is done during compile-time so don't use stow for these:

$ for app in nix unclutter; do \
    cd $app && make download clean build install && cd ..; \
  done

Sixth, if necessary, copy system-wide files such as optimus-manager/foo into /foo on your laptop.