🦄 My personal dotfiles
Warning
Since I'm using NixOS now, these dotfiles have been superseeded by my Nixfiles and are not maintained anymore.
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).
This setup uses a powerful combination of Alacritty, tmux and zsh with a minimalistic prompt.
pacu: Update and upgrade the whole system (usingBrewfileon macOS andpacmanfileon Arch Linux)depu: Update and upgrade the dependencies for the current projectmkcd: Create a directory and enter itfcd: cd into a directory using fuzzy searchfe: Edit a directory or file using fuzzy searchfco: Checkout Git branches or tags using fuzzy searchfkill: Kill any process with fuzzy searchfshow: Git commit browser with fuzzy search
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 pluginside: Start Neovim with all plugins in an IDE like window layout
gd: Go to definition of symbol under cursorgi: Go to implementations of symbol under cursorgr: Go to references of symbol under cursor<space><space>: Fuzzy search files in workspace<space>/: Fuzzy search in all files in workspace<space>j: Open visual file explorer
<space>gg: Git status<space>gd: Git diff<space>gb: Git blame<space>gs: Git stage current hunk<space>gu: Git unstage current hunk<space>gc: Git commit<space>gm: Git three-way merge
K: Show signature of symbol under cursor[d: Go to previous diagnostic issued]: Go to next diagnostic issue<space>e: Show diagnostics details<space>s: Open workspace diagnostics<space>k: Open symbols outline of file<space>r: Rename current symbol<space>a: Display code actions
<space>tn: Run nearest test to cursor<space>tf: Run all tests in file<space>ta: Run all tests<space>tu: Toggle extended testing UI
<space>db: Toggle breakpoint on current line<space>dB: Set condition for breakpoint<space>dd: Start debugger or continue to next breakpoint<space>dn: Step over<space>di: Step into<space>do: Step out<space>dK: Show evaluation of symbol under cursor<space>du: Toggle extended debugging UI
To extend the editor with new languages and tools, simply add them to tools.lua.
-
Clone this repo to
~/dotfilesby runninggit clone [email protected]:cloudlena/dotfiles.git ~/dotfiles -
Change the name and email address in
git/.config/git/config -
Arch Linux only: Change
pacmanfile/.config/pacmanfile/pacmanfile.txtto your liking or addpacmanfile-extra.txtto the same directory for independent packages per machine -
macOS only: Change
Brewfileto your liking or addextra.Brewfilefor independent packages per machine -
macOS only: If you have apps installed which you didn't install through
brewbut that you now added toBrewfile, you need to reinstall them withbrew install <name> --force, sobrewknows it's supposed to manage these apps.Note: This won't delete any of your data. The app will just be reinstalled with
brewand everything will be back to normal once the installation script has run. -
Run
~/dotfiles/install.shWARNING: This may install and/or remove software and change your configs!
-
Either import an existing PGP key pair by using
gpg --import my-key.ascandgpg --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 ingit/.gitconfigto correctly sign your Git commits. -
Either import an existing SSH key pair by copying it to
~/.ssh/id_rsaand~/.ssh/id_rsa.pubor create a new one by following the GitHub guide.
-
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
