{"id":46145117,"url":"https://github.com/douz/mac-motd","last_synced_at":"2026-03-04T21:03:21.351Z","repository":{"id":189234472,"uuid":"347175804","full_name":"douz/mac-motd","owner":"douz","description":"Modular macOS MOTD for zsh with Homebrew install, user config, and pluggable modules.","archived":false,"fork":false,"pushed_at":"2026-03-02T06:34:59.000Z","size":389,"stargazers_count":3,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-03-02T09:48:45.065Z","etag":null,"topics":["cli","homebrew","macos","motd","productivity","shell","sysadmin","terminal","zsh"],"latest_commit_sha":null,"homepage":"https://brew.douz.io","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/douz.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":"SUPPORT.md","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":"MAINTAINERS.md","copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2021-03-12T19:27:00.000Z","updated_at":"2026-03-02T07:00:12.000Z","dependencies_parsed_at":"2023-08-20T14:47:06.453Z","dependency_job_id":null,"html_url":"https://github.com/douz/mac-motd","commit_stats":null,"previous_names":["douz/mac-motd"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/douz/mac-motd","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/douz%2Fmac-motd","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/douz%2Fmac-motd/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/douz%2Fmac-motd/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/douz%2Fmac-motd/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/douz","download_url":"https://codeload.github.com/douz/mac-motd/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/douz%2Fmac-motd/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30092886,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-04T20:42:30.420Z","status":"ssl_error","status_checked_at":"2026-03-04T20:42:30.057Z","response_time":59,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["cli","homebrew","macos","motd","productivity","shell","sysadmin","terminal","zsh"],"created_at":"2026-03-02T07:12:07.728Z","updated_at":"2026-03-04T21:03:21.343Z","avatar_url":"https://github.com/douz.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# mac-motd\n\nModular MOTD for macOS + zsh, with user config in `~/.douz.io/motd_config.zsh`.\n\n![mac-motd screenshot](images/screen2.png)\n\n## What This Repo Provides\n\n- `motd.sh`: runtime module loader.\n- `modules/*.sh`: output modules.\n- `modules/README.md`: module catalog, dependencies, and authoring notes.\n- `install.sh`: idempotent installer (shell hook + user config).\n- `uninstall.sh`: clean uninstaller (`--purge-config` supported).\n- `bin/mac-motd`: command wrapper (`run`, `install`, `uninstall`, `doctor`).\n- `packaging/homebrew/mac-motd.rb`: formula template for your tap.\n\n## Installation\n\n### Option 1: Homebrew Tap (recommended)\n\nUse your tap (hosted in GitHub, documented under `brew.douz.io`):\n\n```bash\nbrew tap douz/tap\nbrew install mac-motd\nmac-motd install\n```\n\nFor upgrades after a new release:\n\n```bash\nbrew update\nbrew upgrade mac-motd\nmac-motd install\n```\n\n`brew upgrade` updates the packaged files, and `mac-motd install` refreshes the user runtime in `~/.local/share/douz-motd` without overwriting your existing `~/.douz.io/motd_config.zsh`.\n\n### Option 2: Local/Source install\n\n```bash\ngit clone git@github.com:douz/mac-motd.git\ncd mac-motd\n./install.sh\n```\n\nFor upgrades after pulling a new release or updated branch:\n\n```bash\ngit pull --ff-only\n./install.sh\n```\n\nThis refreshes the installed runtime in `~/.local/share/douz-motd` and preserves your existing `~/.douz.io/motd_config.zsh` unless you explicitly choose `./install.sh --refresh-config`.\n\n## User Config Location\n\nThe installer creates:\n\n```bash\n~/.douz.io/motd_config.zsh\n```\n\nDefault content is sourced from `config/motd_config.zsh`.\n\nRunning `mac-motd install` again preserves your existing config. If you intentionally want to replace it with the latest template, run:\n\n```bash\nmac-motd install --refresh-config\n```\n\nThat command first creates a timestamped backup next to your config, for example `~/.douz.io/motd_config.zsh.bak.20260302091500`.\n\nExample:\n\n```zsh\nmodulesArray=(\n  banner\n  temperature\n  hdd_usage\n  battery\n  calendar_events\n)\n\nbannerText=\"Douz\"\n```\n\n## Commands\n\n```bash\nmac-motd run\nmac-motd install\nmac-motd install --refresh-config\nmac-motd uninstall\nmac-motd uninstall --purge-config\nmac-motd doctor\n```\n\n## Uninstall\n\n### Easy uninstall\n\n```bash\nmac-motd uninstall\n```\n\nThis removes the shell hook and installed runtime files, but keeps your config.\n\n### Full uninstall (including config)\n\n```bash\nmac-motd uninstall --purge-config\n```\n\n### If installed via Homebrew\n\n```bash\nbrew uninstall mac-motd\n```\n\nThen optionally remove shell hook/config if still present:\n\n```bash\nmac-motd uninstall --purge-config\n```\n\n## Dependencies\n\nThe following tools are used by modules and should be installed when needed:\n\n- `figlet`\n- `ical-buddy`\n- `osx-cpu-temp`\n- `smartmontools`\n\nInstall with:\n\n```bash\nbrew install figlet ical-buddy osx-cpu-temp smartmontools\n```\n\nThe runtime skips modules whose dependencies are missing and prints a warning.\n\n## Local Testing\n\nRun the local test suite:\n\n```bash\n./tests/run.sh\n```\n\nWhat is covered:\n\n- install idempotency (`install.sh` can run repeatedly without duplicate hooks)\n- uninstall behavior (preserve vs purge config)\n- runtime behavior for missing modules/dependencies\n\n## Release Process\n\n1. Update `CHANGELOG.md` under `[Unreleased]`.\n2. Create and push a version tag:\n\n```bash\ngit tag v0.1.3\ngit push origin v0.1.3\n```\n\n3. GitHub Actions will:\n   - create a GitHub Release with generated notes (`.github/workflows/release.yml`)\n   - update the Homebrew tap formula (`.github/workflows/publish-homebrew-tap.yml`)\n\n## Project Ownership and Support\n\n- Maintainer details: `MAINTAINERS.md`\n- Community support expectations: `SUPPORT.md`\n- Vulnerability reporting: `SECURITY.md`\n- License: `LICENSE` (MIT)\n\n## Module Development\n\nAdd new modules in `modules/\u003cname\u003e.sh`, then include them in `modulesArray` inside `~/.douz.io/motd_config.zsh`.\n\nIf a module requires commands, add its dependencies in `motd.sh` under `moduleRequirements`.\n\nKeep [modules/README.md](modules/README.md) in sync whenever you add, remove, or change a module so contributors can see the current runtime behavior and dependencies in one place.\n\n## Community and Governance\n\nThis repository includes:\n\n- `LICENSE` (MIT)\n- `CONTRIBUTING.md`\n- `CODE_OF_CONDUCT.md`\n- `SECURITY.md`\n- GitHub issue templates and PR template under `.github/`\n\nThese files define contribution workflow, behavior standards, and private security reporting.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdouz%2Fmac-motd","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdouz%2Fmac-motd","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdouz%2Fmac-motd/lists"}