My dotfiles - Configurations for editors and more
Go to file
Ensar Sarajčić c2ba549851 Remove `vim-commentary` with nvim 0.10.0 2024-05-17 09:22:13 +02:00
.github/workflows Update stylua job in GitHub workflow 2023-08-02 23:10:15 +02:00
installed_packages Add kanshi for display management 2022-07-20 21:43:22 +02:00
symlinks Remove `vim-commentary` with nvim 0.10.0 2024-05-17 09:22:13 +02:00
tests Add some basic tests for bin commands 2022-05-05 16:13:37 +02:00
windows Fix windows boostrap ot include ideavimrc and vsvimrc 2022-04-29 23:01:14 +02:00
.gitattributes Add better behavior for godot nvim external editor 2022-05-14 18:33:52 +02:00
Makefile Migrate to lazy.nvim from packer 2023-08-27 11:24:13 +02:00 Update ssh key generation to generate keys for all hosts 2022-07-08 13:29:52 +02:00


Quick setup

Clone in ~/.dotfiles and run make:

make bootstrap


  1. installed_packages directory used in Linux and Mac installations to create groups of installed packages, which can easily be cloned using clone-installation script. List is generated using migrate-installation script and it can be compared with any other using compare-installation.
  2. symlinks directory containing many configuration files which are symlinked during installation process in their correct places to be used later
    • Git related files - global gitconfig and gitignore
    • Shell config files - bash/zsh/fish for linux/mac
    • Vim/Nvim config files
    • Arch config files - many configuration files controlling most of the setup
    • config directory, containing custom configurations for many apps (most of Linux apps and some of Mac OS apps)
    • bin director containing many useful scripts, many of them requiring Arch Linux and its setup
  3. tests directory contains various generic tests that are used in CI to confirm the custom tools and configuration work as expected

Installation manual

Linux (Arch)

  1. Install Arch based distribution of choice (Arch -
  2. Install git
  3. Clone this repo into $HOME
  4. Run make bootstrap
  5. (Optional) Run clone-installation and select installation to clone

Linux (Other)

  1. Install Linux distribution of choice
  2. Install git
  3. Clone this repo into $HOME
  4. Run make make bootstrap
  5. Everything should be fine. Many custom scripts may not work, since they rely on either pacman or some of the basic packages installed using clone-installation script, which is also using pacman

Mac OS

  1. Clone this repo into $HOME
  2. Run make make bootstrap
  3. If you need more homebrew packages, check installed_packages directory and choose your list. Install it by moving into specific packages set directory and running brew bundle (or clone-installation if you have sourced new ~/.profile)


  1. Clone this repo into user home
  2. Run make bootstrap or run windows/install_windows.bat directly with double click or through cmd
  3. This will only link vim and git configurations

Post installation steps

After installation optionally check out installed_packages directory for packages to install using clone-installation.

This repository also provides a simple way to generate personal ssh keys to be used with used git hosts:

make create_personal_ssh_keys

It is recommended to also clone vimwiki and use it (this is a private repository and applies only to owner):

make clone_personal_viwiki