Compare commits
No commits in common. 'nixos-unstable' and '2018-01-05-hydra' have entirely different histories.
nixos-unst
...
2018-01-05
@ -1,28 +1,20 @@
|
|||||||
{pkgs, ... }:
|
with import <nixpkgs> {};
|
||||||
|
|
||||||
let
|
vim_configurable.customize {
|
||||||
myVim = pkgs.vim_configurable.customize {
|
# Specifies the vim binary name.
|
||||||
# Specifies the vim binary name.
|
# E.g. set this to "my-vim" and you need to type "my-vim" to open this vim
|
||||||
# E.g. set this to "my-vim" and you need to type "my-vim" to open this vim
|
# This allows to have multiple vim packages installed (e.g. with a different set of plugins)
|
||||||
# This allows to have multiple vim packages installed (e.g. with a different set of plugins)
|
name = "vim";
|
||||||
name = "vim";
|
vimrcConfig.customRC = builtins.readFile ./vimrc;
|
||||||
vimrcConfig.customRC = builtins.readFile ./vimrc;
|
vimrcConfig.vam.knownPlugins = pkgs.vimPlugins;
|
||||||
vimrcConfig.packages.myVimPackage = with pkgs.vimPlugins; {
|
vimrcConfig.vam.pluginDictionaries = [
|
||||||
start = [
|
{ names = [
|
||||||
wombat256-vim
|
# Here you can place all your vim plugins
|
||||||
];
|
# They are installed managed by `vam` (a vim plugin manager)
|
||||||
opt = [
|
#"vim-addon-nix"
|
||||||
elm-vim
|
"elm-vim"
|
||||||
vim-fish
|
"vim-nix"
|
||||||
vim-nix
|
"wombat256-vim"
|
||||||
vimwiki
|
]; }
|
||||||
];
|
];
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
in {
|
|
||||||
programs.vim = {
|
|
||||||
defaultEditor = true;
|
|
||||||
package = myVim;
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,16 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (lib) mkIf mkMerge mkThenElse;
|
||||||
|
annuaire = config.r6d.machines;
|
||||||
|
currentMachine = annuaire."${config.networking.hostName}";
|
||||||
|
flags = currentMachine.configurationFlags;
|
||||||
|
in
|
||||||
|
|
||||||
|
mkIf flags.auto-upgrade {
|
||||||
|
|
||||||
|
# Automatic update & automatic clean
|
||||||
|
|
||||||
|
system.autoUpgrade.enable = true;
|
||||||
|
nix.gc.automatic = true;
|
||||||
|
}
|
@ -0,0 +1,27 @@
|
|||||||
|
# http://www.git-attitude.fr/2014/09/15/30-options-git-qui-gagnent-a-etre-connues/
|
||||||
|
[color]
|
||||||
|
diff = auto
|
||||||
|
branch = auto
|
||||||
|
interactive = auto
|
||||||
|
pager = true
|
||||||
|
showbranch = auto
|
||||||
|
status = auto
|
||||||
|
[alias]
|
||||||
|
a = add -p
|
||||||
|
br = for-each-ref --sort=committerdate refs/heads/ --format='%(committerdate:short)\t%(authorname)\t%(refname:short)'
|
||||||
|
ci = commit
|
||||||
|
co = checkout
|
||||||
|
ff = pull --ff-only
|
||||||
|
oops = commit --amend --no-edit
|
||||||
|
# Show files ignored by git
|
||||||
|
ignored = ls-files -o -i --exclude-standard
|
||||||
|
ls = ls-files
|
||||||
|
st = status
|
||||||
|
# Logs
|
||||||
|
lol = log --graph --decorate --pretty=oneline --abbrev-commit
|
||||||
|
lola = log --graph --decorate --pretty=oneline --abbrev-commit --all
|
||||||
|
not-pushed = log --branches --not --remotes
|
||||||
|
[push]
|
||||||
|
default = simple
|
||||||
|
[core]
|
||||||
|
editor = /usr/bin/env vim
|
@ -1,30 +0,0 @@
|
|||||||
{ config, lib, pkgs, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
inherit (lib) mkIf mkMerge mkThenElse;
|
|
||||||
annuaire = config.r6d.machines;
|
|
||||||
currentMachine = annuaire."${config.networking.fqdn}";
|
|
||||||
flags = currentMachine.configurationFlags;
|
|
||||||
in
|
|
||||||
|
|
||||||
{
|
|
||||||
|
|
||||||
# Automatic update & automatic clean
|
|
||||||
|
|
||||||
system.autoUpgrade.enable = flags.auto-upgrade;
|
|
||||||
nix = {
|
|
||||||
extraOptions = ''
|
|
||||||
experimental-features = nix-command flakes
|
|
||||||
'';
|
|
||||||
settings = {
|
|
||||||
auto-optimise-store = true;
|
|
||||||
# Nombre de process d'installation en parrallèle effectués par Nix
|
|
||||||
cores = 0;
|
|
||||||
};
|
|
||||||
gc = {
|
|
||||||
automatic = true;
|
|
||||||
dates = "daily";
|
|
||||||
options = "--delete-older-than 7d";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
@ -1,41 +0,0 @@
|
|||||||
{ config, lib, pkgs, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
inherit (lib) mkIf mkMerge mkThenElse;
|
|
||||||
annuaire = config.r6d.machines;
|
|
||||||
currentMachine = annuaire."${config.networking.fqdn}";
|
|
||||||
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.u2f.enable = true;
|
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
libu2f-host
|
|
||||||
];
|
|
||||||
}
|
|
@ -0,0 +1,13 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (lib) mkIf mkMerge mkThenElse;
|
||||||
|
annuaire = config.r6d.machines;
|
||||||
|
currentMachine = annuaire."${config.networking.hostName}";
|
||||||
|
flags = currentMachine.configurationFlags;
|
||||||
|
in
|
||||||
|
|
||||||
|
mkIf true {
|
||||||
|
# Lancement de dbus pour les utilisateurs
|
||||||
|
services.dbus.socketActivated = true;
|
||||||
|
}
|
@ -1,123 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
: <<=cut
|
|
||||||
|
|
||||||
=head1 NAME
|
|
||||||
|
|
||||||
parse Chrony Tracking output for timeserver status information
|
|
||||||
|
|
||||||
=head1 APPLICABLE SYSTEMS
|
|
||||||
|
|
||||||
Any system with a local chronyd service.
|
|
||||||
|
|
||||||
=head1 CONFIGURATION
|
|
||||||
|
|
||||||
No configuration.
|
|
||||||
|
|
||||||
=head1 MAGIC MARKERS
|
|
||||||
|
|
||||||
#%# family=auto
|
|
||||||
#%# capabilities=autoconf
|
|
||||||
|
|
||||||
=head1 VERSION
|
|
||||||
|
|
||||||
Revision 0.1 2008/08/23 13:06:00 joti
|
|
||||||
|
|
||||||
First version only chronyc tracking, autodetection included.
|
|
||||||
|
|
||||||
Revision 0.2 2008/10/11 16:09:00 joti
|
|
||||||
|
|
||||||
Added scaling of other values to match with frequency, added more description to fields
|
|
||||||
|
|
||||||
Revision 0.3 2014/02/16 zjttoefs
|
|
||||||
|
|
||||||
reduce forking by using awk
|
|
||||||
do not limit output precision
|
|
||||||
add stratum monitoring
|
|
||||||
detect slow/fast time or freqency and adjust sign of value accordingly
|
|
||||||
remove commented out code
|
|
||||||
|
|
||||||
Revision 0.4 2016/11/10 Lars Kruse
|
|
||||||
|
|
||||||
rewrite field handling
|
|
||||||
use "which" for "chronyc" location
|
|
||||||
switch from "bash" to "sh"
|
|
||||||
fix exit code of failing "autoconf"
|
|
||||||
|
|
||||||
=head1 AUTHOR
|
|
||||||
|
|
||||||
joti
|
|
||||||
zjttoefs
|
|
||||||
Lars Kruse <devel@sumpfralle.de>
|
|
||||||
|
|
||||||
=cut
|
|
||||||
|
|
||||||
CHRONYC="$(which chronyc | head -1)"
|
|
||||||
|
|
||||||
# Frequency has extremely higher values than other. Therefore they are fitted by scaling via suitable factors.
|
|
||||||
# field definitions:
|
|
||||||
# - munin fieldname
|
|
||||||
# - factor for graph visualization (all values are supposed to reach a similar dimension)
|
|
||||||
# - regular expression of the chrony output line (may not contain whitespace, case insensitive)
|
|
||||||
# - label (may include "%d" for including the factor; may contain whitespace)
|
|
||||||
fields="stratum 1 ^Stratum Stratum
|
|
||||||
systime 1000000 ^System.time System Time (us)
|
|
||||||
offsetlast 1000000 ^Last.offset Last Offset (us)
|
|
||||||
offsetrms 1000000 ^RMS.offset RMS Offset (us)
|
|
||||||
frequency 1 ^Frequency Frequency (ppm)
|
|
||||||
residualfreq 1 ^Residual.freq Residual Freq (ppm)
|
|
||||||
skew 1 ^Skew Skew (ppm)
|
|
||||||
rootdelay 1000000 ^Root.delay Root Delay (us)
|
|
||||||
rootdispersion 1000000 ^Root.dispersion Root Dispersion (us)
|
|
||||||
updateinterval 1 ^Update.interval Update Interval (s)"
|
|
||||||
|
|
||||||
# chrony example output (v2.4.1):
|
|
||||||
# Reference ID : 131.188.3.221 (ntp1.rrze.uni-erlangen.de)
|
|
||||||
# Stratum : 2
|
|
||||||
# Ref time (UTC) : Thu Nov 10 22:39:50 2016
|
|
||||||
# System time : 0.000503798 seconds slow of NTP time
|
|
||||||
# Last offset : +0.000254355 seconds
|
|
||||||
# RMS offset : 0.002186779 seconds
|
|
||||||
# Frequency : 17.716 ppm slow
|
|
||||||
# Residual freq : +0.066 ppm
|
|
||||||
# Skew : 4.035 ppm
|
|
||||||
# Root delay : 0.042980 seconds
|
|
||||||
# Root dispersion : 0.005391 seconds
|
|
||||||
# Update interval : 258.4 seconds
|
|
||||||
# Leap status : Normal
|
|
||||||
|
|
||||||
|
|
||||||
if [ "$1" = "autoconf" ]; then
|
|
||||||
if [ -n "$CHRONYC" ] && [ -x "$CHRONYC" ]; then
|
|
||||||
echo yes
|
|
||||||
else
|
|
||||||
echo "no (missing 'chronyc' executable)"
|
|
||||||
fi
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$1" = "config" ]; then
|
|
||||||
echo 'graph_title Chrony Tracking Stats'
|
|
||||||
echo 'graph_args --base 1000 -l 0'
|
|
||||||
echo 'graph_vlabel (time,ppm)'
|
|
||||||
echo 'graph_category time'
|
|
||||||
echo 'graph_scale no'
|
|
||||||
echo "$fields" | while read fieldname factor regex label; do
|
|
||||||
# insert the factor, if "%d" is part of the label
|
|
||||||
printf "${fieldname}.label $label\n" "$factor"
|
|
||||||
echo "${fieldname}.type GAUGE"
|
|
||||||
done
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
chrony_status="$("$CHRONYC" tracking)"
|
|
||||||
echo "$fields" | while read fieldname factor regex label; do
|
|
||||||
status_line="$(echo "$chrony_status" | grep -i -- "$regex " | cut -d ":" -f 2-)"
|
|
||||||
if [ -z "$status_line" ]; then
|
|
||||||
value="U"
|
|
||||||
else
|
|
||||||
# the keyword "slow" indicates negative values
|
|
||||||
value="$(echo "$status_line" | awk '{ /slow/ ? SIGN=-1 : SIGN=1; print $1 * SIGN * '"$factor"' }')"
|
|
||||||
fi
|
|
||||||
echo "${fieldname}.value $value"
|
|
||||||
done
|
|
@ -1,116 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
: <<=cut
|
|
||||||
|
|
||||||
=head1 NAME
|
|
||||||
|
|
||||||
parse Chrony Tracking output for timeserver status information
|
|
||||||
|
|
||||||
=head1 APPLICABLE SYSTEMS
|
|
||||||
|
|
||||||
Any system with a local chronyd service.
|
|
||||||
|
|
||||||
=head1 CONFIGURATION
|
|
||||||
|
|
||||||
No configuration.
|
|
||||||
|
|
||||||
=head1 MAGIC MARKERS
|
|
||||||
|
|
||||||
#%# family=auto
|
|
||||||
#%# capabilities=autoconf
|
|
||||||
|
|
||||||
=head1 VERSION
|
|
||||||
|
|
||||||
Revision 0.1 2008/08/23 13:06:00 joti
|
|
||||||
|
|
||||||
First version only chronyc tracking, autodetection included.
|
|
||||||
|
|
||||||
Revision 0.2 2008/10/11 16:09:00 joti
|
|
||||||
|
|
||||||
Added scaling of other values to match with frequency, added more description to fields
|
|
||||||
|
|
||||||
Revision 0.3 2014/02/16 zjttoefs
|
|
||||||
|
|
||||||
reduce forking by using awk
|
|
||||||
do not limit output precision
|
|
||||||
add stratum monitoring
|
|
||||||
detect slow/fast time or freqency and adjust sign of value accordingly
|
|
||||||
remove commented out code
|
|
||||||
|
|
||||||
Revision 0.4 2016/11/10 Lars Kruse
|
|
||||||
|
|
||||||
rewrite field handling
|
|
||||||
use "which" for "chronyc" location
|
|
||||||
switch from "bash" to "sh"
|
|
||||||
fix exit code of failing "autoconf"
|
|
||||||
|
|
||||||
=head1 AUTHOR
|
|
||||||
|
|
||||||
joti
|
|
||||||
zjttoefs
|
|
||||||
Lars Kruse <devel@sumpfralle.de>
|
|
||||||
|
|
||||||
=cut
|
|
||||||
|
|
||||||
CHRONYC="$(which chronyc | head -1)"
|
|
||||||
|
|
||||||
# Frequency has extremely higher values than other. Therefore they are fitted by scaling via suitable factors.
|
|
||||||
# field definitions:
|
|
||||||
# - munin fieldname
|
|
||||||
# - factor for graph visualization (all values are supposed to reach a similar dimension)
|
|
||||||
# - regular expression of the chrony output line (may not contain whitespace, case insensitive)
|
|
||||||
# - label (may include "%d" for including the factor; may contain whitespace)
|
|
||||||
fields="frequency 1 ^Frequency Local Clock Frequency Drift (ppm)
|
|
||||||
residualfreq 1 ^Residual.freq Residual Freq (ppm)
|
|
||||||
skew 1 ^Skew Skew (ppm)"
|
|
||||||
|
|
||||||
# chrony example output (v2.4.1):
|
|
||||||
# Reference ID : 131.188.3.221 (ntp1.rrze.uni-erlangen.de)
|
|
||||||
# Stratum : 2
|
|
||||||
# Ref time (UTC) : Thu Nov 10 22:39:50 2016
|
|
||||||
# System time : 0.000503798 seconds slow of NTP time
|
|
||||||
# Last offset : +0.000254355 seconds
|
|
||||||
# RMS offset : 0.002186779 seconds
|
|
||||||
# Frequency : 17.716 ppm slow
|
|
||||||
# Residual freq : +0.066 ppm
|
|
||||||
# Skew : 4.035 ppm
|
|
||||||
# Root delay : 0.042980 seconds
|
|
||||||
# Root dispersion : 0.005391 seconds
|
|
||||||
# Update interval : 258.4 seconds
|
|
||||||
# Leap status : Normal
|
|
||||||
|
|
||||||
|
|
||||||
if [ "$1" = "autoconf" ]; then
|
|
||||||
if [ -n "$CHRONYC" ] && [ -x "$CHRONYC" ]; then
|
|
||||||
echo yes
|
|
||||||
else
|
|
||||||
echo "no (missing 'chronyc' executable)"
|
|
||||||
fi
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$1" = "config" ]; then
|
|
||||||
echo 'graph_title Chrony Tracking Stats - Frequencies stability'
|
|
||||||
echo 'graph_args --base 1000 -l 0'
|
|
||||||
echo 'graph_vlabel (ppm)'
|
|
||||||
echo 'graph_category time'
|
|
||||||
echo 'graph_scale no'
|
|
||||||
echo "$fields" | while read fieldname factor regex label; do
|
|
||||||
# insert the factor, if "%d" is part of the label
|
|
||||||
printf "${fieldname}.label $label\n" "$factor"
|
|
||||||
echo "${fieldname}.type GAUGE"
|
|
||||||
done
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
chrony_status="$("$CHRONYC" tracking)"
|
|
||||||
echo "$fields" | while read fieldname factor regex label; do
|
|
||||||
status_line="$(echo "$chrony_status" | grep -i -- "$regex " | cut -d ":" -f 2-)"
|
|
||||||
if [ -z "$status_line" ]; then
|
|
||||||
value="U"
|
|
||||||
else
|
|
||||||
# the keyword "slow" indicates negative values
|
|
||||||
value="$(echo "$status_line" | awk '{ /slow/ ? SIGN=-1 : SIGN=1; print $1 * SIGN * '"$factor"' }')"
|
|
||||||
fi
|
|
||||||
echo "${fieldname}.value $value"
|
|
||||||
done
|
|
@ -1,116 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
: <<=cut
|
|
||||||
|
|
||||||
=head1 NAME
|
|
||||||
|
|
||||||
parse Chrony Tracking output for timeserver status information
|
|
||||||
|
|
||||||
=head1 APPLICABLE SYSTEMS
|
|
||||||
|
|
||||||
Any system with a local chronyd service.
|
|
||||||
|
|
||||||
=head1 CONFIGURATION
|
|
||||||
|
|
||||||
No configuration.
|
|
||||||
|
|
||||||
=head1 MAGIC MARKERS
|
|
||||||
|
|
||||||
#%# family=auto
|
|
||||||
#%# capabilities=autoconf
|
|
||||||
|
|
||||||
=head1 VERSION
|
|
||||||
|
|
||||||
Revision 0.1 2008/08/23 13:06:00 joti
|
|
||||||
|
|
||||||
First version only chronyc tracking, autodetection included.
|
|
||||||
|
|
||||||
Revision 0.2 2008/10/11 16:09:00 joti
|
|
||||||
|
|
||||||
Added scaling of other values to match with frequency, added more description to fields
|
|
||||||
|
|
||||||
Revision 0.3 2014/02/16 zjttoefs
|
|
||||||
|
|
||||||
reduce forking by using awk
|
|
||||||
do not limit output precision
|
|
||||||
add stratum monitoring
|
|
||||||
detect slow/fast time or freqency and adjust sign of value accordingly
|
|
||||||
remove commented out code
|
|
||||||
|
|
||||||
Revision 0.4 2016/11/10 Lars Kruse
|
|
||||||
|
|
||||||
rewrite field handling
|
|
||||||
use "which" for "chronyc" location
|
|
||||||
switch from "bash" to "sh"
|
|
||||||
fix exit code of failing "autoconf"
|
|
||||||
|
|
||||||
=head1 AUTHOR
|
|
||||||
|
|
||||||
joti
|
|
||||||
zjttoefs
|
|
||||||
Lars Kruse <devel@sumpfralle.de>
|
|
||||||
|
|
||||||
=cut
|
|
||||||
|
|
||||||
CHRONYC="$(which chronyc | head -1)"
|
|
||||||
|
|
||||||
# Frequency has extremely higher values than other. Therefore they are fitted by scaling via suitable factors.
|
|
||||||
# field definitions:
|
|
||||||
# - munin fieldname
|
|
||||||
# - factor for graph visualization (all values are supposed to reach a similar dimension)
|
|
||||||
# - regular expression of the chrony output line (may not contain whitespace, case insensitive)
|
|
||||||
# - label (may include "%d" for including the factor; may contain whitespace)
|
|
||||||
fields="stratum 1 ^Stratum Stratum"
|
|
||||||
|
|
||||||
# chrony example output (v2.4.1):
|
|
||||||
# Reference ID : 131.188.3.221 (ntp1.rrze.uni-erlangen.de)
|
|
||||||
# Stratum : 2
|
|
||||||
# Ref time (UTC) : Thu Nov 10 22:39:50 2016
|
|
||||||
# System time : 0.000503798 seconds slow of NTP time
|
|
||||||
# Last offset : +0.000254355 seconds
|
|
||||||
# RMS offset : 0.002186779 seconds
|
|
||||||
# Frequency : 17.716 ppm slow
|
|
||||||
# Residual freq : +0.066 ppm
|
|
||||||
# Skew : 4.035 ppm
|
|
||||||
# Root delay : 0.042980 seconds
|
|
||||||
# Root dispersion : 0.005391 seconds
|
|
||||||
# Update interval : 258.4 seconds
|
|
||||||
# Leap status : Normal
|
|
||||||
|
|
||||||
|
|
||||||
if [ "$1" = "autoconf" ]; then
|
|
||||||
if [ -n "$CHRONYC" ] && [ -x "$CHRONYC" ]; then
|
|
||||||
echo yes
|
|
||||||
else
|
|
||||||
echo "no (missing 'chronyc' executable)"
|
|
||||||
fi
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$1" = "config" ]; then
|
|
||||||
echo 'graph_title Chrony Tracking Stats - Stratum'
|
|
||||||
echo 'graph_args --base 1000 -l 0'
|
|
||||||
echo 'graph_vlabel (stratum)'
|
|
||||||
echo 'graph_category time'
|
|
||||||
echo 'graph_scale no'
|
|
||||||
echo 'stratum.warning 8'
|
|
||||||
echo 'stratum.critical 11'
|
|
||||||
echo "$fields" | while read fieldname factor regex label; do
|
|
||||||
# insert the factor, if "%d" is part of the label
|
|
||||||
printf "${fieldname}.label $label\n" "$factor"
|
|
||||||
echo "${fieldname}.type GAUGE"
|
|
||||||
done
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
chrony_status="$("$CHRONYC" tracking)"
|
|
||||||
echo "$fields" | while read fieldname factor regex label; do
|
|
||||||
status_line="$(echo "$chrony_status" | grep -i -- "$regex " | cut -d ":" -f 2-)"
|
|
||||||
if [ -z "$status_line" ]; then
|
|
||||||
value="U"
|
|
||||||
else
|
|
||||||
# the keyword "slow" indicates negative values
|
|
||||||
value="$(echo "$status_line" | awk '{ /slow/ ? SIGN=-1 : SIGN=1; print $1 * SIGN * '"$factor"' }')"
|
|
||||||
fi
|
|
||||||
echo "${fieldname}.value $value"
|
|
||||||
done
|
|
@ -1,118 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
: <<=cut
|
|
||||||
|
|
||||||
=head1 NAME
|
|
||||||
|
|
||||||
parse Chrony Tracking output for timeserver status information
|
|
||||||
|
|
||||||
=head1 APPLICABLE SYSTEMS
|
|
||||||
|
|
||||||
Any system with a local chronyd service.
|
|
||||||
|
|
||||||
=head1 CONFIGURATION
|
|
||||||
|
|
||||||
No configuration.
|
|
||||||
|
|
||||||
=head1 MAGIC MARKERS
|
|
||||||
|
|
||||||
#%# family=auto
|
|
||||||
#%# capabilities=autoconf
|
|
||||||
|
|
||||||
=head1 VERSION
|
|
||||||
|
|
||||||
Revision 0.1 2008/08/23 13:06:00 joti
|
|
||||||
|
|
||||||
First version only chronyc tracking, autodetection included.
|
|
||||||
|
|
||||||
Revision 0.2 2008/10/11 16:09:00 joti
|
|
||||||
|
|
||||||
Added scaling of other values to match with frequency, added more description to fields
|
|
||||||
|
|
||||||
Revision 0.3 2014/02/16 zjttoefs
|
|
||||||
|
|
||||||
reduce forking by using awk
|
|
||||||
do not limit output precision
|
|
||||||
add stratum monitoring
|
|
||||||
detect slow/fast time or freqency and adjust sign of value accordingly
|
|
||||||
remove commented out code
|
|
||||||
|
|
||||||
Revision 0.4 2016/11/10 Lars Kruse
|
|
||||||
|
|
||||||
rewrite field handling
|
|
||||||
use "which" for "chronyc" location
|
|
||||||
switch from "bash" to "sh"
|
|
||||||
fix exit code of failing "autoconf"
|
|
||||||
|
|
||||||
=head1 AUTHOR
|
|
||||||
|
|
||||||
joti
|
|
||||||
zjttoefs
|
|
||||||
Lars Kruse <devel@sumpfralle.de>
|
|
||||||
|
|
||||||
=cut
|
|
||||||
|
|
||||||
CHRONYC="$(which chronyc | head -1)"
|
|
||||||
|
|
||||||
# Frequency has extremely higher values than other. Therefore they are fitted by scaling via suitable factors.
|
|
||||||
# field definitions:
|
|
||||||
# - munin fieldname
|
|
||||||
# - factor for graph visualization (all values are supposed to reach a similar dimension)
|
|
||||||
# - regular expression of the chrony output line (may not contain whitespace, case insensitive)
|
|
||||||
# - label (may include "%d" for including the factor; may contain whitespace)
|
|
||||||
fields="systime 1000000 ^System.time System Time (us)
|
|
||||||
offsetlast 1000000 ^Last.offset Last Offset (us)
|
|
||||||
offsetrms 1000000 ^RMS.offset RMS Offset (us)
|
|
||||||
rootdelay 1000000 ^Root.delay Root Delay (us)
|
|
||||||
rootdispersion 1000000 ^Root.dispersion Root Dispersion (us)"
|
|
||||||
|
|
||||||
# chrony example output (v2.4.1):
|
|
||||||
# Reference ID : 131.188.3.221 (ntp1.rrze.uni-erlangen.de)
|
|
||||||
# Stratum : 2
|
|
||||||
# Ref time (UTC) : Thu Nov 10 22:39:50 2016
|
|
||||||
# System time : 0.000503798 seconds slow of NTP time
|
|
||||||
# Last offset : +0.000254355 seconds
|
|
||||||
# RMS offset : 0.002186779 seconds
|
|
||||||
# Frequency : 17.716 ppm slow
|
|
||||||
# Residual freq : +0.066 ppm
|
|
||||||
# Skew : 4.035 ppm
|
|
||||||
# Root delay : 0.042980 seconds
|
|
||||||
# Root dispersion : 0.005391 seconds
|
|
||||||
# Update interval : 258.4 seconds
|
|
||||||
# Leap status : Normal
|
|
||||||
|
|
||||||
|
|
||||||
if [ "$1" = "autoconf" ]; then
|
|
||||||
if [ -n "$CHRONYC" ] && [ -x "$CHRONYC" ]; then
|
|
||||||
echo yes
|
|
||||||
else
|
|
||||||
echo "no (missing 'chronyc' executable)"
|
|
||||||
fi
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$1" = "config" ]; then
|
|
||||||
echo 'graph_title Chrony Tracking Stats - Time'
|
|
||||||
echo 'graph_args --base 1000 -l 0'
|
|
||||||
echo 'graph_vlabel (time)'
|
|
||||||
echo 'graph_category time'
|
|
||||||
echo 'graph_scale no'
|
|
||||||
echo "$fields" | while read fieldname factor regex label; do
|
|
||||||
# insert the factor, if "%d" is part of the label
|
|
||||||
printf "${fieldname}.label $label\n" "$factor"
|
|
||||||
echo "${fieldname}.type GAUGE"
|
|
||||||
done
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
chrony_status="$("$CHRONYC" tracking)"
|
|
||||||
echo "$fields" | while read fieldname factor regex label; do
|
|
||||||
status_line="$(echo "$chrony_status" | grep -i -- "$regex " | cut -d ":" -f 2-)"
|
|
||||||
if [ -z "$status_line" ]; then
|
|
||||||
value="U"
|
|
||||||
else
|
|
||||||
# the keyword "slow" indicates negative values
|
|
||||||
value="$(echo "$status_line" | awk '{ /slow/ ? SIGN=-1 : SIGN=1; print $1 * SIGN * '"$factor"' }')"
|
|
||||||
fi
|
|
||||||
echo "${fieldname}.value $value"
|
|
||||||
done
|
|
@ -1,115 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
: <<=cut
|
|
||||||
|
|
||||||
=head1 NAME
|
|
||||||
|
|
||||||
parse Chrony Tracking output for timeserver status information
|
|
||||||
|
|
||||||
=head1 APPLICABLE SYSTEMS
|
|
||||||
|
|
||||||
Any system with a local chronyd service.
|
|
||||||
|
|
||||||
=head1 CONFIGURATION
|
|
||||||
|
|
||||||
No configuration.
|
|
||||||
|
|
||||||
=head1 MAGIC MARKERS
|
|
||||||
|
|
||||||
#%# family=auto
|
|
||||||
#%# capabilities=autoconf
|
|
||||||
|
|
||||||
=head1 VERSION
|
|
||||||
|
|
||||||
Revision 0.1 2008/08/23 13:06:00 joti
|
|
||||||
|
|
||||||
First version only chronyc tracking, autodetection included.
|
|
||||||
|
|
||||||
Revision 0.2 2008/10/11 16:09:00 joti
|
|
||||||
|
|
||||||
Added scaling of other values to match with frequency, added more description to fields
|
|
||||||
|
|
||||||
Revision 0.3 2014/02/16 zjttoefs
|
|
||||||
|
|
||||||
reduce forking by using awk
|
|
||||||
do not limit output precision
|
|
||||||
add stratum monitoring
|
|
||||||
detect slow/fast time or freqency and adjust sign of value accordingly
|
|
||||||
remove commented out code
|
|
||||||
|
|
||||||
Revision 0.4 2016/11/10 Lars Kruse
|
|
||||||
|
|
||||||
rewrite field handling
|
|
||||||
use "which" for "chronyc" location
|
|
||||||
switch from "bash" to "sh"
|
|
||||||
fix exit code of failing "autoconf"
|
|
||||||
|
|
||||||
=head1 AUTHOR
|
|
||||||
|
|
||||||
joti
|
|
||||||
zjttoefs
|
|
||||||
Lars Kruse <devel@sumpfralle.de>
|
|
||||||
|
|
||||||
=cut
|
|
||||||
|
|
||||||
CHRONYC="$(which chronyc | head -1)"
|
|
||||||
|
|
||||||
# Frequency has extremely higher values than other. Therefore they are fitted by scaling via suitable factors.
|
|
||||||
# field definitions:
|
|
||||||
# - munin fieldname
|
|
||||||
# - factor for graph visualization (all values are supposed to reach a similar dimension)
|
|
||||||
# - regular expression of the chrony output line (may not contain whitespace, case insensitive)
|
|
||||||
# - label (may include "%d" for including the factor; may contain whitespace)
|
|
||||||
fields="rootdelay 1000000 ^Root.delay Root Delay (us)
|
|
||||||
rootdispersion 1000000 ^Root.dispersion Root Dispersion (us)"
|
|
||||||
|
|
||||||
# chrony example output (v2.4.1):
|
|
||||||
# Reference ID : 131.188.3.221 (ntp1.rrze.uni-erlangen.de)
|
|
||||||
# Stratum : 2
|
|
||||||
# Ref time (UTC) : Thu Nov 10 22:39:50 2016
|
|
||||||
# System time : 0.000503798 seconds slow of NTP time
|
|
||||||
# Last offset : +0.000254355 seconds
|
|
||||||
# RMS offset : 0.002186779 seconds
|
|
||||||
# Frequency : 17.716 ppm slow
|
|
||||||
# Residual freq : +0.066 ppm
|
|
||||||
# Skew : 4.035 ppm
|
|
||||||
# Root delay : 0.042980 seconds
|
|
||||||
# Root dispersion : 0.005391 seconds
|
|
||||||
# Update interval : 258.4 seconds
|
|
||||||
# Leap status : Normal
|
|
||||||
|
|
||||||
|
|
||||||
if [ "$1" = "autoconf" ]; then
|
|
||||||
if [ -n "$CHRONYC" ] && [ -x "$CHRONYC" ]; then
|
|
||||||
echo yes
|
|
||||||
else
|
|
||||||
echo "no (missing 'chronyc' executable)"
|
|
||||||
fi
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$1" = "config" ]; then
|
|
||||||
echo 'graph_title Chrony Tracking Stats - Root Time'
|
|
||||||
echo 'graph_args --base 1000 -l 0'
|
|
||||||
echo 'graph_vlabel (time)'
|
|
||||||
echo 'graph_category time'
|
|
||||||
echo 'graph_scale no'
|
|
||||||
echo "$fields" | while read fieldname factor regex label; do
|
|
||||||
# insert the factor, if "%d" is part of the label
|
|
||||||
printf "${fieldname}.label $label\n" "$factor"
|
|
||||||
echo "${fieldname}.type GAUGE"
|
|
||||||
done
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
chrony_status="$("$CHRONYC" tracking)"
|
|
||||||
echo "$fields" | while read fieldname factor regex label; do
|
|
||||||
status_line="$(echo "$chrony_status" | grep -i -- "$regex " | cut -d ":" -f 2-)"
|
|
||||||
if [ -z "$status_line" ]; then
|
|
||||||
value="U"
|
|
||||||
else
|
|
||||||
# the keyword "slow" indicates negative values
|
|
||||||
value="$(echo "$status_line" | awk '{ /slow/ ? SIGN=-1 : SIGN=1; print $1 * SIGN * '"$factor"' }')"
|
|
||||||
fi
|
|
||||||
echo "${fieldname}.value $value"
|
|
||||||
done
|
|
@ -1,114 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
: <<=cut
|
|
||||||
|
|
||||||
=head1 NAME
|
|
||||||
|
|
||||||
parse Chrony Tracking output for timeserver status information
|
|
||||||
|
|
||||||
=head1 APPLICABLE SYSTEMS
|
|
||||||
|
|
||||||
Any system with a local chronyd service.
|
|
||||||
|
|
||||||
=head1 CONFIGURATION
|
|
||||||
|
|
||||||
No configuration.
|
|
||||||
|
|
||||||
=head1 MAGIC MARKERS
|
|
||||||
|
|
||||||
#%# family=auto
|
|
||||||
#%# capabilities=autoconf
|
|
||||||
|
|
||||||
=head1 VERSION
|
|
||||||
|
|
||||||
Revision 0.1 2008/08/23 13:06:00 joti
|
|
||||||
|
|
||||||
First version only chronyc tracking, autodetection included.
|
|
||||||
|
|
||||||
Revision 0.2 2008/10/11 16:09:00 joti
|
|
||||||
|
|
||||||
Added scaling of other values to match with frequency, added more description to fields
|
|
||||||
|
|
||||||
Revision 0.3 2014/02/16 zjttoefs
|
|
||||||
|
|
||||||
reduce forking by using awk
|
|
||||||
do not limit output precision
|
|
||||||
add stratum monitoring
|
|
||||||
detect slow/fast time or freqency and adjust sign of value accordingly
|
|
||||||
remove commented out code
|
|
||||||
|
|
||||||
Revision 0.4 2016/11/10 Lars Kruse
|
|
||||||
|
|
||||||
rewrite field handling
|
|
||||||
use "which" for "chronyc" location
|
|
||||||
switch from "bash" to "sh"
|
|
||||||
fix exit code of failing "autoconf"
|
|
||||||
|
|
||||||
=head1 AUTHOR
|
|
||||||
|
|
||||||
joti
|
|
||||||
zjttoefs
|
|
||||||
Lars Kruse <devel@sumpfralle.de>
|
|
||||||
|
|
||||||
=cut
|
|
||||||
|
|
||||||
CHRONYC="$(which chronyc | head -1)"
|
|
||||||
|
|
||||||
# Frequency has extremely higher values than other. Therefore they are fitted by scaling via suitable factors.
|
|
||||||
# field definitions:
|
|
||||||
# - munin fieldname
|
|
||||||
# - factor for graph visualization (all values are supposed to reach a similar dimension)
|
|
||||||
# - regular expression of the chrony output line (may not contain whitespace, case insensitive)
|
|
||||||
# - label (may include "%d" for including the factor; may contain whitespace)
|
|
||||||
fields="updateinterval 1 ^Update.interval Update Interval (s)"
|
|
||||||
|
|
||||||
# chrony example output (v2.4.1):
|
|
||||||
# Reference ID : 131.188.3.221 (ntp1.rrze.uni-erlangen.de)
|
|
||||||
# Stratum : 2
|
|
||||||
# Ref time (UTC) : Thu Nov 10 22:39:50 2016
|
|
||||||
# System time : 0.000503798 seconds slow of NTP time
|
|
||||||
# Last offset : +0.000254355 seconds
|
|
||||||
# RMS offset : 0.002186779 seconds
|
|
||||||
# Frequency : 17.716 ppm slow
|
|
||||||
# Residual freq : +0.066 ppm
|
|
||||||
# Skew : 4.035 ppm
|
|
||||||
# Root delay : 0.042980 seconds
|
|
||||||
# Root dispersion : 0.005391 seconds
|
|
||||||
# Update interval : 258.4 seconds
|
|
||||||
# Leap status : Normal
|
|
||||||
|
|
||||||
|
|
||||||
if [ "$1" = "autoconf" ]; then
|
|
||||||
if [ -n "$CHRONYC" ] && [ -x "$CHRONYC" ]; then
|
|
||||||
echo yes
|
|
||||||
else
|
|
||||||
echo "no (missing 'chronyc' executable)"
|
|
||||||
fi
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$1" = "config" ]; then
|
|
||||||
echo 'graph_title Chrony Tracking Stats - Update interval'
|
|
||||||
echo 'graph_args --base 1000 -l 0'
|
|
||||||
echo 'graph_vlabel (time)'
|
|
||||||
echo 'graph_category time'
|
|
||||||
echo 'graph_scale no'
|
|
||||||
echo "$fields" | while read fieldname factor regex label; do
|
|
||||||
# insert the factor, if "%d" is part of the label
|
|
||||||
printf "${fieldname}.label $label\n" "$factor"
|
|
||||||
echo "${fieldname}.type GAUGE"
|
|
||||||
done
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
chrony_status="$("$CHRONYC" tracking)"
|
|
||||||
echo "$fields" | while read fieldname factor regex label; do
|
|
||||||
status_line="$(echo "$chrony_status" | grep -i -- "$regex " | cut -d ":" -f 2-)"
|
|
||||||
if [ -z "$status_line" ]; then
|
|
||||||
value="U"
|
|
||||||
else
|
|
||||||
# the keyword "slow" indicates negative values
|
|
||||||
value="$(echo "$status_line" | awk '{ /slow/ ? SIGN=-1 : SIGN=1; print $1 * SIGN * '"$factor"' }')"
|
|
||||||
fi
|
|
||||||
echo "${fieldname}.value $value"
|
|
||||||
done
|
|
@ -1,35 +0,0 @@
|
|||||||
{ config, lib, pkgs, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
inherit (lib) mkIf mkMerge mkThenElse;
|
|
||||||
annuaire = config.r6d.machines;
|
|
||||||
currentMachine = annuaire."${config.networking.fqdn}";
|
|
||||||
flags = currentMachine.configurationFlags;
|
|
||||||
in
|
|
||||||
|
|
||||||
mkIf flags.pipewire {
|
|
||||||
|
|
||||||
# Paquets
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
helvum # patchbay pipewire
|
|
||||||
paprefs # préferences pulseaudio
|
|
||||||
pavucontrol # mixer pulseaudio
|
|
||||||
pa_applet # status et contrôle dans le system tray
|
|
||||||
];
|
|
||||||
|
|
||||||
security.rtkit.enable = true;
|
|
||||||
|
|
||||||
services.pipewire = {
|
|
||||||
enable = true;
|
|
||||||
alsa.enable = true;
|
|
||||||
alsa.support32Bit = true;
|
|
||||||
pulse.enable = true;
|
|
||||||
# If you want to use JACK applications, uncomment this
|
|
||||||
jack.enable = true;
|
|
||||||
|
|
||||||
# use the example session manager (no others are packaged yet so this is enabled by default,
|
|
||||||
# no need to redefine it in your config for now)
|
|
||||||
#media-session.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
|
Loading…
Reference in New Issue