summaryrefslogtreecommitdiffstats
path: root/nixos/modules/tasks/network-interfaces.nix
diff options
context:
space:
mode:
authorBjørn Forsman <bjorn.forsman@gmail.com>2017-01-01 16:44:32 +0100
committerBjørn Forsman <bjorn.forsman@gmail.com>2017-01-02 19:14:06 +0100
commitcb9195b7bcde7ec8a2d5fa99df0a93afacd5c537 (patch)
tree6a6f3698c34bc92aacf816442fae1ce44420416c /nixos/modules/tasks/network-interfaces.nix
parent49d444416cf88dad03da0ec71573cd9747245581 (diff)
nixos: provide /etc/hostname
/etc/hostname is the file used by hostnamectl(1) and the org.freedesktop.hostname1 dbus service (both provided by systemd) to get the "static hostname". Better provide it so that users of those tools/services get a proper hostname. An example of an issue created by the lack of /etc/hostname is that the bluetooth stack on NixOS identifies itself to peers as "BlueZ $VERSION" instead of the hostname. References: https://www.freedesktop.org/software/systemd/man/hostname.html Changes v1 -> v2: * ensure /etc/hostname ends with a newline
Diffstat (limited to 'nixos/modules/tasks/network-interfaces.nix')
-rw-r--r--nixos/modules/tasks/network-interfaces.nix7
1 files changed, 7 insertions, 0 deletions
diff --git a/nixos/modules/tasks/network-interfaces.nix b/nixos/modules/tasks/network-interfaces.nix
index 74f7e5fcc2c3..83d9854d3517 100644
--- a/nixos/modules/tasks/network-interfaces.nix
+++ b/nixos/modules/tasks/network-interfaces.nix
@@ -921,6 +921,13 @@ in
'';
};
+ # static hostname configuration needed for hostnamectl and the
+ # org.freedesktop.hostname1 dbus service (both provided by systemd)
+ environment.etc."hostname" = mkIf (cfg.hostName != "")
+ {
+ text = cfg.hostName + "\n";
+ };
+
environment.systemPackages =
[ pkgs.host
pkgs.iproute