Last active
July 14, 2025 09:52
-
-
Save pulkitgoyal56/4b1b573c408d3a7d488fe77d20c984c7 to your computer and use it in GitHub Desktop.
Scripts
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
## Set ENV variables for path abbreviations H (Home) and P (Projects) | |
export H="$HOME" # ~ | |
export P="$H/projects" | |
## Generate SSH Key for GitHub and add to SSH Agent | |
ssh-keygen -t ed25519 -C "[email protected]" -f "$H/.ssh/mykey" | |
eval "$(ssh-agent -s)" | |
## Show public key | |
echo "Add following public key to https://github.com/settings/ssh/new ("$HOSTNAME")" | |
cat "$H/.ssh/mykey.pub" | |
## Wait for user input to continue | |
read -n 1 -p "After adding the key, press a key to continue..." _ | |
## Create the $P/Github directory | |
mkdir -p "$P/Github/" | |
## Clone Gist to $P/scripts | |
git clone [email protected]:4b1b573c408d3a7d488fe77d20c984c7.git "$P/Github/scripts" | |
## Create symlink of $P/scripts to $H/scripts | |
ln -s "$P/Github/scripts" "$H/scripts" | |
## Go to the scripts directory | |
cd "$H/scripts" | |
echo "Current Directory --- $(pwd)" | |
## Make all scripts executable | |
chmod +x *.sh | |
## Run Setup Script | |
./setup.sh | |
## Go back to the Home folder | |
cd "$H" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
export H="$HOME" # ~ | |
export P="$H/projects" | |
# ZSH_THEME="spaceship" | |
# plugins=(git ssh tmux zsh-autosuggestions zsh-syntax-highlighting zsh-completions zsh-vi-mode zsh-history-substring-search) # autojump | |
source "$H/configs/.zshrc" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env sh | |
## Clone configs to $P/configs | |
git clone [email protected]:pulkitgoyal56/configs.git "$P/Github/configs" | |
### Create symlink of $P/configs to $H/configs | |
ln -s"$P/Github/configs" "$H/configs" | |
## Go to the scripts directory | |
cd "$H/scripts" | |
echo "Current Directory --- $(pwd)" | |
### Run Symlink Script | |
sh "$H/scripts/symlink.sh" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env sh | |
## Configure Git | |
git config --global user.name "Pulkit Goyal" | |
git config --global user.email "[email protected]" | |
git config --global init.defaultBranch main | |
git config --global core.editor vim | |
git config --global core.autocrlf input | |
# git config --global core.autocrlf true # Windows | |
git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit" | |
# git config --global core.pager delta | |
# git config --global interactive.diffFilter 'delta --color-only' | |
# git config --global delta.navigate true | |
# git config --global merge.conflictStyle zdiff3 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env sh | |
### FONTS | |
###> Fira Code | |
###> Source Code Pro | |
###> Menlo, Monaco, Consolas, ‘Courier New’ | |
sudo apt install -y fonts-firacode |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env sh | |
## Configure Git | |
./git.sh | |
## Install Packages | |
./tools.sh | |
## Configure ZSH | |
./zsh.sh | |
## Configure Configs | |
./configs.sh | |
## Configure Misc Configs | |
./misc_configs.sh |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env sh | |
rm -f "$H/.zshrc" && ln -s "$H/scripts/.zshrc" "$H/.zshrc" | |
## ln -s "$H/configs/.config/"* "$H/.config/" | |
# rm -f "$H/.gitconfig" && ln -s "$H/configs/.gitconfig" "$H/.gitconfig" | |
rm -f "$H/.zshenv" && ln -s "$H/configs/.zshenv" "$H/.zshenv" | |
# rm -f "$H/.zprofile" && ln -s "$H/configs/.zprofile" "$H/.zprofile" | |
## rm -f "$H/.zshrc" && ln -s "$H/configs/.zshrc" "$H/.zshrc" | |
rm -f "$H/.profile" && ln -s "$H/configs/.profile" "$H/.profile" | |
rm -f "$H/.bashrc" && ln -s "$H/configs/.bashrc" "$H/.bashrc" | |
ln -s "$H/configs/.vimrc" "$H/.vimrc" | |
ln -s "$H/configs/.tmux.conf" "$H/.tmux.conf" | |
ln -s "$H/configs/.jupyter" "$H/.jupyter" | |
## ln -s "$H/configs/.completions/"* "$ZSH/custom/completions/" | |
# for file in "$H/configs/"* | |
# do | |
# if [ "$(basename "$file")" != "." ] && [ "$(basename "$file")" != ".." ] && \ | |
# [ "$(basename "$file")" != ".gitignore" ] && [ "$(basename "$file")" != "README" ]; then | |
# echo "$file" | |
# ln -s "$file" "$H/$(basename "$file")" | |
# fi | |
# done |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env sh | |
## Install User Packages | |
##> `cargo` | |
# - rust | |
curl -sSfL https://sh.rustup.rs | sh | |
##> `cd` | |
# - zoxide | |
curl -sSfL https://raw.githubusercontent.com/ajeetdsouza/zoxide/main/install.sh | sh | |
##> `ls` | |
# - exa/eza | |
cargo install eza | |
# - (tre-command) tre | |
##> `curl` and `wget` | |
# - aria2 | |
# - lynx | |
##> `ssh` | |
# - mosh | |
##> history | |
# - atuin | |
curl -sSfL https://setup.atuin.sh | sh | |
# - ***mcfly*** | |
##> `df` | |
# - duf | |
##> `du` | |
# - dust | |
cargo install du-dust | |
# - dua-cli | |
##> `rm` | |
# - (rm-improved) rip | |
##> `cat` | |
# - bat | |
cargo install bat | |
##> `sed` and `awk` | |
# - sd | |
cargo install sd | |
# - choose | |
##> `less` and `tail` | |
# - tailspin | |
cargo install tailspin | |
##> `man` | |
# - ***tldr*** / tealdeer | |
cargo install tealdeer | |
##> Package Manager | |
# - uv | |
curl -sSfL https://astral.sh/uv/install.sh | sh | |
# - bun | |
curl -sSfL https://bun.sh/install | sh | |
##> Resource Monitoring | `top` | |
# - htop | |
# - btop | |
# - ctop | |
# - macmon | |
##> File Managers | |
# - ranger | |
# - nnn | |
# - yazi | |
cargo install yazi-fm yazi-cli | |
# - broot | |
cargo install --features clipboard broot | |
##> IDE (`nano` and `vi`/`vim`) | |
# - micro | |
# - nvim | |
# - vscode | |
# - helix | |
##> Proxy Server | |
# - (ngrok/ngrok/ngrok) ***ngrok*** | |
# - ***surge*** | |
# - ***hostyoself*** | |
##> File Transfer to Cloud | |
# - rsync | |
# - rclone | |
# - (transfer.sh) | |
# - croc | |
# - magic-wormhole | |
pip install --user magic-wormhole | |
##> `fd` | |
# - fd | |
cargo install fd-find | |
##> `grep` | |
# - ripgrep | |
cargo install ripgrep | |
##> `watch` | |
# - hwatch | |
##> Terminal Tunnel | |
# - screen | |
# - tmux | |
# - zellij | |
cargo install zellij | |
##> Terminal Sharing | |
# - ***asciicinema*** | |
# - ***tmate*** | |
##> Terminal Emulators | |
# - iTerm2 | |
# - warp | |
# - Ghostty | |
##> Process Explorer | |
# - ***procs*** (not on macos) | |
cargo install procs | |
# - ***reptyr*** (not on macos) | |
##> Script Comparison | |
# - ***hyperfine*** | |
##> File Watcher and Trigger | |
# - entr | |
# - ***watchexec*** | |
cargo binstall watchexec-cli | |
# - checkexec | |
##> File Encryption | |
# - age / ***rage*** | |
##> Git Stuff | |
# - git-delta | |
cargo install git-delta | |
# - lazygit | |
##> VPN and Wireguard | |
# - tailscale # curl -fsSL https://tailscale.com/install.sh | sh | |
# - innernet | |
##> Miscellaneous | |
# - fzf | |
git clone --depth 1 https://github.com/junegunn/fzf.git "$H/.fzf" && "$H/.fzf/install" | |
git clone https://github.com/junegunn/fzf-git.sh.git "$P/Github/fzf-git.sh" ## fzf-git | |
# - ruff | |
curl -LsSf https://astral.sh/ruff/install.sh | sh | |
# - pv | |
# - ***pueue*** | |
cargo install pueue | |
# - xsel (pbcopy on macos) | |
# - navi | |
cargo install navi | |
# - just | |
cargo install just | |
# - pandoc | |
# - ffmpeg | |
# - neofetch | |
# - **qsv** / xan | |
# - tex-fmt | |
# --- | |
## System Packages | |
# sudo apt install nodejs | |
curl https://get.volta.sh | bash | |
volta install node |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env sh | |
## Go to Home Directory | |
cd "$H" | |
echo "Current Directory --- $(pwd)" | |
# ## Install Zsh | |
# sudo apt install sh | |
# ### Change shell to Zsh | |
# chsh -s $(which zsh) | |
## Install Zsh manually if root access is not available | |
wget -O zsh.tar.xz https://sourceforge.net/projects/zsh/files/latest/download | |
mkdir zsh && unxz zsh.tar.xz && tar -xvf zsh.tar -C zsh --strip-components 1 | |
cd zsh | |
./configure --prefix="$H" | |
make | |
make install | |
# ### Modify $H/.zshrc | |
# echo -e '\nexec zsh -l' >> "$H/.bashrc" | |
### Add Zsh install location to PATH | |
export PATH="$HOME/bin" # :"$HOME/.local/bin:$PATH" | |
### Change shell to Zsh | |
exec "$H/bin/zsh" -l | |
## Install Oh My Zsh | |
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" | |
### Install Spaceship-Prompt | |
git clone https://github.com/spaceship-prompt/spaceship-prompt.git "${ZSH_CUSTOM:-$H/.oh-my-zsh/custom}/themes/spaceship-prompt" --depth=1 | |
ln -s "${ZSH_CUSTOM:-$H/.oh-my-zsh/custom}/themes/spaceship-prompt/spaceship.zsh-theme" "${ZSH_CUSTOM:-$H/.oh-my-zsh/custom}/themes/spaceship.zsh-theme" | |
### Install plugins | |
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-$H/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting | |
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-$H/.oh-my-zsh/custom}/plugins/zsh-autosuggestions | |
git clone https://github.com/zsh-users/zsh-completions ${ZSH_CUSTOM:-${ZSH:-$H/.oh-my-zsh}/custom}/plugins/zsh-completions | |
git clone https://github.com/zsh-users/zsh-history-substring-search ${ZSH_CUSTOM:-$H/.oh-my-zsh/custom}/plugins/zsh-history-substring-search | |
git clone https://github.com/jeffreytse/zsh-vi-mode ${ZSH_CUSTOM:-$H/.oh-my-zsh/custom}/plugins/zsh-vi-mode | |
### Modify $H/.zshrc | |
# ZSH_THEME="spaceship" | |
# plugins=(git ssh tmux zsh-autosuggestions zsh-syntax-highlighting zsh-completions zsh-vi-mode zsh-history-substring-search) # autojump | |
# ### Install Znap! | |
# git clone --depth 1 -- https://github.com/marlonrichert/zsh-snap.git | |
# source zsh-snap/install.zsh | |
# | |
# ## Install Zsh Plugins | |
# znap source zsh-users/zsh-syntax-highlighting | |
# znap source zsh-users/zsh-autosuggestions | |
# znap source zsh-users/zsh-completions | |
# znap source zsh-history-substring-search | |
# znap source jeffreytse/zsh-vi-mode | |
# # znap source marlonrichert/zsh-autocomplete |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment