mirror of https://gitlab.crans.org/nounous/nixos
Petit nettoyage de printemps
parent
72622f4ef3
commit
fbe659d0c5
|
|
@ -120,6 +120,8 @@
|
||||||
perSystem =
|
perSystem =
|
||||||
{ config, pkgs, ... }:
|
{ config, pkgs, ... }:
|
||||||
{
|
{
|
||||||
|
packages = pkgs.callPackage ./pkgs/packages.nix { inherit pkgs; };
|
||||||
|
|
||||||
devShells = {
|
devShells = {
|
||||||
default = pkgs.callPackage ./devshells/default.nix { inherit (inputs) agenix; };
|
default = pkgs.callPackage ./devshells/default.nix { inherit (inputs) agenix; };
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,9 @@
|
||||||
{ pkgs, lib, modulesPath, ... }:
|
{
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
modulesPath,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
|
|
@ -12,14 +17,21 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
nix = {
|
nix = {
|
||||||
settings.experimental-features = [ "nix-command" "flakes" ];
|
settings.experimental-features = [
|
||||||
|
"nix-command"
|
||||||
|
"flakes"
|
||||||
|
];
|
||||||
extraOptions = "experimental-features = nix-command flakes";
|
extraOptions = "experimental-features = nix-command flakes";
|
||||||
};
|
};
|
||||||
|
|
||||||
boot = {
|
boot = {
|
||||||
kernelParams = [ "console=ttyS0,115200" ];
|
kernelParams = [ "console=ttyS0,115200" ];
|
||||||
kernelPackages = pkgs.linuxPackages_latest;
|
kernelPackages = pkgs.linuxPackages_latest;
|
||||||
supportedFilesystems = lib.mkForce [ "btrfs" "vfat" "zfs"];
|
supportedFilesystems = lib.mkForce [
|
||||||
|
"btrfs"
|
||||||
|
"vfat"
|
||||||
|
"zfs"
|
||||||
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
services.openssh = {
|
services.openssh = {
|
||||||
|
|
@ -37,10 +49,9 @@
|
||||||
programs.vim.enable = true;
|
programs.vim.enable = true;
|
||||||
|
|
||||||
environment.systemPackages =
|
environment.systemPackages =
|
||||||
let crans-ip-config =
|
let
|
||||||
(
|
crans-ip-config = (
|
||||||
pkgs.writeShellScriptBin "crans-ip-config"
|
pkgs.writeShellScriptBin "crans-ip-config" ''
|
||||||
''
|
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
echo -n "ID : "
|
echo -n "ID : "
|
||||||
read ID
|
read ID
|
||||||
|
|
@ -62,10 +73,8 @@
|
||||||
fi
|
fi
|
||||||
''
|
''
|
||||||
);
|
);
|
||||||
crans-disk-config =
|
crans-disk-config = (
|
||||||
(
|
pkgs.writeShellScriptBin "crans-disk-config" ''
|
||||||
pkgs.writeShellScriptBin "crans-disk-config"
|
|
||||||
''
|
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
lsblk
|
lsblk
|
||||||
echo -n "disque /dev/XXX : "
|
echo -n "disque /dev/XXX : "
|
||||||
|
|
@ -85,7 +94,9 @@
|
||||||
echo "Pensez également à vous mettre sur la branche appropriée"
|
echo "Pensez également à vous mettre sur la branche appropriée"
|
||||||
''
|
''
|
||||||
);
|
);
|
||||||
in with pkgs; [
|
in
|
||||||
|
with pkgs;
|
||||||
|
[
|
||||||
bat
|
bat
|
||||||
fd
|
fd
|
||||||
helix
|
helix
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,9 @@ let
|
||||||
|
|
||||||
pam_modules_path = "${pkgs.pam}/lib/security";
|
pam_modules_path = "${pkgs.pam}/lib/security";
|
||||||
# nixos/modules/security/pam.nix
|
# nixos/modules/security/pam.nix
|
||||||
pam_ldap = "${if config.users.ldap.daemon.enable then pkgs.nss_pam_ldapd else pkgs.pam_ldap}/lib/security";
|
pam_ldap = "${
|
||||||
|
if config.users.ldap.daemon.enable then pkgs.nss_pam_ldapd else pkgs.pam_ldap
|
||||||
|
}/lib/security";
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
services.collabora-online = {
|
services.collabora-online = {
|
||||||
|
|
@ -22,13 +24,19 @@ in
|
||||||
|
|
||||||
net = {
|
net = {
|
||||||
listen = "loopback";
|
listen = "loopback";
|
||||||
post_allow.host = ["::1" "172.0.0.1"];
|
post_allow.host = [
|
||||||
|
"::1"
|
||||||
|
"172.0.0.1"
|
||||||
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
# ouvre seulement les fichiers depuis nextcloud
|
# ouvre seulement les fichiers depuis nextcloud
|
||||||
storage.wopi = {
|
storage.wopi = {
|
||||||
"@allow" = true;
|
"@allow" = true;
|
||||||
host = ["nextcloud.crans.org" "nextcloud.adm.crans.org"];
|
host = [
|
||||||
|
"nextcloud.crans.org"
|
||||||
|
"nextcloud.adm.crans.org"
|
||||||
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
admin_console.enable_pam = true;
|
admin_console.enable_pam = true;
|
||||||
|
|
|
||||||
|
|
@ -1,20 +1,33 @@
|
||||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
# and may be overwritten by future invocations. Please make changes
|
# and may be overwritten by future invocations. Please make changes
|
||||||
# to /etc/nixos/configuration.nix instead.
|
# to /etc/nixos/configuration.nix instead.
|
||||||
{ config, lib, pkgs, modulesPath, ... }:
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
modulesPath,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
imports = [
|
||||||
[ (modulesPath + "/profiles/qemu-guest.nix")
|
(modulesPath + "/profiles/qemu-guest.nix")
|
||||||
];
|
];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [ "ata_piix" "uhci_hcd" "virtio_pci" "virtio_scsi" "sd_mod" "sr_mod" ];
|
boot.initrd.availableKernelModules = [
|
||||||
|
"ata_piix"
|
||||||
|
"uhci_hcd"
|
||||||
|
"virtio_pci"
|
||||||
|
"virtio_scsi"
|
||||||
|
"sd_mod"
|
||||||
|
"sr_mod"
|
||||||
|
];
|
||||||
boot.initrd.kernelModules = [ ];
|
boot.initrd.kernelModules = [ ];
|
||||||
boot.kernelModules = [ ];
|
boot.kernelModules = [ ];
|
||||||
boot.extraModulePackages = [ ];
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
fileSystems."/" =
|
fileSystems."/" = {
|
||||||
{ device = "/dev/disk/by-uuid/ef139717-388f-41f3-b707-b0f75af3f546";
|
device = "/dev/disk/by-uuid/ef139717-388f-41f3-b707-b0f75af3f546";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -44,7 +44,6 @@
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
appstoreEnable = true;
|
appstoreEnable = true;
|
||||||
extraAppsEnable = true;
|
extraAppsEnable = true;
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -1,20 +1,33 @@
|
||||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
# and may be overwritten by future invocations. Please make changes
|
# and may be overwritten by future invocations. Please make changes
|
||||||
# to /etc/nixos/configuration.nix instead.
|
# to /etc/nixos/configuration.nix instead.
|
||||||
{ config, lib, pkgs, modulesPath, ... }:
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
modulesPath,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
imports = [
|
||||||
[ (modulesPath + "/profiles/qemu-guest.nix")
|
(modulesPath + "/profiles/qemu-guest.nix")
|
||||||
];
|
];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [ "ata_piix" "uhci_hcd" "virtio_pci" "virtio_scsi" "sd_mod" "sr_mod" ];
|
boot.initrd.availableKernelModules = [
|
||||||
|
"ata_piix"
|
||||||
|
"uhci_hcd"
|
||||||
|
"virtio_pci"
|
||||||
|
"virtio_scsi"
|
||||||
|
"sd_mod"
|
||||||
|
"sr_mod"
|
||||||
|
];
|
||||||
boot.initrd.kernelModules = [ ];
|
boot.initrd.kernelModules = [ ];
|
||||||
boot.kernelModules = [ ];
|
boot.kernelModules = [ ];
|
||||||
boot.extraModulePackages = [ ];
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
fileSystems."/" =
|
fileSystems."/" = {
|
||||||
{ device = "/dev/disk/by-uuid/ad1cdd57-44a2-4e1c-83c7-8810a567e0f7";
|
device = "/dev/disk/by-uuid/ad1cdd57-44a2-4e1c-83c7-8810a567e0f7";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,17 +6,21 @@
|
||||||
ens18 = {
|
ens18 = {
|
||||||
|
|
||||||
ipv4 = {
|
ipv4 = {
|
||||||
addresses = [{
|
addresses = [
|
||||||
|
{
|
||||||
address = "172.16.10.118";
|
address = "172.16.10.118";
|
||||||
prefixLength = 24;
|
prefixLength = 24;
|
||||||
}];
|
}
|
||||||
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
ipv6 = {
|
ipv6 = {
|
||||||
addresses = [{
|
addresses = [
|
||||||
|
{
|
||||||
address = "fd00::10:0:ff:fe01:1810";
|
address = "fd00::10:0:ff:fe01:1810";
|
||||||
prefixLength = 64;
|
prefixLength = 64;
|
||||||
}];
|
}
|
||||||
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
@ -24,27 +28,35 @@
|
||||||
ens19 = {
|
ens19 = {
|
||||||
|
|
||||||
ipv4 = {
|
ipv4 = {
|
||||||
addresses = [{
|
addresses = [
|
||||||
|
{
|
||||||
address = "172.16.3.118";
|
address = "172.16.3.118";
|
||||||
prefixLength = 24;
|
prefixLength = 24;
|
||||||
}];
|
}
|
||||||
routes = [{
|
];
|
||||||
|
routes = [
|
||||||
|
{
|
||||||
address = "0.0.0.0";
|
address = "0.0.0.0";
|
||||||
via = "172.16.3.99";
|
via = "172.16.3.99";
|
||||||
prefixLength = 0;
|
prefixLength = 0;
|
||||||
}];
|
}
|
||||||
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
ipv6 = {
|
ipv6 = {
|
||||||
addresses = [{
|
addresses = [
|
||||||
|
{
|
||||||
address = "2a0c:700:3::ff:fe01:1803";
|
address = "2a0c:700:3::ff:fe01:1803";
|
||||||
prefixLength = 64;
|
prefixLength = 64;
|
||||||
}];
|
}
|
||||||
routes = [{
|
];
|
||||||
|
routes = [
|
||||||
|
{
|
||||||
address = "::";
|
address = "::";
|
||||||
via = "2a0c:700:3::ff:fe00:9903";
|
via = "2a0c:700:3::ff:fe00:9903";
|
||||||
prefixLength = 0;
|
prefixLength = 0;
|
||||||
}];
|
}
|
||||||
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -1,20 +1,33 @@
|
||||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
# and may be overwritten by future invocations. Please make changes
|
# and may be overwritten by future invocations. Please make changes
|
||||||
# to /etc/nixos/configuration.nix instead.
|
# to /etc/nixos/configuration.nix instead.
|
||||||
{ config, lib, pkgs, modulesPath, ... }:
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
modulesPath,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
imports = [
|
||||||
[ (modulesPath + "/profiles/qemu-guest.nix")
|
(modulesPath + "/profiles/qemu-guest.nix")
|
||||||
];
|
];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [ "ata_piix" "uhci_hcd" "virtio_pci" "virtio_scsi" "sd_mod" "sr_mod" ];
|
boot.initrd.availableKernelModules = [
|
||||||
|
"ata_piix"
|
||||||
|
"uhci_hcd"
|
||||||
|
"virtio_pci"
|
||||||
|
"virtio_scsi"
|
||||||
|
"sd_mod"
|
||||||
|
"sr_mod"
|
||||||
|
];
|
||||||
boot.initrd.kernelModules = [ ];
|
boot.initrd.kernelModules = [ ];
|
||||||
boot.kernelModules = [ ];
|
boot.kernelModules = [ ];
|
||||||
boot.extraModulePackages = [ ];
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
fileSystems."/" =
|
fileSystems."/" = {
|
||||||
{ device = "/dev/disk/by-uuid/c4c2de17-2965-4c0a-b4c5-7d518712c9aa";
|
device = "/dev/disk/by-uuid/c4c2de17-2965-4c0a-b4c5-7d518712c9aa";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
{...}:
|
{ ... }:
|
||||||
{
|
{
|
||||||
boot.loader.grub = {
|
boot.loader.grub = {
|
||||||
splashImage = ../../assets/nix-crans_bootloader.png;
|
splashImage = ../../assets/nix-crans_bootloader.png;
|
||||||
|
|
|
||||||
|
|
@ -52,11 +52,13 @@ in
|
||||||
paths = [
|
paths = [
|
||||||
"/etc"
|
"/etc"
|
||||||
"/var"
|
"/var"
|
||||||
] ++ cfg.additionalPaths;
|
]
|
||||||
|
++ cfg.additionalPaths;
|
||||||
exclude = [
|
exclude = [
|
||||||
"/var/cache"
|
"/var/cache"
|
||||||
"/var/lib/lxcfs"
|
"/var/lib/lxcfs"
|
||||||
] ++ cfg.additionalExcludes;
|
]
|
||||||
|
++ cfg.additionalExcludes;
|
||||||
timerConfig = {
|
timerConfig = {
|
||||||
OnCalendar = cfg.when;
|
OnCalendar = cfg.when;
|
||||||
RandomizedDelaySec = "6h";
|
RandomizedDelaySec = "6h";
|
||||||
|
|
|
||||||
|
|
@ -202,25 +202,27 @@ in
|
||||||
}) cfg.virtualHosts;
|
}) cfg.virtualHosts;
|
||||||
|
|
||||||
# Génération des alias
|
# Génération des alias
|
||||||
getAliases = name: config: lib.foldr (
|
getAliases =
|
||||||
|
name: config:
|
||||||
|
lib.foldr
|
||||||
|
(
|
||||||
tld: acc:
|
tld: acc:
|
||||||
acc
|
acc
|
||||||
++
|
++ (lib.foldr (alias: acc: acc ++ [ "${alias}.crans.${tld}" ]) [
|
||||||
(lib.foldr (alias: acc: acc ++ ["${alias}.crans.${tld}"]) ["${name}.crans.${tld}"] config.serverAliases)
|
"${name}.crans.${tld}"
|
||||||
|
] config.serverAliases)
|
||||||
)
|
)
|
||||||
(lib.foldr (alias: acc: acc ++ ["${alias}.crans.${mainTld}"]) [] config.serverAliases)
|
(lib.foldr (alias: acc: acc ++ [ "${alias}.crans.${mainTld}" ]) [ ] config.serverAliases)
|
||||||
otherTld;
|
otherTld;
|
||||||
|
|
||||||
# Configuration des alias
|
# Configuration des alias
|
||||||
aliasConfig = lib.foldr (
|
aliasConfig = lib.foldr (
|
||||||
vhost: acc:
|
vhost: acc:
|
||||||
acc
|
acc
|
||||||
//
|
// lib.foldr (
|
||||||
lib.foldr (
|
|
||||||
alias: acc:
|
alias: acc:
|
||||||
acc
|
acc
|
||||||
//
|
// {
|
||||||
{
|
|
||||||
"${vhost.name}-alias-${alias}" = rec {
|
"${vhost.name}-alias-${alias}" = rec {
|
||||||
rejectSSL = vhost.value.httpOnly;
|
rejectSSL = vhost.value.httpOnly;
|
||||||
forceSSL = !rejectSSL;
|
forceSSL = !rejectSSL;
|
||||||
|
|
|
||||||
|
|
@ -1,21 +1,25 @@
|
||||||
{
|
{ pkgs }:
|
||||||
fetchFromGitLab,
|
|
||||||
ocamlPackages,
|
let
|
||||||
belenios-server,
|
ocamlPackages = pkgs.ocaml-ng.ocamlPackages_5_3;
|
||||||
belenios-tool
|
|
||||||
}:
|
|
||||||
|
|
||||||
ocamlPackages.buildDunePackage rec {
|
|
||||||
pname = "belenios";
|
|
||||||
version = "3.1";
|
version = "3.1";
|
||||||
|
src = pkgs.fetchFromGitLab {
|
||||||
src = fetchFromGitLab {
|
|
||||||
domain = "gitlab.inria.fr";
|
domain = "gitlab.inria.fr";
|
||||||
owner = pname;
|
owner = "belenios";
|
||||||
repo = pname;
|
repo = "belenios";
|
||||||
rev = version;
|
rev = version;
|
||||||
hash = "sha256-Mrx6AQakeBg6IeqNyDUZ5j6KaUGOh1AUfrLIxvDI45M=";
|
hash = "sha256-Mrx6AQakeBg6IeqNyDUZ5j6KaUGOh1AUfrLIxvDI45M=";
|
||||||
};
|
};
|
||||||
|
in
|
||||||
|
|
||||||
|
pkgs.stdenvNoCC.mkDerivation rec {
|
||||||
|
name = "belenios";
|
||||||
|
inherit version;
|
||||||
|
|
||||||
|
belenios = ocamlPackages.buildDunePackage {
|
||||||
|
pname = "belenios";
|
||||||
|
inherit version src;
|
||||||
|
|
||||||
nativeBuildInputs = with ocamlPackages; [
|
nativeBuildInputs = with ocamlPackages; [
|
||||||
odoc
|
odoc
|
||||||
|
|
@ -25,4 +29,55 @@ ocamlPackages.buildDunePackage rec {
|
||||||
belenios-server
|
belenios-server
|
||||||
belenios-tool
|
belenios-tool
|
||||||
];
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
belenios-lib = pkgs.callPackage ./lib.nix {
|
||||||
|
inherit
|
||||||
|
version
|
||||||
|
src
|
||||||
|
belenios-platform
|
||||||
|
ocamlPackages
|
||||||
|
;
|
||||||
|
};
|
||||||
|
|
||||||
|
belenios-platform = pkgs.callPackage ./platform.nix { inherit version src ocamlPackages; };
|
||||||
|
|
||||||
|
belenios-platform-js = pkgs.callPackage ./platform-js.nix {
|
||||||
|
inherit
|
||||||
|
version
|
||||||
|
src
|
||||||
|
ocamlPackages
|
||||||
|
belenios-platform
|
||||||
|
;
|
||||||
|
};
|
||||||
|
|
||||||
|
belenios-platform-native = pkgs.callPackage ./platform-native.nix {
|
||||||
|
inherit
|
||||||
|
version
|
||||||
|
src
|
||||||
|
ocamlPackages
|
||||||
|
belenios-platform
|
||||||
|
;
|
||||||
|
};
|
||||||
|
|
||||||
|
belenios-server = pkgs.callPackage ./server.nix {
|
||||||
|
inherit
|
||||||
|
version
|
||||||
|
src
|
||||||
|
ocamlPackages
|
||||||
|
belenios-lib
|
||||||
|
belenios-platform-native
|
||||||
|
belenios-platform-js
|
||||||
|
;
|
||||||
|
};
|
||||||
|
|
||||||
|
belenios-tool = pkgs.callPackage ./tool.nix {
|
||||||
|
inherit
|
||||||
|
version
|
||||||
|
src
|
||||||
|
ocamlPackages
|
||||||
|
belenios-lib
|
||||||
|
belenios-platform-native
|
||||||
|
;
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,59 +0,0 @@
|
||||||
{
|
|
||||||
"nodes": {
|
|
||||||
"flake-parts": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs-lib": "nixpkgs-lib"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1772408722,
|
|
||||||
"narHash": "sha256-rHuJtdcOjK7rAHpHphUb1iCvgkU3GpfvicLMwwnfMT0=",
|
|
||||||
"owner": "hercules-ci",
|
|
||||||
"repo": "flake-parts",
|
|
||||||
"rev": "f20dc5d9b8027381c474144ecabc9034d6a839a3",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"id": "flake-parts",
|
|
||||||
"type": "indirect"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1774244481,
|
|
||||||
"narHash": "sha256-4XfMXU0DjN83o6HWZoKG9PegCvKvIhNUnRUI19vzTcQ=",
|
|
||||||
"owner": "NixOS",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "4590696c8693fea477850fe379a01544293ca4e2",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"id": "nixpkgs",
|
|
||||||
"ref": "nixos-25.11",
|
|
||||||
"type": "indirect"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs-lib": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1772328832,
|
|
||||||
"narHash": "sha256-e+/T/pmEkLP6BHhYjx6GmwP5ivonQQn0bJdH9YrRB+Q=",
|
|
||||||
"owner": "nix-community",
|
|
||||||
"repo": "nixpkgs.lib",
|
|
||||||
"rev": "c185c7a5e5dd8f9add5b2f8ebeff00888b070742",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nix-community",
|
|
||||||
"repo": "nixpkgs.lib",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"root": {
|
|
||||||
"inputs": {
|
|
||||||
"flake-parts": "flake-parts",
|
|
||||||
"nixpkgs": "nixpkgs"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"root": "root",
|
|
||||||
"version": 7
|
|
||||||
}
|
|
||||||
|
|
@ -1,12 +1,13 @@
|
||||||
{
|
{
|
||||||
belenios,
|
version,
|
||||||
|
src,
|
||||||
belenios-platform,
|
belenios-platform,
|
||||||
ocamlPackages,
|
ocamlPackages,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
ocamlPackages.buildDunePackage {
|
ocamlPackages.buildDunePackage {
|
||||||
pname = "belenios-lib";
|
pname = "belenios-lib";
|
||||||
inherit (belenios) version src;
|
inherit version src;
|
||||||
|
|
||||||
nativeBuildInputs = with ocamlPackages; [
|
nativeBuildInputs = with ocamlPackages; [
|
||||||
atdgen
|
atdgen
|
||||||
|
|
@ -18,8 +19,7 @@ ocamlPackages.buildDunePackage {
|
||||||
biniou
|
biniou
|
||||||
];
|
];
|
||||||
|
|
||||||
propagatedBuildInputs =
|
propagatedBuildInputs = [
|
||||||
[
|
|
||||||
belenios-platform
|
belenios-platform
|
||||||
]
|
]
|
||||||
++ (with ocamlPackages; [
|
++ (with ocamlPackages; [
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,13 @@
|
||||||
{
|
{
|
||||||
belenios,
|
version,
|
||||||
|
src,
|
||||||
belenios-platform,
|
belenios-platform,
|
||||||
ocamlPackages,
|
ocamlPackages,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
ocamlPackages.buildDunePackage {
|
ocamlPackages.buildDunePackage {
|
||||||
pname = "belenios-platform-js";
|
pname = "belenios-platform-js";
|
||||||
inherit (belenios) version src;
|
inherit version src;
|
||||||
|
|
||||||
nativeBuildInputs = with ocamlPackages; [
|
nativeBuildInputs = with ocamlPackages; [
|
||||||
odoc
|
odoc
|
||||||
|
|
|
||||||
|
|
@ -1,20 +1,20 @@
|
||||||
{
|
{
|
||||||
belenios,
|
version,
|
||||||
|
src,
|
||||||
belenios-platform,
|
belenios-platform,
|
||||||
ocamlPackages,
|
ocamlPackages,
|
||||||
libsodium
|
libsodium,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
ocamlPackages.buildDunePackage {
|
ocamlPackages.buildDunePackage {
|
||||||
pname = "belenios-platform-native";
|
pname = "belenios-platform-native";
|
||||||
inherit (belenios) version src;
|
inherit version src;
|
||||||
|
|
||||||
nativeBuildInputs = with ocamlPackages; [
|
nativeBuildInputs = with ocamlPackages; [
|
||||||
odoc
|
odoc
|
||||||
];
|
];
|
||||||
|
|
||||||
buildInputs =
|
buildInputs = [
|
||||||
[
|
|
||||||
belenios-platform
|
belenios-platform
|
||||||
libsodium
|
libsodium
|
||||||
]
|
]
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,12 @@
|
||||||
{
|
{
|
||||||
belenios,
|
version,
|
||||||
|
src,
|
||||||
ocamlPackages,
|
ocamlPackages,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
ocamlPackages.buildDunePackage {
|
ocamlPackages.buildDunePackage {
|
||||||
pname = "belenios-platform";
|
pname = "belenios-platform";
|
||||||
inherit (belenios) version src;
|
inherit version src;
|
||||||
|
|
||||||
# nativeBuildInputs = with ocamlPackages; [
|
|
||||||
# odoc
|
|
||||||
# ];
|
|
||||||
|
|
||||||
propagatedBuildInputs = with ocamlPackages; [
|
propagatedBuildInputs = with ocamlPackages; [
|
||||||
lwt
|
lwt
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
{
|
{
|
||||||
belenios,
|
version,
|
||||||
|
src,
|
||||||
belenios-lib,
|
belenios-lib,
|
||||||
belenios-platform-native,
|
belenios-platform-native,
|
||||||
belenios-platform-js,
|
belenios-platform-js,
|
||||||
|
|
@ -8,9 +9,7 @@
|
||||||
|
|
||||||
ocamlPackages.buildDunePackage {
|
ocamlPackages.buildDunePackage {
|
||||||
pname = "belenios-server";
|
pname = "belenios-server";
|
||||||
inherit (belenios) version src;
|
inherit version src;
|
||||||
|
|
||||||
# dontDetectOcamlConflicts = true;
|
|
||||||
|
|
||||||
nativeBuildInputs = with ocamlPackages; [
|
nativeBuildInputs = with ocamlPackages; [
|
||||||
atdgen
|
atdgen
|
||||||
|
|
@ -21,8 +20,7 @@ ocamlPackages.buildDunePackage {
|
||||||
|
|
||||||
patches = [ ./netstring.patch ];
|
patches = [ ./netstring.patch ];
|
||||||
|
|
||||||
buildInputs =
|
buildInputs = [
|
||||||
[
|
|
||||||
# belenios-lib
|
# belenios-lib
|
||||||
# belenios-platform-native
|
# belenios-platform-native
|
||||||
belenios-platform-js
|
belenios-platform-js
|
||||||
|
|
@ -45,8 +43,7 @@ ocamlPackages.buildDunePackage {
|
||||||
sendmail
|
sendmail
|
||||||
]);
|
]);
|
||||||
|
|
||||||
propagatedBuildInputs =
|
propagatedBuildInputs = [
|
||||||
[
|
|
||||||
belenios-lib
|
belenios-lib
|
||||||
belenios-platform-native
|
belenios-platform-native
|
||||||
]
|
]
|
||||||
|
|
@ -56,4 +53,3 @@ ocamlPackages.buildDunePackage {
|
||||||
xml-light
|
xml-light
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,16 @@
|
||||||
{ lib, config, pkgs, ... }:
|
{
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.services.belenios;
|
cfg = config.services.belenios;
|
||||||
|
|
||||||
configFile = pkgs.writeText "belenios-server.conf" cfg.config;
|
configFile = pkgs.writeText "belenios-server.conf" cfg.config;
|
||||||
|
|
||||||
inherit (lib) mkEnableOption mkPackageOption mkOption mkIf;
|
inherit (lib) mkEnableOption mkOption mkIf;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.services.belenios = {
|
options.services.belenios = {
|
||||||
|
|
|
||||||
|
|
@ -1,18 +1,17 @@
|
||||||
{
|
{
|
||||||
belenios,
|
version,
|
||||||
|
src,
|
||||||
belenios-lib,
|
belenios-lib,
|
||||||
# belenios-platform,
|
|
||||||
belenios-platform-native,
|
belenios-platform-native,
|
||||||
libsodium,
|
libsodium,
|
||||||
ocamlPackages
|
ocamlPackages,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
ocamlPackages.buildDunePackage {
|
ocamlPackages.buildDunePackage {
|
||||||
pname = "belenios-tool";
|
pname = "belenios-tool";
|
||||||
inherit (belenios) version src;
|
inherit version src;
|
||||||
|
|
||||||
buildInputs =
|
buildInputs = [
|
||||||
[
|
|
||||||
belenios-lib
|
belenios-lib
|
||||||
# belenios-platform
|
# belenios-platform
|
||||||
belenios-platform-native
|
belenios-platform-native
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,7 @@
|
||||||
{ ... }:
|
{ ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
imports = [
|
||||||
[
|
|
||||||
./services.nix
|
./services.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,25 +3,50 @@
|
||||||
nixpkgs.url = "nixpkgs/nixos-25.11";
|
nixpkgs.url = "nixpkgs/nixos-25.11";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = inputs@{ flake-parts, ... }:
|
outputs =
|
||||||
|
inputs@{ flake-parts, ... }:
|
||||||
flake-parts.lib.mkFlake { inherit inputs; } {
|
flake-parts.lib.mkFlake { inherit inputs; } {
|
||||||
systems = [ "x86_64-linux" ];
|
systems = [ "x86_64-linux" ];
|
||||||
perSystem = { pkgs, ... }: rec {
|
perSystem =
|
||||||
|
{ pkgs, ... }:
|
||||||
|
rec {
|
||||||
devShells.default = pkgs.mkShell {
|
devShells.default = pkgs.mkShell {
|
||||||
packages = [];
|
packages = [ ];
|
||||||
};
|
};
|
||||||
packages = let
|
packages =
|
||||||
|
let
|
||||||
ocamlPackages = pkgs.ocaml-ng.ocamlPackages_5_2;
|
ocamlPackages = pkgs.ocaml-ng.ocamlPackages_5_2;
|
||||||
in rec {
|
in
|
||||||
|
rec {
|
||||||
belenios = pkgs.callPackage ./belenios { inherit ocamlPackages belenios-server belenios-tool; };
|
belenios = pkgs.callPackage ./belenios { inherit ocamlPackages belenios-server belenios-tool; };
|
||||||
belenios-lib = pkgs.callPackage ./belenios/lib.nix { inherit belenios ocamlPackages belenios-platform; };
|
belenios-lib = pkgs.callPackage ./belenios/lib.nix {
|
||||||
belenios-tool = pkgs.callPackage ./belenios/tool.nix { inherit belenios ocamlPackages belenios-lib belenios-platform-native; };
|
inherit belenios ocamlPackages belenios-platform;
|
||||||
belenios-server = pkgs.callPackage ./belenios/server.nix { inherit belenios ocamlPackages belenios-lib belenios-platform-native belenios-platform-js; };
|
};
|
||||||
|
belenios-tool = pkgs.callPackage ./belenios/tool.nix {
|
||||||
|
inherit
|
||||||
|
belenios
|
||||||
|
ocamlPackages
|
||||||
|
belenios-lib
|
||||||
|
belenios-platform-native
|
||||||
|
;
|
||||||
|
};
|
||||||
|
belenios-server = pkgs.callPackage ./belenios/server.nix {
|
||||||
|
inherit
|
||||||
|
belenios
|
||||||
|
ocamlPackages
|
||||||
|
belenios-lib
|
||||||
|
belenios-platform-native
|
||||||
|
belenios-platform-js
|
||||||
|
;
|
||||||
|
};
|
||||||
belenios-platform = pkgs.callPackage ./belenios/platform.nix { inherit belenios ocamlPackages; };
|
belenios-platform = pkgs.callPackage ./belenios/platform.nix { inherit belenios ocamlPackages; };
|
||||||
belenios-platform-native = pkgs.callPackage ./belenios/platform-native.nix { inherit belenios ocamlPackages belenios-platform; };
|
belenios-platform-native = pkgs.callPackage ./belenios/platform-native.nix {
|
||||||
belenios-platform-js = pkgs.callPackage ./belenios/platform-js.nix { inherit belenios ocamlPackages belenios-platform; };
|
inherit belenios ocamlPackages belenios-platform;
|
||||||
|
};
|
||||||
|
belenios-platform-js = pkgs.callPackage ./belenios/platform-js.nix {
|
||||||
|
inherit belenios ocamlPackages belenios-platform;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,14 +1,5 @@
|
||||||
{ pkgs ? import <nixpkgs> { } }:
|
{ pkgs, ... }:
|
||||||
|
|
||||||
let
|
{
|
||||||
ocamlPackages = pkgs.ocaml-ng.ocamlPackages_4_14;
|
belenios = pkgs.callPackage ./belenios { inherit pkgs; };
|
||||||
in
|
|
||||||
rec {
|
|
||||||
belenios = pkgs.callPackage ./belenios { inherit ocamlPackages belenios-server belenios-tool; };
|
|
||||||
belenios-lib = pkgs.callPackage ./belenios/lib.nix { inherit belenios ocamlPackages belenios-platform; };
|
|
||||||
belenios-tool = pkgs.callPackage ./belenios/tool.nix { inherit belenios ocamlPackages belenios-lib belenios-platform belenios-platform-native; };
|
|
||||||
belenios-server = pkgs.callPackage ./belenios/server.nix { inherit belenios ocamlPackages belenios-lib belenios-platform-native belenios-platform-js; };
|
|
||||||
belenios-platform = pkgs.callPackage ./belenios/platform.nix { inherit belenios ocamlPackages; };
|
|
||||||
belenios-platform-native = pkgs.callPackage ./belenios/platform-native.nix { inherit belenios ocamlPackages belenios-platform; };
|
|
||||||
belenios-platform-js = pkgs.callPackage ./belenios/platform-js.nix { inherit belenios ocamlPackages belenios-platform; };
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,7 @@
|
||||||
{ ... }:
|
{ ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
imports = [
|
||||||
[
|
|
||||||
./belenios/services.nix
|
./belenios/services.nix
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue