This document contains notes about my personal configuration of development environment on Debian-based Linux distributions. For configuration on Linux on Android, checkout the android branch.
Content:
-
install essential packages
sudo apt update; sudo apt upgrade; \ sudo apt install curl git zsh vim tmux; \ apt list --installed curl git zsh vim tmux
zsh configuration manager: OhMyZsh
sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
-
establish GitHub connection
- generate ssh keys
ssh-keygen -t ed25519 -C "<username>@gmail.com"; \ eval "$(ssh-agent -s)"; \ ssh-add ~/.ssh/id_ed25519; \ cat ~/.ssh/id_ed25519.pub
- add public key to GitHub account
- verify GitHub connection using ssh
ssh -T git@github.com
- generate ssh keys
-
setup dotfiles on local machine
git clone git@github.com:alexhyang/dotfiles.git ~/.dotfiles/; \ source ~/.dotfiles/bootstrap.sh
-
install Node.js
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash; \ omz reload
nvm install --lts; nvm ls
-
some tools to be configured through dotfiles:
- shell --
~/.bashrc, ~/.bash_profile, ~/.zshrc
- git --
~/.gitconfig
- vim --
~/.vimrc
- ssh --
~/.ssh/config
- tmux --
~/.tmux.conf
- aliases, functions, local environment variables --
~/.aliases, ~/.bash_aliases, ~/.shell_utils, ~/.local_env
- shell --
-
use "redirect" to source files in the dotfiles repo, sensitive information such as customized directory and API keys will be configured locally
- symlink, dotfile, etc.
-
files created by OS:
- Ubuntu 22.04
~/.bashrc, ~/.bash_logout, ~/.profile, ~/.motd_shown
- Debian
~/.bashrc, ~/.bash_logout, ~/.profile
- Ubuntu 22.04
Detailed list of command line tools see Command_Line_Tools-ref.
-
Zsh plugins
-
Vim plugins and their help files
- List of plugins:
- Check plugin list in
.vimrc
, or - In vim, open help file using type
:help
command in normal mode. Search "local-additions" with/local-additions
command in help file. Usectrl ]
to open hyperlink (go to tag) andctrl t
to return from opened hyperlink (ctag return), orctrl o
to go back.
- Check plugin list in
- List of plugins:
-
tmux plugins
- see tmux.conf