🦄 My personal dotfiles
Repository forked from cloudlena/dotfiles, with Apache2.0 License, and customized with a few personal configurations.
Cloudlena mainly works with Go, Rust, JavaScript, TypeScript, Markdown and shell scripts so my setup is geared towards working with these technologies.
Supported operating systems are macOS, Arch Linux (and its derivates) and Ubuntu.
This setup uses a powerful combination of Alacritty, tmux and zsh with a minimalistic prompt.
pacu
: Update and upgrade the whole system (usingBrewfile
on macOS andpacmanfile
on 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
~/dotfiles
by runninggit clone git@github.com:Sonic0/dotfiles.git ~/dotfiles
-
Change the name and email address in
git/.config/git/config
-
Arch Linux only: Change
pacmanfile/.config/pacmanfile/pacmanfile.txt
to your liking or addpacmanfile-extra.txt
to the same directory for independent packages per machine -
macOS only: Change
Brewfile
to your liking or addextra.Brewfile
for independent packages per machine -
macOS only: If you have apps installed which you didn't install through
brew
but that you now added toBrewfile
, you need to reinstall them withbrew install <name> --force
, sobrew
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. -
Run
~/dotfiles/install.sh
WARNING: This may install and/or remove software and change your configs!
-
Either import an existing PGP key pair by using
gpg --import my-key.asc
andgpg --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/.gitconfig
to correctly sign your Git commits. -
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.
-
Run the following command:
WARNING: This may install and/or remove software and change your configs!
$ curl -s https://raw.githubusercontent.com/Sonic0/dotfiles/main/install.sh | sh