Compare commits

..

15 Commits

17 changed files with 315 additions and 388 deletions

View File

@@ -1,18 +1,17 @@
GSF=git submodule foreach GSF=git submodule foreach
TIME=time
all: rebuild-switch all: rebuild-switch
date date
##--------- Commandes spécifiques pour NixOS ##--------- Commandes spécifiques pour NixOS
clean: clean:
$(TIME) nix-collect-garbage -d --delete-older-than 15d nix-collect-garbage -d --delete-older-than 15d
clean-aggressive: clean-aggressive:
$(TIME) nix-collect-garbage -d --delete-older-than 1d nix-collect-garbage -d --delete-older-than 1d
clean-total: clean-total:
$(TIME) nix-collect-garbage -d nix-collect-garbage -d
clean-log: clean-log:
journalctl --vacuum-size=1G journalctl --vacuum-size=1G
@@ -21,19 +20,19 @@ full-auto: submodules-update upgrade clean optimise
@date @date
optimise: optimise:
$(TIME) nix-store --optimise nix-store --optimise
rebuild-switch: rebuild-switch:
$(TIME) time nixos-rebuild switch --fallback --show-trace nixos-rebuild switch --fallback --show-trace
show-roots: show-roots:
nix-store --gc --print-roots nix-store --gc --print-roots
store-repair: store-repair:
$(TIME) nix-store --verify --check-contents --repair nix-store --verify --check-contents --repair
upgrade: upgrade:
$(TIME) nixos-rebuild switch --upgrade --fallback --show-trace nixos-rebuild switch --upgrade --fallback --show-trace
##--------- Commandes spécifiques pour NixOS -- Opérations non courantes ##--------- Commandes spécifiques pour NixOS -- Opérations non courantes

184
README.md
View File

@@ -1,18 +1,45 @@
# nixos-template-base # nixos-template-base
Version de nixos supportée : NixOs 16.09 Versions de NixOS supportées :
* NixOS 16.09
* NixOS unstable
Ce dépôt stocke une configuration générique des machines. Ce dépôt stocke une configuration générique des machines.
Une recette dite "config-generator" adapte la configuration selon le nom de la machine (FQDN). Une recette dite "config-generator" adapte la configuration selon le nom de la machine (FQDN).
Actuellement, les scripts contiennent un peu de configuration spécifique pour les machines des mainteneurs. Actuellement, les scripts contiennent un peu de configuration spécifique pour les machines des mainteneurs.
# Lien pour install sur machine distante # Notes de mise-à-jour
## pour le passage de 16.09 à unstable
* https://nixos.org/wiki/How_to_install_NixOS_from_Linux#Installing_through_a_chroot * mettre à jour tous les dépôts
* https://github.com/NixOS/nixpkgs/issues/13305 * changer la branche de base vers `nixos-unstable`
* changer la declaration de la machine dans `configuration.nix`
# Notes pour l'upgrade de 16.03 vers 16.09 ~~~
networking.hostName = "<bidule>";
~~~
devient
~~~
r6d.computers.is<bidule> = true;
~~~
* mettre à jour le channel
~~~
nix-channel --add https://nixos.org/channels/nixos-unstable nixos
nix-channel --update
~~~
* faire la mise à jour
~~~
make
~~~
## pour le passage de 16.03 à 16.09
* mettre le dépôt base sur la branche upgrade-16.09 * mettre le dépôt base sur la branche upgrade-16.09
* changer le channel nixos : ```nix-channel --add https://nixos.org/channels/nixos-16.09 nixos``` * changer le channel nixos : ```nix-channel --add https://nixos.org/channels/nixos-16.09 nixos```
@@ -41,3 +68,150 @@ Pour résoudre les soucis d'upgrade, il est conseillé :
* d'ajouter `vim` aux paquets * d'ajouter `vim` aux paquets
* de réactiver petit à petit les lignes désactivées * de réactiver petit à petit les lignes désactivées
# Installation sur machine chez online.net
* https://nixos.org/wiki/Install_NixOS_on_Online.Net
* https://nixos.org/wiki/Install_NixOS_on_Linode
## Installation selon config online
* commander serveur
* lancer la procédure d'installation avec ubuntu LTS 64bits
* partitionner le disque avec l'interface web
* lancer l'installation de l'os.
* attendre que la procédure standard d'installation d'online ait terminée
* lorsque l'install est finie, dans l'onglet "Etat" se trouve l'option "Secours"
## Transformation en NixOS
* relancer la machine en mode "Secours"
* choisir un linux 64bits (préférence pour ubuntu LTS)
* le système de boot donne des identifiants SSH pour le connecter à la machine
* se connecter à la machine
* passer en root
~~~
sudo su -
~~~
* formater les partitions
~~~
mkfs.ext4 -L nixos /dev/sda1
swapoff -a
mkswap /dev/sda2
swapon -a
~~~
* monter les partitions dans /mnt
~~~
mount /dev/sda1 /mnt/
mkdir /mnt/etc/
mkdir /etc/nixos
mkdir /mnt/nix
mount --bind /mnt/nix/ /nix
~~~
* installer les paquets nécessaires
~~~
apt-get install bzip2 git byobu htop glances
~~~
* création d'utilisateur (n'importe quil mot de passe)
~~~
adduser nix
groupadd -r nixbld
for n in $(seq 1 10); do useradd -c "Nix build user $n" -d /var/empty -g nixbld -G nixbld -M -N -r -s "$(which nologin)" nixbld$n; done
~~~
* mise-à-jour des certificats
~~~
update-ca-certificates
~~~
* installer nix
~~~
chown -R nix /nix
su - nix
bash <(curl https://nixos.org/nix/install)
exit
~~~
* créer un profil nix pour root & un channel
~~~
. ~nix/.nix-profile/etc/profile.d/nix.sh
nix-channel --remove nixpkgs
nix-channel --add http://nixos.org/channels/nixos-unstable nixos
nix-channel --update
~~~
* installer un editeur de texte
~~~
nix-env -i vim_configurable
~~~
* installation de nixos-install
~~~
cat <<EOF > /root/configuration.nix
{ fileSystems."/" = {};
boot.loader.grub.enable = false;
}
EOF
export NIX_PATH=nixpkgs=/root/.nix-defexpr/channels/nixos:nixos=/root/.nix-defexpr/channels/nixos/nixos
export NIXOS_CONFIG=/root/configuration.nix
nix-env -i -A config.system.build.nixos-install \
-A config.system.build.nixos-option \
-A config.system.build.nixos-generate-config \
-f "<nixos>"
~~~
* configuration de NixOS
si la machine existe déjà, cloner le dépôt dans /mnt/etc/nixos
pour cela, créer clef ssh et l'ajouter sur la forge
~~~
ssh-keygen -t ed25519
cp ~/.ssh/id_ed25519* /mnt/etc/nixos/
git clone <>
git submodule init
git submodule update
~~~
* monter /etc/nixos vers /mnt/etc/nixos pour que la config clonée fonctionne
~~~
mount --bind /mnt/etc/nixos/ /etc/nixos/
~~~
* mettre à jour la configuration matérielle
~~~
export NIX_PATH=nixpkgs=/root/.nix-defexpr/channels/nixos:nixos=/root/.nix-defexpr/channels/nixos/nixos
nixos-generate-config --root /mnt
~~~
* vérifier le /mnt/etc/nixos/configuration.nix
notamment le périphérique utilisé par grub
* installer le système sur le disque
~~~
unset NIXOS_CONFIG
nixos-install
~~~

View File

@@ -13,6 +13,11 @@ mkIf cfg.nix-serve-client {
# Cache http pour le store # Cache http pour le store
requireSignedBinaryCaches = false; requireSignedBinaryCaches = false;
binaryCaches = [ binaryCaches = [
#(mkIf (computers.isRollo) "http://ocean.grudu.net:5001/")
(mkIf (computers.isRollo) "http://192.168.12.6:5000/")
#(mkIf (computers.isOcean) "http://rollo.grudu.net:5001/")
(mkIf (computers.isOcean) "http://192.168.12.5:5000/")
(mkIf (profiles.isDubronetwork && (! computers.isPedro) && (! computers.isRollo)) "http://nix-cache.dubronetwork.fr:5001") (mkIf (profiles.isDubronetwork && (! computers.isPedro) && (! computers.isRollo)) "http://nix-cache.dubronetwork.fr:5001")
(mkIf profiles.isPrunetwork "https://cache.nixos.org/") (mkIf profiles.isPrunetwork "https://cache.nixos.org/")

File diff suppressed because one or more lines are too long

View File

@@ -27,14 +27,13 @@ in
#* Utilisé dans les fichiers .nix #* Utilisé dans les fichiers .nix
r6d.config-generator = { 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."; awesome = mkEnableOption "Profil pour activer le gestionnaire de fenêtre awesome.";
auto-upgrade = mkEnableOption "Profil pour activer les mises à jour automatiques."; auto-upgrade = mkEnableOption "Profil pour activer les mises à jour automatiques.";
cartographie = mkEnableOption "Profil pour activer les outils de gestion de données géographiques."; 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"; conception-assistee = mkEnableOption "Profil pour activer les outils de conception électronique & modélisation 3D";
database_postgres = mkEnableOption "Profil pour activer le SGBD PostgreSQL."; database_postgres = mkEnableOption "Profil pour activer le SGBD PostgreSQL.";
developpement = mkEnableOption "Profil pour activer les outils de développement"; developpement = mkEnableOption "Profil pour activer les outils de développement";
developpement-elm = mkEnableOption "Profil pour activer les outils de développement Elm";
developpement-haskell = mkEnableOption "Profil pour activer les outils de développement Haskell"; 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-java = mkEnableOption "Profil pour activer les outils de développement Java";
developpement-rust = mkEnableOption "Profil pour activer les outils de développement Rust"; developpement-rust = mkEnableOption "Profil pour activer les outils de développement Rust";
@@ -105,19 +104,19 @@ in
config = mkMerge config = mkMerge
[ # Unconditional stuff. [ # Unconditional stuff.
{ {
#r6d.config-generator.enable = true; r6d.config-generator.enable = true;
# r6d.computers = { r6d.computers = {
# isHydra = host == "hydra.prunetwork.fr"; isHydra = host == "hydra.prunetwork.fr";
# isLatitude = host == "latitude.dubronetwork.fr"; isLatitude = host == "latitude.dubronetwork.fr";
# isMonstre = host == "monstre.dubronetwork.fr"; isMonstre = host == "monstre.dubronetwork.fr";
# isNeoNomade = host == "neo-nomade.dubronetwork.fr"; isNeoNomade = host == "neo-nomade.dubronetwork.fr";
# isNomade = host == "nomade.dubronetwork.fr"; isNomade = host == "nomade.dubronetwork.fr";
# isOcean = host == "ocean.prunetwork.fr"; isOcean = host == "ocean.prunetwork.fr";
# isPedro = host == "pedro.dubronetwork.fr"; isPedro = host == "pedro.dubronetwork.fr";
# isPhenom = host == "phenom.dubronetwork.fr"; isPhenom = host == "phenom.dubronetwork.fr";
# isRadx = host == "radx.prunetwork.fr"; isRadx = host == "radx.prunetwork.fr";
# isRollo = host == "rollo.dubronetwork.fr"; isRollo = host == "rollo.dubronetwork.fr";
# }; };
} }
# Conditional stuff # Conditional stuff
@@ -172,7 +171,6 @@ in
conception-assistee = true; conception-assistee = true;
docker = true; docker = true;
developpement = true; developpement = true;
developpement-elm = true;
developpement-haskell = true; developpement-haskell = true;
developpement-java = true; developpement-java = true;
developpement-rust = true; developpement-rust = true;
@@ -197,27 +195,21 @@ in
(mkIf (pfl.isPrunetwork && pfl.isWorkstation) { (mkIf (pfl.isPrunetwork && pfl.isWorkstation) {
r6d.config-generator = { r6d.config-generator = {
cartographie = true; cartographie = true;
#conception-assistee = true;
docker = true;
developpement = true; developpement = true;
developpement-elm = true;
developpement-haskell = true; developpement-haskell = true;
developpement-java = true; developpement-java = true;
#developpement-rust = true; #developpement-rust = true;
#edition-musique = true; #edition-musique = true;
edition-photo = true; edition-photo = true;
#edition-video = true; #edition-video = true;
hydra-core = false; # DO NOT ENABLE ON WORKSTATION, YOU CAN CRASH YOUR SYSTEM
print = true; print = true;
#virtualbox = true; virtualbox = true;
#xmonad = true;
}; };
}) })
## Affectation des profils aux machines ## Affectation des profils aux machines
(mkIf comp.isHydra { (mkIf comp.isHydra {
networking.hostName = "hydra.prunetwork.fr"; # Define your hostname.
r6d.profiles = { r6d.profiles = {
isPrunetwork = true; isPrunetwork = true;
isServer = true; isServer = true;
@@ -227,14 +219,14 @@ in
docker = true; docker = true;
hydra-builder = true; hydra-builder = true;
hydra-core = true; hydra-core = true;
#tincAddress = "192.168.12.6/24"; tincAddress = "192.168.12.8/24";
#tincExtraConfig = '' tincExtraConfig = ''
# ConnectTo = rollo_dubronetwork_fr ConnectTo = rollo_dubronetwork_fr
# ''; ConnectTo = ocean_prunetwork_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;
@@ -243,6 +235,8 @@ in
r6d.config-generator = { r6d.config-generator = {
docker = true; docker = true;
radicale = true; radicale = true;
nix-serve-client = true;
nix-serve-server = true;
tincAddress = "192.168.12.6/24"; tincAddress = "192.168.12.6/24";
tincExtraConfig = '' tincExtraConfig = ''
ConnectTo = rollo_dubronetwork_fr ConnectTo = rollo_dubronetwork_fr
@@ -250,7 +244,6 @@ in
}; };
}) })
(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;
@@ -258,10 +251,9 @@ in
}; };
r6d.config-generator = { r6d.config-generator = {
database_postgres = true;
elasticsearch = true; elasticsearch = true;
hydra-builder = true; hydra-builder = true;
#hydra-core = false; # DO NOT ENABLE ON WORKSTATION hydra-core = true;
kibana = true; kibana = true;
rabbitmq = true; rabbitmq = true;
tincAddress = "192.168.12.3/24"; tincAddress = "192.168.12.3/24";
@@ -345,7 +337,6 @@ 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;
@@ -354,7 +345,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";
@@ -376,6 +367,8 @@ in
fail2ban = true; fail2ban = true;
mailboxes = true; mailboxes = true;
murmur = true; murmur = true;
nix-serve-client = true;
nix-serve-server = true;
tincAddress = "192.168.12.5/24"; tincAddress = "192.168.12.5/24";
tincExtraConfig = '' tincExtraConfig = ''
ConnectTo = ocean_prunetwork_fr ConnectTo = ocean_prunetwork_fr

View File

@@ -49,7 +49,6 @@ in
fira-code # idem fira-mono + ligatures pour la programmation fira-code # idem fira-mono + ligatures pour la programmation
fira-mono # dérivée de fira en monospace fira-mono # dérivée de fira en monospace
hack-font # police monospace créée explicitement pour coder hack-font # police monospace créée explicitement pour coder
hasklig # police dérivée de source-code-pro mais avec des ligatures
]; ];
nixpkgs.config.packageOverrides = pkgs: { nixpkgs.config.packageOverrides = pkgs: {

View File

@@ -36,7 +36,6 @@ 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
@@ -44,7 +43,6 @@ 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

View File

@@ -25,7 +25,6 @@ environment.systemPackages = with pkgs; [
## Mail & Discussion (texte, audio) ## Mail & Discussion (texte, audio)
clawsMail clawsMail
hexchat hexchat
quassel
quasselClient quasselClient
mumble mumble
mutt mutt

View File

@@ -1,26 +0,0 @@
{ config, lib, pkgs, ... }:
let
inherit (lib) mkIf mkMerge mkThenElse;
cfg = config.r6d.config-generator;
computers = config.r6d.computers;
profiles = config.r6d.profiles;
in
mkIf cfg.developpement-elm {
# Paquets
environment.systemPackages = with pkgs; [
elmPackages.elm
];
# Services
# Réseau
networking.firewall = {
allowedTCPPorts = [
];
allowedUDPPorts = [
];
};
}

View File

@@ -19,14 +19,8 @@ mkIf cfg.developpement-haskell {
haskellPackages.stylish-haskell # qualité de code haskellPackages.stylish-haskell # qualité de code
haskellPackages.hindent haskellPackages.hindent
haskellPackages.hlint
# Application perso # Application perso
haskellPackages.hahp haskellPackages.hahp
# Application
haskellPackages.autoproc # ? procmail
haskellPackages.darcs # Gestionnaire de version éponyme
haskellPackages.turtle # genre shell-scripting
]; ];
} }

View File

@@ -14,13 +14,5 @@ mkIf cfg.edition-video {
# Vidéo # Vidéo
#cinelerra # editeur video #cinelerra # editeur video
pitivi # montage vidéo pitivi # montage vidéo
ffmpeg-full # assemblage de flux audio & video en ligne de commande
]; ];
nixpkgs.config.packageOverrides = pkgs: {
ffmpeg-full = pkgs.ffmpeg-full.override {
nonfreeLicensing = true;
nvenc = true;
};
};
} }

View File

@@ -8,7 +8,6 @@
status = auto status = auto
[alias] [alias]
a = add -p a = add -p
br = for-each-ref --sort=committerdate refs/heads/ --format='%(committerdate:short)\t%(authorname)\t%(refname:short)'
ci = commit ci = commit
co = checkout co = checkout
ff = pull --ff-only ff = pull --ff-only

View File

@@ -16,8 +16,7 @@ in
#./network-ipv6.nix #./network-ipv6.nix
./sudo.nix ./sudo.nix
./service-haveged.nix ./service-haveged.nix
./service-monitoring-munin.nix ./service-monitoring.nix
./service-monitoring-smokeping.nix
./service-ssh.nix ./service-ssh.nix
./udev.nix ./udev.nix
@@ -27,7 +26,6 @@ in
./app-cao.nix # de conception assisté par ordinateur & modélisation ./app-cao.nix # de conception assisté par ordinateur & modélisation
./app-cartographie.nix # manipuler les données géographiques & cartes ./app-cartographie.nix # manipuler les données géographiques & cartes
./app-developpement.nix # développer des programmes/scripts ./app-developpement.nix # développer des programmes/scripts
./app-developpement-elm.nix # développer en elm
./app-developpement-haskell.nix # développer en haskell ./app-developpement-haskell.nix # développer en haskell
./app-developpement-java.nix # développer en java ./app-developpement-java.nix # développer en java
./app-developpement-jetbrains.nix # outils jetbrains ./app-developpement-jetbrains.nix # outils jetbrains

View File

@@ -1,194 +0,0 @@
{ 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

@@ -21,10 +21,7 @@ mkIf true {
services.munin-node = { services.munin-node = {
enable = true; enable = true;
}; };
systemd.services.munin-node = { systemd.services.munin-node.serviceConfig.TimeoutStartSec = "3min";
path = [ pkgs.munin pkgs.lm_sensors ];
serviceConfig.TimeoutStartSec = "1min";
};
## Munin server -- generate /var/www/munin ## Munin server -- generate /var/www/munin
services.munin-cron = { services.munin-cron = {

View File

@@ -13,7 +13,6 @@ 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";
} }

View File

@@ -12,7 +12,6 @@ vim_configurable.customize {
# Here you can place all your vim plugins # Here you can place all your vim plugins
# They are installed managed by `vam` (a vim plugin manager) # They are installed managed by `vam` (a vim plugin manager)
#"vim-addon-nix" #"vim-addon-nix"
"elm-vim"
"vim-nix" "vim-nix"
"wombat256-vim" "wombat256-vim"
]; } ]; }