Gestion NixOS et dotfiles

VérifiéPrudence

Aide à la gestion des paquets NixOS et à la configuration des dotfiles. S'active pour installer, supprimer ou rechercher des paquets, effectuer des mises à jour système et éditer les fichiers de configuration NixOS. Utile pour les utilisateurs de NixOS qui gèrent leur système de manière déclarative.

Spar Skills Guide Bot
DevOpsIntermédiaire
8002/06/2026
Claude CodeCursorWindsurf
#nixos#package-management#dotfiles#configuration

Recommandé pour

Notre avis

Gère la configuration NixOS, l'installation et la suppression de paquets, les mises à jour système et les dotfiles via un alias nrs.

Points forts

  • Automatise la modification de configuration.nix pour ajouter/supprimer des paquets
  • Exécute la reconstruction NixOS et gère les erreurs de build
  • Versionne les modifications avec Git et propose de pusher

Limites

  • Nécessite une arborescence Dotfiles spécifique (~/Dotfiles)
  • Dépend de l'alias nrs (nixos-rebuild switch) défini par l'utilisateur
  • Ne gère pas les configurations multi-utilisateurs complexes
Quand l'utiliser

Pour toute tâche de gestion de paquets ou de configuration sur un système NixOS avec dotfiles organisés.

Quand l'éviter

Sur un système non NixOS ou si l'utilisateur préfère une gestion manuelle des dotfiles.

Analyse de sécurité

Prudence
Score qualité85/100

The skill performs system-wide NixOS rebuilds via `nrs` (nixos-rebuild switch) which runs with elevated privileges and can modify the entire system configuration. It also commits and optionally pushes to a Git repository. These are legitimate administrative actions but come with inherent risk if misused, though the skill includes user confirmation before pushing and showing diffs. No destructive or exfiltration patterns detected.

Aucun point d'attention détecté

Exemples

Install a package
Install htop on my NixOS system.
Remove a package
Remove python2 from my user packages.
Update system
Update my NixOS flake and rebuild.

name: nix description: NixOS package management and dotfiles configuration. Activates for package install/remove/search, system updates, and configuration changes.

NixOS Package Management

Help with NixOS configuration and package management.

User input: $ARGUMENTS

Instructions

  1. Read context and config:

    • Read ~/Dotfiles/CLAUDE.md to understand the dotfiles layout
    • Read ~/Dotfiles/configuration.nix to see current packages
    • Read ~/Dotfiles/flake.nix if flake changes needed
  2. Parse the request:

    • Install package: User wants to add a package (e.g., "install htop", "add nodejs")
    • Remove package: User wants to remove a package
    • Search: User wants to find a package (e.g., "search for video editor")
    • Update: User wants to update the system
    • Other: Configuration changes, services, etc.
  3. For package install/remove:

    • Search nixpkgs to confirm exact package name: nix search nixpkgs <name>
    • Edit configuration.nix to add/remove from users.users.sasha.packages
    • Show the diff to user
  4. For search:

    • Run nix search nixpkgs <query> and summarize results
    • Suggest the most relevant package(s)
  5. For updates:

    • Run nix flake update in ~/Dotfiles
    • Then rebuild
  6. Apply changes:

    • Run: nrs (alias for nixos-rebuild switch)
    • If rebuild fails:
      • Analyze the error output
      • Identify the root cause (missing dependency, syntax error, etc.)
      • Fix the issue and retry
      • Repeat until successful or user asks to stop
    • Report success
  7. Update documentation:

    • If structural changes were made (new services, major packages), update ~/Dotfiles/CLAUDE.md
  8. Commit changes (only after successful rebuild):

    • cd ~/Dotfiles
    • git add -A
    • git commit with a descriptive message (e.g., "Add htop package", "Update flake inputs")
    • Ask user: "Ready to push to remote?"
    • Only push if user confirms

Package Locations

  • User packages: configuration.nixusers.users.sasha.packages
  • System packages: configuration.nixenvironment.systemPackages
  • Flake inputs: flake.nix → for adding external flakes
Skills similaires