init by ai
This commit is contained in:
55
nixos/modules/example-template.nix
Normal file
55
nixos/modules/example-template.nix
Normal file
@@ -0,0 +1,55 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
# Template for creating new NixOS modules
|
||||
# Copy this file and customize for your needs
|
||||
|
||||
{
|
||||
options.custom.example = {
|
||||
enable = lib.mkEnableOption "Example feature";
|
||||
|
||||
# Add more options as needed
|
||||
setting1 = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "default value";
|
||||
description = "Description of setting1";
|
||||
};
|
||||
|
||||
setting2 = lib.mkOption {
|
||||
type = lib.types.listOf lib.types.str;
|
||||
default = [ ];
|
||||
description = "A list of values";
|
||||
};
|
||||
};
|
||||
|
||||
config = let
|
||||
cfg = config.custom.example;
|
||||
in lib.mkIf cfg.enable {
|
||||
|
||||
# Your configuration here
|
||||
environment.systemPackages = with pkgs; [
|
||||
# Add packages needed for this feature
|
||||
];
|
||||
|
||||
# Other NixOS configuration
|
||||
# services.myservice.enable = true;
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
# How to use this module:
|
||||
#
|
||||
# 1. Save this template as nixos/modules/myfeature.nix
|
||||
#
|
||||
# 2. Import it in nixos/default.nix:
|
||||
# imports = [
|
||||
# ./modules/myfeature.nix
|
||||
# ];
|
||||
#
|
||||
# 3. Enable in host config (hosts/laptop/default.nix):
|
||||
# custom.myfeature.enable = true;
|
||||
# custom.myfeature.setting1 = "my value";
|
||||
# custom.myfeature.setting2 = [ "value1" "value2" ];
|
||||
#
|
||||
# 4. Rebuild:
|
||||
# sudo nixos-rebuild switch --flake .#laptop
|
||||
Reference in New Issue
Block a user