37 lines
698 B
Nix
37 lines
698 B
Nix
{ config, lib, pkgs, ... }:
|
|
|
|
with lib;
|
|
|
|
let
|
|
cfg = config.networking;
|
|
|
|
hostName = optionalString (cfg.hostName != null) ''
|
|
scutil --set ComputerName '${cfg.hostName}'
|
|
scutil --set LocalHostName '${cfg.hostName}'
|
|
scutil --set HostName '${cfg.hostName}'
|
|
'';
|
|
in
|
|
|
|
{
|
|
options = {
|
|
networking.hostName = mkOption {
|
|
type = types.nullOr types.str;
|
|
default = null;
|
|
example = "myhostname";
|
|
description = "Hostname for your machine.";
|
|
};
|
|
};
|
|
|
|
config = {
|
|
|
|
system.defaults.smb.NetBIOSName = cfg.hostName;
|
|
|
|
system.activationScripts.networking.text = ''
|
|
# Set defaults
|
|
echo "configuring networking..." >&2
|
|
|
|
${hostName}
|
|
'';
|
|
|
|
};
|
|
}
|