بنقرة واحدة
enable-module
// Use this skill when the user wants to enable an existing NixOS module on one or more hosts in this config repository.
// Use this skill when the user wants to enable an existing NixOS module on one or more hosts in this config repository.
Use this skill when the user wants to add a new agenix secret to this NixOS config repository.
Use this skill when the user wants to add a new host (workstation, laptop, server, or VPS) to this NixOS config repository.
Use this skill when the user asks to add a new NixOS module, create a module for an application, or install a new package with persistent state in this nixos config repository.
| name | enable-module |
| description | Use this skill when the user wants to enable an existing NixOS module on one or more hosts in this config repository. |
| argument-hint | <module.option> [host1] [host2] ... |
| allowed-tools | ["Read","Write","Edit","Glob","Grep","Bash"] |
The user wants to enable an existing module option on one or more hosts. Arguments: $ARGUMENTS
Parse the arguments:
graphical.audacity, development.flipper-zero, games.steam)desktop-elis, laptop-private-elis)
desktop-elis and laptop-private-elisEach host config lives at hosts/<hostname>/configuration.nix. The etu = { ... } block is where all module enables are set.
Available hosts: desktop-elis, laptop-private-elis, laptop-work-elis, desktop-caroline, laptop-private-caroline, server-main-elis, server-sparv, vps06, live-iso
Grep for the option in the module files to confirm it exists and get the exact option path:
Grep for: options.etu.<category>.<module>.enable
Path: modules/nixos/
If the module doesn't exist, stop and tell the user to use /new-module instead.
Read hosts/<hostname>/configuration.nix for each target host.
If the option is already present in the host's etu = { } block (even if set to false), inform the user and skip that host.
Find the right location within the etu = { ... } block. Module options are grouped by category prefix. Insert the new line:
graphical.* lines if adding graphical.foo)graphical.enable = true;)theme, user linesThe line to insert is:
<module.option>.enable = true;
Use the Edit tool to make the insertion. Be precise — match enough surrounding context to place it correctly.
Re-read each modified file to confirm the line was inserted correctly and the etu = { } block still looks well-formed.
Enabling graphical.audacity on desktop-elis:
Before (relevant excerpt):
graphical.enable = true;
graphical.sway.enable = true;
graphical.fdm-printing.enable = true;
After:
graphical.enable = true;
graphical.sway.enable = true;
graphical.audacity.enable = true;
graphical.fdm-printing.enable = true;
(Insert alphabetically among the graphical.* lines.)
= false; lines — only add when enabling.etu = { }, 4-space for the options themselves).true (e.g., a string or list), use that value instead.