Skip to content

dgrine/dotfiles

Repository files navigation

Dotfiles

My personal development configuration files for:

  • alacritty — Fast, cross-platform, OpenGL terminal emulator
  • git — Distributed version control system
  • neovim — Hyperextensible Vim-based text editor
  • tmux — Terminal multiplexer
  • vifm — File manager with curses interface providing a Vim-like environment
  • zsh — Shell designed for interactive use
  • ...

The configurations are maintained using Nix with Home Manager and are actively tested on Ubuntu (22.04 LTS, 23.04), Manjaro and macOS (Big Sur, Ventura), but should work on any other Linux or macOS system.

Example of Neovim, Vifm and zsh running inside a Tmux session within Alacritty

Features

The configuration files provide a modern terminal-only development environment that is heavily focused on vim-style navigation with minimal mouse usage.

  • Alacritty

    • Support for special keys on macOS so that key-bindings (e.g. Alt) work as expected
  • Git

    • Neovim as default editor

    • Merges and diffs

      • GUI version using Meld
      • Console version using icdiff
  • Neovim

    • Lua-based configuration

    • Plugin management using Packer

      • Bootstrapping of all plugins (installation upon first launch)
    • Code completion using coc

      • Install language support using, e.g. :CocInstall coc-python coc-cmake coc-json
  • Tmux

    • <C-a> as prefix
    • Plugin management using tpm
    • Startup sessions are locally customizable
  • Vifm

    • Change current shell directory to navigated directory
  • zsh

    • oh-my-zsh based configuration

    • Vim-style editing

    • Improved navigation using fzf

      • Optional preview using bat
      • Directory switching with zoxide
    • Extensibility via ~/.zshrc_local

Dependencies

  • Git — Distributed version control system
  • Curl — URL based data transfer tool
  • Home Manager — Declarative configuration management using Nix
  • Nix — Package manager for declarative, reproducible builds

And of course the software related to the configuration packages of interest.

Installation

git clone [email protected]:dgrine/dotfiles.git ~/dotfiles
cd ~/dotfiles
./install-nix.sh
./install-home-manager.sh

The following program configurations are managed:

  • alacritty — Fast, cross-platform OpenGL terminal emulator

  • bat — Cat clone with syntax highlighting and Git integration

  • coc — Code completion server for Neovim

  • exa — Modern replacement for ls

  • fzf — General-purpose command-line fuzzy finder

  • git — Distributed version control system

  • icdiff — Command-line diff tool

  • meld — Visual diff and merge tool

  • neovim — Hyperextensible Vim-based text editor

  • ripgrep — Fast, line-oriented search tool for regex patterns

  • tldr — Simplified and community-driven man pages

  • tmux — Terminal multiplexer

  • vifm — File manager with curses interface providing a Vim-like environment

  • zoxide — Smarter cd command

  • zsh — Shell designed for interactive use

About

Dot files

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •