Compare commits
18 Commits
2017-01-26
...
2017-01-29
| Author | SHA1 | Date | |
|---|---|---|---|
| 65a21c197c | |||
|
|
c11cd5d456 | ||
|
|
805ef707f5 | ||
|
|
1ee426f50a | ||
|
|
0bcd327679 | ||
| 04c3397ff3 | |||
| 5f86c78e1b | |||
| 715a3519f4 | |||
| 0b08c7dbd0 | |||
| 0dab828682 | |||
| b4786c8fdf | |||
| 11a69418a7 | |||
| d7f2b4fd38 | |||
|
|
ce1cae293c | ||
|
|
1c58705adf | ||
|
|
1cc773c034 | ||
|
|
58c32c79fb | ||
| d1a5228a92 |
@@ -9,112 +9,114 @@ 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 {
|
|
||||||
default = "";
|
|
||||||
example = ''
|
|
||||||
Mode = router
|
|
||||||
ConnecTo = bar
|
|
||||||
'';
|
|
||||||
description = "Configuration supplémentaire pour tinc";
|
|
||||||
type = lib.types.string;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
#* Utilisé pour avoir des raccourcis de machine
|
|
||||||
r6d.computers = {
|
|
||||||
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
|
#* Utilisé dans les fichiers .nix
|
||||||
# https://nixos.org/releases/nixos/14.12-small/nixos-14.12.374.61adf9e/manual/sec-writing-modules.html
|
r6d.config-generator = {
|
||||||
# https://nixos.org/wiki/NixOS:extend_NixOS
|
#enable = mkEnableOption "Génération de la configuration d'une machine.";
|
||||||
config = mkMerge
|
awesome = mkEnableOption "Profil pour activer le gestionnaire de fenêtre awesome.";
|
||||||
[ # Unconditional stuff.
|
auto-upgrade = mkEnableOption "Profil pour activer les mises à jour automatiques.";
|
||||||
{
|
cartographie = mkEnableOption "Profil pour activer les outils de gestion de données géographiques.";
|
||||||
r6d.config-generator.enable = true;
|
conception-assistee = mkEnableOption "Profil pour activer les outils de conception électronique & modélisation 3D";
|
||||||
r6d.computers = {
|
database_postgres = mkEnableOption "Profil pour activer le SGBD PostgreSQL.";
|
||||||
isLatitude = host == "latitude.dubronetwork.fr";
|
developpement = mkEnableOption "Profil pour activer les outils de développement";
|
||||||
isMonstre = host == "monstre.dubronetwork.fr";
|
developpement-haskell = mkEnableOption "Profil pour activer les outils de développement Haskell";
|
||||||
isNeoNomade = host == "neo-nomade.dubronetwork.fr";
|
developpement-java = mkEnableOption "Profil pour activer les outils de développement Java";
|
||||||
isNomade = host == "nomade.dubronetwork.fr";
|
developpement-rust = mkEnableOption "Profil pour activer les outils de développement Rust";
|
||||||
isOcean = host == "ocean.prunetwork.fr";
|
docker = mkEnableOption "Profil pour l'utilisation de Docker.";
|
||||||
isPedro = host == "pedro.dubronetwork.fr";
|
dovecot = mkEnableOption "Profil pour activer le serveur Dovecot.";
|
||||||
isPhenom = host == "phenom.dubronetwork.fr";
|
dns_autorite = mkEnableOption "Profil pour servir les fichiers de zone DNS.";
|
||||||
isRadx = host == "radx.prunetwork.fr";
|
dns_resolveur = mkEnableOption "Profil pour activer un résolveur DNS local.";
|
||||||
isRollo = host == "rollo.dubronetwork.fr";
|
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
|
||||||
|
ConnecTo = bar
|
||||||
|
'';
|
||||||
|
description = "Configuration supplémentaire pour tinc";
|
||||||
|
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.";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
###### 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
|
||||||
|
[ # Unconditional stuff.
|
||||||
|
{
|
||||||
|
#r6d.config-generator.enable = true;
|
||||||
|
# r6d.computers = {
|
||||||
|
# isHydra = host == "hydra.prunetwork.fr";
|
||||||
|
# isLatitude = host == "latitude.dubronetwork.fr";
|
||||||
|
# isMonstre = host == "monstre.dubronetwork.fr";
|
||||||
|
# isNeoNomade = host == "neo-nomade.dubronetwork.fr";
|
||||||
|
# isNomade = host == "nomade.dubronetwork.fr";
|
||||||
|
# isOcean = host == "ocean.prunetwork.fr";
|
||||||
|
# isPedro = host == "pedro.dubronetwork.fr";
|
||||||
|
# isPhenom = host == "phenom.dubronetwork.fr";
|
||||||
|
# isRadx = host == "radx.prunetwork.fr";
|
||||||
|
# isRollo = host == "rollo.dubronetwork.fr";
|
||||||
|
# };
|
||||||
}
|
}
|
||||||
|
|
||||||
# Conditional stuff
|
# Conditional stuff
|
||||||
@@ -207,7 +209,25 @@ in
|
|||||||
|
|
||||||
|
|
||||||
## Affectation des profils aux machines
|
## Affectation des profils aux machines
|
||||||
|
(mkIf comp.isHydra {
|
||||||
|
networking.hostName = "hydra.prunetwork.fr"; # Define your hostname.
|
||||||
|
r6d.profiles = {
|
||||||
|
isPrunetwork = true;
|
||||||
|
isServer = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
r6d.config-generator = {
|
||||||
|
docker = true;
|
||||||
|
hydra-builder = true;
|
||||||
|
hydra-core = true;
|
||||||
|
#tincAddress = "192.168.12.6/24";
|
||||||
|
#tincExtraConfig = ''
|
||||||
|
# ConnectTo = rollo_dubronetwork_fr
|
||||||
|
# '';
|
||||||
|
};
|
||||||
|
})
|
||||||
(mkIf comp.isOcean {
|
(mkIf comp.isOcean {
|
||||||
|
networking.hostName = "ocean.prunetwork.fr"; # Define your hostname.
|
||||||
r6d.profiles = {
|
r6d.profiles = {
|
||||||
isPrunetwork = true;
|
isPrunetwork = true;
|
||||||
isServer = true;
|
isServer = true;
|
||||||
@@ -219,10 +239,11 @@ 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 {
|
||||||
|
networking.hostName = "radx.prunetwork.fr"; # Define your hostname.
|
||||||
r6d.profiles = {
|
r6d.profiles = {
|
||||||
isHome = true;
|
isHome = true;
|
||||||
isPrunetwork = true;
|
isPrunetwork = true;
|
||||||
@@ -240,7 +261,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
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
|
|
||||||
@@ -259,7 +280,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;
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
@@ -279,7 +300,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{
|
||||||
@@ -295,7 +316,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{
|
||||||
@@ -316,6 +337,7 @@ in
|
|||||||
};
|
};
|
||||||
})
|
})
|
||||||
(mkIf comp.isPhenom {
|
(mkIf comp.isPhenom {
|
||||||
|
networking.hostName = "phenom.dubronetwork.fr"; # Define your hostname.
|
||||||
r6d.profiles = {
|
r6d.profiles = {
|
||||||
isDubronetwork = true;
|
isDubronetwork = true;
|
||||||
isHome = true;
|
isHome = true;
|
||||||
@@ -324,7 +346,7 @@ in
|
|||||||
|
|
||||||
r6d.config-generator = {
|
r6d.config-generator = {
|
||||||
jetbrains-licensed = true;
|
jetbrains-licensed = true;
|
||||||
hydra-core = true;
|
#hydra-core = true;
|
||||||
nix-serve-server = true;
|
nix-serve-server = true;
|
||||||
edition-photo = true;
|
edition-photo = true;
|
||||||
tincAddress = "192.168.12.1/24";
|
tincAddress = "192.168.12.1/24";
|
||||||
@@ -332,7 +354,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 {
|
||||||
@@ -349,7 +371,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;
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -36,6 +36,7 @@ mkIf true {
|
|||||||
exfat # Pour monter les FAT avec Fuse
|
exfat # Pour monter les FAT avec Fuse
|
||||||
hubicfuse # montage hubic
|
hubicfuse # montage hubic
|
||||||
ntfs3g # ntfs
|
ntfs3g # ntfs
|
||||||
|
squashfsTools # squashfs
|
||||||
sshfsFuse # ssh
|
sshfsFuse # ssh
|
||||||
|
|
||||||
## Gestion de FS
|
## Gestion de FS
|
||||||
@@ -43,6 +44,7 @@ mkIf true {
|
|||||||
|
|
||||||
## Exploitation FS
|
## Exploitation FS
|
||||||
inotify-tools # être notifié lorsque le contenu d'un répertoire change
|
inotify-tools # être notifié lorsque le contenu d'un répertoire change
|
||||||
|
detox # The detox utility renames files to make them easier to work with.
|
||||||
duff # outil de recherche de fichiers en doublons
|
duff # outil de recherche de fichiers en doublons
|
||||||
rdfind # recherche de fichiers doublons pour remplacement par hard/soft link
|
rdfind # recherche de fichiers doublons pour remplacement par hard/soft link
|
||||||
|
|
||||||
|
|||||||
@@ -22,5 +22,10 @@ mkIf cfg.developpement-haskell {
|
|||||||
|
|
||||||
# Application perso
|
# Application perso
|
||||||
haskellPackages.hahp
|
haskellPackages.hahp
|
||||||
|
|
||||||
|
# Application
|
||||||
|
haskellPackages.autoproc # ? procmail
|
||||||
|
haskellPackages.darcs # Gestionnaire de version éponyme
|
||||||
|
haskellPackages.turtle # genre shell-scripting
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,7 +16,8 @@ in
|
|||||||
#./network-ipv6.nix
|
#./network-ipv6.nix
|
||||||
./sudo.nix
|
./sudo.nix
|
||||||
./service-haveged.nix
|
./service-haveged.nix
|
||||||
./service-monitoring.nix
|
./service-monitoring-munin.nix
|
||||||
|
./service-monitoring-smokeping.nix
|
||||||
./service-ssh.nix
|
./service-ssh.nix
|
||||||
./udev.nix
|
./udev.nix
|
||||||
|
|
||||||
|
|||||||
@@ -73,6 +73,7 @@ mkIf cfg.hydra-core {
|
|||||||
### Machines connues
|
### Machines connues
|
||||||
|
|
||||||
programs.ssh.knownHosts = {
|
programs.ssh.knownHosts = {
|
||||||
|
"hydra.prunetwork.fr".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMhXFlj2oyArVyEwEwDxNXthB/JljHkq+UhTLxbekkMB";
|
||||||
"monstre.dubronetwork.fr".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBTTrLhq1Cwm0rpnwEIxSLqVrJWZnt+/9dt+SKd8NiIc";
|
"monstre.dubronetwork.fr".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBTTrLhq1Cwm0rpnwEIxSLqVrJWZnt+/9dt+SKd8NiIc";
|
||||||
"pedro.dubronetwork.fr".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIM7fjo2ysLqlfSo6BKnc6I6m1ayoPrbwEEyTKZmUzsOD";
|
"pedro.dubronetwork.fr".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIM7fjo2ysLqlfSo6BKnc6I6m1ayoPrbwEEyTKZmUzsOD";
|
||||||
"ocean.prunetwork.fr".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINCaRuTl8iCTUE4XInOpkSlwQj5Re4w4Iq+gNIlJe8pA";
|
"ocean.prunetwork.fr".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINCaRuTl8iCTUE4XInOpkSlwQj5Re4w4Iq+gNIlJe8pA";
|
||||||
|
|||||||
@@ -21,7 +21,10 @@ mkIf true {
|
|||||||
services.munin-node = {
|
services.munin-node = {
|
||||||
enable = true;
|
enable = true;
|
||||||
};
|
};
|
||||||
systemd.services.munin-node.serviceConfig.TimeoutStartSec = "3min";
|
systemd.services.munin-node = {
|
||||||
|
path = [ pkgs.munin pkgs.lm_sensors ];
|
||||||
|
serviceConfig.TimeoutStartSec = "3min";
|
||||||
|
};
|
||||||
|
|
||||||
## Munin server -- generate /var/www/munin
|
## Munin server -- generate /var/www/munin
|
||||||
services.munin-cron = {
|
services.munin-cron = {
|
||||||
194
public/service-monitoring-smokeping.nix
Normal file
194
public/service-monitoring-smokeping.nix
Normal file
@@ -0,0 +1,194 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (lib) mkIf mkMerge mkThenElse;
|
||||||
|
cfg = config.r6d.config-generator;
|
||||||
|
computers = config.r6d.computers;
|
||||||
|
profiles = config.r6d.profiles;
|
||||||
|
in
|
||||||
|
|
||||||
|
mkIf true {
|
||||||
|
|
||||||
|
# Paquets
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
bind
|
||||||
|
];
|
||||||
|
|
||||||
|
security.setuidPrograms = [ "fping" ];
|
||||||
|
|
||||||
|
# Services
|
||||||
|
|
||||||
|
services.smokeping = {
|
||||||
|
enable = true;
|
||||||
|
probeConfig = ''
|
||||||
|
+ FPing
|
||||||
|
#binary = ${pkgs.fping}/bin/fping
|
||||||
|
binary = ${config.security.wrapperDir}/fping
|
||||||
|
|
||||||
|
+DNS
|
||||||
|
#binary = ${pkgs.bind}/bin/dig
|
||||||
|
binary = /run/current-system/sw/bin/dig
|
||||||
|
forks = 5
|
||||||
|
offset = 50%
|
||||||
|
step = 300
|
||||||
|
timeout = 15
|
||||||
|
'';
|
||||||
|
targetConfig = ''
|
||||||
|
probe = FPing
|
||||||
|
menu = Top
|
||||||
|
title = Suivi de la latence reseau
|
||||||
|
remark = Monitoring de la latence reseau. \
|
||||||
|
Here you will learn all about the latency of our network.
|
||||||
|
+ Local
|
||||||
|
probe = FPing
|
||||||
|
menu = Local
|
||||||
|
title = Local Network
|
||||||
|
++ LocalMachine
|
||||||
|
menu = Local Machine
|
||||||
|
title = This host
|
||||||
|
host = localhost
|
||||||
|
|
||||||
|
+ Grudu_Tinc
|
||||||
|
probe = FPing
|
||||||
|
title = Grudu_Tinc
|
||||||
|
menu = Grudu.net - Tinc
|
||||||
|
|
||||||
|
++ Hydra
|
||||||
|
menu = hydra.grudu.net
|
||||||
|
title = hydra.grudu.net
|
||||||
|
host = hydra.grudu.net
|
||||||
|
|
||||||
|
++ Monstre
|
||||||
|
menu = monstre.grudu.net
|
||||||
|
title = monstre.grudu.net
|
||||||
|
host = monstre.grudu.net
|
||||||
|
|
||||||
|
++ Rollo
|
||||||
|
menu = rollo.grudu.net
|
||||||
|
title = rollo.grudu.net
|
||||||
|
host = rollo.grudu.net
|
||||||
|
|
||||||
|
++ Ocean
|
||||||
|
menu = ocean.grudu.net
|
||||||
|
title = ocean.grudu.net
|
||||||
|
host = ocean.grudu.net
|
||||||
|
|
||||||
|
++ MultiHost
|
||||||
|
menu = Multihost
|
||||||
|
title = Ensemble de mesures de latence
|
||||||
|
host = /Grudu_Tinc/Monstre /Grudu_Tinc/Rollo /Grudu_Tinc/Ocean /Grudu_Tinc/Hydra
|
||||||
|
|
||||||
|
+ Grudu_DNS
|
||||||
|
title = Grudu_DNS
|
||||||
|
menu = Grudu.net - DNS
|
||||||
|
probe = DNS
|
||||||
|
pings = 5
|
||||||
|
++ Ocean
|
||||||
|
title = ocean
|
||||||
|
menu = serveur ocean
|
||||||
|
server = ocean.prunetwork.fr
|
||||||
|
+++ ocean
|
||||||
|
host = ocean.grudu.net
|
||||||
|
lookup = ocean.grudu.net
|
||||||
|
+++ rollo
|
||||||
|
host = rollo.grudu.net
|
||||||
|
lookup = rollo.grudu.net
|
||||||
|
++ Rollo
|
||||||
|
title = rollo
|
||||||
|
menu = serveur rollo
|
||||||
|
server = rollo.dubronetwork.fr
|
||||||
|
+++ ocean
|
||||||
|
host = ocean.grudu.net
|
||||||
|
lookup = ocean.grudu.net
|
||||||
|
+++ rollo
|
||||||
|
host = rollo.grudu.net
|
||||||
|
lookup = rollo.grudu.net
|
||||||
|
++ MultiHost
|
||||||
|
menu = Multihost
|
||||||
|
title = Ensemble de mesures DNS
|
||||||
|
host = /Grudu_DNS/Ocean/ocean /Grudu_DNS/Ocean/rollo /Grudu_DNS/Rollo/ocean /Grudu_DNS/Rollo/rollo
|
||||||
|
+ France
|
||||||
|
probe = FPing
|
||||||
|
title = France
|
||||||
|
menu = Operateur francais
|
||||||
|
|
||||||
|
++ Atos
|
||||||
|
menu = Atos
|
||||||
|
title = www.atos.fr
|
||||||
|
host = www.atos.fr
|
||||||
|
|
||||||
|
++ Axialys
|
||||||
|
menu = Axialys
|
||||||
|
title = www.axialys.fr
|
||||||
|
host = www.axialys.fr
|
||||||
|
|
||||||
|
++ Azurtel
|
||||||
|
menu = azurtel
|
||||||
|
title = www.azurtel.fr
|
||||||
|
host = www.azurtel.fr
|
||||||
|
|
||||||
|
++ Bouygues-Telecom
|
||||||
|
menu = Bouygues-Telecom
|
||||||
|
title = www.bouygues-telecom.fr
|
||||||
|
host = www.bouygues-telecom.fr
|
||||||
|
|
||||||
|
++ Colt
|
||||||
|
menu = Colt
|
||||||
|
title = www.colt.fr
|
||||||
|
host = www.colt.fr
|
||||||
|
|
||||||
|
++ Completel
|
||||||
|
menu = completel
|
||||||
|
title = www.completel.fr
|
||||||
|
host = www.completel.fr
|
||||||
|
|
||||||
|
++ Free
|
||||||
|
menu = Free
|
||||||
|
title = www.free.fr
|
||||||
|
host = www.free.fr
|
||||||
|
|
||||||
|
++ Kosmos
|
||||||
|
menu = Kosmos
|
||||||
|
title = www.kosmos.fr
|
||||||
|
host = www.kosmos.fr
|
||||||
|
|
||||||
|
++ Orange
|
||||||
|
menu = Orange
|
||||||
|
title = www.orange.fr
|
||||||
|
host = www.orange.fr
|
||||||
|
|
||||||
|
++ Renater
|
||||||
|
menu = Renater
|
||||||
|
title = www.renater.fr
|
||||||
|
host = www.renater.fr
|
||||||
|
|
||||||
|
++ SFR
|
||||||
|
menu = SFR
|
||||||
|
title = www.sfr.fr
|
||||||
|
host = www.sfr.fr
|
||||||
|
|
||||||
|
++ MultiHost
|
||||||
|
menu = Multihost
|
||||||
|
title = Ensemble de mesures DNS
|
||||||
|
host = /France/Atos /France/Axialys /France/Azurtel \
|
||||||
|
/France/Bouygues-Telecom \
|
||||||
|
/France/Completel \
|
||||||
|
/France/Free \
|
||||||
|
/France/Kosmos \
|
||||||
|
/France/Orange \
|
||||||
|
/France/Renater \
|
||||||
|
/France/SFR
|
||||||
|
|
||||||
|
# /France/Colt
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
# Réseau
|
||||||
|
networking.firewall = {
|
||||||
|
allowedTCPPorts = [
|
||||||
|
#8081 # accès depuis localhost uniquement ou à travers un proxy nginx
|
||||||
|
];
|
||||||
|
allowedUDPPorts = [
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -13,6 +13,7 @@ mkIf profiles.isDesktop {
|
|||||||
hardware.pulseaudio = {
|
hardware.pulseaudio = {
|
||||||
enable = true;
|
enable = true;
|
||||||
support32Bit = true;
|
support32Bit = true;
|
||||||
|
daemon.config = { flat-volumes = "no"; };
|
||||||
};
|
};
|
||||||
environment.etc."pulse/daemon.conf".text = "flat-volumes = no";
|
#environment.etc."pulse/daemon.conf".text = "flat-volumes = no";
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user