Codify

Overview

Introduction to the Codify default plugin and its 50+ resources

The default plugin is the core plugin for Codify, providing 50+ declarative resources for managing development tools and system configuration across macOS and Linux. It's automatically included with Codify and covers the most common development environment needs.

Overview

The default plugin brings Infrastructure-as-Code principles to your local development machine. Instead of manually installing packages, configuring tools, and setting up your environment, you describe your desired system state in a JSON configuration file and let Codify handle the implementation.

What's Included?

The default plugin provides resources organized into several categories:

Package Managers

Manage system packages across different platforms:

  • homebrew - Install and manage Homebrew formulae and casks (macOS)
  • apt - Debian/Ubuntu package management
  • yum - RedHat/CentOS package management
  • dnf - Fedora package management
  • snap - Universal Linux packages
  • macports - MacPorts package manager

Version Managers

Install and manage multiple versions of programming languages:

  • nvm - Node.js version management
  • pyenv - Python version management
  • jenv - Java version management
  • asdf - Universal version manager for multiple languages

Programming Languages & Tools

Manage language-specific packages and environments:

  • npm - Node.js packages (global installs)
  • npm-login - NPM authentication
  • pnpm - Fast, disk-efficient package manager
  • pip - Python package installation
  • pip-sync - Python dependency synchronization
  • virtualenv - Python virtual environments
  • venv-project - Python venv projects

Version Control

Configure Git and manage repositories:

  • git - Git configuration (name, email, signing)
  • git-lfs - Git Large File Storage
  • git-repository - Clone and manage git repositories
  • wait-github-ssh-key - Wait for GitHub SSH key availability

Cloud & DevOps

Set up cloud and infrastructure tools:

Shell Configuration

Customize your shell environment:

  • alias - Individual shell aliases
  • aliases - Manage multiple aliases at once
  • path - PATH environment variable management
  • action - Custom shell scripts and actions

SSH & Security

Manage SSH keys and configuration:

  • ssh-key - Generate and manage SSH keys
  • ssh-config - SSH client configuration
  • ssh-add - Add SSH keys to agent

Development Tools

Configure popular development environments:

Virtualization

Manage virtual machines:

  • tart - macOS and Linux VM management
  • tart-vm - Individual Tart VMs

File Management

Handle local and remote files:

  • file - Local file management
  • remote-file - Download and manage remote files

Contributing

The default plugin is open source and welcomes contributions. Visit the GitHub repository to:

  • Report bugs or request features
  • Contribute new resources
  • Improve documentation
  • Share your configurations

Need help? Check the documentation for individual resources in the sidebar or visit the Codify community for support.

On this page