a setup script for debian.
- Shell 100%
| install.sh | ||
| LICENSE | ||
| README.md | ||
| TODO.md | ||
Linux Setup Script — Debian 13
Automated setup script for a fresh Debian 13 (Trixie) install. Installs software, themes, GNOME extensions, and Brave browser extensions with zero interaction (sudo password aside).
What Gets Removed
| App | Package |
|---|---|
| All LibreOffice apps | libreoffice* (purge) |
| Document Scanner | simple-scan |
| GNOME Maps | gnome-maps |
| GNOME Tour | gnome-tour |
Followed by apt autoremove + autoclean to free space.
GNOME Extensions
Downloaded and installed via the GNOME Extensions API.
| Extension | UUID |
|---|---|
| Caffeine | caffeine@patapon.info |
| Dash to Dock | dash-to-dock@micxgx.gmail.com |
| User Themes | user-theme@gnome-shell-extensions.gcampax.github.com |
| Blur My Shell | blur-my-shell@aunetx |
| AppIndicator & KStatusNotifierItem Support | appindicatorsupport@rgcjonas.gmail.com |
| GSConnect | gsconnect@andyholmes.github.io |
| Clipboard Indicator (Clipboard History) | clipboard-indicator@tudmotu.com |
Extensions are installed to
~/.local/share/gnome-shell/extensions/and auto-enabled. If auto-enable fails (e.g. no live session), re-enable manually via the Extensions app orgnome-extensions enable <uuid>after logging back in.
Themes
Shell Theme — Marble (Dark)
- Source: github.com/imarkoff/Marble-shell-theme
- Installed with
python3 install.py --dark - Requires the User Themes extension (installed above)
- Apply: GNOME Tweaks → Appearance → Shell → select
Marble-dark
Icon Theme — Papirus
- Source: github.com/PapirusDevelopmentTeam/papirus-icon-theme
- Installed via upstream installer script
- Apply: GNOME Tweaks → Appearance → Icons →
Papirus-Dark
Cursor Theme — Bibata
- Version:
v2.0.7(override withBIBATA_VERSION=vX.Y.Z ./install.sh) - Source: github.com/ful1e5/Bibata_Cursor
- Installed to
~/.local/share/icons/and/usr/share/icons/ - Apply: GNOME Tweaks → Appearance → Cursor
Dark Mode
org.gnome.desktop.interface color-schemeset toprefer-dark- GTK theme set to
Adwaita-darkas a base
Brave Browser Extensions
Force-installed via managed policy at /etc/brave/policies/managed/extensions.json.
| Extension | Status |
|---|---|
| Proton Pass | ⚠️ ID needed — see below |
| Flocus | ⚠️ ID needed — see below |
| GNOME Shell Integration | ✅ gphhapmejobijbbhgpjhcjognlahblep |
| Flatline | ⚠️ ID needed — see below |
Filling in missing extension IDs
Three extension IDs need to be added manually. To find them:
- Go to chromewebstore.google.com
- Open the extension's page
- Copy the 32-character ID from the URL bar:
https://chromewebstore.google.com/detail/<name>/<ID-IS-HERE> - Edit the policy file:
sudo nano /etc/brave/policies/managed/extensions.json - Replace
TODO_PROTON_PASS_ID,TODO_FLOCUS_ID, andTODO_FLATLINE_IDwith the real IDs - Relaunch Brave — it will auto-install the extensions
Software Installed
Via apt (third-party repos added automatically)
| App | Purpose |
|---|---|
| Brave Browser | Privacy-focused browser |
| Signal | Encrypted messaging |
| GIMP | Image editing |
| Inkscape | Vector graphics |
| VLC | Media player |
| VSCodium | Code editor (telemetry-free VS Code) |
| Thonny | Python IDE for beginners |
| Arduino IDE | Microcontroller programming |
| ONLYOFFICE Desktop | Office suite (replaces LibreOffice) |
| JetBrains Toolbox | Manage JetBrains IDEs |
| LocalSend | LAN file transfer |
| Obsidian | Markdown note-taking |
| OBS Studio | Screen recording & streaming |
| Fish | User-friendly shell |
| GNOME Tweaks | Theme & font management |
| Steam | Gaming platform |
Third-party Repos Added
| Repo | Source |
|---|---|
| Signal | updates.signal.org |
| VSCodium | download.vscodium.com |
| ONLYOFFICE | download.onlyoffice.com |
Via upstream installer
| Tool | Method |
|---|---|
| Brave Browser | dl.brave.com/install.sh |
| pwndbg | install.pwndbg.re (GDB with enhanced debugging) |
| Papirus Icons | github.com/PapirusDevelopmentTeam installer |
Post-Install Checklist
- Log out and back in (required for GNOME extensions and shell theme)
- Open GNOME Tweaks and apply:
- Shell theme →
Marble-dark - Icons →
Papirus-Dark - Cursor →
Bibata-Modern-Classic(or preferred Bibata variant)
- Shell theme →
- Fill in missing Brave extension IDs in
/etc/brave/policies/managed/extensions.json - Set Fish as your default shell:
chsh -s $(which fish) - Configure GSConnect by pairing your Android device (requires KDE Connect app on phone)
Environment
- Target OS: Debian 13 (Trixie)
- Desktop: GNOME
- Script:
install.sh— runs fully unattended (only sudo password required)