/dotconfig

flawed config files, stitched together with good intentions

Primary LanguageLua

━━━━━━ ❖ ━━━━━━



❖ Information

Repo Preview

Hello gamers and gamern'ts! Looks like you've stumbled upon my dotfiles, have fun exploring!.

Here is (almost) everything I use:

❖ Mystery-Section

  • You might be wondering, "What is this section for?" I'm afraid you'll have to keep wondering :)


❖ Installation and Setup

There is no real way to easily replicate this setup. As such, I've decided not to include any install scripts or detailed instructions on how to get my config working on your machine.

I will however, leave a few helpful tips if you deem my config worthy of copying anyways.

WM and Hotkeys

Installing yabai and skhd tends to be a little bit more involved than just installing them from brew. Follow the instructions here.

I also have caps-lock bound as my hyper key when held, and esc when tapped.

If you have a QMK/VIA compatible keyboard binding a key to ANY with MT(MOD_HYPR, KC_ESC) as the field should do the job.

If not, using karabiner for MacOS, or kmonad for other platforms should work as well.

Nerd Fonts

A lot of the programs mentioned earlier make use of nerd fonts. I use a paid font with patched symbols, but you can download and use any other nerd font and just update the terminal config.

brew tap homebrew/cask-fonts
brew install --cask font-jetbrains-mono-nerd-font
Kitty

Window decorations for Kitty are turned off since I use a tiling WM. You may want to adjust that setting if you're not using a tiling WM.

Zsh

Zsh config files can be stored in ~/.config/zsh/ by adding the following to ~/.zshenv

export ZDOTDIR=$HOME/.config/zsh

The zsh config uses starship and fzf

brew install starship fzf

The zsh-functions file is used for plugins, so it's important to keep it in your zsh directory.

zsh might throw a warning about insecure directories, this can be resolved by running the following command.

compaudit | xargs chmod g-w
Replace common *nix commands

I tend to favor "neo" versions of common *nix commands. Here are the ones I use

brew install bat ripgrep fd sd
Neovim

The nvim config is relatively polished, you can be up and running in just a few minutes using the following commands.

# Remove old nvim data
rm -rf ~/.local/share/nvim
rm -rf ~/.cache/nvim

# Backup old nvim config
mv ~/.config/nvim ~/.config/old_nvim

# Copy new config
cp -R ~/dotconfig/config/nvim ~/.config

Get python and node support for nvim

# python
pip3 install pynvim
 
# node 
npm i -g neovim

copy/paste support on linux

# Debian  
sudo apt install xsel

# Arch 
sudo pacman -S xsel

Nvim will install lazy and all the plugins automatically the first time it is opened.

Once Lazy is done installing all the plugins, simply exit nvim and open it again.

Voila! you now have a baller nvim config.

if you're using the vscode-neovim plugin for vscodium/vscode, the key repeat can be turned on by using the following command on MacOS

defaults write -app VSCodium ApplePressAndHoldEnabled -bool false # VSCodium
defaults write com.microsoft.VSCode ApplePressAndHoldEnabled -bool false # VSCode 

❖ A few words

  • I fell down the rabbit hole of customization when I was first introduced to vim in my intro to CS class. I've come a long way since then, and my taste continues to evolve as I progress through college. This repo is almost a way for me to document my growth. In hopes that maybe one day, I'll run through the commit history and laugh at all the mistakes I made and maybe even be impressed.
  • To anyone that stumbles across this repo in their journey to making their computer feel like home, Happy Ricing :)

❖ Acknowledgements

  • Inspiration