{ config, lib, pkgs, ... }: let inherit (lib) mkEnableOption mkIf mkMerge mkOption singleton types; cfg = config.r6d.config-generator; pfl = config.r6d.profiles; comp = config.r6d.computers; host = config.networking.fqdn; annuaire = config.r6d.machines; currentMachine = annuaire."${config.networking.fqdn}"; flags = currentMachine.configurationFlags; in { # TODO camel case partout # TODO everything in english # TODO sortir ce qui est privé ###### interface options = { #* Utilisé pour avoir des raccourcis de machine r6d.computers = { isNomade = mkEnableOption "Identification du nom de machine."; }; }; ###### implementation # https://nixos.org/releases/nixos/14.12-small/nixos-14.12.374.61adf9e/manual/sec-writing-modules.html # https://nixos.org/wiki/NixOS:extend_NixOS config = mkMerge [ ## Définition des profils génériques # /!\ PAS un serveur (mkIf (!pfl.isServer || comp.isMonstre) { r6d.config-generator = { dns_resolveur = true; }; }) ## Affectation des profils aux machines # Dubro Vivo - St Malo #tincAddress = "192.168.12.8/24"; (mkIf comp.isNomade{ networking.hostName = "nomade"; # Define your hostname. networking.domain = "dubronetwork.fr"; r6d.profiles.isDubronetwork = true; r6d.config-generator = { laptop = true; }; }) ]; }