├── README.md ├── dump.sh ├── CONTRIBUTING.md └── LICENSE /README.md: -------------------------------------------------------------------------------- 1 | # Classic installation procedure 2 | 3 | Dump your pc with tools provided by school (PXE or USB Keys) 4 | 5 | Run this command in a root shell (`sudo -i`) : 6 | 7 | ```sh 8 | wget -O - "http://dumpscript.epitest.eu" | bash -s 9 | ``` 10 | (a simple web redirect to dump.sh script in this repository) 11 | 12 | Or as a non-root shell (prompt await for password) 13 | 14 | ```sh 15 | wget -O - "http://dumpscript.epitest.eu" | sudo bash -s 16 | ``` 17 | 18 | In the event of a connection to the PXE dump machine, it is possible that no DNS settings will have been configured. In such a scenario, it is recommended to run the following command as a preliminary measure. 19 | ```sh 20 | echo "nameserver 8.8.8.8" >> /etc/resolv.conf 21 | ``` 22 | 23 | # Manual Installation procedure 24 | 25 | ## Windows 11 installation 26 | 27 | Do a [Classic Installation](https://www.tomshardware.com/how-to/clean-install-windows-11) of a [Windows 11 ISO](https://www.microsoft.com/en-us/software-download/windows11) on the machine, don't forget to leave some space on the hard drive for Ubuntu (at least 50 GB recommended). 28 | 29 | ## Ubuntu 24.04 Installation 30 | 31 | [Ubuntu 24.04](https://releases.ubuntu.com/noble/) 32 | 33 | ## Install dump scripts 34 | 35 | Download [installation scripts](https://github.com/Epitech/dump) to `/tmp`. 36 | 37 | Go to `/tmp` (cd) and `chmod +x dump.sh`. 38 | 39 | Run `./dump.sh` as root or `sudo /tmp/dump.sh`. 40 | 41 | # FAQ 42 | 43 | ### Can I install Ubuntu first? 44 | 45 | Yes, after installing Ubuntu, install Windows on the machine, making sure it uses the remaining space and does not delete the Ubuntu partitions (otherwise try again). 46 | 47 | ### After installing Ubuntu and Windows 11, it only boots into Windows 11, what should I do? 48 | 49 | [Changing the boot order](https://askubuntu.com/a/1394945) -------------------------------------------------------------------------------- /dump.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | clear 4 | 5 | echo "INSTALLING TOOLS AND PACKAGES FOR EPITECH'S DUMP" 6 | if [[ $EUID -ne 0 ]]; then 7 | echo "This script must be run as root" 1>&2 8 | exit 1 9 | fi 10 | 11 | cat /etc/issue | ( grep "Ubuntu 24.04" ) > /dev/null 12 | if [[ $? -ne 0 ]]; then 13 | echo "This script must be run onto an Ubuntu 24.04"; 14 | exit 1 15 | fi 16 | 17 | ################### 18 | ## Cache usage only for PXE 19 | ## Install netcat to prepare cache usage 20 | #apt update 21 | #apt install -y netcat-openbsd 22 | # 23 | ## Install proxy detection 24 | #echo '#!/bin/bash 25 | #proxy=192.168.42.1 26 | #nc -zw1 $proxy 3142 && echo http://$proxy:3142/ || echo DIRECT 27 | #' > /etc/apt/detect_proxy.sh 28 | # 29 | #chmod +x /etc/apt/detect_proxy.sh 30 | # 31 | #echo 'Acquire::http::Proxy-Auto-Detect "/etc/apt/detect_proxy.sh";' > "/etc/apt/apt.conf.d/01acng" 32 | # 33 | ################## 34 | 35 | # Add epitech ppa repository 36 | add-apt-repository -y -s ppa:epitech/ppa 37 | 38 | # Enable universe 39 | add-apt-repository -y -s universe 40 | 41 | # Reload package cache 42 | apt update 43 | 44 | # Install 45 | echo "postfix postfix/mailname string epitech.eu" | debconf-set-selections 46 | echo "postfix postfix/main_mailer_type string 'Internet Site'" | debconf-set-selections 47 | export DEBIAN_FRONTEND=noninteractive 48 | 49 | 50 | ## clang-20 51 | apt install -y wget 52 | wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | tee /etc/apt/trusted.gpg.d/llvm.asc 53 | echo "deb [arch=amd64 signed-by=/etc/apt/trusted.gpg.d/llvm.asc] https://apt.llvm.org/noble/ llvm-toolchain-noble-20 main" | tee /etc/apt/sources.list.d/llvm.list 54 | apt update 55 | apt install -y clang-20 56 | update-alternatives --install /usr/bin/clang clang /usr/bin/clang-20 100 && update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-20 100 57 | 58 | 59 | apt install -y epitech-cpool 60 | apt install -y epitech-emacs 61 | apt install -y epitech-vim 62 | 63 | apt purge -y postfix 64 | 65 | snap install teams-for-linux 66 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # **Contributing to Epitech** 2 | ____ 3 | ## **Found an Issue?** 4 | ____ 5 | If you find a bug in the source code or a mistake in the documentation, you can help us by 6 | submitting an issue to the project issues page. 7 | Each issue should be tagged with at least an "issue type and priority" tag, either "tech-debt" for technical debt issues, or one of improvement, defect or critical for bugs. 8 | 9 | Even better you can submit a Pull Request with a fix. 10 | 11 | ## **Submitting a Pull Request** 12 | ____ 13 | Before you submit your pull request consider the following guidelines: 14 | 15 | * Search for an open or closed Pull Request 16 | that relates to your submission. You don't want to duplicate effort. 17 | * Fork the project and clone it locally 18 | * Make your changes in a new git branch: 19 | 20 | ```shell 21 | git checkout -b my-fix-branch master 22 | ``` 23 | 24 | * Create your patch, **including appropriate test cases**. 25 | * Run the full project test suite (if any exists), 26 | and ensure that all tests pass. 27 | * Commit your changes using a descriptive commit message that follows our 28 | [commit message conventions](#git-commit-guideline). Adherence to the [commit message conventions](#git-commit-guideline) is required, 29 | because release notes are automatically generated from these messages. 30 | 31 | ```shell 32 | git commit -a 33 | ``` 34 | Note: the optional commit `-a` command line option will automatically "add" and "rm" edited files. 35 | 36 | * Push your branch to Github: 37 | 38 | ```shell 39 | git push --set-upstream origin my-fix-branch 40 | ``` 41 | 42 | In Github, send a pull request to `master` accross forks. 43 | If we suggest changes, then: 44 | 45 | * Make the required updates. 46 | * Re-run the full test suite to ensure tests are still passing. 47 | * Commit your changes to your branch (e.g. `my-fix-branch`). 48 | * Push the changes to your Github repository (this will update your Pull Request). 49 | 50 | If the PR gets too outdated we may ask you to rebase and force push to update the PR: 51 | 52 | ```shell 53 | git rebase master -i 54 | git push origin my-fix-branch -f 55 | ``` 56 | 57 | _WARNING: Squashing or reverting commits and force-pushing thereafter may remove Github comments 58 | on code that were previously made by you or others in your commits. Avoid any form of rebasing 59 | unless necessary._ 60 | 61 | #### After your pull request is merged 62 | 63 | After your pull request is merged, you can safely delete your branch and pull the changes 64 | from the main (upstream) repository: 65 | 66 | * Delete the remote branch on Github either through the Github web UI or your local shell as follows: 67 | 68 | ```shell 69 | git push origin --delete my-fix-branch 70 | ``` 71 | 72 | * Check out the master branch: 73 | 74 | ```shell 75 | git checkout master -f 76 | ``` 77 | 78 | * Delete the local branch: 79 | 80 | ```shell 81 | git branch -D my-fix-branch 82 | ``` 83 | 84 | * Update your master with the latest upstream version: 85 | 86 | ```shell 87 | git pull --ff upstream master 88 | ``` 89 | 90 | ## **Git Commit Guideline** 91 | ____ 92 | We have very precise rules over how your git commit messages can be formatted. This leads to **more 93 | readable messages** that are easy to follow when looking through the **project history**. 94 | But also, we use the git commit messages to **generate releases changelogs**. 95 | 96 | ### Commit Message Format 97 | Each commit message consists of a **header**, a **body** and a **footer**. The header has a special 98 | format that includes a **type**, a **scope** and a **subject**: 99 | 100 | ``` 101 | (): 102 | 103 | 104 | 105 |