/dotfiles

My dotfiles for awesome shell

Primary LanguageLua

dotfiles

Hi. This is my dotfiles project. Here you will find all my configurations to create an awesome shell.

Know the dotfiles

File Purpose
zsh/zshrc Entrypoint of all my ZShell configs
git/gitconfig Gitconfig settings. Alias, core, diff style
starship.toml Configure of starship.rs
karabiner.config.ts Typescript bindings to configure Karabiner - Inspired by mxstbr/karabiner
espanso.config.ts Typescript bindings to configure espanso mappers

CLI softwares

GUI softwares

my shell

How to install?

First, check the requirements:

  • zsh > v4
  • git > v2
git clone https://github.com/g4rcez/dotfiles $HOME/dotfiles
cd $HOME/dotfiles
bash install
zsh

Karabiner

My karabiner config was very inspired by karabiner keybind - mxstbr. You can check the Youtube videos below:

With these videos I have the idea to implement keybindings like Tmux, with a prefix + key. My karabiner config have two modes:

  • single: that just press one time the prefix + key
  • hold: you need to hold the prefix until the karabiner notification and press the other key. With this mode you can repeat all keys at layer. Hold again to exit from this mode

Inspired by which-key.nvim, I created the local extension of https://www.raycast.com/ to check all my karabiner shortcuts.

Espanso

Espanso it's an amazing tool to expand your texts to other utilities. I work in frontend and I need a lots of texts like lorem ipsum or random brazilian documents (CPF/CNPJ) to test some accounts. Since I have some personal informations at my espanso config, this file will not be able to check at this repo. But you can generate using the make or check this sample.

The espanso command key is ;, since I use the : for emojis in most of applications.

matches:
    - trigger: ";cnpj"
      replace: "{{cnpj}}"
      vars:
          - name: "cnpj"
            type: "shell"
            params:
                shell: "bash"
                cmd: "env node ~/dotfiles/bin/cnpj"
    - trigger: ";date"
      replace: "{{date}}"
      vars:
          - name: "date"
            type: "date"
            params:
                format: "%d/%m/%Y"
    - trigger: ";time"
      replace: "{{time}}"
      vars:
          - name: "time"
            type: "date"
            params:
                format: "%H:%M"
    - trigger: ";youtube"
      replace: "https://www.youtube.com/@allangarcez"

My Keyboard

my keyboard