Skip to content

gaerfield/dotfiles

Repository files navigation

dotfiles

This Repository contains my dotfile-configurations managed by:

  • chezmoi to version the dotfiles
  • zinit to manage my zsh-config and main console-tools as plugins
  • and vim-plug to customize my neovim-installation

daily operations

  • chezmoi: install and daily operations
    # install
    sh -c "$(curl -fsLS chezmoi.io/get)" -- init --apply gaerfield
    # update
    chezmoi update
    # pull latest changes and see diff
    chezmoi git pull -- --rebase && chezmoi diff
    # only install dotfiles without management
    sh -c "$(curl -fsLS chezmoi.io/get)" -- init --one-shot gaerfield
  • zinit: zinit update -p
  • nvim:
    • Installation: nvim +silent +PlugInstall +qa
    • Update:nvim +silent +PlugUpdate +PlugUpgrade +qa

pre-requirements

sudo apt install nvim jq
mkdir -p ~/.cache/nvim/{backup,swap,undo,view}

post-install steps

  • create file $HOME/.zprofile to enable sets of "expensive" plugins (these are evaluated in $HOME/.config/zsh/packages.zsh):

    # desktop
    export PROFILES=(git-extras kubernetes docker)
    
  • create file $HOME/.zlocal for configurations valid only on current host, i.e.:

    export PATH=~/.local/bin:$PATH
    DEFAULT_USER=gaerfield
    alias pip=pip3
    
    export GRADLE_USER_HOME="$XDG_DATA_HOME/gradle"
    
    #THIS MUST BE AT THE END OF THE FILE FOR SDKMAN TO WORK!!!
    export SDKMAN_DIR="$HOME/.sdkman"
    [[ -s "$HOME/.sdkman/bin/sdkman-init.sh" ]] && source "$HOME/.sdkman/bin/sdkman-init.sh"
    
  • install remote-server utilities:

    sudo apt install -y mosh byobu \
      && echo "_byobu_sourced=1 . /usr/bin/byobu-launch 2>/dev/null || true" >> .zprofile
    

Additionals

Non-Console Apps

  • Clipboard-Manager: CopyQ
      sudo add-apt-repository ppa:hluk/copyq
      sudo apt update
      sudo apt install copyq
    
  • devdocs-desktop
  • Atom Editor
  • Password-Management: Bitwarden
  • flameshot
    • screenshot command for keyboard-shortcut flameshot gui -p $HOME/Bilder/screenshots
  • disk-usage-analyzer baobab
  • Offline Documentation Browser zeal

Plugins for future evaluation

  • terminal file manager: lf
  • grml
  • view images in console: catimg
  • command-line snippet manager: Pet

Appendix

neovim configuration

Plugins:

zinit managed plugins and config

general

git-extras

  • tj/git-extras: GIT utilities -- repo summary, repl, changelog population, author commit percentages and more
  • dotzero/git-profile: add and switch between multiple user profiles in your git repositories
  • wfxr/forgit: A utility tool powered by fzf for using git interactively.
  • jesseduffield/lazygit: git console frontend
  • cli/cli: GitHub’s official command line tool

kubernetes

gcloud

silent plugins