Compare commits

..

6 Commits

6 changed files with 77 additions and 2 deletions

View File

@@ -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,11 @@ show-diff-with-current:
show-roots:
nix-store --gc --print-roots
show-time:
-@$(CHRONY_STATUS)
#CHRONY_STATUS='chronyc tracking' CHRONY_STATS='chronyc sources -v' ${CHRONY_STATS} && watch -d -n 20 "${CHRONY_STATUS} && echo "--" && ${CHRONY_STATS}"
-@watch -d -n 20 "$(CHRONY_STATUS) && echo "--" && $(CHRONY_STATS)"
store-repair:
$(TIME) nix-store --verify --check-contents --repair

View File

@@ -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

View File

@@ -15,6 +15,7 @@ in
./localisation.nix
./network.nix
#./network-ipv6.nix
./u2f.nix
./udev.nix
# commandées par config-generator

View File

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

View File

@@ -77,6 +77,11 @@ let
tinc = {
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 {