RE
Custom OS for Programming Contests
This repository contains recipe to customize the Ubuntu 22.04 Jammy
Jellyfish desktop image for an on-site programming contest.
Installation
You can go two ways about this:
- Prepare a custom ISO that can re-distributed.
- Customize an existing installation.
Prepare custom ISO with Cubic
You can choose to create a customized ISO which can then be simply
installed in each machine. To do that, follow these simple steps:
- Download a Ubuntu 22.04 desktop image. Find download options
here. - Launch Cubic, configure and find your way to the console in the
chroot environment. Learn how to use Cubic. - Copy/clone the repository files in the
/rootdirectory. Make sure
to customize options (user accounts etc.) in vars.sh. - Run the install.sh script as
root. It should run
non-interactive. - Proceed with Cubic options, compress and generate the iso.
The ISO can now be re-distributed and installed on machines
independently.
Customize an existing installation
If you have Ubuntu 22.04 installed on a machine, you can simply run the
scripts on the OS to customize your instance. The following steps should
do the trick:
- Copy/clone the repository files. Make sure to customize options (user
accounts etc.) in vars.sh. - Run the install.sh script as
root. It should run
non-interactive.
What's inside?
The scripts install the following utilities:
- Compilers
- GCC
- G++
- Python3
- Java
- Editors
- Vim
- Emacs
- Nano
- Sublime text
- VS Code
- Gedit
- IDEs
- Code::Blocks
- Geany
- PyCharm
- Intellij IDEA
Three user accounts are also created:
- admin (for administrative usage, has sudo rights)
- main (for the on-site main contest)
- mock (for the mock contest)
There are also some pre-loaded configurations located in the
dots directory.
Contributing
Pull Requests are welcome!
License
See LICENSE.
TODO
- Trim down the image. The generated iso is about 6.5G now. Maybe
extend the trim.sh script? - See if the process of creating ISO (with cubic) can be automated.
See context.
On this page
Languages
Shell91.6%Vim Script8.4%
Latest Release
v1.0.0February 18, 2024GNU General Public License v3.0
Created September 10, 2022
Updated December 1, 2025