| .. | ||
| standard | ||
| default.nix | ||
| README.md | ||
Feature Profiles
This directory provides a profile + overrides model for host configuration.
Imports
Use this in host imports:
(modulesDirectory + /features/standard)
features/standard imports:
featuresprofile moduleservices/usersservices/networkservices/systemservices/soundprograms/baseprograms/gitprograms/dev
Profile Selection
Set one profile per host:
features.profile = "desktop";
Supported values:
customdesktoplaptopservercamera
Profiles set mkDefault values, so you can override any option per host.
Common Overrides
Base packages
features.base = {
enable = true;
preset = "minimal";
packages.captureEnable = true;
};
Dev tools
features.dev = {
enable = true;
preset = "minimal";
cloud.aws.enable = false;
cloud.azure.enable = false;
};
Network
features.network = {
enable = true;
netbird.enable = false;
tooling.enable = false;
};
Sound/Bluetooth
features.sound = {
enable = true;
bluetooth.enable = false;
};
Git defaults
features.git = {
enable = true;
userName = "myuser";
userEmail = "me@example.com";
};
Users
features.users = {
enable = true;
name = "fw";
fullName = "Fredrik Wastring";
extraGroups = [ "wheel" "networkmanager" ];
};
Notes
- If you only import
features/default.nix, profile defaults are applied only for options that exist in imported modules. features/standardis the easiest option for hosts that should expose all common feature knobs.