formatage
This commit is contained in:
@@ -9,94 +9,94 @@ let
|
|||||||
in
|
in
|
||||||
|
|
||||||
{
|
{
|
||||||
###### interface
|
###### interface
|
||||||
|
|
||||||
options = {
|
options = {
|
||||||
|
|
||||||
#* Utilisé pour afecter des capacités aux machines
|
#* Utilisé pour afecter des capacités aux machines
|
||||||
r6d.profiles = {
|
r6d.profiles = {
|
||||||
# Domaine
|
# Domaine
|
||||||
isDubronetwork = mkEnableOption "Pour distinguer les machines dubronetwork.";
|
isDubronetwork = mkEnableOption "Pour distinguer les machines dubronetwork.";
|
||||||
isPrunetwork = mkEnableOption "Pour distinguer les machines prunetwork.";
|
isPrunetwork = mkEnableOption "Pour distinguer les machines prunetwork.";
|
||||||
# Utilisation machine
|
# Utilisation machine
|
||||||
isDesktop = mkEnableOption "Pour indiquer une machine avec interface graphique.";
|
isDesktop = mkEnableOption "Pour indiquer une machine avec interface graphique.";
|
||||||
isHome = mkEnableOption "Pour indiquer que la machine sert à la maison (divertissement & autre).";
|
isHome = mkEnableOption "Pour indiquer que la machine sert à la maison (divertissement & autre).";
|
||||||
isServer = mkEnableOption "Pour indiquer qu'il s'agit d'un serveur.";
|
isServer = mkEnableOption "Pour indiquer qu'il s'agit d'un serveur.";
|
||||||
isWorkstation = mkEnableOption "Pour indiquer que la machine sert à travailler.";
|
isWorkstation = mkEnableOption "Pour indiquer que la machine sert à travailler.";
|
||||||
|
};
|
||||||
|
|
||||||
|
#* Utilisé dans les fichiers .nix
|
||||||
|
r6d.config-generator = {
|
||||||
|
#enable = mkEnableOption "Génération de la configuration d'une machine.";
|
||||||
|
awesome = mkEnableOption "Profil pour activer le gestionnaire de fenêtre awesome.";
|
||||||
|
auto-upgrade = mkEnableOption "Profil pour activer les mises à jour automatiques.";
|
||||||
|
cartographie = mkEnableOption "Profil pour activer les outils de gestion de données géographiques.";
|
||||||
|
conception-assistee = mkEnableOption "Profil pour activer les outils de conception électronique & modélisation 3D";
|
||||||
|
database_postgres = mkEnableOption "Profil pour activer le SGBD PostgreSQL.";
|
||||||
|
developpement = mkEnableOption "Profil pour activer les outils de développement";
|
||||||
|
developpement-haskell = mkEnableOption "Profil pour activer les outils de développement Haskell";
|
||||||
|
developpement-java = mkEnableOption "Profil pour activer les outils de développement Java";
|
||||||
|
developpement-rust = mkEnableOption "Profil pour activer les outils de développement Rust";
|
||||||
|
docker = mkEnableOption "Profil pour l'utilisation de Docker.";
|
||||||
|
dovecot = mkEnableOption "Profil pour activer le serveur Dovecot.";
|
||||||
|
dns_autorite = mkEnableOption "Profil pour servir les fichiers de zone DNS.";
|
||||||
|
dns_resolveur = mkEnableOption "Profil pour activer un résolveur DNS local.";
|
||||||
|
edition-musique = mkEnableOption "Profil pour la création/édition de musique.";
|
||||||
|
edition-photo = mkEnableOption "Profil pour la création/édition de photos.";
|
||||||
|
edition-video = mkEnableOption "Profil pour la création/édition de video.";
|
||||||
|
elasticsearch = mkEnableOption "Profil pour activer le service elasticsearch.";
|
||||||
|
fail2ban = mkEnableOption "Profil pour activer Fail2ban.";
|
||||||
|
hydra-builder = mkEnableOption "Profil pour une machine qui compile pour hydra.";
|
||||||
|
hydra-core = mkEnableOption "Profil pour un serveur hydra.";
|
||||||
|
kibana = mkEnableOption "Profil pour activer le service kibana.";
|
||||||
|
jetbrains-licensed = mkEnableOption "Profil pour la suite de développement Jetbrains payante (sous-ensemble).";
|
||||||
|
jeux = mkEnableOption "Profil pour les jeux vidéos.";
|
||||||
|
laptop = mkEnableOption "Profil pour les outils spécifiques aux ordinateurs portables.";
|
||||||
|
locate = mkEnableOption "Profil pour activer la fonction locate.";
|
||||||
|
mailboxes = mkEnableOption "Profil pour stocker les mails dans des boîtes aux lettres.";
|
||||||
|
murmur = mkEnableOption "Profil pour activer un serveur Mumble (murmur)";
|
||||||
|
nix-serve-client = mkEnableOption "Profil pour que la machine soit un client de cache nix.";
|
||||||
|
nix-serve-server = mkEnableOption "Profil pour que la machine soit un serveur de cache nix.";
|
||||||
|
nixStoreProxyCache = mkEnableOption "Profil pour activer le proxy cahce nginx pour le nix store";
|
||||||
|
print = mkEnableOption "Profil pour activer cups & pouvoir imprimer.";
|
||||||
|
rabbitmq = mkEnableOption "Profil pour activer le service de messagerie AMQP.";
|
||||||
|
radicale = mkEnableOption "Profil pour activer le service d'hébergement de calendrier + tâches & contacts.";
|
||||||
|
scanner = mkEnableOption "Profil pour que les scanners soient utilisable.";
|
||||||
|
swap = mkEnableOption "Profil pour que le swap soit activé.";
|
||||||
|
virtualbox = mkEnableOption "Profil pour l'utilisation de VirtualBox.";
|
||||||
|
xmonad = mkEnableOption "Profil pour activer le gestionnaire de fenêtres xmonad.";
|
||||||
|
znc = mkEnableOption "Profil pour activer le relais IRC ZNC.";
|
||||||
|
|
||||||
|
tincAddress = mkOption {
|
||||||
|
default = "";
|
||||||
|
example = "192.168.1.1";
|
||||||
|
description = "Adresse du noeud tinc local";
|
||||||
|
type = lib.types.string;
|
||||||
};
|
};
|
||||||
|
tincExtraConfig = mkOption {
|
||||||
#* Utilisé dans les fichiers .nix
|
default = "";
|
||||||
r6d.config-generator = {
|
example = ''
|
||||||
#enable = mkEnableOption "Génération de la configuration d'une machine.";
|
|
||||||
awesome = mkEnableOption "Profil pour activer le gestionnaire de fenêtre awesome.";
|
|
||||||
auto-upgrade = mkEnableOption "Profil pour activer les mises à jour automatiques.";
|
|
||||||
cartographie = mkEnableOption "Profil pour activer les outils de gestion de données géographiques.";
|
|
||||||
conception-assistee = mkEnableOption "Profil pour activer les outils de conception électronique & modélisation 3D";
|
|
||||||
database_postgres = mkEnableOption "Profil pour activer le SGBD PostgreSQL.";
|
|
||||||
developpement = mkEnableOption "Profil pour activer les outils de développement";
|
|
||||||
developpement-haskell = mkEnableOption "Profil pour activer les outils de développement Haskell";
|
|
||||||
developpement-java = mkEnableOption "Profil pour activer les outils de développement Java";
|
|
||||||
developpement-rust = mkEnableOption "Profil pour activer les outils de développement Rust";
|
|
||||||
docker = mkEnableOption "Profil pour l'utilisation de Docker.";
|
|
||||||
dovecot = mkEnableOption "Profil pour activer le serveur Dovecot.";
|
|
||||||
dns_autorite = mkEnableOption "Profil pour servir les fichiers de zone DNS.";
|
|
||||||
dns_resolveur = mkEnableOption "Profil pour activer un résolveur DNS local.";
|
|
||||||
edition-musique = mkEnableOption "Profil pour la création/édition de musique.";
|
|
||||||
edition-photo = mkEnableOption "Profil pour la création/édition de photos.";
|
|
||||||
edition-video = mkEnableOption "Profil pour la création/édition de video.";
|
|
||||||
elasticsearch = mkEnableOption "Profil pour activer le service elasticsearch.";
|
|
||||||
fail2ban = mkEnableOption "Profil pour activer Fail2ban.";
|
|
||||||
hydra-builder = mkEnableOption "Profil pour une machine qui compile pour hydra.";
|
|
||||||
hydra-core = mkEnableOption "Profil pour un serveur hydra.";
|
|
||||||
kibana = mkEnableOption "Profil pour activer le service kibana.";
|
|
||||||
jetbrains-licensed = mkEnableOption "Profil pour la suite de développement Jetbrains payante (sous-ensemble).";
|
|
||||||
jeux = mkEnableOption "Profil pour les jeux vidéos.";
|
|
||||||
laptop = mkEnableOption "Profil pour les outils spécifiques aux ordinateurs portables.";
|
|
||||||
locate = mkEnableOption "Profil pour activer la fonction locate.";
|
|
||||||
mailboxes = mkEnableOption "Profil pour stocker les mails dans des boîtes aux lettres.";
|
|
||||||
murmur = mkEnableOption "Profil pour activer un serveur Mumble (murmur)";
|
|
||||||
nix-serve-client = mkEnableOption "Profil pour que la machine soit un client de cache nix.";
|
|
||||||
nix-serve-server = mkEnableOption "Profil pour que la machine soit un serveur de cache nix.";
|
|
||||||
nixStoreProxyCache = mkEnableOption "Profil pour activer le proxy cahce nginx pour le nix store";
|
|
||||||
print = mkEnableOption "Profil pour activer cups & pouvoir imprimer.";
|
|
||||||
rabbitmq = mkEnableOption "Profil pour activer le service de messagerie AMQP.";
|
|
||||||
radicale = mkEnableOption "Profil pour activer le service d'hébergement de calendrier + tâches & contacts.";
|
|
||||||
scanner = mkEnableOption "Profil pour que les scanners soient utilisable.";
|
|
||||||
swap = mkEnableOption "Profil pour que le swap soit activé.";
|
|
||||||
virtualbox = mkEnableOption "Profil pour l'utilisation de VirtualBox.";
|
|
||||||
xmonad = mkEnableOption "Profil pour activer le gestionnaire de fenêtres xmonad.";
|
|
||||||
znc = mkEnableOption "Profil pour activer le relais IRC ZNC.";
|
|
||||||
|
|
||||||
tincAddress = mkOption {
|
|
||||||
default = "";
|
|
||||||
example = "192.168.1.1";
|
|
||||||
description = "Adresse du noeud tinc local";
|
|
||||||
type = lib.types.string;
|
|
||||||
};
|
|
||||||
tincExtraConfig = mkOption {
|
|
||||||
default = "";
|
|
||||||
example = ''
|
|
||||||
Mode = router
|
Mode = router
|
||||||
ConnecTo = bar
|
ConnecTo = bar
|
||||||
'';
|
'';
|
||||||
description = "Configuration supplémentaire pour tinc";
|
description = "Configuration supplémentaire pour tinc";
|
||||||
type = lib.types.string;
|
type = lib.types.string;
|
||||||
};
|
|
||||||
};
|
|
||||||
#* Utilisé pour avoir des raccourcis de machine
|
|
||||||
r6d.computers = {
|
|
||||||
isHydra = mkEnableOption "Identification du nom de machine.";
|
|
||||||
isLatitude = mkEnableOption "Identification du nom de machine.";
|
|
||||||
isMonstre = mkEnableOption "Identification du nom de machine.";
|
|
||||||
isNeoNomade = mkEnableOption "Identification du nom de machine.";
|
|
||||||
isNomade = mkEnableOption "Identification du nom de machine.";
|
|
||||||
isOcean = mkEnableOption "Identification du nom de machine.";
|
|
||||||
isPedro = mkEnableOption "Identification du nom de machine.";
|
|
||||||
isPhenom = mkEnableOption "Identification du nom de machine.";
|
|
||||||
isRadx = mkEnableOption "Identification du nom de machine.";
|
|
||||||
isRollo = mkEnableOption "Identification du nom de machine.";
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
#* Utilisé pour avoir des raccourcis de machine
|
||||||
|
r6d.computers = {
|
||||||
|
isHydra = mkEnableOption "Identification du nom de machine.";
|
||||||
|
isLatitude = mkEnableOption "Identification du nom de machine.";
|
||||||
|
isMonstre = mkEnableOption "Identification du nom de machine.";
|
||||||
|
isNeoNomade = mkEnableOption "Identification du nom de machine.";
|
||||||
|
isNomade = mkEnableOption "Identification du nom de machine.";
|
||||||
|
isOcean = mkEnableOption "Identification du nom de machine.";
|
||||||
|
isPedro = mkEnableOption "Identification du nom de machine.";
|
||||||
|
isPhenom = mkEnableOption "Identification du nom de machine.";
|
||||||
|
isRadx = mkEnableOption "Identification du nom de machine.";
|
||||||
|
isRollo = mkEnableOption "Identification du nom de machine.";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
###### implementation
|
###### implementation
|
||||||
# https://nixos.org/releases/nixos/14.12-small/nixos-14.12.374.61adf9e/manual/sec-writing-modules.html
|
# https://nixos.org/releases/nixos/14.12-small/nixos-14.12.374.61adf9e/manual/sec-writing-modules.html
|
||||||
@@ -237,7 +237,7 @@ in
|
|||||||
tincAddress = "192.168.12.6/24";
|
tincAddress = "192.168.12.6/24";
|
||||||
tincExtraConfig = ''
|
tincExtraConfig = ''
|
||||||
ConnectTo = rollo_dubronetwork_fr
|
ConnectTo = rollo_dubronetwork_fr
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
(mkIf comp.isRadx {
|
(mkIf comp.isRadx {
|
||||||
@@ -258,7 +258,7 @@ in
|
|||||||
ConnectTo = monstre_dubronetwork_fr
|
ConnectTo = monstre_dubronetwork_fr
|
||||||
ConnectTo = rollo_dubronetwork_fr
|
ConnectTo = rollo_dubronetwork_fr
|
||||||
ConnectTo = ocean_prunetwork_fr
|
ConnectTo = ocean_prunetwork_fr
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
|
|
||||||
@@ -277,7 +277,7 @@ in
|
|||||||
ConnectTo = monstre_dubronetwork_fr
|
ConnectTo = monstre_dubronetwork_fr
|
||||||
ConnectTo = rollo_dubronetwork_fr
|
ConnectTo = rollo_dubronetwork_fr
|
||||||
ConnectTo = ocean_prunetwork_fr
|
ConnectTo = ocean_prunetwork_fr
|
||||||
'';
|
'';
|
||||||
nix-serve-server = true;
|
nix-serve-server = true;
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
@@ -297,7 +297,7 @@ in
|
|||||||
tincExtraConfig = ''
|
tincExtraConfig = ''
|
||||||
ConnectTo = rollo_dubronetwork_fr
|
ConnectTo = rollo_dubronetwork_fr
|
||||||
ConnectTo = ocean_prunetwork_fr
|
ConnectTo = ocean_prunetwork_fr
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
(mkIf comp.isNeoNomade{
|
(mkIf comp.isNeoNomade{
|
||||||
@@ -313,7 +313,7 @@ in
|
|||||||
ConnectTo = monstre_dubronetwork_fr
|
ConnectTo = monstre_dubronetwork_fr
|
||||||
ConnectTo = rollo_dubronetwork_fr
|
ConnectTo = rollo_dubronetwork_fr
|
||||||
ConnectTo = ocean_prunetwork_fr
|
ConnectTo = ocean_prunetwork_fr
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
(mkIf comp.isNomade{
|
(mkIf comp.isNomade{
|
||||||
@@ -351,7 +351,7 @@ in
|
|||||||
ConnectTo = monstre_dubronetwork_fr
|
ConnectTo = monstre_dubronetwork_fr
|
||||||
ConnectTo = rollo_dubronetwork_fr
|
ConnectTo = rollo_dubronetwork_fr
|
||||||
ConnectTo = ocean_prunetwork_fr
|
ConnectTo = ocean_prunetwork_fr
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
(mkIf comp.isRollo {
|
(mkIf comp.isRollo {
|
||||||
@@ -368,7 +368,7 @@ in
|
|||||||
tincAddress = "192.168.12.5/24";
|
tincAddress = "192.168.12.5/24";
|
||||||
tincExtraConfig = ''
|
tincExtraConfig = ''
|
||||||
ConnectTo = ocean_prunetwork_fr
|
ConnectTo = ocean_prunetwork_fr
|
||||||
'';
|
'';
|
||||||
znc = true;
|
znc = true;
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
|
|||||||
Reference in New Issue
Block a user