diff --git a/machines/web-01/_configuration.nix b/machines/web-01/_configuration.nix index 87eb05e..01fcf2f 100644 --- a/machines/web-01/_configuration.nix +++ b/machines/web-01/_configuration.nix @@ -2,14 +2,13 @@ # your system. Help is available in the configuration.nix(5) man page # and in the NixOS manual (accessible by running ‘nixos-help’). -{ name, config, pkgs, lib, ... }: +{ name, ... }: { imports = [ # Include the results of the hardware scan. # ./hardware-configuration.nix ./networking.nix - ./ssh.nix ]; # Use the systemd-boot EFI boot loader. diff --git a/machines/web-01/ssh.nix b/machines/web-01/ssh.nix deleted file mode 100644 index bb2c346..0000000 --- a/machines/web-01/ssh.nix +++ /dev/null @@ -1,9 +0,0 @@ -_: - -{ - services.openssh = { - passwordAuthentication = false; - enable = true; - }; - programs.mosh.enable = true; -} diff --git a/modules/default.nix b/modules/default.nix index 596ea40..8e05e85 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -3,5 +3,6 @@ { imports = dgn-lib.mkImports ./. [ "dgn-access-control" + "dgn-ssh" ]; } diff --git a/modules/dgn-ssh.nix b/modules/dgn-ssh.nix new file mode 100644 index 0000000..1d13553 --- /dev/null +++ b/modules/dgn-ssh.nix @@ -0,0 +1,57 @@ +# Copyright : +# - Maurice Debray 2023 +# - Tom Hubrecht 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. + +{ config, lib, ... }: + +with lib; + +let + cfg = config.dgn-ssh; +in + +{ + options.dgn-ssh = { + enable = mkEnableOption "ssh default configuration." // { default = true; }; + }; + + config = mkIf cfg.enable { + services.openssh = { + enable = true; + + passwordAuthentication = false; + }; + + programs.mosh.enable = true; + }; +}