Skip to content

Latest commit

History

113 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

linux-tools

Scripts to configure and automate Linux environments (Ubuntu/Debian-based).

Quick Start

Run everything (recommended for a fresh system)

bash <(wget -qO - https://raw.githubusercontent.com/levicm/linux-tools/refs/heads/main/ubuntu-scripts/config-all.sh)

Run a specific script

bash <(wget -qO - https://raw.githubusercontent.com/levicm/linux-tools/refs/heads/main/ubuntu-scripts/<script-name>.sh)

Main Scripts (Orchestrators)

These scripts are run by config-all.shin this order:

#ScriptDescription
1prepare-linux.shPrepares the environment: sets local RTC (compatible with Windows dual-boot), updates the system via apt-fast, installs curl, wget, Flatpak and GIT
2install-commands.shInstalls terminal utilities: htop, plocate, tree, fd-find, neofetch, fzf, speedtest
3install-essential-apps.shInstalls essential apps: GNOME Tweaks, Extension Manager, Synaptic, Remmina, Gear Lever, Sublime Text, Google Chrome, FSearch
4install-dev-tools.shDev tools orchestrator (calls VSCode, Eclipse, Postman scripts)
5install-media-apps.shMedia apps orchestrator (calls Spotify and EasyEffects scripts)
6install-gnome-extensions.shInstalls GNOME extensions infrastructure: gnome-browser-connector, gnome-extensions-cli
7install-office-apps.shInstalls office apps: PDF Sam, WPS Office
8install-ttf-fonts.shDetects system font directory and prepares TTF font installation (required for WPS)
9install-nautilus-extensions.shNautilus extensions: nautilus-admin, VSCode integration, custom scripts

Scripts by Category

Cloud Storage (cloud-storage/)

ScriptDescription
install-insync.shInstalls Insync (Google Drive client) from official repository
install-onedrive-by-rclone.shInstalls and configures RClone for OneDrive mounting (interactive)
install-onedriver.shInstalls OneDriver (alternative OneDrive client) from OpenSUSE repository

Development (development/)

Java & Build Tools:

ScriptDescription
install-openjdk-21.shInstalls OpenJDK 21 with update-alternatives configuration
install-oracle-java-11.shInstalls Oracle JDK 11 with JAVA_HOME and update-alternatives
install-oracle-java-17.shInstalls Oracle JDK 17 with JAVA_HOME and update-alternatives
install-oracle-java-20.shInstalls Oracle JDK 20 with JAVA_HOME and update-alternatives
install-maven-3.shInstalls Apache Maven 3.9.x (latest version detected dynamically)
install-liquibase.shInstalls Liquibase (database change management tool)

IDEs & Editors:

ScriptDescription
install-vscode.shInstalls Visual Studio Code from Microsoft repository
install-vscode-extensions.shInstalls VS Code extensions: IntelliCode, Git, SQL, Java, JavaScript
install-eclipse.shInstalls Eclipse JEE 2024-12 with desktop shortcut
install-postman.shInstalls Postman with desktop shortcut

Servers & DevOps:

ScriptDescription
install-docker.shInstalls Docker Engine + docker-compose, configures sudo-less access
install-kubernetes.shInstalls kubectl v1.34 from official Kubernetes repository
install-wildfly-26.shInstalls WildFly 26.1.0
install-wildfly-34.shInstalls WildFly 34.0.1
install-wildfly-36.shInstalls WildFly 36.0.1

Web & Frontend:

ScriptDescription
install-node20-angular17.shInstalls Node.js v20 via fnm and Angular CLI v17

Database:

ScriptDescription
install-debeaver.shInstalls DBeaver CE (universal database client)

Devices / Hardware (device/)

ScriptDescription
enable-fingerprint.shInstalls fingerprint authentication (fprintd) and interactively enrolls a fingerprint
install-epson-l355-driver.shInstalls drivers and scanning software for Epson L355 printer

Diagnostics (diagnostics/)

ScriptDescription
system_diagnostics.shCollects system diagnostics (CPU, memory, disk, network) and saves to a timestamped file
compare_diagnostics.shCompares two diagnostic files to identify changes between measurements

Hibernation (hibernation/)

Scripts to configure hibernation — run in this order if setting up from scratch:

#ScriptDescription
1enable-hibernation.shValidates and enables hibernation (checks for adequate swap)
2install-hibernation-low-battery.shCreates a systemd service that auto-hibernates when battery < 8%
3configure-sleep-then-hibernate.shConfigures suspend→hibernate behavior with GNOME idle settings
4install-sleep-then-hibernate-hook.shImplements "suspend then hibernate" via systemd sleep hooks (workaround for gsd-power on GNOME)

Internet & Network (internet/)

ScriptDescription
install-google-chrome.shInstalls Google Chrome from official Google repository
install-tailscale.shInstalls Tailscale VPN with auto-start configuration

Launcher (launcher/)

ScriptDescription
install-ulauncher.shInstalls ULauncher (keyboard-driven application launcher)

Media (media/)

ScriptDescription
install-spotify.shInstalls Spotify from official repository
install-easyeffects.shInstalls EasyEffects (audio effects) with GNOME extension support

Office (office/)

ScriptDescription
install-wps.shInstalls WPS Office with libtiff.so.5 compatibility fix

Security (security/)

ScriptDescription
install-bitwarden.shInstalls Bitwarden (password manager) via Flatpak

Tools (tool/)

ScriptDescription
install-fsearch.shInstalls FSearch (fast file search utility) via PPA
install-fzf.shInstalls fzf (command-line fuzzy finder) via git clone
install-remmina.shInstalls Remmina (remote desktop client) with RDP plugin
install-speedtest.shInstalls Ookla Speedtest CLI
install-sublime-text.shInstalls Sublime Text from official repository
install-gear-lever.shInstalls Gear Lever (AppImage manager)
fix-ethernets.shDetects and configures wired Ethernet interfaces
update-gtk-icons.shUpdates GTK icon cache (Hicolor, Yaru, Adwaita)

Cleanup (clear/)

ScriptDescription
clear-flatpak-repo.shRemoves unused Flatpak packages, repairs the repository and clears cache

Requirements

  • Ubuntu / Debian-based Linux
  • GNOME desktop (some scripts are GNOME-specific)
  • sudo/root access
  • Internet connection

About

Some Linux scripts made by a Linux noobie

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages