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.
# Clone repo
git clone https://github.com/wiktor2200/Ubuntu-firstrun-config.git
cd Ubuntu-firstrun-config
Then run main script:
# Run main config script
bash ubuntu-firstrun-config.bash
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 whilePerformance - Enable tmp folder in RAM
option is run.
Full feature list from 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 |
0Upgrade - Set upgrade notifications for all users | Set upgrade notifications for all users | enable-upgrade-notifications |
Cleanup - Clean packages | Perform apt autoremove, clean and autoclean | perform-cleanup |
Cleanup - Uninstall garbage Gnome and Ubuntu packages | Uninstall some garbage packages e.g. orca, shotwell, rhythmbox, totem, transmission | uninstall-garbage-packages |
Documents - Install Libreoffice | Install full Libreoffice package with language packages. | install-libreoffice |
IDE - Install Visual Studio Code IDE | Install Visual Studio Code - easy, customizable and powerful IDE for almost all languages. | install-vs-code |
Multimedia - Install VLC | Install popular media player - both music and videos. | install-vlc |
Photos - Install GIMP | Install popular photo editor GIMP. | install-gimp |
Useful - Install password manager | Install password manager – keepassXC | install-password-manager |
Utilties - Install archives tools | Support for zip, rar, 7zip etc. | install-archives-tools |
Utilties - Install codecs | Codecs to support common audio, video formats and additional fonts. | install-codecs |
Utilties - Install Gnome tools | Install Gnome settings managers and utils. | install-gnome-tools |
Utilties - Install language packages | Installing language packages for your locale different than English. | install-language-packages |
Utilties - Install useful system utilties | Install Partitioning tools, space usage tools, hardware info tools. | install-system-utilties |
Utilties - Install backup tools. | Install backup tools - luckybackup AKA rsync-gui and unison syncronizer. | install-backup-tools |
Utilties - Replace default snap packages with native Gnome apps. | Replace default snap packages with native Gnome apps. | replace-snap-packages |
Utilties - Replace firefox snap package with native apt. | Replace firefox snap package with native apt. | replace-snap-firefox |
Utilties - Install duplicate finder czkawka. (using AppImage) | Install duplicate finder czkawka. (using AppImage) | install-czkawka |
Utilties - Install Bleachbit cleaner. | Install Bleachbit powerful cache, temp files and garbage cleaner. | install-bleachbit |
Cleanup - Uninstall Ubuntu dock | Uninstall Ubuntu Gnome dock. | uninstall-ubuntu-dock |
Developer - Install Docker | Install Docker from snap package manager. | install-docker |
Developer - Install VirtualBox | Install Virtualbox virtual machines manager. | install-virtualbox |
Documents - Install ebook reader | Install ebook reader – calibre | install-calibre |
Documents - Install OCR Reader | Install utilties to OCR read files. | install-ocr |
Documents - Install PDF tools | Install utilties to support pdf modifications - merging, spliting, replacing pages etc. | install-pdf-tools |
Documents - Install QownNotes | Install notepad with markdown support and todo list manager supporting sync. | install-qownnotes |
Fixes - Fix top panel icons | Fix top panel icons on systems upgraded from 16.04 | fix-top-panel-icons |
Graphics - Install Dia – diagram creator | Install Dia – diagram creator – easy and powerful | install-dia |
Graphics - Install Gnome Paint - replacement for MSPaint. | Install Gnome Paint - Linux alternative for MSPaint. | install-gnome-paint |
Graphics - Install Inkscape – vector graphic editor | Install vector graphic editor – Inkscape | install-inkscape |
Hardware - Install better laptop's battery support | Install better laptop's battery support. Recommended on laptops. | install-battery-support |
Hardware - Install scanner support | Install utilties to support scanner in Ubuntu. | install-scanner-support |
Hardware - Install webcam application | Install webcam application – cheese | install-webcam-cheese |
IDE - Install Atom.io IDE | Install easy to customize IDE – Atom.io | install-atom |
IDE - Install Powerful HEX editor – bless | Install hex editor - bless - more powerful, but needs more dependencies. – bless. | install-hex-bless-editor |
IDE - Install qtCreator IDE | Install IDE for qt programs | install-qtcreator |
IDE - Install Simple HEX editor - ghex | Install simple Gnome hex editor. | install-hex-gnome-editor |
Multimedia - Install Amarok | Install powerful music player – Amarok | install-amarok |
Multimedia - Install Audacity audio editor | Install Audacity audio editor | 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 |
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 |
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 |
Photos - Install batch photos utilties | Install utilties to batch modify your photos and metadata e.g. aaphoto, exiv2 | install-photo-utils |
Photos - Install Digikam | Install Powerful tool for photos managment | 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 |
Storage - Install Nextcloud client | Install Nextcloud client. | install-nextcloud |
Storage - Install Owncloud client | Install Owncloud client. | install-owncloud |
System - Install Cinnamon desktop manager | Install Cinnamon desktop manager | install-cinnamon |
Useful - Install Chromium browser | Install open-source Chromium browser. Open-source Chrome. | install-chromium |
Useful - Install ClamAV Antivirus | Install and configure ClamAV Antivirus | install-antivir |
Useful - Install Kazam desktop recorder | Install Kazam - simple desktop recorder | install-desktop-recorder |
Useful - Install Qalculate scientific calculator | Install Qalculate scientific calculator | install-qalculate |
Useful - Install Slack | Install Slack team collaboration tool from snap package. | install-slack |
Useful - Install task manager – TaskCoach (using AppImage) | Install powerful task manager TaskCoach (using AppImage) | install-taskcoach |
Useful - Install Tellico – collections manager | Install Tellico – collections manager – books, movies, coins etc. | install-tellico |
Useful - Install Thunderbird | Install Thunderbird mail client | install-thunderbird |
Utilties - Install AMD-Nvidia graphics drivers | Install Install AMD-Nvidia graphics drivers | install-amd-nvidia-drivers |
Utilties - Install bootable live USB creator – mkusb | Install bootable live USB creator – mkusb | install-mkusb |
Utilties - Install CD-DVD burner | Install CD-DVD burner – if you have disk drive | 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 |
Utilties - Install Guake – gnome dropdown terminal | Install Guake – gnome dropdown terminal | install-guake |
Utilties - Install ISO images tool | Install ISO images tool, mount, unmount, modify. - acetoneiso | install-acetoneiso |
Utilties - Install sandboxing app – Firejail | Install sandboxing app Firejail. | install-firejail |
Utilties - Install Solaar - Logitech Unifying/Bolt companion tool | install-solaar | |
Utilties - Install Synaptic package manager | Install Synaptic package manager | install-synaptic |
System - Replace filemanager Nautilus with Nemo | Replace file manager Nautilus with more powerful Nemo | replace-nautilus-nemo |
System - Replace notepad gedit with pluma | Replace default gedit with powerful pluma notepad. | replace-gedit-pluma |
System - Set Grub Timeout to 1 second | Set Grub Timeout to 1 second | set-grub |
System - Show hidden autostart system entries | Show hidden autostart system entries | 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 |
Main script is autogenerated using script generate-script-from-config.bash in Develop
directory.
Modify ./Develop/config.csv
file and run:
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 :)
Script generation workflow is as follows:
- Read
config.csv
file for:
state
(TRUE/FALSE),task
- task name,description
- description of task
- Then subscripts folder and files are created (if not exist)
- Generate
zenity
main checklist menu. - Generate
case
function for zenity checklist output. - Generate rest of code to provide
zenity
summary and errors windows. - Manually replace feature list in
README.md
with content of generated file: feature_list.md