Awesome Open Source
Awesome Open Source

Dotfiles

🦄 My personal dotfiles

I mainly work with Go, Rust, JavaScript, TypeScript, Markdown and shell scripts so my setup is geared towards working with these technologies.

Supported operating systems are macOS and Arch Linux (and its derivates).

Screenshot

Features and Usage

Terminal

This setup uses a powerful combination of Alacritty, tmux and zsh with a minimalistic prompt.

Commands

  • pacu: Update and upgrade the whole system (using Brewfile on macOS and pacmanfile on Arch Linux)
  • depu: Update and upgrade the dependencies for the current project
  • mkcd: Create a directory and enter it
  • fcd: cd into a directory using fuzzy search
  • fe: Edit a directory or file using fuzzy search
  • fco: Checkout Git branches or tags using fuzzy search
  • fkill: Kill any process with fuzzy search
  • fshow: Git commit browser with fuzzy search

Text Editor

Text editing is based on Neovim configured to be an "IDE". The entire setup with all plugins can also be run as a container.

  • e: Start Neovim with all plugins
  • ide: Start Neovim with all plugins in an IDE like window layout
  • ctrl + p: Fuzzy search files across entire workspace
  • ctrl + n: Open visual file explorer
  • ctrl + s: Open workspace diagnostics
  • ctrl + k: Open symbols outline of file
  • \: Fuzzy search in all files in workspace
  • K: Show signature of symbol currently under cursor
  • gd: Go to definition
  • gd: Go to implementations
  • gr: Go to references
  • <space>e: Show diagnostics details
  • [d: Go to previous diagnostic issue
  • d]: Go to next diagnostic issue
  • <space>rn: Rename current symbol
  • <space>ca: Run code actions
  • <space>tf: Run all tests in file
  • <space>tn: Run nearest test to cursor

Installation

  1. Clone this repo to ~/dotfiles by running git clone [email protected]:cloudlena/dotfiles.git ~/dotfiles

  2. Change the name and email address in git/.gitconfig

  3. Arch Linux only: Change pacmanfile/.config/pacmanfile/pacmanfile.txt to your liking or add pacmanfile-extra.txt to the same directory for independent packages per machine

  4. macOS only: Change Brewfile to your liking or add extra.Brewfile for independent packages per machine

  5. macOS only: If you have apps installed which you didn't install through brew but that you now added to Brewfile, you need to reinstall them with brew install <name> --force, so brew knows it's supposed to manage these apps.

    Note: This won't delete any of your data. The app will just be reinstalled with brew and everything will be back to normal once the installation script has run.

  6. Run ~/dotfiles/install.sh

    WARNING: This may install and/or remove software and change your configs!

  7. Either import an existing PGP key pair by using gpg --import my-key.asc and gpg --import my-key-pub.asc, or create a new one by following the GitHub guide. You need to use the same name and email address as an ID that you have configured in git/.gitconfig in order to correctly sign your Git commits.

  8. Either import an existing SSH key pair by copying it to ~/.ssh/id_rsa and ~/.ssh/id_rsa.pub or create a new one by following the GitHub guide.

Quick Installation without customization (not recommended unless you're the owner of this repo 😉)

  1. Run the following command:

    WARNING: This may install and/or remove software and change your configs!

    $ curl -s https://raw.githubusercontent.com/cloudlena/dotfiles/main/install.sh | sh
    

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
Shell (229,055
Bash (7,143
Dotfiles (6,725
Vim (5,848
Zsh (3,358
Tmux (1,618
Related Projects