Compare commits

...

14 Commits

Author SHA1 Message Date
Yves Dubromelle
c11cd5d456 formatage 2017-01-29 23:34:52 +01:00
Yves Dubromelle
805ef707f5 fix: plus de matching sur le hostname, is<machine> à mettre à true dans configuration.nix 2017-01-29 23:31:44 +01:00
Yves Dubromelle
1ee426f50a hostname dans le config-generator pour phenom 2017-01-29 23:29:50 +01:00
Yves Dubromelle
0bcd327679 -hydra pour phenom 2017-01-29 23:28:53 +01:00
04c3397ff3 suppression de la variable enable car toujours à vraie 2017-01-29 19:28:40 +01:00
5f86c78e1b smokeping: ajout hydra 2017-01-28 00:15:26 +01:00
715a3519f4 Merge remote-tracking branch 'origin/master' into nixos-unstable 2017-01-27 19:31:38 +01:00
0b08c7dbd0 munin: ajout dépendances sur 'sensors' 2017-01-27 19:30:04 +01:00
d7f2b4fd38 ajout monitoring smokeping pour toutes les machines 2017-01-26 11:49:18 +01:00
Yves Dubromelle
ce1cae293c ajout hindent 2017-01-26 10:42:52 +01:00
Yves Dubromelle
1c58705adf latitude sert son nix-store 2017-01-26 10:42:52 +01:00
Yves Dubromelle
1cc773c034 outils de ménage de fichier 2017-01-26 00:12:19 +01:00
Yves Dubromelle
58c32c79fb ajout de paquets haskell 2017-01-26 00:12:19 +01:00
d1a5228a92 MaJ config pulseaudio : nouvel argument pour déclarer les options du daemon 2017-01-26 00:12:19 +01:00
7 changed files with 321 additions and 114 deletions

View File

@@ -27,7 +27,7 @@ in
#* Utilisé dans les fichiers .nix
r6d.config-generator = {
enable = mkEnableOption "Génération de la configuration d'une machine.";
#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.";
@@ -104,19 +104,19 @@ in
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";
};
#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
@@ -334,6 +334,7 @@ in
};
})
(mkIf comp.isPhenom {
networking.hostName = "phenom.dubronetwork.fr"; # Define your hostname.
r6d.profiles = {
isDubronetwork = true;
isHome = true;
@@ -342,7 +343,7 @@ in
r6d.config-generator = {
jetbrains-licensed = true;
hydra-core = true;
#hydra-core = true;
nix-serve-server = true;
edition-photo = true;
tincAddress = "192.168.12.1/24";

View File

@@ -36,6 +36,7 @@ mkIf true {
exfat # Pour monter les FAT avec Fuse
hubicfuse # montage hubic
ntfs3g # ntfs
squashfsTools # squashfs
sshfsFuse # ssh
## Gestion de FS
@@ -43,6 +44,7 @@ mkIf true {
## Exploitation FS
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
rdfind # recherche de fichiers doublons pour remplacement par hard/soft link

View File

@@ -22,5 +22,10 @@ mkIf cfg.developpement-haskell {
# Application perso
haskellPackages.hahp
# Application
haskellPackages.autoproc # ? procmail
haskellPackages.darcs # Gestionnaire de version éponyme
haskellPackages.turtle # genre shell-scripting
];
}

View File

@@ -16,7 +16,8 @@ in
#./network-ipv6.nix
./sudo.nix
./service-haveged.nix
./service-monitoring.nix
./service-monitoring-munin.nix
./service-monitoring-smokeping.nix
./service-ssh.nix
./udev.nix

View File

@@ -21,7 +21,10 @@ mkIf true {
services.munin-node = {
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
services.munin-cron = {

View 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 = [
];
};
}

View File

@@ -13,6 +13,7 @@ mkIf profiles.isDesktop {
hardware.pulseaudio = {
enable = 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";
}