https://github.com/wiktor2200/ubuntu-firstrun-config
The script enables installation and configuration of some essential apps and utilities that make your Ubuntu more useful and powerful.
https://github.com/wiktor2200/ubuntu-firstrun-config
bash configuration-scripts essential-apps gnome linux script-generator shell-script ubuntu ubuntu-bionic ubuntu-focal ubuntu-jammy ubuntu-lts ubuntu-xenial ubuntu1804 ubuntu20 ubuntu2004 ubuntu2204 ubuntu2204lts zenity
Last synced: 3 months ago
JSON representation
The script enables installation and configuration of some essential apps and utilities that make your Ubuntu more useful and powerful.
- Host: GitHub
- URL: https://github.com/wiktor2200/ubuntu-firstrun-config
- Owner: wiktor2200
- License: gpl-3.0
- Created: 2018-06-12T19:13:34.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2023-04-15T22:28:39.000Z (about 3 years ago)
- Last Synced: 2025-04-21T04:42:29.783Z (about 1 year ago)
- Topics: bash, configuration-scripts, essential-apps, gnome, linux, script-generator, shell-script, ubuntu, ubuntu-bionic, ubuntu-focal, ubuntu-jammy, ubuntu-lts, ubuntu-xenial, ubuntu1804, ubuntu20, ubuntu2004, ubuntu2204, ubuntu2204lts, zenity
- Language: Shell
- Homepage:
- Size: 423 KB
- Stars: 2
- Watchers: 0
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
- [Description](#description)
- [Usage](#usage)
* [Troubleshooting](#troubleshooting)
- [Screenshots](#screenshots)
- [Features](#features)
- [Contribution guide](#contribution-guide)
* [Generating of main script](#generating-of-main-script)
+ [Workflow of script generating](#workflow-of-script-generating)
+ [Autogenerator usage (Adding new features)](#autogenerator-usage--adding-new-features-)
# Description
The script enables installation and configuration of some essential apps and utilities that make your Ubuntu more useful and powerful.
Script is using `zenity` graphical interface, which is preinstalled by default in Ubuntu.
Script is now more universal, there are frozen versions for specific Ubuntu releases.
# Usage
```bash
# Clone repo
git clone https://github.com/wiktor2200/Ubuntu-firstrun-config.git
cd Ubuntu-firstrun-config
```
**Then run main script:**
```bash
# Run main config script
bash ubuntu-firstrun-config.bash
```
## Troubleshooting
In case of any problems and not being able to scroll the very long TTY output. There was logging feature introduced.
> Logs location: `~/YYYY-MM-DD_HH-MM-SS_ubuntu_firstrun_config_log`
Logs are located in home directory on purpose. User has access to them and they are not deleted while `Performance - Enable tmp folder in RAM` option is run.
# Screenshots
Main menu:

Example summary:

# Features
Full feature list from [config.csv](./Develop/config.csv) file in `Develop` directory in easy readable table.
2023-04-15
|Task|Description|Subscript|
|---|---|---|
|0Upgrade - Upgrade packages|Perform apt dist-upgrade|[perform-upgrade](/scripts/perform-upgrade)|
|0Upgrade - Set upgrade notifications for all users|Set upgrade notifications for all users|[enable-upgrade-notifications](/scripts/enable-upgrade-notifications)|
|Cleanup - Clean packages|Perform apt autoremove, clean and autoclean|[perform-cleanup](/scripts/perform-cleanup)|
|Cleanup - Uninstall garbage Gnome and Ubuntu packages|Uninstall some garbage packages e.g. orca, shotwell, rhythmbox, totem, transmission|[uninstall-garbage-packages](/scripts/uninstall-garbage-packages)|
|Documents - Install Libreoffice|Install full Libreoffice package with language packages.|[install-libreoffice](/scripts/install-libreoffice)|
|IDE - Install Visual Studio Code IDE|Install Visual Studio Code - easy, customizable and powerful IDE for almost all languages.|[install-vs-code](/scripts/install-vs-code)|
|Multimedia - Install VLC|Install popular media player - both music and videos.|[install-vlc](/scripts/install-vlc)|
|Photos - Install GIMP|Install popular photo editor GIMP.|[install-gimp](/scripts/install-gimp)|
|Useful - Install password manager|Install password manager – keepassXC|[install-password-manager](/scripts/install-password-manager)|
|Utilties - Install archives tools|Support for zip, rar, 7zip etc.|[install-archives-tools](/scripts/install-archives-tools)|
|Utilties - Install codecs|Codecs to support common audio, video formats and additional fonts.|[install-codecs](/scripts/install-codecs)|
|Utilties - Install Gnome tools|Install Gnome settings managers and utils.|[install-gnome-tools](/scripts/install-gnome-tools)|
|Utilties - Install language packages|Installing language packages for your locale different than English.|[install-language-packages](/scripts/install-language-packages)|
|Utilties - Install useful system utilties|Install Partitioning tools, space usage tools, hardware info tools.|[install-system-utilties](/scripts/install-system-utilties)|
|Utilties - Install backup tools.|Install backup tools - luckybackup AKA rsync-gui and unison syncronizer.|[install-backup-tools](/scripts/install-backup-tools)|
|Utilties - Replace default snap packages with native Gnome apps.|Replace default snap packages with native Gnome apps.|[replace-snap-packages](/scripts/replace-snap-packages)|
|Utilties - Replace firefox snap package with native apt.|Replace firefox snap package with native apt.|[replace-snap-firefox](/scripts/replace-snap-firefox)|
|Utilties - Install duplicate finder czkawka. (using AppImage)|Install duplicate finder czkawka. (using AppImage)|[install-czkawka](/scripts/install-czkawka)|
|Utilties - Install Bleachbit cleaner.|Install Bleachbit powerful cache, temp files and garbage cleaner.|[install-bleachbit](/scripts/install-bleachbit)|
|Cleanup - Uninstall Ubuntu dock|Uninstall Ubuntu Gnome dock.|[uninstall-ubuntu-dock](/scripts/uninstall-ubuntu-dock)|
|Developer - Install Docker|Install Docker from snap package manager.|[install-docker](/scripts/install-docker)|
|Developer - Install VirtualBox|Install Virtualbox virtual machines manager.|[install-virtualbox](/scripts/install-virtualbox)|
|Documents - Install ebook reader|Install ebook reader – calibre|[install-calibre](/scripts/install-calibre)|
|Documents - Install OCR Reader|Install utilties to OCR read files.|[install-ocr](/scripts/install-ocr)|
|Documents - Install PDF tools|Install utilties to support pdf modifications - merging, spliting, replacing pages etc.|[install-pdf-tools](/scripts/install-pdf-tools)|
|Documents - Install QownNotes|Install notepad with markdown support and todo list manager supporting sync.|[install-qownnotes](/scripts/install-qownnotes)|
|Fixes - Fix top panel icons|Fix top panel icons on systems upgraded from 16.04|[fix-top-panel-icons](/scripts/fix-top-panel-icons)|
|Graphics - Install Dia – diagram creator|Install Dia – diagram creator – easy and powerful|[install-dia](/scripts/install-dia)|
|Graphics - Install Gnome Paint - replacement for MSPaint.|Install Gnome Paint - Linux alternative for MSPaint.|[install-gnome-paint](/scripts/install-gnome-paint)|
|Graphics - Install Inkscape – vector graphic editor|Install vector graphic editor – Inkscape|[install-inkscape](/scripts/install-inkscape)|
|Hardware - Install better laptop's battery support|Install better laptop's battery support. Recommended on laptops.|[install-battery-support](/scripts/install-battery-support)|
|Hardware - Install scanner support|Install utilties to support scanner in Ubuntu.|[install-scanner-support](/scripts/install-scanner-support)|
|Hardware - Install webcam application|Install webcam application – cheese|[install-webcam-cheese](/scripts/install-webcam-cheese)|
|IDE - Install Atom.io IDE|Install easy to customize IDE – Atom.io|[install-atom](/scripts/install-atom)|
|IDE - Install Powerful HEX editor – bless|Install hex editor - bless - more powerful, but needs more dependencies. – bless.|[install-hex-bless-editor](/scripts/install-hex-bless-editor)|
|IDE - Install qtCreator IDE|Install IDE for qt programs|[install-qtcreator](/scripts/install-qtcreator)|
|IDE - Install Simple HEX editor - ghex|Install simple Gnome hex editor.|[install-hex-gnome-editor](/scripts/install-hex-gnome-editor)|
|Multimedia - Install Amarok|Install powerful music player – Amarok|[install-amarok](/scripts/install-amarok)|
|Multimedia - Install Audacity audio editor|Install Audacity audio editor|[install-audacity](/scripts/install-audacity)|
|Network - Install sysadmin network utilties|Install utilties to monitor network traffic e.g. nethogs, nmap, iftop, whois, net-tools etc.|[install-sysadmin-network-tools](/scripts/install-sysadmin-network-tools)|
|Performance - Enable tmp folder in RAM|Increase efficiency of your system and enable tmp folder in RAM. Recommended if more than 8GB of RAM|[enable-tmp-ram](/scripts/enable-tmp-ram)|
|Performance - Remove swapfile|Removing of swapfile is recommended when using ssd drive - to increase it's life. When swap is off hibernation is disabled!|[remove-swapfile](/scripts/remove-swapfile)|
|Photos - Install batch photos utilties|Install utilties to batch modify your photos and metadata e.g. aaphoto, exiv2|[install-photo-utils](/scripts/install-photo-utils)|
|Photos - Install Digikam|Install Powerful tool for photos managment|[install-digikam](/scripts/install-digikam)|
|Storage - Install Dropbox client|Install official Dropbox client with nemo support. Headless moder – run as user which will be using dropbox.|[install-dropbox](/scripts/install-dropbox)|
|Storage - Install Nextcloud client|Install Nextcloud client.|[install-nextcloud](/scripts/install-nextcloud)|
|Storage - Install Owncloud client|Install Owncloud client.|[install-owncloud](/scripts/install-owncloud)|
|System - Install Cinnamon desktop manager|Install Cinnamon desktop manager|[install-cinnamon](/scripts/install-cinnamon)|
|Useful - Install Chromium browser|Install open-source Chromium browser. Open-source Chrome.|[install-chromium](/scripts/install-chromium)|
|Useful - Install ClamAV Antivirus|Install and configure ClamAV Antivirus|[install-antivir](/scripts/install-antivir)|
|Useful - Install Kazam desktop recorder|Install Kazam - simple desktop recorder|[install-desktop-recorder](/scripts/install-desktop-recorder)|
|Useful - Install Qalculate scientific calculator|Install Qalculate scientific calculator|[install-qalculate](/scripts/install-qalculate)|
|Useful - Install Slack|Install Slack team collaboration tool from snap package.|[install-slack](/scripts/install-slack)|
|Useful - Install task manager – TaskCoach (using AppImage)|Install powerful task manager TaskCoach (using AppImage)|[install-taskcoach](/scripts/install-taskcoach)|
|Useful - Install Tellico – collections manager|Install Tellico – collections manager – books, movies, coins etc.|[install-tellico](/scripts/install-tellico)|
|Useful - Install Thunderbird|Install Thunderbird mail client|[install-thunderbird](/scripts/install-thunderbird)|
|Utilties - Install AMD-Nvidia graphics drivers|Install Install AMD-Nvidia graphics drivers|[install-amd-nvidia-drivers](/scripts/install-amd-nvidia-drivers)|
|Utilties - Install bootable live USB creator – mkusb|Install bootable live USB creator – mkusb|[install-mkusb](/scripts/install-mkusb)|
|Utilties - Install CD-DVD burner|Install CD-DVD burner – if you have disk drive|[install-cd-dvd-burner](/scripts/install-cd-dvd-burner)|
|Utilties - Install fzf – CLI fuzzy finder|Install fzf – CLI fuzzy finder. Git clone installation – run as user which will be using script|[install-fzf](/scripts/install-fzf)|
|Utilties - Install Guake – gnome dropdown terminal|Install Guake – gnome dropdown terminal|[install-guake](/scripts/install-guake)|
|Utilties - Install ISO images tool|Install ISO images tool, mount, unmount, modify. - acetoneiso|[install-acetoneiso](/scripts/install-acetoneiso)|
|Utilties - Install sandboxing app – Firejail|Install sandboxing app Firejail.|[install-firejail](/scripts/install-firejail)|
|Utilties - Install Solaar - Logitech Unifying/Bolt companion tool|install-solaar|[](/scripts/)|
|Utilties - Install Synaptic package manager|Install Synaptic package manager|[install-synaptic](/scripts/install-synaptic)|
|System - Replace filemanager Nautilus with Nemo|Replace file manager Nautilus with more powerful Nemo|[replace-nautilus-nemo](/scripts/replace-nautilus-nemo)|
|System - Replace notepad gedit with pluma|Replace default gedit with powerful pluma notepad.|[replace-gedit-pluma](/scripts/replace-gedit-pluma)|
|System - Set Grub Timeout to 1 second|Set Grub Timeout to 1 second|[set-grub](/scripts/set-grub)|
|System - Show hidden autostart system entries|Show hidden autostart system entries|[show-hidden-autostart-entries](/scripts/show-hidden-autostart-entries)|
|Cleanup - Uninstall Ubuntu 16.04 old dependencies.|Uninstall 16.04 garbage dependencies after upgrade to 18.04.|[uninstall-old-1604-dependencies](/scripts/uninstall-old-1604-dependencies)|
# Contribution guide
## Generating of main script
Main script is autogenerated using script [generate-script-from-config.bash](/Develop/generate-script-from-config.bash) in `Develop` directory.
### Adding new features
Modify `./Develop/config.csv` file and run:
```bash
bash ./Develop/generate-script-from-config.bash
```
After that, fill in generated file in `scripts` folder and then create pull request with your new feature :)
### Workflow of script generating
Script generation workflow is as follows:
1. Read `config.csv` file for:
* `state` (TRUE/FALSE),
* `task` - task name,
* `description` - description of task
2. Then subscripts folder and files are created (if not exist)
3. Generate `zenity` main checklist menu.
4. Generate `case` function for zenity checklist output.
5. Generate rest of code to provide `zenity` summary and errors windows.
6. Manually replace feature list in `README.md` with content of generated file: [feature_list.md](/Develop/feature_list.md)