Created
January 15, 2026 01:47
-
-
Save hunzo/3d734ca5d2a2fbc735ae17ebde8a14ff to your computer and use it in GitHub Desktop.
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
| #!/bin/bash | |
| # install list | |
| # - Golang | |
| # - Python | |
| # - Python-venv | |
| # - Node Version Manager (nvm) | |
| GO_VERSION=go1.25.1 | |
| NVIM_VERSION=v0.11.5 | |
| NVIM_FILE_NAME=nvim-linux-x86_64 | |
| NVM_VERSION=v0.40.3 | |
| # -- clean old Go | |
| # echo "Removing old Go installation in ~/.go and ~/.sdk/go ..." | |
| # sudo rm -rf ~/.go | |
| # sudo rm -rf ~/.sdk/go | |
| # sudo rm -f $GO_VERSION.linux-amd64.tar.gz | |
| # -- remove system-wide Go if exists (optional) | |
| sudo rm -rf /usr/local/go | |
| sudo rm -f /usr/bin/go | |
| # -- install golang | |
| echo "Downloading Go $GO_VERSION ..." | |
| curl -OL https://golang.org/dl/$GO_VERSION.linux-amd64.tar.gz | |
| mkdir -p ~/.go-sdk | |
| mkdir -p ~/.go-pkg | |
| echo "Extracting Go ..." | |
| tar xzvf $GO_VERSION.linux-amd64.tar.gz -C ~/.go-sdk | |
| # -- set go env in bashrc | |
| if ! grep -q 'export GOROOT=\$HOME/.go-sdk/go' ~/.bashrc; then | |
| cat <<EOF | tee -a ~/.bashrc | |
| export GOPATH=\$HOME/.go-pkg | |
| export GOROOT=\$HOME/.go-sdk/go | |
| export GOBIN=\$GOPATH/bin | |
| export PATH=\$GOROOT/bin:\$GOBIN:\$PATH | |
| EOF | |
| fi | |
| rm -f $GO_VERSION.linux-amd64.tar.gz | |
| # -- set shell .bashrc (prompt) | |
| echo "set shell .bashrc (prompt)" | |
| if ! grep -q 'show_git_branch()' ~/.bashrc; then | |
| cat <<EOF | tee -a ~/.bashrc | |
| show_git_branch() { | |
| git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/\1 /' | |
| } | |
| # export PS1='\[\e[38;5;214m\]\w \[\e[91m\]\$(show_git_branch)\[\e[m\]\[\033[32m\]❱\[\e[m\] ' | |
| EOF | |
| fi | |
| # -- clear old neovim | |
| rm -rf ~/.config/nvim | |
| rm -rf ~/.local/share/nvim | |
| rm -rf ~/.local/state/nvim | |
| rm -rf ~/.cache/nvim | |
| sudo rm -rf /usr/bin/nvim* | |
| # -- add .bashrc (nvim as default editor) | |
| echo "add .bashrc (nvim as default editor)" | |
| if ! grep -q 'export EDITOR=nvim' ~/.bashrc; then | |
| cat <<EOF | tee -a ~/.bashrc | |
| export EXPORT EDITOR=nvim | |
| alias vim=nvim | |
| set -o vi | |
| EOF | |
| fi | |
| # -- install neovim | |
| echo "Installing Neovim $NVIM_VERSION ..." | |
| curl -OL https://github.com/neovim/neovim/releases/download/$NVIM_VERSION/$NVIM_FILE_NAME.tar.gz | |
| sudo rm -f /usr/bin/nvim | |
| sudo tar xzvf $NVIM_FILE_NAME.tar.gz -C /usr/bin/ | |
| sudo ln -sf /usr/bin/$NVIM_FILE_NAME/bin/nvim /usr/bin/nvim | |
| rm -f $NVIM_FILE_NAME.tar.gz | |
| # -- install nvm and nodejs | |
| echo "Installing nvm $NVM_VERSION ..." | |
| curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/$NVM_VERSION/install.sh | bash | |
| export NVM_DIR="$HOME/.nvm" | |
| source "$NVM_DIR/nvm.sh" | |
| source ~/.bashrc | |
| nvm install --lts | |
| # -- install ansible | |
| sudo pacman -Syu || echo "Failed to update apt after adding PPA." | |
| sudo pacman -S ansible --noconfirm || echo "Failed to install Ansible." | |
| echo "Setup completed successfully!" |
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
| #!/bin/bash | |
| sudo pacman -S --noconfirm \ | |
| alacritty \ | |
| arandr \ | |
| aria2 \ | |
| base-devel \ | |
| bash-completion \ | |
| blueman \ | |
| brightnessctl \ | |
| btop \ | |
| cava \ | |
| curl \ | |
| fastfetch \ | |
| ffmpeg \ | |
| flameshot \ | |
| freerdp \ | |
| fzf \ | |
| git \ | |
| gnupg \ | |
| gvfs \ | |
| gvfs-smb \ | |
| htop \ | |
| hypridle \ | |
| hyprpaper \ | |
| hyprpicker \ | |
| hyprshot \ | |
| jq \ | |
| kitty \ | |
| libopenraw \ | |
| libraw \ | |
| libx264 \ | |
| mpv \ | |
| nautilus \ | |
| network-manager-applet \ | |
| networkmanager-dmenu \ | |
| networkmanager-vpnc \ | |
| noto-fonts \ | |
| noto-fonts-cjk \ | |
| noto-fonts-emoji \ | |
| noto-fonts-extra \ | |
| ntfs-3g \ | |
| nvtop \ | |
| nwg-look \ | |
| pavucontrol \ | |
| polkit \ | |
| polkit-gnome \ | |
| pwgen \ | |
| python-pip \ | |
| python-proxmoxer \ | |
| python-requests \ | |
| remmina \ | |
| rofi \ | |
| stow \ | |
| swaync \ | |
| swayosd \ | |
| swww \ | |
| tmux \ | |
| tree \ | |
| ttf-cascadia-code-nerd \ | |
| ttf-cascadia-mono-nerd \ | |
| ttf-hack-nerd \ | |
| ttf-noto-nerd \ | |
| ttf-roboto \ | |
| ttf-roboto-mono-nerd \ | |
| udisks2 \ | |
| unzip \ | |
| waybar \ | |
| wl-clipboard \ | |
| xclip \ | |
| yazi \ | |
| yq |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment