Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 6 additions & 5 deletions examples/basic/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -9,25 +9,26 @@
mainDisk ? "/dev/nvme0n1",
}:
let
securix = import securix {
securixPkgs = import securix {
edition = "my-team";
defaultTags = [ "my-team" ];
inherit mainDisk pkgs;
inherit pkgs;
};
inherit (pkgs) lib;
in
rec {
users = securix.lib.readInventory ./inventory;
users = securixPkgs.lib.readInventory ./inventory;
vpn-profiles = import ./vpn-profiles { inherit lib; };
# Base system is provided.
terminals = securix.lib.mkTerminals users vpn-profiles (
terminals = securixPkgs.lib.mkTerminals { inherit users vpn-profiles; edition = "my-team"; } (
{ lib, ... }:
{
imports = [
# Any custom module here...
];

securix = {
self.mainDisk = mainDisk;
# Le terminal est multi-opérateur
users.allowAnyOperator = true;

Expand All @@ -54,5 +55,5 @@ rec {
}
);

docs = securix.lib.mkDocs { inherit users terminals vpn-profiles; };
docs = securixPkgs.lib.mkDocs { inherit users terminals vpn-profiles; };
}
2 changes: 2 additions & 0 deletions hardware/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@
./p14sg6.nix
./t14g6.nix
./x13-20ug.nix
./qemu-vm.nix
./galaxybook6-pvap.nix
./x280.nix
./x390.nix
./x9-15.nix
Expand Down
56 changes: 56 additions & 0 deletions hardware/galaxybook6-pvap.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
# SPDX-FileCopyrightText: 2026 Contributors
# SPDX-License-Identifier: MIT
#
# Samsung Galaxy Book6 Enterprise Edition — Model PVAP
# CPU: Intel Core Ultra 5 325 (Panther Lake)

{
config,
lib,
pkgs,
modulesPath,
...
}:
let
inherit (lib) mkIf;
in
{
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];

config = mkIf (config.securix.self.machine.hardwareSKU == "galaxybook6-pvap") {

boot.initrd.availableKernelModules = [
"xhci_pci"
"thunderbolt"
"nvme"
"usb_storage"
"sd_mod"
"i2c_designware_platform"
"i2c_hid_acpi"
];

boot.initrd.kernelModules = [ ];

boot.kernelModules = [
"kvm-intel"
"samsung-galaxybook"
];

boot.extraModulePackages = [ ];

boot.kernelParams = [
"i8042.nopnp"
"i8042.reset"
"i8042.probe_defer"
];

hardware.firmware = [
pkgs.linux-firmware
pkgs.wireless-regdb
];

nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
};
}
8 changes: 2 additions & 6 deletions modules/anssi/preboot.nix
Original file line number Diff line number Diff line change
Expand Up @@ -120,9 +120,7 @@
};
};

config = _: {
# TODO: grub or systemd-boot password
};
config = _: { boot.loader.systemd-boot.editor = false; };

checkScript =
pkgs:
Expand All @@ -141,9 +139,7 @@

# implementations.secureboot = { checkScript = {}; depends = [ "R3" ]; };

config = _: {
# TODO
};
config = _: { boot.loader.systemd-boot.editor = false; };

checkScript =
pkgs:
Expand Down
6 changes: 6 additions & 0 deletions modules/self.nix
Original file line number Diff line number Diff line change
Expand Up @@ -154,6 +154,10 @@ in
description = "Numéro d'inventaire du système";
example = 123456;
};
inventoryID = mkOption {
type = types.nullOr types.int;
default = null;
};

hardwareSKU = mkOption {
type = types.enum [
Expand All @@ -164,6 +168,8 @@ in
"x9-15"
"e14-g7"
"x13-20ug"
"qemu-vm"
"galaxybook6-pvap"
"p14sg6"
];
description = "Identifiant de configuration du matériel";
Expand Down
6 changes: 5 additions & 1 deletion modules/vpn/default.nix
Original file line number Diff line number Diff line change
@@ -1,11 +1,15 @@
# SPDX-FileCopyrightText: 2025 Ryan Lahfa <ryan.lahfa.ext@numerique.gouv.fr>
#
# SPDX-License-Identifier: MIT
{ lib, ... }: {

{
imports = [
./ipsec
./netbird
./wireguard
];
options.securix.vpn.enable = lib.mkOption {
type = lib.types.bool;
default = false;
};
}