Dotfiles are for macOS and Linux to setup my development environment.
Install dotfiles, run:
git clone https://github.com/qingshan/dotfiles.git ~/.dotfiles
cd ~/.dotfiles
makeFor macOS or Debian desktop, one more step:
make desktopBoth desktops use same key bindigs, go to Desktop Cheatsheet.
- Debian, Ubuntu
- Rocky Linux, CentOS, RedHat Enterprise Linux
- Arch Linux
zsh as default shell on macOS:
~/.zprofileand~/.profileis sourced in login shell.~/.zshrcis sourced in interactive shell.
bash as default shell on macOS:
~/.bash_profileand~/.profileis sourced in login shell.~/.bashrcis sourced in interactive shell.
fish as interactive shell in interactive mode of zsh or bash, without setting it as user's default shell.
- alacritty, ghostty, ssh runs user's default shell as interactive login shell.
- tmux runs inside an existing shell session, runs fish as interactive non-login shell.
alacritty as default terminal integrated with tmux, go to Terminal Cheatsheet for key bindings.
ghosttty as quick terminal.
ssh serverstarts interactive login shell.ssh server commandnon-interactive non-login shell.echo command | ssh serverstarts non-interactive login shell. You can also start one withssh server bash -l -c command.
- bat
- fd
- lsd
- fzf
- direnv
- ripgrip
- starship
- gh
- lazygit
- zoxide
- jq
- just
- zk for cli notes: journal/inbox/notes
- Obsidian for tech notes
- Apple Notes for personal notes
- mdbook for publish notes: qingshan/notes
- Java: IntelliJ IDEA with IdeaVim
- Rust: Zed
- JetBrains Mono Font
- Nerd Font
Use Docker on Linux or Apple container on macOS to build linux/debian/Dockkerfile to test dotfiles on latest version of Debian.
run server test
make server-testor run desktop test
make deskop-test