{"id":33926378,"url":"https://github.com/machlit/cutler","last_synced_at":"2025-12-25T07:53:25.037Z","repository":{"id":281366910,"uuid":"945059592","full_name":"machlit/cutler","owner":"machlit","description":"Declaratively setup your Mac using a single file and command.","archived":false,"fork":false,"pushed_at":"2025-11-28T09:32:06.000Z","size":4028,"stargazers_count":45,"open_issues_count":3,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-11-30T17:54:27.252Z","etag":null,"topics":["cutler","developer-tools","home-manager","macos","macos-automation","macos-cli-apps","rust","rust-cli","rust-lang"],"latest_commit_sha":null,"homepage":"https://machlit.github.io/cutler/","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/machlit.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE-APACHE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"open_collective":"machlit"}},"created_at":"2025-03-08T15:08:49.000Z","updated_at":"2025-11-30T12:46:20.000Z","dependencies_parsed_at":"2025-03-08T16:24:51.923Z","dependency_job_id":"5964d915-49b6-4085-b42a-a88c94b7e9f6","html_url":"https://github.com/machlit/cutler","commit_stats":null,"previous_names":["hitblast/cutler","cutlercli/cutler","cutlerhq/cutler","machlit/cutler"],"tags_count":127,"template":false,"template_full_name":null,"purl":"pkg:github/machlit/cutler","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/machlit%2Fcutler","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/machlit%2Fcutler/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/machlit%2Fcutler/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/machlit%2Fcutler/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/machlit","download_url":"https://codeload.github.com/machlit/cutler/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/machlit%2Fcutler/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":27680590,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-12-12T02:00:06.775Z","response_time":129,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cutler","developer-tools","home-manager","macos","macos-automation","macos-cli-apps","rust","rust-cli","rust-lang"],"created_at":"2025-12-12T10:11:46.033Z","updated_at":"2025-12-25T07:53:25.028Z","avatar_url":"https://github.com/machlit.png","language":"Rust","readme":"\u003cdiv align=\"center\"\u003e\n\n\u003cimg src=\"assets/logo.png\" width=\"180px\"\u003e\n\n# 🍎 cutler\n\n#### Setup automation for your Mac\n\n[![Crates.io Downloads](https://img.shields.io/crates/d/cutler?style=social\u0026logo=Rust)](https://crates.io/crates/cutler)\n[![Rust Tests](https://github.com/machlit/cutler/actions/workflows/tests.yml/badge.svg)](https://github.com/machlit/cutler/actions/workflows/tests.yml)\n\nPre-built binaries support **macOS Big Sur (11.0) or later** versions.\n\n\u003c/div\u003e\n\n## Quick Start\n\n```bash\n# Self-installing script\n# See below sections for other methods.\ncurl -fsSL https://machlit.github.io/cutler/install.sh | /bin/bash\n\n# Initialize a configuration file.\n# Basic template includes preferences, Homebrew and external commands.\ncutler init\n\n# Modify using your preferred editor.\nnano ~/.config/cutler/config.toml\n\n# Apply your preferences.\ncutler apply\n```\n\n## What is cutler?\n\ncutler simplifies the macOS setup pipeline by:\n\n- providing a declarative way to set system settings, without touching the Settings app,\n- wrapping around package managers for easy apps/tooling installation, and\n- by providing first-class support for external commands to ensure easy extensibility.\n\nAll of this happens with a single `cutler.toml` file in your config directory.\n\n## How it works\n\nFor backend functionality over system preferences, cutler wraps around the preferences APIs exposed by macOS. This allows for direct and instant feedback by just restarting the corresponding services related to the preference.\n\nFor wrapping around tooling, cutler includes mature implementations for extracting the data from the selected package managers.\nSensitive actions (e.g. installing) are currently outsourced to remain as close to the original functionality as possible.\n\ncutler is still in development and changes in functionality may be common during this stage.\n\n## Useful Links\n\n- [Resources](#resources)\n- [Installation](#installation)\n- [Goals](#goals)\n- [Contributing](#contributing)\n- [License](#license)\n\n## Resources\n\n- [**Complete Documentation (Cookbook)**](https://machlit.github.io/cutler)\n- [macOS defaults list](https://macos-defaults.com) (useful if you're starting out with declaring bare-metal system preferences and have not previously used `defaults`)\n\n## Installation\n\n### Self-install (recommended)\n\n```bash\ncurl -fsSL https://machlit.github.io/cutler/install.sh | /bin/bash\n```\n\n### Using Homebrew\n\n```bash\nbrew install machlit/tap/cutler\n```\n\n### Using cargo\n\n```bash\ncargo install cutler\n```\n\n### Using mise\n\n```bash\nmise use -g cargo:cutler\n```\n\n## Goals\n\nThe universal goal is simple - provide a reliable way to automate the Mac setup so that you don't have to overthink about it. This consists of the following:\n\n- Reliable restoration of system preferences.\n- Reliable restoration of apps/tools using some sort of backend.\n- Customizability and authority over certain commands and other stuff.\n- Backup and restoration features for advanced things such as fonts, App Store apps.\n- ... and more which aren't noted here.\n\nThese are all possible features cutler needs to stabilize in order to achieve a v1 release for now.\n\n## Contributing\n\nView the [Contribution Guidelines](https://machlit.github.io/cutler/guidelines/contributing.html) to learn more about contributing to cutler. It also contains resources such as code snippets to make your contribution workflow easier.\n\n## License\n\nThis project is permissively licensed and free forever. See the license files mentioned below for the details:\n\n- Apache Software License 2.0 [(LICENSE-APACHE)](https://github.com/machlit/cutler/blob/master/LICENSE-APACHE)\n- MIT License [(LICENSE-MIT)](https://github.com/machlit/cutler/blob/master/LICENSE-MIT)\n","funding_links":["https://opencollective.com/machlit"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmachlit%2Fcutler","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmachlit%2Fcutler","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmachlit%2Fcutler/lists"}