This directory contains all the dotfiles for a supercharged development environment. It includes an easy way to make sure that all the necessary programs are installed using the setup.sh
script.
⚠️ NOTE: This setup only works on Arch Linux as it makes heavy use of the AUR.
Table of Contents
The setup adds the following modern unix tools and creates aliases for their GNU counterparts:
cat:bat
- Acat
clone with syntax highlighting and Git integration.grep:ripgrep
- An extremely fast alternative togrep
that respects your gitignorels:exa
- A modern replacement forls
diff:delta
- A viewer forgit
anddiff
output
The setup adds the following tools to terminal gui tools:
lazygit
- A simple terminal UI for git commands, written in Go with the gocui library.lf
- A terminal file managerfzf
- A general purpose command-line fuzzy finder.powerlevel10k
- A minimal, blazing-fast, and highly customizable prompt for any shellhelix
- Post Modern Modal Text Editor ---> An alternative to Vim
The setup installs zsh
and sets it as the default shell. The following zsh
extensions are also installed using zap:
- zsh-autosuggestions
- zsh-autopair
- zsh-you-should-use
- zsh-shift-select
- fast-syntax-highlighting
- zsh-autosuggestions
- zsh-completions
- fzf-tab
This setup also includes all the shortcuts for selecting text that you would use on a normal text editor such as:
ctrl + ->
move one word rightctrl + <-
move one word leftctrl + shift + ->
select one word rightctrl + shift + <-
select one word lefthome
go to start of lineend
go to end of lineshift + home
select to start of lineshift + end
select to end of linectrl + c
during selection copyctrl + x
during selection cutctrl + v
paste
- Arch Linux or any Arch-based distro
- NerdFonts compatible font
### Setup Script
To automatically setup the development environment simply navigate to the root directory of the repo, and run:
```bash
./setup.sh
If you would simply like to copy the dotfiles, then while you are in setup.sh
simply skip the other steps when prompted and only run the step related to the configs.
OR
Run stow
to symlink everything or just select what you want
stow */ -t ~ # creates a symlink for all config files
stow zsh # creates symlink for only zsh configs