Opinionated Ubuntu Setup
Inspired from https://github.com/basecamp/omakub
For fresh Ubuntu 24.04+ installations with GNOME desktop:
cd /tmp && wget -qO- https://raw.githubusercontent.com/lfsc09/ubudongs/24.04/boot.sh | bashNote: Project will be cloned at ~/.local/share/ubudongs.
- OS: Ubuntu 24.04
- Desktop: GNOME desktop environment (required)
Important: This script is designed for fresh installations only
- Brave
- Chrome
- JetBrains Tools (Optional)
- Flameshot - lightshot substitute
- Gimp
- Gparted
- Obs (Optional)
- Startup Disk Creator
- Solaar (Optional) - for logitech peripherals
- Virtual Box (Manually)
- VLC
- Vscode
- Zoom (Optional)
- Docker Engine
- LazyDocker (as App)
- Mise (language version control)
- Other packages...
Standard gnome terminal pumped with:
- Fastfetch
- Starship
- eza - to increment
ls - Vim (instead of Nano)
- Tophat - show system monitor in waybar
- AlphabeticalAppGrid - sorts app grid
- Unblank - avoid screen turnoff when logging off
- Notification Configurator - notification position control
- Build toolchain (build-essential, clang, rustc)
- Development libraries (SSL, readline, YAML, FFI, etc.)
- Media processing (ffmpeg, imagemagick, libvips)
- PDF tools (mupdf)
- Package managers (flatpak, pipx)
The script can setup git (name, email), and ask to create SSH and GPG keys to use in Github.
If chosen to create, check them after install with:
gpg --armor --export "$(gpg --list-secret-keys --keyid-format LONG "$(git config --global user.email)" 2>/dev/null | grep -m 1 'sec' | awk '{print $2}' | cut -d'/' -f2)"cat ~/.ssh/github_$(git config --global user.email | tr '@' '_' | tr '.' '_')_ed25519.pubScript will cleanup (remove):
- Firefox
- Nano (replaced by vim)
<Super>enter: Terminal<Super>b: Default browser<Super>f: Home folder<Super>n: Gnome text editor
lz: List files with ezalza:lz+hidden fileslt: List files tree style with ezalta:lt+hidden filesdongs: Run fastfetch to show system info
<Super><Control>\: Cycle selected output devices.<Super><Control><Shift>\: Configure cycle selected output devices.
<Super><Control>space: Cycle wallpapers.
<Super><Control>p: Tile window to top-left.<Super><Control>[: Tile window to top half.<Super><Control>]: Tile window to top-right.<Super><Control>l: Tile window to left half.<Super><Control>;: Tile window to maximize.<Super><Control>': Tile window to right half.<Super><Control>,: Tile window to bottom-left.<Super><Control>.: Tile window to bottom half.<Super><Control>/: Tile window to bottom-right.