add README.md
This commit is contained in:
+6
-2
@@ -1,3 +1,7 @@
|
|||||||
|
# System
|
||||||
|
.DS_Store
|
||||||
|
__pycache__
|
||||||
|
|
||||||
|
# Brewfile
|
||||||
Brewfile
|
Brewfile
|
||||||
Brewfile_*.backup
|
Brewfile_*.backup
|
||||||
.DS_Store
|
|
||||||
@@ -0,0 +1,71 @@
|
|||||||
|
# Brewfile Tool
|
||||||
|
|
||||||
|
A tool to manage Homebrew packages from a CSV file.
|
||||||
|
|
||||||
|
## Features
|
||||||
|
|
||||||
|
- Generate a Brewfile from a CSV list of packages.
|
||||||
|
- Install packages via the Brewfile, automatically resolving required dependencies.
|
||||||
|
- Check installation status and clean up packages not listed in the Brewfile.
|
||||||
|
|
||||||
|
## Requirements
|
||||||
|
|
||||||
|
- macOS
|
||||||
|
- [Homebrew](https://brew.sh)
|
||||||
|
- Python 3
|
||||||
|
|
||||||
|
## CSV Format
|
||||||
|
|
||||||
|
Packages are defined in `apps.csv`. Each row describes one package.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
### Columns
|
||||||
|
|
||||||
|
| Column | Required | Type | Description |
|
||||||
|
| ---------------- | -------- | ------ | ------------------------------------------------------------ |
|
||||||
|
| name | Yes | string | Exact package name used by the installer. |
|
||||||
|
| type | Yes | enum | One of `formula`, `cask`, `mas`, `vscode`, or `manual`. |
|
||||||
|
| mas_id | No | string | Mac App Store app ID. Required only when `type` is `mas`. |
|
||||||
|
| install_on_setup | Yes | bool | `yes` to include the package in the Brewfile, otherwise `no`.|
|
||||||
|
| description | No | string | Short note about the package, written as a Brewfile comment. |
|
||||||
|
|
||||||
|
* Rows with a `type` of `manual` are ignored during generation.
|
||||||
|
Thus, setting `install_on_setup` with `manual` type doesn't have any effect.
|
||||||
|
|
||||||
|
* This tool only reads and uses 5 columns stated in this table.
|
||||||
|
It is free to make more columns to add more metadata for packages.
|
||||||
|
|
||||||
|
|
||||||
|
### Types
|
||||||
|
|
||||||
|
| Type | Brewfile Entry | Dependency |
|
||||||
|
| ------- | ------------------------- | ----------------------------- |
|
||||||
|
| formula | `brew "..."` | none |
|
||||||
|
| cask | `cask "..."` | none |
|
||||||
|
| mas | `mas "...", id: ...` | `mas` (install if missing) |
|
||||||
|
| vscode | `vscode "..."` | `code` (install if missing) |
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
Run the tool and select an option from the menu.
|
||||||
|
|
||||||
|
```
|
||||||
|
python3 brewfile_tool.py
|
||||||
|
|
||||||
|
╰─➤ Select option
|
||||||
|
1) Create Brewfile
|
||||||
|
2) Install packages
|
||||||
|
3) Check packages
|
||||||
|
4) Cleanup packages
|
||||||
|
5) Exit
|
||||||
|
option:
|
||||||
|
```
|
||||||
|
|
||||||
|
| Option | Description |
|
||||||
|
| --------------- | ------------------------------------------------------------------- |
|
||||||
|
| Create Brewfile | Generate a Brewfile from `apps.csv`. The old Brewfile is automatically backed up. |
|
||||||
|
| Install packages| Install dependencies if needed, then run `brew bundle install`. |
|
||||||
|
| Check packages | Verify that every package in the Brewfile is installed. |
|
||||||
|
| Cleanup packages| Remove installed packages that are not listed in the Brewfile. |
|
||||||
|
| Exit | Quit the tool. |
|
||||||
Binary file not shown.
Binary file not shown.
|
After Width: | Height: | Size: 330 KiB |
Reference in New Issue
Block a user