Show time
Ok no actually I meant Fix time but Show time sounds good so that's officially the commit's name now.
This commit is contained in:
parent
13eeeabc92
commit
0229cab124
4 changed files with 49 additions and 16 deletions
|
@ -80,12 +80,6 @@
|
||||||
# Enable the OpenSSH daemon
|
# Enable the OpenSSH daemon
|
||||||
openssh.enable = true;
|
openssh.enable = true;
|
||||||
|
|
||||||
# Time sychronisation
|
|
||||||
chrony = {
|
|
||||||
enable = true;
|
|
||||||
servers = map (n: "${toString n}.europe.pool.ntp.org") (lib.lists.range 0 3);
|
|
||||||
};
|
|
||||||
|
|
||||||
# Prevent power button from shutting down the computer.
|
# Prevent power button from shutting down the computer.
|
||||||
# On Pinebook it's too easy to hit,
|
# On Pinebook it's too easy to hit,
|
||||||
# on others I sometimes turn it off when unsuspending.
|
# on others I sometimes turn it off when unsuspending.
|
||||||
|
|
|
@ -6,8 +6,8 @@
|
||||||
./battery.nix
|
./battery.nix
|
||||||
./boot
|
./boot
|
||||||
./ccc
|
./ccc
|
||||||
./cuda
|
|
||||||
./common.nix
|
./common.nix
|
||||||
|
./cuda
|
||||||
./desktop
|
./desktop
|
||||||
./dev
|
./dev
|
||||||
disko.nixosModules.disko
|
disko.nixosModules.disko
|
||||||
|
@ -18,6 +18,7 @@
|
||||||
./remote-builds
|
./remote-builds
|
||||||
./style
|
./style
|
||||||
./syncthing
|
./syncthing
|
||||||
|
./time
|
||||||
./wireless
|
./wireless
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
47
os/time/default.nix
Normal file
47
os/time/default.nix
Normal file
|
@ -0,0 +1,47 @@
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
config = {
|
||||||
|
# Apparently better than reference implementation
|
||||||
|
services.chrony.enable = true;
|
||||||
|
|
||||||
|
networking = {
|
||||||
|
# Using community provided service
|
||||||
|
timeServers = map (n: "${toString n}.europe.pool.ntp.org") (lib.lists.range 0 3);
|
||||||
|
|
||||||
|
# Only try to sync time when we have internet connection
|
||||||
|
dhcpcd.runHook = ''
|
||||||
|
if $if_up
|
||||||
|
then
|
||||||
|
/run/wrappers/bin/sudo ${config.services.chrony.package}/bin/chronyc online
|
||||||
|
elif $if_down
|
||||||
|
then
|
||||||
|
/run/wrappers/bin/sudo ${config.services.chrony.package}/bin/chronyc offline
|
||||||
|
fi
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
# Allow dhcpcd to control chrony
|
||||||
|
security.sudo.extraRules = [
|
||||||
|
{
|
||||||
|
users = [ "dhcpcd" ];
|
||||||
|
commands =
|
||||||
|
builtins.map
|
||||||
|
(arg: {
|
||||||
|
command = "${config.services.chrony.package}/bin/chronyc ${arg}";
|
||||||
|
options = [ "NOPASSWD" ];
|
||||||
|
|
||||||
|
})
|
||||||
|
[
|
||||||
|
"online"
|
||||||
|
"offline"
|
||||||
|
];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
systemd.services.dhcpcd.serviceConfig.NoNewPrivileges = false;
|
||||||
|
|
||||||
|
};
|
||||||
|
}
|
|
@ -54,15 +54,6 @@ in
|
||||||
];
|
];
|
||||||
# wireless support via wpa_supplicant
|
# wireless support via wpa_supplicant
|
||||||
networking = {
|
networking = {
|
||||||
# Tell the time synchronisation service when we got/lost the connection
|
|
||||||
dhcpcd.runHook = ''
|
|
||||||
if $if_up; then
|
|
||||||
${config.services.chrony.package}/bin/chronyc online
|
|
||||||
elif $if_down; then
|
|
||||||
${config.services.chrony.package}/bin/chronyc offline
|
|
||||||
fi
|
|
||||||
'';
|
|
||||||
|
|
||||||
wireless = {
|
wireless = {
|
||||||
enable = true;
|
enable = true;
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue