forked from DGNum/infrastructure
94 lines
2.9 KiB
Nix
94 lines
2.9 KiB
Nix
|
/* Copyright :
|
||
|
- Maurice Debray <maurice.debray@dgnum.eu> 2023
|
||
|
- Tom Hubrecht <tom.hubrecht@dgnum.eu> 2023
|
||
|
|
||
|
Ce logiciel est un programme informatique servant à déployer des
|
||
|
configurations de serveurs via NixOS.
|
||
|
|
||
|
Ce logiciel est régi par la licence CeCILL soumise au droit français et
|
||
|
respectant les principes de diffusion des logiciels libres. Vous pouvez
|
||
|
utiliser, modifier et/ou redistribuer ce programme sous les conditions
|
||
|
de la licence CeCILL telle que diffusée par le CEA, le CNRS et l'INRIA
|
||
|
sur le site "http://www.cecill.info".
|
||
|
|
||
|
En contrepartie de l'accessibilité au code source et des droits de copie,
|
||
|
de modification et de redistribution accordés par cette licence, il n'est
|
||
|
offert aux utilisateurs qu'une garantie limitée. Pour les mêmes raisons,
|
||
|
seule une responsabilité restreinte pèse sur l'auteur du programme, le
|
||
|
titulaire des droits patrimoniaux et les concédants successifs.
|
||
|
|
||
|
A cet égard l'attention de l'utilisateur est attirée sur les risques
|
||
|
associés au chargement, à l'utilisation, à la modification et/ou au
|
||
|
développement et à la reproduction du logiciel par l'utilisateur étant
|
||
|
donné sa spécificité de logiciel libre, qui peut le rendre complexe à
|
||
|
manipuler et qui le réserve donc à des développeurs et des professionnels
|
||
|
avertis possédant des connaissances informatiques approfondies. Les
|
||
|
utilisateurs sont donc invités à charger et tester l'adéquation du
|
||
|
logiciel à leurs besoins dans des conditions permettant d'assurer la
|
||
|
sécurité de leurs systèmes et ou de leurs données et, plus généralement,
|
||
|
à l'utiliser et l'exploiter dans les mêmes conditions de sécurité.
|
||
|
|
||
|
Le fait que vous puissiez accéder à cet en-tête signifie que vous avez
|
||
|
pris connaissance de la licence CeCILL, et que vous en avez accepté les
|
||
|
termes.
|
||
|
*/
|
||
|
|
||
|
let
|
||
|
sources = import ./npins;
|
||
|
pkgs = import sources.nixpkgs { };
|
||
|
|
||
|
pre-commit-check = (import sources.pre-commit-hooks).run {
|
||
|
src = ./.;
|
||
|
|
||
|
hooks = {
|
||
|
# Nix Hooks
|
||
|
statix.enable = true;
|
||
|
deadnix.enable = true;
|
||
|
rfc101 = {
|
||
|
enable = true;
|
||
|
|
||
|
name = "RFC-101 formatting";
|
||
|
entry = "${pkgs.lib.getExe pkgs.nixfmt-rfc-style}";
|
||
|
files = "\\.nix$";
|
||
|
};
|
||
|
|
||
|
# Misc Hooks
|
||
|
commitizen.enable = true;
|
||
|
};
|
||
|
};
|
||
|
in
|
||
|
|
||
|
{
|
||
|
shells = {
|
||
|
default = pkgs.mkShell {
|
||
|
name = "dgnum-infra";
|
||
|
|
||
|
packages =
|
||
|
(
|
||
|
with pkgs;
|
||
|
[
|
||
|
npins
|
||
|
colmena
|
||
|
nixos-generators
|
||
|
]
|
||
|
++ (builtins.map (p: callPackage p { }) [ (sources.disko + "/package.nix") ])
|
||
|
)
|
||
|
++ (import ./scripts { inherit pkgs; });
|
||
|
|
||
|
shellHook = ''
|
||
|
${pre-commit-check.shellHook}
|
||
|
'';
|
||
|
|
||
|
preferLocalBuild = true;
|
||
|
};
|
||
|
|
||
|
pre-commit = pkgs.mkShell {
|
||
|
name = "pre-commit-shell";
|
||
|
|
||
|
shellHook = ''
|
||
|
${pre-commit-check.shellHook}
|
||
|
'';
|
||
|
};
|
||
|
};
|
||
|
}
|