diff --git a/docs/manual/book.toml b/docs/manual/book.toml index 17076642..a6c74475 100644 --- a/docs/manual/book.toml +++ b/docs/manual/book.toml @@ -1,9 +1,10 @@ # SPDX-FileCopyrightText: 2026 Ryan Lahfa +# SPDX-FileContributor: 2026 Xavier Maso # # SPDX-License-Identifier: CC-BY-SA-4.0 [book] -authors = ["Ryan Lahfa"] +authors = ["Ryan Lahfa", "Xavier Maso"] language = "en" src = "src" title = "Sécurix" diff --git a/docs/manual/src/SUMMARY.md b/docs/manual/src/SUMMARY.md index f4aff2eb..54fe88fe 100644 --- a/docs/manual/src/SUMMARY.md +++ b/docs/manual/src/SUMMARY.md @@ -44,3 +44,7 @@ SPDX-License-Identifier: CC-BY-SA-4.0 - [Secure Boot]() - [ANSSI compliance]() - [Security key user logins]() + +# External references + +- [Resources](./external/links.md) diff --git a/docs/manual/src/about/securix.md b/docs/manual/src/about/securix.md index e7a43614..63d072f1 100644 --- a/docs/manual/src/about/securix.md +++ b/docs/manual/src/about/securix.md @@ -1,9 +1,11 @@ # What is Sécurix? - +An operating system developped at [DINUM](https://www.numerique.gouv.fr/), primarily for internal use, for building workstation environments that are declarative, reproducible, and secure by default. +Based on [`NixOS`](https://nixos.org/), it allows to write configuration as code for defining users, programs, services, configurations, and more. diff --git a/docs/manual/src/external/links.md b/docs/manual/src/external/links.md new file mode 100644 index 00000000..305a47dc --- /dev/null +++ b/docs/manual/src/external/links.md @@ -0,0 +1,14 @@ + + +# Resources + +- [nix.dev](https://nix.dev/) a good starting point into the `Nix`/`Lix` and `NixOS` ecosystem +- Manuals + - [`Nixos`](https://nixos.org/manual/nixos/stable/), and particularly the [module development section](https://nixos.org/manual/nixos/stable/#sec-writing-modules) + - [`Nix`](https://nix.dev/manual/nix/2.34/)/[`Lix`](https://docs.lix.systems/manual/lix/stable/) for commands and some implementation details + - [`nixpkgs`](https://nixos.org/manual/nixpkgs/stable/) regarding writing expressions for building packages +- [the **official** wiki](https://wiki.nixos.org) has some interesting tips in niche topics, but of very mixed quality and up-to-date-ness diff --git a/modules/updates/permissionless-upgrade.nix b/modules/updates/permissionless-upgrade.nix index f30bf8bc..44165afa 100644 --- a/modules/updates/permissionless-upgrade.nix +++ b/modules/updates/permissionless-upgrade.nix @@ -210,6 +210,8 @@ let upgradeScript = pkgs.writeShellApplication { name = "upgrade"; + runtimeInputs = [ pkgs.git ]; + text = '' # Ensure the script runs as root if [ "$(id -u)" -ne 0 ]; then diff --git a/tests/tools.nix b/tests/tools.nix index ab25b346..f5bb6f38 100644 --- a/tests/tools.nix +++ b/tests/tools.nix @@ -8,6 +8,7 @@ let { name, serialNumber, + inventoryId ? null, extraSecurixConfig, }: { @@ -21,7 +22,7 @@ let self = { mainDisk = "/dev/nvme0n1"; machine = { - inherit serialNumber; + inherit serialNumber inventoryId; hardwareSKU = "x280"; }; }; @@ -34,6 +35,7 @@ let terminal-with-tools = libSecurix.mkTerminal (terminalWith { name = "tools"; serialNumber = "000000"; + inventoryId = 0; extraSecurixConfig = { tools.enable = true; }; @@ -47,16 +49,16 @@ in pkgs.testers.nixosTest { name = "tools"; nodes = { - securix-unbranded-000000 = { + securix-unbranded-0 = { imports = terminal-with-tools.modules; }; - securix-unbranded-000001 = { + "securix-unbranded-${builtins.substring 0 12 (builtins.hashString "sha256" "000001")}" = { imports = terminal-without-tools.modules; }; }; testScript = '' - securix_with_tools = securix_unbranded_000000 - securix_without_tools = securix_unbranded_000001 + securix_with_tools = securix_unbranded_0 + securix_without_tools = securix_unbranded_${builtins.substring 0 12 (builtins.hashString "sha256" "000001")} securix_with_tools.wait_for_unit("default.target") securix_without_tools.wait_for_unit("default.target")