desktop.yml provides various types of computer users capable software on a fresh or existing install of Ubuntu Linux or related system (see here for compatible systems). Browse the personas and their descriptions below to get an idea of the great software packages desktop.yml will install.
🧑 everyday-user.yml
Installs Windows compatibility software, day-to-day utilities, cloud music players, social messengers, Slack, an antivirus solution, image editors, an office suite, note taking applications, and popular web browsers.
👩💻 programmer.yml
Installs source code and text editors, IDEs, scientific python, database tools, popular cloud CLI tools, compiliers, Docker, version control systems, diagramming tools, FTP and SSH tools, virtual machine managers, QA testing tools, and a multi-paned terminal emulator.
🎨 artist.yml
Installs animation editors, 3D object creators, photography workflows managers, graphical transcoders, raster painting tools, video editors, fractal generators, and color palette selectors.
🎼 musician.yml
Installs digital audio workstations, multi-track audio recorders, multimedia file converters, drum machines, multi-effect processors, DJing mixers, and scorewriters.
⚙️ engineer.yml
Installs diagramming tools, parametric 3D CAD modelers, mind-mapping tools, and an electrical circuit diagramming solution.
🎮 gamer.yml
Installs popular console and handheld emulators, PlayOnLinux, Steam, well-known Linux games, and gamer-specific communication and streaming platforms.
Currently supported systems:
(For Virtual Machine Users, first see: "VM Users" below)
Install desktop.yml (line-by-line) like so:
wget https://github.com/GoTeamEpsilon/desktop.yml/archive/master.zip
unzip master.zip
mv desktop.yml-master desktop.yml
rm master.zip
cd desktop.yml
sudo ./assets/install.sh
With "sleep mode" turned off, install the personas like so:
ansible-playbook -K -l localhost everyday-user.yml # Recommended for everyone
ansible-playbook -K -l localhost programmer.yml
ansible-playbook -K -l localhost artist.yml
ansible-playbook -K -l localhost musician.yml
ansible-playbook -K -l localhost engineer.yml
ansible-playbook -K -l localhost gamer.yml
If you are running the OS in a Virtual Machine, it is best to set the system clock as like so:
sudo date --set "27 Jun 2019 1:17:00" && sudo apt update
...Doing so will avoid Updates for this repository will not be applied
installation errors. Once done, you may proceed in the personas installations
PRs are welcomed to further add to the personas or create new ones!
-
desktop.yml is powered by Ansible with Snap, Apt, Pip3, and NPM as the package managers.
-
No software configurations are included in this solution - the idea is that everyone will have different configurations, especially in the programmer persona.
-
To add Snap, Pip, Apt, and Npm Global tasks, view programmer.yml to see example of all of these in use.
-
To add bash tasks, explore musician.yml for a program called Giada. Look at the bash declaration and the corresponding script file in
./assets/scripts/musician/giada.sh
- Notice how the script checks for its existance and writes the program to/usr/local/bin/
if it doesn't exist. Note that all scripts should write to/usr/local/bin
. -
The Snap module for Ansible is not production-ready at the time of this writing. As a result, the
command
function is used in place of a formal task declaration due to the lack of this module integration. -
Avoid adding ppas targeted for older Ubuntu release
The Following Ubuntu-based systems do not work correctly with this solution. Below is a list of the OSes and the issue:
- LUbuntu 18.04 - Didn't install typical packages that are supplied by Bionic
- Zorin OS 12.4 - The installer keep yielding
could not get lock
, despite a fresh install - Linux Mint 19.1 - Apt was pointing at "Tessa" release as opposed to Bionic, which lead to packages not being found
-
Consider ways to support systems that rely on Yum, Pacman, or RPM.
-
Consider adding desktop entries + logos for /usr/local/bin programs
-
Add current user to the docker group to avoid having to use
sudo
for all commands
Team Epsilon is a volunteer team of like-minded developers who strive to positively contribute to open source through code, education, and kindness. Join us. Support us on Patreon.
Project sub-team:
- QA: Dr. Andre Millet
- Code: Matthew Vita
- Code: Victor Kofiav
Font Credit: Geo Sans Light
License: Public Domain (CC0)