Compare commits
12 Commits
2017-12-23
...
2018-03-24
| Author | SHA1 | Date | |
|---|---|---|---|
| cffcd9bd3e | |||
| 3f80d6be6e | |||
| e94b16fce7 | |||
| 3f038be64a | |||
| 76fce51cf0 | |||
| 264a782227 | |||
| e56040b333 | |||
| bb08ab258f | |||
| ab183dbc00 | |||
| 62164179ed | |||
| b04e9502f0 | |||
| 4ab0e2ff47 |
7
Makefile
7
Makefile
@@ -1,6 +1,9 @@
|
||||
GSF=git submodule foreach
|
||||
TIME=time
|
||||
|
||||
CHRONY_STATUS=chronyc tracking
|
||||
CHRONY_STATS=chronyc sources -v
|
||||
|
||||
all: rebuild-switch
|
||||
date
|
||||
##--------- Commandes spécifiques pour NixOS
|
||||
@@ -39,6 +42,10 @@ show-diff-with-current:
|
||||
show-roots:
|
||||
nix-store --gc --print-roots
|
||||
|
||||
show-time:
|
||||
-@$(CHRONY_STATUS) && $(CHRONY_STATS)
|
||||
-@watch -d -n 5 "$(CHRONY_STATUS) && echo "--" && $(CHRONY_STATS)"
|
||||
|
||||
store-repair:
|
||||
$(TIME) nix-store --verify --check-contents --repair
|
||||
|
||||
|
||||
@@ -21,7 +21,7 @@ environment.systemPackages = with pkgs; [
|
||||
clawsMail
|
||||
hexchat
|
||||
quasselClient
|
||||
mumble
|
||||
#mumble
|
||||
pidgin
|
||||
thunderbird
|
||||
|
||||
|
||||
@@ -11,6 +11,11 @@ mkIf flags.developpement {
|
||||
|
||||
# Paquets
|
||||
environment.systemPackages = with pkgs; [
|
||||
# Build / outil de construction
|
||||
autobuild
|
||||
autoconf
|
||||
automake
|
||||
|
||||
# Base de données
|
||||
pg_top # monitoring de PostgreSQL
|
||||
sqlite # le moteur de base de données
|
||||
|
||||
@@ -15,6 +15,7 @@ in
|
||||
./localisation.nix
|
||||
./network.nix
|
||||
#./network-ipv6.nix
|
||||
./u2f.nix
|
||||
./udev.nix
|
||||
|
||||
# commandées par config-generator
|
||||
|
||||
@@ -60,7 +60,7 @@ in
|
||||
# Host keys the client accepts - order here is honored by OpenSSH
|
||||
HostKeyAlgorithms ssh-ed25519-cert-v01@openssh.com,ssh-rsa-cert-v01@openssh.com,ssh-ed25519,ssh-rsa,ecdsa-sha2-nistp521-cert-v01@openssh.com,ecdsa-sha2-nistp384-cert-v01@openssh.com,ecdsa-sha2-nistp256-cert-v01@openssh.com,ecdsa-sha2-nistp521,ecdsa-sha2-nistp384,ecdsa-sha2-nistp256
|
||||
|
||||
KexAlgorithms curve25519-sha256@libssh.org,ecdh-sha2-nistp521,ecdh-sha2-nistp256,ecdh-sha2-nistp384,diffie-hellman-group-exchange-sha256
|
||||
KexAlgorithms curve25519-sha256@libssh.org,ecdh-sha2-nistp521,ecdh-sha2-nistp384,ecdh-sha2-nistp256,diffie-hellman-group-exchange-sha256
|
||||
MACs hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-512,hmac-sha2-256,umac-128@openssh.com
|
||||
Ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com,aes128-gcm@openssh.com,aes256-ctr,aes192-ctr,aes128-ctr
|
||||
'';
|
||||
|
||||
41
configuration/u2f.nix
Normal file
41
configuration/u2f.nix
Normal file
@@ -0,0 +1,41 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
inherit (lib) mkIf mkMerge mkThenElse;
|
||||
annuaire = config.r6d.machines;
|
||||
currentMachine = annuaire."${config.networking.hostName}";
|
||||
flags = currentMachine.configurationFlags;
|
||||
in
|
||||
|
||||
mkIf true {
|
||||
# Ajout du support des yobikey & hyperfido
|
||||
## source des valeurs udev : https://github.com/Yubico/libu2f-host/blob/master/70-u2f.rules
|
||||
|
||||
## source car udev sur nixos semble ancien : https://raw.githubusercontent.com/Yubico/libu2f-host/master/70-old-u2f.rules
|
||||
services.udev.extraRules = ''
|
||||
# this udev file should be used with udev older than 188
|
||||
ACTION!="add|change", GOTO="u2f_end"
|
||||
|
||||
# Yubico YubiKey
|
||||
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1050", ATTRS{idProduct}=="0113|0114|0115|0116|0120|0402|0403|0406|0407|0410", GROUP="plugdev", MODE="0660"
|
||||
|
||||
# Happlink (formerly Plug-Up) Security KEY
|
||||
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="2581", ATTRS{idProduct}=="f1d0", GROUP="plugdev", MODE="0660"
|
||||
|
||||
# Neowave Keydo and Keydo AES
|
||||
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1e0d", ATTRS{idProduct}=="f1d0|f1ae", GROUP="plugdev", MODE="0660"
|
||||
|
||||
# HyperSecu HyperFIDO
|
||||
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="096e", ATTRS{idProduct}=="0880", GROUP="plugdev", MODE="0660"
|
||||
|
||||
LABEL="u2f_end"
|
||||
|
||||
SUBSYSTEM=="usb", ATTRS{idVendor}=="0bda", ATTRS{idProduct}=="2838", GROUP="audio", MODE="0666", SYMLINK+="rtl_sdr"
|
||||
'';
|
||||
|
||||
security.pam.enableU2F = true;
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
libu2f-host
|
||||
];
|
||||
}
|
||||
@@ -22,4 +22,11 @@ mkIf true {
|
||||
allowedUDPPorts = [
|
||||
];
|
||||
};
|
||||
} // {
|
||||
assertions = [
|
||||
{
|
||||
assertion = true;
|
||||
message = "Assetion toujours valide.";
|
||||
}
|
||||
];
|
||||
}
|
||||
|
||||
28
options.nix
28
options.nix
@@ -62,10 +62,10 @@ let
|
||||
configurationOptions = {
|
||||
|
||||
ipAddress = mkOption {
|
||||
description = "Adresse IP";
|
||||
description = "Adresse IP.";
|
||||
type = lib.types.string;
|
||||
};
|
||||
nix-serve-server = mkEnableOption "nix-serve server";
|
||||
nix-serve-server = mkEnableOption "nix-serve server.";
|
||||
nix-serve-client = {
|
||||
enable = mkEnableOption "nix-serve client";
|
||||
servers = mkOption {
|
||||
@@ -76,7 +76,12 @@ let
|
||||
};
|
||||
|
||||
tinc = {
|
||||
enable = mkEnableOption "Enable tinc service";
|
||||
enable = mkEnableOption "Enable tinc service.";
|
||||
dnsFQDN = mkOption {
|
||||
example = "device.example.net.";
|
||||
description = "DNS name of host pointing to tunnel IP.";
|
||||
type = lib.types.string;
|
||||
};
|
||||
connectToAddress = mkOption {
|
||||
default = "";
|
||||
example = "192.168.1.1";
|
||||
@@ -100,11 +105,26 @@ let
|
||||
Mode = router
|
||||
ConnecTo = bar
|
||||
'';
|
||||
description = "Configuration supplémentaire pour tinc";
|
||||
description = "Configuration supplémentaire pour tinc.";
|
||||
type = lib.types.string;
|
||||
};
|
||||
};
|
||||
|
||||
quagga = {
|
||||
enable = mkEnableOption "Enable Quagga + BGP service";
|
||||
bgpConfig = mkOption {
|
||||
type = types.lines;
|
||||
default = "";
|
||||
example =''
|
||||
router bgp 65001
|
||||
neighbor 10.0.0.1 remote-as 65001
|
||||
'';
|
||||
description = ''
|
||||
BGP configuration statements.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
windowsBoot = {
|
||||
enable = mkEnableOption "Activation du démarrage de Windows par Grub";
|
||||
drive = mkOption {
|
||||
|
||||
@@ -23,7 +23,6 @@ mkIf flags.hydra-builder {
|
||||
docker.enable = true;
|
||||
libvirtd = {
|
||||
enable = true;
|
||||
enableKVM = true;
|
||||
};
|
||||
virtualbox = {
|
||||
#guest.enable = true;
|
||||
|
||||
@@ -48,9 +48,22 @@ mkIf flags.munin {
|
||||
hosts = ''
|
||||
[${config.networking.hostName}]
|
||||
address 127.0.0.1
|
||||
df._dev_sda2.warning 35
|
||||
use_node_name yes
|
||||
#contacts syslog
|
||||
contacts email
|
||||
'';
|
||||
# http://sametmax.com/monitorez-vos-serveurs-avec-munin-et-notifications-par-email/
|
||||
# http://guide.munin-monitoring.org/en/latest/tutorial/alert.html#syntax-of-warning-and-critical
|
||||
extraGlobalConfig = ''
|
||||
contact.email.command ${pkgs.mutt}/bin/mutt -F /etc/nixos/base/services/munin-muttrc -s "Munin notification for ''${var:host}" root@prunetwork.fr
|
||||
#---
|
||||
#contact.email.command ${pkgs.mutt}/bin/mutt -F /etc/nixos/base/services/munin-muttrc -s "Munin notification for ${config.networking.hostName}" root@ocean.prunetwork.fr
|
||||
contact.email.command /run/current-system/sw/bin/mutt -F /etc/nixos/base/services/munin-muttrc -s "Munin notification for ${config.networking.hostName}" root@ocean.prunetwork.fr
|
||||
contact.syslog.command /run/current-system/sw/bin/logger -p user.crit -t "Munin notification for ${config.networking.hostName}"
|
||||
|
||||
#---
|
||||
contact.email.always_send ok,warning,critical,unknown
|
||||
contact.syslog.always_send ok,warning,critical,unknown
|
||||
'';
|
||||
};
|
||||
|
||||
|
||||
@@ -11,11 +11,20 @@ mkIf flags.scanner {
|
||||
|
||||
# Paquets
|
||||
environment.systemPackages = with pkgs; [
|
||||
# Driver
|
||||
hplip # Scanner HP
|
||||
python27Packages.pyqt4 # dépendance hplip
|
||||
|
||||
# Outils pour exploiter les scanners
|
||||
simple-scan
|
||||
];
|
||||
|
||||
# Services
|
||||
hardware.sane.enable = true;
|
||||
services.saned = {
|
||||
enable = true;
|
||||
extraConfig = "192.168.0.0/24";
|
||||
};
|
||||
|
||||
# Réseau
|
||||
networking.firewall = {
|
||||
|
||||
Reference in New Issue
Block a user