/dotfiles

my dotfiles

Primary LanguageShell

Managed by chezmoi

OS: macOS, Arch Linux

Prerequisites

macOS

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

Arch Linux

pacman -S --needed git base-devel
git clone https://aur.archlinux.org/paru.git
cd paru
makepkg -si
brew install chezmoi # on macOS
paru -S chezmoi # on Arch Linux

chezmoi init https://github.com/username/dotfiles.git
exit # or reload zsh configs (including zshenv)

Installation

mkdir -p "$(dirname $ZINIT_HOME)"
git clone https://github.com/zdharma-continuum/zinit.git "$ZINIT_HOME"
sh -c 'curl -fLo "${XDG_DATA_HOME:-$HOME/.local/share}"/nvim/site/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim'
curl --proto '=https' --tlsv1.2 -sSfL https://release.solana.com/stable/install | sh -s -- --no-modify-path stable
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --no-modify-path

Keybase or GnuPG

# Keybase
keybase pgp export | gpg --import # import public key
keybase pgp export --secret | gpg --allow-secret-key --import # import private key

# GnuPG
## export keys
gpg --output public.pgp --armor [email]
gpg --output private.pgp --armor --export-secret-keys [email]

## import keys
gpg --import private.pgp
gpg --import public.pgp

Needs to update periodically

zinit self-update
zinit update --all
zinit delete --clean && zinit cclear # cleanup unused plugins
rustup update
nvim +PlugUpgrade +PlugUpdate +CocUpdate # +qall (if needed)

macOS

brew update && brew upgrade && brew upgrade --cask

Arch Linux

paru

TODO

  • Add scripts
    • Make $XDG_DATA_HOME/zsh directory for history
    • Install tools using paru
  • Setup age gpg
  • Separate between headless and desktop environment.
  • Support XDG Base Directory of JetBrains products and Gradle.
  • Support my windows computer.