Last active
January 29, 2026 14:09
-
-
Save punit-naik/943a74496affe899abbb5d4e361b29bb to your computer and use it in GitHub Desktop.
Helps to setup my Development environment
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 | |
| ########################################### | |
| # Tried and tested on my Ubuntu 24.04.3 # | |
| ########################################### | |
| sudo apt update | |
| # To handle system hangs | |
| sudo apt purge -y intel-microcode | |
| echo "### Generic - Apt-Fast" | |
| sudo apt install -y axel aria2 | |
| sudo add-apt-repository -y ppa:apt-fast/stable | |
| sudo apt install -y apt-fast | |
| echo "## Generic" | |
| sudo add-apt-repository -y ppa:danielrichter2007/grub-customizer | |
| sudo apt-fast install -y grub-customizer | |
| sudo apt-fast install -y calibre mencoder xsel dosfstools mtools alien caffeine tree pdftk meld libimage-exiftool-perl python3-pip | |
| sudo apt-fast install -y v4l2loopback-dkms gnome-weather gnome-contacts audacity winbind playonlinux samba unrar dislocker | |
| sudo apt-fast install -y libfuse2 libxi6 libxrender1 libxtst6 mesa-utils libfontconfig libgtk-3-bin tar dbus-user-session lsb-release ca-certificates peek flatpak ffmpeg gnupg2 xclip nextcloud-desktop #openrgb | |
| sudo apt-fast install -y xz-utils net-tools deluge snapd git curl rlwrap steam gedit gparted synaptic guake gnome-keyring tlp* | |
| sudo apt-fast install -y gnupg maven gimp shotwell evince apt-transport-https openssh-server htop npm virtualbox cheese kazam visualvm filelight | |
| echo "### Slack" | |
| latest_slack_version=$(curl -s https://slack.com/intl/en-in/release-notes/linux \ | |
| | grep -oP 'Slack \d+\.\d+\.\d+' \ | |
| | sed 's/Slack //' \ | |
| | sort -V \ | |
| | tail -n 1) | |
| latest_slack_download_url="https://downloads.slack-edge.com/desktop-releases/linux/x64/${latest_slack_version}/slack-desktop-${latest_slack_version}-amd64.deb" | |
| curl -LO "$latest_slack_download_url" | |
| sudo dpkg -i slack-desktop-${latest_slack_version}-amd64.deb | |
| rm slack-desktop-${latest_slack_version}-amd64.deb | |
| #sudo snap remove firefox | |
| sudo apt-fast remove --purge -y okular | |
| sudo snap install snap-store | |
| sudo snap install eclipse --classic | |
| # sudo snap install spotify | |
| sudo curl -fsSL -o /tmp/spotify.gpg https://download.spotify.com/debian/pubkey_C85668DF69375001.gpg | |
| sudo gpg --yes --batch --dearmor -o /usr/share/keyrings/spotify-archive-keyring.gpg /tmp/spotify.gpg | |
| sudo rm -f /tmp/spotify.gpg | |
| echo "deb [signed-by=/usr/share/keyrings/spotify-archive-keyring.gpg] https://repository.spotify.com stable non-free" | sudo tee /etc/apt/sources.list.d/spotify.list | |
| sudo apt-fast update | |
| sudo apt-fast install -y spotify-client | |
| # sudo snap install discord | |
| wget -O ~/discord.deb "https://discord.com/api/download?platform=linux&format=deb" | |
| sudo dpkg -i ~/discord.deb | |
| sudo apt-fast install -f | |
| rm ~/discord.deb | |
| # sudo snap install intellij-idea-community --classic --edge | |
| sudo snap install blender --classic | |
| sudo snap install teams-for-linux | |
| #code --install-extension borkdude.clj-kondo | |
| #code --install-extension betterthantomorrow.calva | |
| #code --install-extension mhutchie.git-graph | |
| #code --install-extension alefragnani.rtf | |
| #code --install-extension vscode-org-mode.org-mode | |
| #code --install-extension jebbs.plantuml | |
| #code --install-extension mongodb.mongodb-vscode | |
| #code --install-extension ms-azuretools.vscode-docker | |
| #code --install-extension RandomFractalsInc.vscode-vega-viewer | |
| #code --install-extension tomoki1207.pdf | |
| #code --install-extension christian-kohler.path-intellisense | |
| #code --install-extension ria.elastic | |
| #code --install-extension eamodio.gitlens | |
| echo "### mkusb" | |
| sudo add-apt-repository -y ppa:mkusb/ppa | |
| sudo apt-fast update | |
| sudo apt-fast install -y mkusb | |
| echo "### Zulip" | |
| sudo curl -fsSL -o /tmp/zulip-desktop.asc https://download.zulip.com/desktop/apt/zulip-desktop.asc | |
| sudo gpg --yes --batch --dearmor -o /usr/share/keyrings/zulip-desktop-archive-keyring.gpg /tmp/zulip-desktop.asc | |
| sudo rm -f /tmp/zulip-desktop.asc | |
| echo "deb [signed-by=/usr/share/keyrings/zulip-desktop-archive-keyring.gpg] https://download.zulip.com/desktop/apt stable main" | sudo tee /etc/apt/sources.list.d/zulip-desktop.list | |
| sudo apt-fast update | |
| sudo apt-fast install -y zulip | |
| echo "### Brave Browser" | |
| sudo apt install -y apt-transport-https curl | |
| sudo curl -fsSL -o /usr/share/keyrings/brave-browser-archive-keyring.gpg https://brave-browser-apt-release.s3.brave.com/brave-browser-archive-keyring.gpg | |
| echo "deb [signed-by=/usr/share/keyrings/brave-browser-archive-keyring.gpg arch=amd64] https://brave-browser-apt-release.s3.brave.com/ stable main" | sudo tee /etc/apt/sources.list.d/brave-browser-release.list | |
| sudo apt-fast update | |
| sudo apt-fast install -y brave-browser | |
| echo "### Microsoft Edge & VS Code" | |
| curl -fsSL https://packages.microsoft.com/keys/microsoft.asc | sudo gpg --yes --batch --dearmor -o /usr/share/keyrings/microsoft-archive-keyring.gpg | |
| sudo sh -c 'echo "deb [signed-by=/usr/share/keyrings/microsoft-archive-keyring.gpg arch=amd64] https://packages.microsoft.com/repos/edge stable main" > /etc/apt/sources.list.d/microsoft-edge.list' | |
| sudo sh -c 'echo "deb [signed-by=/usr/share/keyrings/microsoft-archive-keyring.gpg arch=amd64] https://packages.microsoft.com/repos/code stable main" > /etc/apt/sources.list.d/microsoft-vscode.list' | |
| sudo apt-fast update | |
| sudo apt-fast install -y --install-recommends microsoft-edge-stable | |
| sudo apt-fast install -y --install-recommends code | |
| echo "### Generic - Docker" | |
| sudo apt-fast remove -y docker docker-engine docker.io containerd runc | |
| for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-fast remove $pkg; done | |
| curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --yes --batch --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg | |
| echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null | |
| sudo apt-fast update | |
| sudo apt-fast install -y --install-recommends docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin | |
| #sudo groupadd docker || true | |
| sudo usermod -aG docker $USER | |
| docker run hello-world | |
| echo "### Generic - Docker Compose" | |
| sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose | |
| sudo chmod +x /usr/local/bin/docker-compose | |
| sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose | |
| echo "### Generic - Kubectl" | |
| curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl" | |
| sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl | |
| rm kubectl | |
| echo "### Generic - GNOME Shell Extension" | |
| sudo apt-fast install -y gnome-tweaks gnome-shell-extensions chrome-gnome-shell | |
| echo "### Generic - Compiz" | |
| sudo apt-fast install -y compiz compizconfig-settings-manager compiz-plugins | |
| echo "### Generic - Sensors" | |
| sudo apt-fast install -y lm-sensors psensor | |
| echo "### Generic - VLC" | |
| sudo apt-fast install -y vlc | |
| echo "### Generic - Boot Repair" | |
| sudo add-apt-repository -y ppa:yannubuntu/boot-repair | |
| sudo apt-fast update | |
| sudo apt-fast install -y boot-repair | |
| echo "### Generic - Yarn" | |
| curl -fsSL https://dl.yarnpkg.com/debian/pubkey.gpg | gpg --dearmor | sudo tee /etc/apt/keyrings/yarn.gpg > /dev/null | |
| echo "deb [signed-by=/etc/apt/keyrings/yarn.gpg] https://dl.yarnpkg.com/debian stable main" | sudo tee /etc/apt/sources.list.d/yarn.list | |
| sudo apt-fast update | |
| sudo apt-fast install -y yarn | |
| echo "### Generic - Graphviz" | |
| sudo apt install -y flex perl automake bison libtool byacc xdot | |
| sudo add-apt-repository -y universe | |
| sudo apt-fast update | |
| sudo apt-fast install -y graphviz | |
| echo "### Generic - Zoom" | |
| wget https://zoom.us/client/latest/zoom_amd64.deb | |
| sudo dpkg -i zoom_amd64.deb | |
| sudo apt-fast install -f -y | |
| rm zoom_amd64.deb | |
| echo "### Generic - Github Credential Management" | |
| sudo apt-fast install -y libsecret-1-0 libsecret-1-dev | |
| (cd /usr/share/doc/git/contrib/credential/libsecret; sudo make) | |
| git config --global credential.helper /usr/share/doc/git/contrib/credential/libsecret/git-credential-libsecret | |
| echo "### Generic - Wine" | |
| DEBIAN_FRONTEND=noninteractive sudo dpkg --add-architecture i386 | |
| curl -fsSL -o /tmp/winehq.asc https://dl.winehq.org/wine-builds/winehq.key | |
| sudo gpg --yes --batch --dearmor -o /usr/share/keyrings/winehq-archive-keyring.gpg /tmp/winehq.asc | |
| rm /tmp/winehq.asc | |
| sudo apt install -y software-properties-common | |
| sudo sh -c 'echo "deb [signed-by=/usr/share/keyrings/winehq-archive-keyring.gpg] https://dl.winehq.org/wine-builds/ubuntu/ $(lsb_release -cs) main" > /etc/apt/sources.list.d/winehq.list' | |
| sudo apt-fast update | |
| sudo apt-fast install -y --install-recommends winehq-stable winetricks | |
| echo "### Generic - Lutris" | |
| sudo apt-fast install -y lutris | |
| echo "## Java" | |
| sudo apt-fast install -y openjdk-8-jdk-headless | |
| sudo apt-fast install -y openjdk-11-jdk-headless | |
| echo "## Leiningen" | |
| wget https://raw.githubusercontent.com/technomancy/leiningen/stable/bin/lein | |
| chmod +x lein | |
| sudo mv lein /bin | |
| mkdir -p $HOME/.lein | |
| echo -e "{:user {:plugins [[lein-try \"0.4.3\"]\n | |
| [lein-kibit \"0.1.8\"]\n | |
| [lein-codox \"0.10.8\"]\n | |
| [lein-cloverage \"1.1.2\"]\n | |
| [jonase/eastwood \"0.3.10\"]\n | |
| [venantius/yagni \"0.1.7\"]\n | |
| [org.clojars.timvisher/lein-checkout \"0.4.2\"]\n | |
| [walmartlabs/vizdeps \"0.2.0\"]\n | |
| [lein-ns-dep-graph \"0.2.0-SNAPSHOT\"]\n | |
| [lein-ancient \"1.0.0-RC3\"]\n | |
| [proto-repl \"0.3.1\"]\n | |
| [org.clojure/tools.namespace \"1.2.0\"]]}}" >> $HOME/.lein/profiles.clj | |
| lein -v | |
| echo "## Boot-CLJ" | |
| sudo bash -c "cd /usr/local/bin && curl -fsSLo boot https://github.com/boot-clj/boot-bin/releases/download/latest/boot.sh && chmod 755 boot" | |
| boot -V | |
| echo "## Clojure CLI" | |
| #curl -O https://download.clojure.org/install/linux-install-1.10.1.536.sh | |
| #chmod +x linux-install-1.10.1.536.sh | |
| #sudo ./linux-install-1.10.1.536.sh | |
| #rm linux-install-1.10.1.536.sh | |
| #clj -h | |
| #clojure -h | |
| echo "## Nix" | |
| curl -L https://nixos.org/nix/install | sh | |
| . $HOME/.nix-profile/etc/profile.d/nix.sh | |
| echo "## Homebrew" | |
| echo | sh -c "$(curl -fsSL https://raw.githubusercontent.com/Linuxbrew/install/master/install.sh)" | |
| echo 'export PATH=/home/linuxbrew/.linuxbrew/bin:$PATH' >> $HOME/.bashrc | |
| echo 'eval $(/home/linuxbrew/.linuxbrew/bin/brew shellenv)' >> $HOME/.profile | |
| eval $(/home/linuxbrew/.linuxbrew/bin/brew shellenv) | |
| . $HOME/.bashrc | |
| echo "### Homebrew - Installing Necessary Packages" | |
| brew install borkdude/brew/clj-kondo | |
| brew install candid82/brew/joker | |
| brew install clojure/tools/clojure | |
| brew install clojure-lsp/brew/clojure-lsp-native | |
| brew install borkdude/brew/babashka | |
| echo "### Direnv" | |
| sudo apt-fast install -y direnv | |
| echo 'eval "$(direnv hook bash)"' >> $HOME/.bashrc | |
| . $HOME/.bashrc | |
| echo "### CLJ-Kondo" | |
| #curl -sLO https://raw.githubusercontent.com/borkdude/clj-kondo/master/script/install-clj-kondo | |
| #chmod +x install-clj-kondo | |
| #sudo ./install-clj-kondo | |
| echo "### Shadow-CLJS" | |
| sudo npm install -g shadow-cljs | |
| echo "### Elasticsearch" | |
| #curl -fsSL -o /usr/share/keyrings/elasticsearch-archive-keyring.gpg https://artifacts.elastic.co/GPG-KEY-elasticsearch | |
| #echo "deb [signed-by=/usr/share/keyrings/elasticsearch-archive-keyring.gpg] https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-7.x.list | |
| #sudo apt update | |
| #sudo apt install -y elasticsearch=7.10.0 kibana=7.10.0 | |
| #sudo apt-mark hold elasticsearch kibana | |
| #sudo systemctl disable elasticsearch kibana | |
| echo "### DBeaver" | |
| curl -fsSL https://dbeaver.io/debs/dbeaver.gpg.key | sudo gpg --yes --batch --dearmor -o /usr/share/keyrings/dbeaver-archive-keyring.gpg | |
| echo "deb [signed-by=/usr/share/keyrings/dbeaver-archive-keyring.gpg] https://dbeaver.io/debs/dbeaver-ce /" | sudo tee /etc/apt/sources.list.d/dbeaver.list | |
| sudo apt-fast update | |
| sudo apt-fast install -y dbeaver-ce | |
| echo "### Mainline" | |
| sudo add-apt-repository -y ppa:cappelikan/ppa | |
| sudo apt-fast install -y mainline | |
| echo "### Skype" | |
| wget https://repo.skype.com/latest/skypeforlinux-64.deb && sudo dpkg -i skypeforlinux-64.deb && rm skypeforlinux-64.deb || echo "Skype binary does not exist on the web" | |
| echo "### Kdenlive" | |
| sudo apt-fast install -y kdenlive | |
| echo "### OBS Studio" | |
| sudo apt-fast install -y obs-studio | |
| echo "### ProtonVPN" | |
| curl -fsSL -o /tmp/protonvpn.asc https://repo.protonvpn.com/debian/public_key.asc | |
| sudo gpg --yes --batch --dearmor -o /usr/share/keyrings/protonvpn-archive-keyring.gpg /tmp/protonvpn.asc | |
| rm /tmp/protonvpn.asc | |
| echo "deb [signed-by=/usr/share/keyrings/protonvpn-archive-keyring.gpg] https://repo.protonvpn.com/debian unstable main" | sudo tee /etc/apt/sources.list.d/protonvpn.list | |
| sudo apt-fast update | |
| sudo apt-fast install -y --install-recommends protonvpn | |
| echo "### Ollama" | |
| curl -fsSL https://ollama.com/install.sh | sh | |
| echo "### ENV Stuff" | |
| echo 'gpgconf --launch gpg-agent' >> $HOME/.bashrc | |
| echo 'export GPG_TTY=$(tty)' >> $HOME/.bashrc | |
| . $HOME/.bashrc | |
| echo "### Media - Kodi" | |
| sudo apt-fast install -y --install-recommends kodi kodi-bin | |
| #echo "### Media - JellyFin" | |
| #wget -O- https://repo.jellyfin.org/install-debuntu.sh | sudo bash | |
| echo "### Misc Settings" | |
| gsettings set org.gnome.shell.extensions.dash-to-dock show-mounts false | |
| gsettings set org.gnome.shell.extensions.ding show-home false | |
| gsettings set org.gnome.shell.extensions.dash-to-dock dock-position 'BOTTOM' | |
| gsettings set org.gnome.shell.extensions.dash-to-dock autohide true | |
| gsettings set org.gnome.shell.extensions.dash-to-dock background-opacity 0.2 | |
| gsettings set org.gnome.shell.extensions.dash-to-dock intellihide true | |
| gsettings set org.gnome.shell.extensions.dash-to-dock pressure-threshold 0 | |
| # Install Dash to Dock gnome extenstion - https://extensions.gnome.org/extension/307/dash-to-dock | |
| # Disable Canonical Livepath | |
| sudo canonical-livepatch disable | |
| sudo canonical-livepatch unregister | |
| sudo systemctl stop --now snap.canonical-livepatch.canonical-livepatchd.service | |
| sudo systemctl disable --now snap.canonical-livepatch.canonical-livepatchd.service | |
| sudo snap remove canonical-livepatch | |
| # To handle system hangs | |
| sudo apt purge -y intel-microcode | |
| # Set TLP | |
| echo -e "\nSTART_CHARGE_THRESH_BAT0=40\nSTOP_CHARGE_THRESH_BAT0=85" | sudo tee -a /etc/tlp.conf | |
| sudo tlp start | |
| # Fix sleep glitches | |
| sudo sed -i 's/^GRUB_CMDLINE_LINUX_DEFAULT=.*/GRUB_CMDLINE_LINUX_DEFAULT="quiet splash ucsi_acpi.disable=1 iommu=soft mem_sleep_default=deep"/' /etc/default/grub | |
| sudo update-grub |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment