Skip to content

Development

Source directory: modules/development/

cargo.nix

modules/development/cargo.nix

  • Enable option: Enable Cargo development environment

Options: enable, packages

Options declaration (Nix)
  options.cargo.development = {
    enable = mkEnableOption "Enable Cargo development environment";
    packages = mkOption {
      type = with types; listOf str;
      default = [ ];
      description = "Packages to install for Cargo development";
    };
  }

claude-hooks.nix

modules/development/claude-hooks.nix

  • Enable option: Claude Code hooks for desktop notifications

Options: enable, enablePermissionNotifications, enableReadyNotifications

Options declaration (Nix)
  options.features.claude-hooks = {
    enable = mkEnableOption "Claude Code hooks for desktop notifications";

    enablePermissionNotifications = mkOption {
      type = types.bool;
      default = true;
      description = "Enable notifications when Claude needs permissions";
    };

    enableReadyNotifications = mkOption {
      type = types.bool;
      default = true;
      description = "Enable notifications when Claude is ready for input";
    };
  }

copilot-cli.nix

modules/development/copilot-cli.nix

  • Enable option: Enable GitHub Copilot CLI

Options: enable, package

Options declaration (Nix)
  options.development.copilot-cli = {
    enable = mkEnableOption "Enable GitHub Copilot CLI";

    package = mkOption {
      type = types.package;
      default = copilot-cli;
      description = "GitHub Copilot CLI package to use";
    };
  }

default.nix

modules/development/default.nix

No option declarations; see source for implementation.

devbox.nix

modules/development/devbox.nix

  • Enable option: Enable DevShell development environment

Options: enable, packages

Options declaration (Nix)
  options.devshell.development = {
    enable = mkEnableOption "Enable DevShell development environment";
    packages = mkOption {
      type = with types; listOf package;
      default = [ ];
      description = "Packages to install for DevShell development";
    };
  }

github.nix

modules/development/github.nix

  • Enable option: Enable GitHub development environment

Options: enable, packages

Options declaration (Nix)
  options.github.development = {
    enable = mkEnableOption "Enable GitHub development environment";
    packages = mkOption {
      type = with types; listOf str;
      default = [ ];
      description = "Packages to install for GitHub development";
    };
  }

go.nix

modules/development/go.nix

  • Enable option: Enable Go development environment

Options: enable, packages

Options declaration (Nix)
  options.go.development = {
    enable = mkEnableOption "Enable Go development environment";
    packages = mkOption {
      type = with types; listOf str;
      default = [
      ];
      description = "Packages to install for Go development";
    };
  }

java.nix

modules/development/java.nix

  • Enable option: Enable Java development environment

Options: enable, packages

Options declaration (Nix)
  options.java.development = {
    enable = mkEnableOption "Enable Java development environment";
    packages = mkOption {
      type = with types; listOf str;
      default = [ ];
      description = "Packages to install for Java development";
    };
  }

lua.nix

modules/development/lua.nix

  • Enable option: Enable Lua development environment

Options: enable, packages

Options declaration (Nix)
  options.lua.development = {
    enable = mkEnableOption "Enable Lua development environment";
    packages = mkOption {
      type = with types; listOf str;
      default = [ ];
      description = "Packages to install for Lua development";
    };
  }

nix.nix

modules/development/nix.nix

  • Enable option: Enable Nix development environment

Options: enable, packages

Options declaration (Nix)
  options.nix.development = {
    enable = mkEnableOption "Enable Nix development environment";
    packages = mkOption {
      type = with types; listOf package;
      default = [ ];
      description = "Packages to install for Nix development";
    };
  }

nodejs.nix

modules/development/nodejs.nix

  • Enable option: Enable Node development environment

Options: enable, packages

Options declaration (Nix)
  options.nodejs.development = {
    enable = mkEnableOption "Enable Node development environment";
    packages = mkOption {
      type = with types; listOf str;
      default = [ ];
      description = "Packages to install for Node development";
    };
  }

pre-commit.nix

modules/development/pre-commit.nix

No option declarations; see source for implementation.

python.nix

modules/development/python.nix

  • Enable option: Enable Python development environment

Options: enable, packages

Options declaration (Nix)
  options.modules.development.python = {
    enable = mkEnableOption "Enable Python development environment";
    packages = mkOption {
      type = with types; listOf str;
      default = [ ];
      description = "Packages to install for Python development";
    };
  }

shell.nix

modules/development/shell.nix

  • Enable option: Enable Shell development environment

Options: enable, packages

Options declaration (Nix)
  options.shell.development = {
    enable = mkEnableOption "Enable Shell development environment";
    packages = mkOption {
      type = with types; listOf str;
      default = [ ];
      description = "Packages to install for Shell development";
    };
  }

spec-kit.nix

modules/development/spec-kit.nix

  • Enable option: GitHub spec-kit for Spec-Driven Development
Options declaration (Nix)
  options.features.development.spec-kit = mkEnableOption "GitHub spec-kit for Spec-Driven Development";

  config = mkIf (cfg.enable && cfg.spec-kit or false) {
    # Install spec-kit wrapper and dependencies
    environment.systemPackages = [
      spec-kit-wrapper
      pkgs.uv # Required for running spec-kit
      pkgs.python313 # Required by spec-kit (updated from 3.11 - broken doc build)
      pkgs.git # Required by spec-kit for repository operations
    ];

    # Add convenient shell aliases
    programs.bash.shellAliases = {
      "spec" = "specify";
      "spec-init" = "specify init";
      "spec-check" = "specify check";
    };

    programs.zsh.shellAliases = {
      "spec" = "specify";
      "spec-init" = "specify init";
      "spec-check" = "specify check";
    };
  }