remove default for clan.core.settings.machine.name and make readOnly

There is not reason that there needs to be a default. Machines are usually defined as an attrset, so there is no reason to have a default.
Also make this readOnly as we never want to override it.
This commit is contained in:
DavHau
2025-04-02 18:21:05 +07:00
parent 51d39a4c8c
commit 73d14e078e
4 changed files with 40 additions and 27 deletions

View File

@@ -9,10 +9,17 @@ in
{ {
hostPkgs = pkgs; hostPkgs = pkgs;
# speed-up evaluation # speed-up evaluation
defaults = { defaults =
{ config, options, ... }:
{
imports = [ imports = [
./minify.nix ./minify.nix
]; ];
config = lib.mkMerge [
(lib.optionalAttrs (options ? clan) {
clan.core.settings.machine.name = config.networking.hostName;
})
{
documentation.enable = lib.mkDefault false; documentation.enable = lib.mkDefault false;
boot.isContainer = true; boot.isContainer = true;
@@ -31,6 +38,8 @@ in
# we don't have permission to set cpu scheduler in our container # we don't have permission to set cpu scheduler in our container
systemd.services.nix-daemon.serviceConfig.CPUSchedulingPolicy = lib.mkForce ""; systemd.services.nix-daemon.serviceConfig.CPUSchedulingPolicy = lib.mkForce "";
}
];
}; };
# to accept external dependencies such as disko # to accept external dependencies such as disko
node.specialArgs.self = self; node.specialArgs.self = self;

View File

@@ -8,15 +8,22 @@ in
hostPkgs = pkgs; hostPkgs = pkgs;
# speed-up evaluation # speed-up evaluation
defaults = ( defaults = (
{ config, ... }: { config, options, ... }:
{ {
imports = [ imports = [
./minify.nix ./minify.nix
]; ];
config = lib.mkMerge [
(lib.optionalAttrs (options ? clan) {
clan.core.settings.machine.name = config.networking.hostName;
})
{
documentation.enable = lib.mkDefault false; documentation.enable = lib.mkDefault false;
nix.settings.min-free = 0; nix.settings.min-free = 0;
system.stateVersion = config.system.nixos.release; system.stateVersion = config.system.nixos.release;
} }
];
}
); );
_module.args = { inherit self; }; _module.args = { inherit self; };

View File

@@ -94,9 +94,6 @@ let
# Inherited from clan wide settings # Inherited from clan wide settings
# TODO: remove these # TODO: remove these
# Machine specific settings
# clan.core.settings.machine.name = name;
networking.hostName = lib.mkDefault name; networking.hostName = lib.mkDefault name;
# For vars we need to override the system so we run vars # For vars we need to override the system so we run vars

View File

@@ -117,7 +117,7 @@ in
options = { options = {
name = mkOption { name = mkOption {
type = types.str; type = types.str;
default = "nixos"; readOnly = true;
description = '' description = ''
the name of the machine the name of the machine
''; '';