Skip to content

The script enables installation and configuration of some essential apps and utilities that make your Ubuntu more useful and powerful.

License

Notifications You must be signed in to change notification settings

wiktor2200/Ubuntu-firstrun-config

Repository files navigation

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

# 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

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: Screenshot1

Example summary: Screenshot2

Features

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

Contribution guide

Generating of main script

Main script is autogenerated using script generate-script-from-config.bash in Develop directory.

Adding new features

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 :)

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
  1. Then subscripts folder and files are created (if not exist)
  2. Generate zenity main checklist menu.
  3. Generate case function for zenity checklist output.
  4. Generate rest of code to provide zenity summary and errors windows.
  5. Manually replace feature list in README.md with content of generated file: feature_list.md