{"id":21903076,"url":"https://github.com/rebornplusplus/contest-iso","last_synced_at":"2025-04-15T20:35:51.242Z","repository":{"id":221200949,"uuid":"534919765","full_name":"rebornplusplus/contest-iso","owner":"rebornplusplus","description":"Custom OS for Programming Contests","archived":false,"fork":false,"pushed_at":"2025-01-01T07:50:50.000Z","size":1020,"stargazers_count":2,"open_issues_count":3,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-29T01:06:36.569Z","etag":null,"topics":["cubic","iupc","os","programming-contests","ubuntu"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rebornplusplus.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-09-10T07:01:49.000Z","updated_at":"2025-02-04T17:51:18.000Z","dependencies_parsed_at":"2024-11-24T11:29:54.593Z","dependency_job_id":null,"html_url":"https://github.com/rebornplusplus/contest-iso","commit_stats":null,"previous_names":["rebornplusplus/contest-iso"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rebornplusplus%2Fcontest-iso","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rebornplusplus%2Fcontest-iso/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rebornplusplus%2Fcontest-iso/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rebornplusplus%2Fcontest-iso/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rebornplusplus","download_url":"https://codeload.github.com/rebornplusplus/contest-iso/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249149017,"owners_count":21220642,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cubic","iupc","os","programming-contests","ubuntu"],"created_at":"2024-11-28T15:25:29.282Z","updated_at":"2025-04-15T20:35:51.221Z","avatar_url":"https://github.com/rebornplusplus.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Custom OS for Programming Contests\n\nThis repository contains recipe to customize the Ubuntu 22.04 Jammy\nJellyfish desktop image for an on-site programming contest.\n\n[![Tests](https://github.com/rebornplusplus/contest-iso/actions/workflows/tests.yml/badge.svg)](https://github.com/rebornplusplus/contest-iso/actions/workflows/tests.yml)\n\n## Installation\n\nYou can go two ways about this:\n\n1. Prepare a custom ISO that can re-distributed.\n2. Customize an existing installation.\n\n### Prepare custom ISO with [Cubic](https://github.com/PJ-Singh-001/Cubic)\n\nYou can choose to create a customized ISO which can then be simply\ninstalled in each machine. To do that, follow these simple steps:\n\n1. Download a Ubuntu 22.04 desktop image. Find download options\n   [here](http://releases.ubuntu.com/jammy/).\n2. Launch Cubic, configure and find your way to the console in the\n   chroot environment.  [Learn how to use Cubic](https://askubuntu.com/questions/741753/how-to-use-cubic-to-create-a-custom-ubuntu-live-cd-image).\n3. Copy/clone the repository files in the `/root` directory. Make sure\n   to customize options (user accounts etc.) in [vars.sh](./vars.sh).\n4. Run the [install.sh](./install.sh) script as `root`. It _should_ run\n   non-interactive.\n5. Proceed with Cubic options, compress and generate the iso.\n\nThe ISO can now be re-distributed and installed on machines\nindependently.\n\n### Customize an existing installation\n\nIf you have Ubuntu 22.04 installed on a machine, you can simply run the\nscripts on the OS to customize your instance. The following steps should\ndo the trick:\n\n1. Copy/clone the repository files. Make sure to customize options (user\n   accounts etc.) in [vars.sh](./vars.sh).\n2. Run the [install.sh](./install.sh) script as `root`. It _should_ run\n   non-interactive.\n\n## What's inside?\n\nThe scripts install the following utilities:\n\n* Compilers\n   - GCC\n   - G++\n   - Python3\n   - Java\n* Editors\n   - Vim\n   - Emacs\n   - Nano\n   - Sublime text\n   - VS Code\n   - Gedit\n* IDEs\n   - Code::Blocks\n   - Geany\n   - PyCharm\n   - Intellij IDEA\n\nThree user accounts are also created:\n\n* admin\t(for administrative usage, has sudo rights)\n* main\t(for the on-site main contest)\n* mock\t(for the mock contest)\n\nThere are also some pre-loaded configurations located in the\n[dots](./dots/) directory.\n\n## Contributing\n\nPull Requests are welcome!\n\n## License\n\nSee [LICENSE](./LICENSE).\n\n## TODO\n\n- [ ] Trim down the image. The generated iso is about 6.5G now. Maybe\n  extend the [trim.sh](./scripts/trim.sh) script?\n- [ ] See if the process of creating ISO (with cubic) can be automated.\n  [See context](https://answers.launchpad.net/cubic/+question/677976).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frebornplusplus%2Fcontest-iso","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frebornplusplus%2Fcontest-iso","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frebornplusplus%2Fcontest-iso/lists"}