Skip to content

Commit 2e6ffdc

Browse files
authored
Merge pull request #96 from ThePorgs/dev
Refactor on the nix wrapper install & legal changes
2 parents 2ee2c87 + 5ab0405 commit 2e6ffdc

File tree

11 files changed

+191
-59
lines changed

11 files changed

+191
-59
lines changed

docs/src/install/on-nixos.md

Lines changed: 100 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,21 @@
33
> [!NOTE]
44
> This page was brought to you by a community member and wasn't "mass-tested" yet. Feedback on whether it works properly (or not) would be greatly appreciated (please head over to our Discord server for that).
55
6+
> [!IMPORTANT]
7+
> This page focuses on the NixOS way (declarative and reproducible) and also documents an alternative with pipx. Because NixOS is all about reproducibility, the "nix way" comes first. Please note that the official and recommended way to install Exegol is over pipx.
8+
69
Exegol is installed through two main steps:
710

811
1. Install the Python wrapper (the "brains")
912
2. Install at least one Exegol image (the "muscle")
1013

11-
## 1. Requirements
14+
## 1. NixOS-native
1215

13-
`git`, `python3`, `pipx`, and the Docker engine can be installed by editing your NixOS configuration:
16+
This approach keeps your system declarative and reproducible: all changes live in your Nix configuration.
17+
18+
### Enable Docker & install Exegol
19+
20+
`exegol` and the Docker engine can be installed by editing your NixOS configuration:
1421

1522
```bash
1623
sudo nano /etc/nixos/configuration.nix
@@ -19,15 +26,94 @@ sudo nano /etc/nixos/configuration.nix
1926
Add the following lines (or merge with your existing configuration):
2027

2128
```bash
22-
environment.systemPackages = with pkgs; [
29+
environment.systemPackages = with pkgs; [
30+
exegol
31+
];
32+
virtualisation.docker = {
33+
enable = true;
34+
# Do NOT enable rootless here — Exegol doesn’t support Docker rootless mode
35+
rootless.enable = false; # (false is the default)
36+
};
37+
```
38+
39+
To run Exegol without sudo, the user must be a member of the docker group. This can be declared in the NixOS configuration:
40+
```nix
41+
users.users.<user>.extraGroups = [ "docker" ];
42+
```
43+
44+
> [!WARNING]
45+
> The exegol package in nixpkgs is not maintained by the Exegol team. Packaging issues should be reported to the `nixpkgs` maintainers. Questions may be asked on Discord, but support for this packaging path is provided on a best-effort basis.
46+
47+
Save the file with [CTRL] + [O], press [ENTER], and exit with [CTRL] + [X]. Then rebuild your system:
48+
49+
```bash
50+
sudo nixos-rebuild switch
51+
```
52+
53+
> [!TIP]
54+
> Using flakes ? Add `pkgs.exegol` in the flake’s NixOS module in the same way, then:
55+
> ```bash
56+
> sudo nixos-rebuild switch --flake .#your-host
57+
> ```
58+
59+
After rebuilding, log out and back in (or run newgrp docker) so the new group membership takes effect.
60+
61+
### Need a newer Exegol wrapper via `nixpkgs`?
62+
63+
From most stable to least stable option:
64+
65+
1. A newer channel (e.g., `nixos-unstable`) can be used for just this package:
66+
```nix
67+
let
68+
unstable = import <nixos-unstable> { };
69+
in {
70+
environment.systemPackages = with pkgs; [
71+
unstable.exegol
72+
];
73+
}
74+
```
75+
> The whole system can also be switched to `nixos-unstable`, but that affects everything.
76+
2. If the target version is not yet present in `nixpkgs`:
77+
- The Exegol derivation can be copied from a PR or a staging branch into the configuration.
78+
- Write your own derivation pointing to the desired source/version
79+
80+
> [!NOTE]
81+
> Prefer these Nix-friendly options over [`pipx`](/install/on-nixos#_2-portable-alternative) only if you care about reproducibility.
82+
83+
### Next
84+
85+
Once the wrapper and docker are installed, the main installation documentation can be followed, from [step "3. Activation"](/first-install#_3-activation).
86+
87+
## 2. `pipx` alternative
88+
89+
### Enable prerequisite
90+
91+
If you need the very latest wrapper immediately and can accept a non-declarative/non-reproducible setup:
92+
93+
`git`, `python3`, `pipx`, and the Docker engine can be installed by editing your NixOS configuration:
94+
95+
```bash
96+
sudo nano /etc/nixos/configuration.nix
97+
```
98+
99+
Add the following lines (or merge with your existing configuration):
100+
101+
```nix
102+
environment.systemPackages = with pkgs; [
23103
git
24104
python3
25105
pipx
26-
];
27-
virtualisation.docker = {
28-
enable = true;
29-
};
106+
];
107+
virtualisation.docker = {
108+
enable = true;
109+
# Do NOT enable rootless here — Exegol doesn’t support Docker rootless mode
110+
rootless.enable = false; # (false is the default)
111+
};
112+
```
30113
114+
To run Exegol without sudo, the user must be a member of the docker group. This can be declared in the NixOS configuration:
115+
```nix
116+
users.users.<user>.extraGroups = [ "docker" ];
31117
```
32118
33119
Save the file with [CTRL] + [O], press [ENTER], and exit with [CTRL] + [X].
@@ -38,18 +124,17 @@ Then apply the changes:
38124
sudo nixos-rebuild switch
39125
```
40126
41-
Ensure `pipx` is in PATH and reload the shell
127+
> [!TIP]
128+
> Using flakes ? Add `pkgs.git`, `pkgs.python3` and `pkgs.pipx` in the flake’s NixOS module in the same way, then:
129+
> ```bash
130+
> sudo nixos-rebuild switch --flake .#your-host
131+
> ```
42132
133+
Ensure pipx is in PATH and reload the shell
43134
```bash
44135
pipx ensurepath && exec $SHELL
45136
```
46137
47-
While we always advise to refer to the [official documentation](https://docs.docker.com/engine/install/)
48-
49-
50-
> [!WARNING]
51-
> Docker "[Rootless mode](https://docs.docker.com/engine/security/rootless/)" is not supported by Exegol as of yet. Don't follow that part.
52-
53-
## 2. The rest
138+
### Next
54139
55140
Once the requirements are installed, the main installation documentation can be followed, from [step "2. Wrapper install"](/first-install#_2-wrapper-install).

docs/src/legal/cookie-policy.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,4 +63,4 @@ We may update this cookie policy from time to time. Significant changes will be
6363

6464
## 6. Contact
6565

66-
If you have questions about our cookie practices, please contact [contact@exegol.com](mailto:contact@exegol.com).
66+
If you have questions about our cookie practices, please contact contact@exegol.com.

docs/src/legal/eula.md

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ By downloading, installing, accessing, or using the Software, You agree to be bo
66

77
If You do not agree to the terms of this Agreement, You must not use the Software.
88

9+
For open-source components, please also refer to the Exegol Software License (ESL) (https://docs.exegol.com/legal/software-license).
10+
911
## 1. License grant
1012

1113
Subject to Your compliance with this Agreement, Execorp grants You a personal, limited, non-exclusive, non-transferable, revocable license to install and use the Software solely:
@@ -28,12 +30,13 @@ This requirement may not apply to certain Enterprise licenses, on a case-by-case
2830

2931
## 2. License restrictions
3032

31-
You agree that You will not:
33+
Except where expressly permitted by the Exegol Software License (ESL) (https://docs.exegol.com/legal/software-license), other applicable open-source licenses, or by law, you agree that you will not:
34+
3235
- Copy, distribute, sell, sublicense, lease, or otherwise transfer the Software to any third party
33-
- Modify, adapt, create derivative works from, or translate the Software
36+
- Modify, adapt, create derivative works from, or translate the Software, except for personal use or community contribution, provided such modification is not intended to circumvent license verification or other technical restrictions; any commercial use of modifications is only permitted in accordance with your subscription plan (Pro or Enterprise) and is subject to this Agreement, the [Terms of Sale](https://docs.exegol.com/legal/terms-of-sale), and the [Terms of Service](https://docs.exegol.com/legal/terms-of-service); any form of commercial exploitation (such as reselling, providing managed services, or repackaging for third parties) is strictly prohibited without a separate written agreement with Execorp.
3437
- Reverse engineer, decompile, disassemble, or otherwise attempt to discover the source code of the Software, except as expressly permitted by applicable law and then only after prior written notice to Execorp
3538
- Remove, obscure, or alter any proprietary notices, labels, or marks on the Software
36-
- Use the Software for illegal activities or unauthorized penetration testing without explicit consent
39+
- Use the Software for illegal activities
3740
- Use the Software in any manner that infringes the intellectual property rights or other rights of Execorp or any third party
3841

3942
## 3. Commercial use
@@ -52,6 +55,12 @@ All rights, titles, and interests in and to the Software, including any intellec
5255

5356
This Agreement does not grant You any rights to trademarks or service marks of Execorp.
5457

58+
### 4.1 Open-source components
59+
60+
Certain components of the Software may be open-source and subject to additional licensing terms, including the Exegol Software License (ESL) (https://docs.exegol.com/legal/software-license) and, where applicable, the GNU General Public License version 3 (GPL3). You must comply with all applicable open-source licenses in addition to this EULA.
61+
62+
For open-source components, the terms of the applicable open-source license take precedence over conflicting terms in this EULA, except for commercial use restrictions which remain subject to our Terms of Service and Sale, and commercial exploitation which is strictly prohibited without a separate written agreement with Execorp.
63+
5564
## 5. Updates and modifications
5665

5766
Execorp may, at its sole discretion, release updates, patches, or new versions of the Software.
@@ -92,4 +101,4 @@ Any dispute arising out of or related to this Agreement will be submitted to the
92101

93102
## 10. Contact
94103

95-
For any inquiries related to this Agreement or the Software, You may contact: [contact@exegol.com](mailto:contact@exegol.com)
104+
For any inquiries related to this Agreement or the Software, You may contact contact@exegol.com

docs/src/legal/legal-notice.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,17 @@
22

33
## 1. Website publisher
44

5-
The website [https://exegol.com](https://exegol.com) and all its subdomains are published by Execorp, a Simplified Joint Stock Company (SAS) with a capital of 10,000 euros, registered in the "Tribunal des Activités Économiques de Paris" under SIREN number 944 256 536. Registered office: 122 rue Amelot, 75011 Paris, France. Contact email: [contact@exegol.com](mailto:contact@exegol.com)
5+
The website https://exegol.com and all its subdomains are published by Execorp, a Simplified Joint Stock Company (SAS) with a capital of 10,000 euros, registered in the "Tribunal des Activités Économiques de Paris" under SIREN number 944 256 536. Registered office: 122 rue Amelot, 75011 Paris, France. Contact email: contact@exegol.com
66

77
## 2. Publishing director
88

99
The publishing director is the President of Execorp, namely MONKEY 513, a Single-Person Simplified Joint Stock Company (SASU), registered under SIREN number 932 547 367, with its registered office at 122 rue Amelot, 75011 Paris, France.
1010

1111
## 3. Hosting
1212

13-
The website [https://exegol.com](https://exegol.com) and all its subdomains are primarily hosted by Cloudflare, Inc., 101 Townsend St, San Francisco, CA 94107, United States. Website: [https://www.cloudflare.com](https://www.cloudflare.com)
13+
The website https://exegol.com and all its subdomains are primarily hosted by Cloudflare, Inc., 101 Townsend St, San Francisco, CA 94107, United States. Website: www.cloudflare.com.
1414

15-
Certain data, particularly user databases, are stored by Supabase, Inc., 970 Toa Payoh North, #07-04, Singapore 318992. Website: [https://supabase.com](https://supabase.com). The database itself is in France.
15+
Certain data, particularly user databases, are stored by Supabase, Inc., 970 Toa Payoh North, #07-04, Singapore 318992. Website: https://supabase.com. The database itself is in France.
1616

1717
## 4. Intellectual property
1818

docs/src/legal/open-source-components.md

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -8,25 +8,25 @@ The following is a non-exhaustive list of the primary open source components use
88

99
### 1.1 Core technologies
1010

11-
- **Docker**: [Apache License 2.0](https://github.com/moby/moby/blob/master/LICENSE)
12-
- **Python**: [Python Software Foundation License](https://docs.python.org/3/license.html)
13-
- **Debian**: [Various licenses](https://www.debian.org/legal/licenses/)
11+
- **Docker**: Apache License 2.0 (https://github.com/moby/moby/blob/master/LICENSE)
12+
- **Python**: Python Software Foundation License (https://docs.python.org/3/license.html)
13+
- **Debian**: Various licenses (https://www.debian.org/legal/licenses/)
1414

1515
### 1.2 Web and frontend components
1616

17-
- **React**: [MIT License](https://github.com/facebook/react/blob/main/LICENSE)
18-
- **NextJS**: [MIT License](https://github.com/vercel/next.js/blob/canary/license.md)
19-
- **Tailwind CSS**: [MIT License](https://github.com/tailwindlabs/tailwindcss/blob/master/LICENSE)
17+
- **React**: MIT License (https://github.com/facebook/react/blob/main/LICENSE)
18+
- **NextJS**: MIT License (https://github.com/vercel/next.js/blob/canary/license.md)
19+
- **Tailwind CSS**: MIT License (https://github.com/tailwindlabs/tailwindcss/blob/master/LICENSE)
2020

2121
### 1.3 Backend and infrastructure
2222

23-
- **Supabase**: [Apache License 2.0](https://github.com/supabase/supabase/blob/master/LICENSE)
24-
- **PostgreSQL**: [PostgreSQL License](https://www.postgresql.org/about/licence/)
25-
- **Nginx**: [BSD 2-Clause License](https://nginx.org/LICENSE)
23+
- **Supabase**: Apache License 2.0 (https://github.com/supabase/supabase/blob/master/LICENSE)
24+
- **PostgreSQL**: PostgreSQL License (https://www.postgresql.org/about/licence/)
25+
- **Nginx**: BSD 2-Clause License (https://nginx.org/LICENSE)
2626

2727
### 1.4 Security tools and libraries
2828

29-
For a complete and up-to-date list of security tools included in Exegol, please refer to [the tools list](/images/tools).
29+
For a complete and up-to-date list of security tools included in Exegol, please refer to the tools list at [https://docs.exegol.com/images/tools](/images/tools).
3030

3131
## 2. License compliance
3232

@@ -41,7 +41,7 @@ Execorp strives to ensure compliance with all open source licenses. This include
4141

4242
The complete license texts for the above components can be found in their respective repositories or websites.
4343

44-
If you believe any component is not properly attributed or is used in a way that violates its license terms, please contact us at [contact@exegol.com](mailto:contact@exegol.com).
44+
If you believe any component is not properly attributed or is used in a way that violates its license terms, please contact us at contact@exegol.com.
4545

4646
## 4. Contributing to open source
4747

docs/src/legal/privacy-policy.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
The data controller for the data collected on exegol.com and its subdomains is:
66
Execorp, SAS with a capital of 10,000 euros, whose registered office is located at 122 rue Amelot, 75011 Paris, France.
7-
Contact email: [contact@exegol.com](mailto:contact@exegol.com)
7+
Contact email: contact@exegol.com
88

99
## 2. Data collected
1010

@@ -71,7 +71,7 @@ In accordance with applicable regulations, users have the following rights:
7171
- Right to restriction of processing
7272
- Right to data portability
7373

74-
To exercise these rights, users can send a request to: [contact@exegol.com](mailto:contact@exegol.com)
74+
To exercise these rights, users can send a request to: contact@exegol.com
7575

7676
## 10. Data breach notification
7777

@@ -93,7 +93,7 @@ We will communicate through email, account notifications, or other direct means
9393
## 11. GDPR compliance
9494

9595
Execorp processes personal data in accordance with the General Data Protection Regulation (GDPR - Regulation (EU) 2016/679).
96-
Users also have the right to lodge a complaint with the competent supervisory authority, the CNIL (Commission Nationale de l'Informatique et des Libertés), accessible via the website: [www.cnil.fr](https://www.cnil.fr).
96+
Users also have the right to lodge a complaint with the competent supervisory authority, the CNIL (Commission Nationale de l'Informatique et des Libertés), accessible via the website www.cnil.fr.
9797

9898
## 12. Modifications
9999

docs/src/legal/security-policy.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ The following is a non-exhaustive list of examples considered out of scope:
3131

3232
## 3. How to report a vulnerability
3333

34-
Please contact us primarily through our dedicated email address: [contact@exegol.com](mailto:contact@exegol.com)
34+
Please contact us primarily through our dedicated email address: contact@exegol.com
3535

3636
When reporting, please:
3737
- Provide a clear description of the issue

docs/src/legal/software-license.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,15 @@
22

33
## Preamble
44

5-
The Exegol software suite ("Exegol") is developed by Execorp to serve the needs of cybersecurity professionals. While certain elements of the source code, scripts, documentation, or containers may be made publicly accessible, such availability is intended to foster transparency, community trust, and collaboration.
5+
The Exegol software suite ("Exegol") is developed by Execorp, with valuable contributions from the community, to serve the needs of cybersecurity professionals. While certain elements of the source code, scripts, documentation, or containers may be made publicly accessible, such availability is intended to foster transparency, community trust, and collaboration.
66

77
This public access does not imply a waiver of Execorp's intellectual property rights, nor does it authorize unrestricted or commercial use of the software.
88

99
### License Transition and GPL3 Coexistence
1010

1111
Exegol is transitioning from the GNU General Public License version 3 (GPL3) to the Execorp Software License (ESL). This transition is governed by the following rules:
1212

13-
- All code released prior to June 5th, 2025 remains under GPL3 (i.e., [GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007](https://www.gnu.org/licenses/gpl-3.0.en.html))
13+
- All code released prior to June 5th, 2025 remains under GPL3 (i.e., GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 - https://www.gnu.org/licenses/gpl-3.0.en.html)
1414
- Code released since June 5th, 2025 (the start date of this dual-license mechanism) will be under either:
1515
- The Exegol Software License (ESL)
1616
- or GPL3 (if it contains or is derived from GPL3-licensed code)

0 commit comments

Comments
 (0)