Skip to content

radlinskii/dotfiles

Repository files navigation

dotfiles

This repo holds configuration files for tooling I use regularly while working on MacOS

Neovim and some other parts of the setup are also used on Windows.

Usage

1. be sure you have git installed

git --version

2. clone the repo

git clone git@github.com:radlinskii/dotfiles.git

3. once inside the repo's folder run the install script

./scripts/install.sh

To only run parts of install.sh responsible for specific configurations pass flags to it:

  • for linking config files run it with flag -l or --link.
  • to only configure MacOS specific settings run it with flag -m or --mac.
  • to only install Homebrew packages run it with flag -b or --brew.

Example usage: ./scripts/install.sh -l -b

4. manually adjust the git config

git config --global user.name "Your Name"  # your name on commits
git config --global user.email "Your Email" # your email on commits

Add the following to ~/.gitconfig:

[diff]
    tool = nvimdiff
[difftool]
    prompt = false
[difftool "nvimdiff"]
    cmd = "nvim -d \"$LOCAL\" \"$REMOTE\""
[merge]
    tool = nvimdiff
[mergetool]
    prompt = true
[mergetool "nvimdiff"]
    cmd = "nvim -d \"$LOCAL\" \"$REMOTE\" \"$MERGED\" -c 'wincmd w' -c 'wincmd J'"

5. put local-machine-specific shell configuration and secret env vars in ~/.local_zshrc.sh

This file is sourced by .zshrc and should contain secrets (API keys, tokens) and machine-specific configuration that should not be shared publicly.

nvim ~/.local_zshrc.sh

6. Even more tooling

To install necessary tooling run ./scripts/install.sh -b to install all of the tools listed in the Brewfile.

Other environments to setup:

node & npm, go, rust, and python.

7. lazygit setup within nvim using lazygit.nvim might require neovim-remote

Setting up nvr might require assigning environment variable NVIM_LISTEN_ADDRESS. Value could be localhost:6789 as it is the default value that nvr tries to connect to.

Linux setup (Debian/Ubuntu)

The linux-setup.sh script bootstraps a new Debian/Ubuntu machine (LXC container, VM, or bare metal) with the full setup (zsh, ohmyzsh, neovim, fzf, lazygit, tmux, node/nvm, tree-sitter).

From a Proxmox host, push the script into a running container and execute it:

CT_ID=123
pct push $CT_ID ./linux-setup.sh /root/setup.sh
pct exec $CT_ID -- bash /root/setup.sh

pct push copies files from the Proxmox host directly into the container's filesystem through the Proxmox API. pct exec runs commands inside the container.

License

MIT - see LICENSE file

About

Config files for tooling

Resources

License

Stars

1 star

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors