{"id":13394814,"url":"https://github.com/lra/mackup","last_synced_at":"2025-09-09T20:55:02.547Z","repository":{"id":7888302,"uuid":"9265294","full_name":"lra/mackup","owner":"lra","description":"Keep your application settings in sync (OS X/Linux)","archived":false,"fork":false,"pushed_at":"2025-08-23T16:43:35.000Z","size":2396,"stargazers_count":14926,"open_issues_count":355,"forks_count":943,"subscribers_count":143,"default_branch":"master","last_synced_at":"2025-09-06T22:40:45.390Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lra.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","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},"funding":{"custom":["https://tippin.me/@_LR_"]}},"created_at":"2013-04-06T19:22:54.000Z","updated_at":"2025-09-06T20:10:18.000Z","dependencies_parsed_at":"2023-02-18T01:45:17.791Z","dependency_job_id":"a527d76d-8b89-42b3-9ece-11ef5365ce29","html_url":"https://github.com/lra/mackup","commit_stats":{"total_commits":1749,"total_committers":468,"mean_commits":"3.7371794871794872","dds":0.6735277301315037,"last_synced_commit":"66984ceafe16fa03909dc33ce498592b6a7a2a1e"},"previous_names":[],"tags_count":71,"template":false,"template_full_name":null,"purl":"pkg:github/lra/mackup","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lra%2Fmackup","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lra%2Fmackup/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lra%2Fmackup/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lra%2Fmackup/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lra","download_url":"https://codeload.github.com/lra/mackup/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lra%2Fmackup/sbom","scorecard":{"id":600686,"data":{"date":"2025-08-11","repo":{"name":"github.com/lra/mackup","commit":"51a7df098a40df5fcebc3568fabb9ca73a2899f1"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5.1,"checks":[{"name":"Code-Review","score":6,"reason":"Found 17/26 approved changesets -- score normalized to 6","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/install.yaml:1","Warn: no topLevel permission defined: .github/workflows/linelint.yaml:1","Warn: no topLevel permission defined: .github/workflows/markdown.yaml:1","Warn: no topLevel permission defined: .github/workflows/ruff.yaml:1","Warn: no topLevel permission defined: .github/workflows/test.yaml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Maintained","score":7,"reason":"9 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 7","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/install.yaml:25: update your workflow using https://app.stepsecurity.io/secureworkflow/lra/mackup/install.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/install.yaml:38: update your workflow using https://app.stepsecurity.io/secureworkflow/lra/mackup/install.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/linelint.yaml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/lra/mackup/linelint.yaml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/linelint.yaml:19: update your workflow using https://app.stepsecurity.io/secureworkflow/lra/mackup/linelint.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/markdown.yaml:13: update your workflow using https://app.stepsecurity.io/secureworkflow/lra/mackup/markdown.yaml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/markdown.yaml:14: update your workflow using https://app.stepsecurity.io/secureworkflow/lra/mackup/markdown.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ruff.yaml:13: update your workflow using https://app.stepsecurity.io/secureworkflow/lra/mackup/ruff.yaml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ruff.yaml:14: update your workflow using https://app.stepsecurity.io/secureworkflow/lra/mackup/ruff.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yaml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/lra/mackup/test.yaml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yaml:22: update your workflow using https://app.stepsecurity.io/secureworkflow/lra/mackup/test.yaml/master?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/install.yaml:40","Warn: pipCommand not pinned by hash: .github/workflows/install.yaml:27","Info:   0 out of   6 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   4 third-party GitHubAction dependencies pinned","Info:   0 out of   2 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: GNU General Public License v3.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 27 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-21T00:20:54.478Z","repository_id":7888302,"created_at":"2025-08-21T00:20:54.479Z","updated_at":"2025-08-21T00:20:54.479Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274045991,"owners_count":25212980,"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-09-07T02:00:09.463Z","response_time":67,"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":[],"created_at":"2024-07-30T17:01:32.541Z","updated_at":"2025-09-09T20:55:02.531Z","avatar_url":"https://github.com/lra.png","language":"Python","readme":"# Mackup™\n\nKeep your application settings in sync.\n\n## Table of contents\n\n- [Mackup](#mackup)\n  - [Table of contents](#table-of-contents)\n  - [WARNING](#warning)\n  - [Quickstart](#quickstart)\n  - [Usage](#usage)\n  - [What does it do](#what-does-it-do)\n  - [Bullsh\\*t, what does it really do to my files](#bullsht-what-does-it-really-do-to-my-files)\n    - [Backup](#backup)\n    - [Restore](#restore)\n    - [Uninstall](#uninstall)\n  - [Supported Storages](#supported-storages)\n  - [Unsupported Storages](#unsupported-storages)\n  - [Supported Applications](#supported-applications)\n  - [Can you support application X](#can-you-support-application-x)\n  - [Personalization \\\u0026 configuration](#personalization--configuration)\n  - [Why did you do this](#why-did-you-do-this)\n  - [What platforms are supported](#what-platforms-are-supported)\n  - [What's up with the weird name](#whats-up-with-the-weird-name)\n  - [Where can I find more information](#where-can-i-find-more-information)\n\n## WARNING\n\n⚠️ Mackup does not work correctly in macOS Sonoma and all later versions,\nsince it does not support symlinked files for preferences. Running this code\nwill destroy all user preferences without a means for recovery. For more\ninformation, see issues [#1924](https://github.com/lra/mackup/issues/1924)\nand [2035](https://github.com/lra/mackup/issues/2035).\n\n## Quickstart\n\nIf you have [Dropbox](https://www.dropbox.com) installed and want to use it to\nsave your config files, that's super easy.\n\nOn macOS, if you want an easy install, you can install\n[Homebrew](http://brew.sh/) and do:\n\n```bash\n# Install Mackup\nbrew install mackup\n\n# Launch it and back up your files\nmackup backup\n```\n\nIf not running macOS, or you don't like Homebrew, you can use [pip](https://pip.pypa.io/en/stable/).\n\n\u003e Note: The below command will check if a previous version of Mackup\n\u003e is already installed on your system.\n\u003e If this is the case, it will be upgraded to the latest version.\n\n```bash\n# Install Mackup with PIP\npip install --upgrade mackup\n\n# Launch it and back up your files\nmackup backup\n```\n\n\u003e On **Ubuntu**, pip will install to the current user's home\n\u003e directory rather than system-wide. Because of this, when\n\u003e installing pip on **Ubuntu** you will need to run `pip install`\n\u003e with the `--system` flag as well (on other platforms this is not\n\u003e needed)\n\nYou're all set and constantly backed up from now on.\n\nNext, on any new workstation, do:\n\n```bash\n# Install Mackup\nbrew install mackup\n\n# Launch it and restore your files\nmackup restore\n```\n\nDone!\n\nYou can find more detailed instructions in [INSTALL.md](INSTALL.md).\n\n## Usage\n\n`mackup backup`\n\nBackup your application settings.\n\n`mackup restore`\n\nRestore your application settings on a newly installed workstation.\n\n`mackup uninstall`\n\nCopy back any synced config file to its original place.\n\n`mackup list`\n\nDisplay the list of applications supported by Mackup.\n\n`mackup -h`\n\nGet some help, obviously...\n\n## What does it do\n\n- Back ups your application settings in a safe directory (e.g. Dropbox)\n- Syncs your application settings among all your workstations\n- Restores your configuration on any fresh install in one command line\n\nBy only tracking pure configuration files, it keeps the crap out of your\nfreshly new installed workstation (no cache, temporary and locally specific\nfiles are transfered).\n\nMackup makes setting up the environment easy and simple, saving time for your\nfamily, great ideas, and all the cool stuff you like.\n\n## Bullsh\\*t, what does it really do to my files\n\nLet's take `git` as an example. Your settings for `git` are saved in your home\nfolder, in the `.gitconfig` file.\n\n### Backup\n\nIf you have Dropbox, these things happen when you launch `mackup backup`:\n\n1. `cp ~/.gitconfig ~/Dropbox/Mackup/.gitconfig`\n2. `rm ~/.gitconfig`\n3. `ln -s ~/Dropbox/Mackup/.gitconfig ~/.gitconfig`\n\nNow your `git` config is always backed up and up to date on all your workstations.\n\n### Restore\n\nWhen you launch `mackup restore`, here's what it's really doing:\n\n1. `ln -s ~/Dropbox/Mackup/.gitconfig ~/.gitconfig`\n\nThat's it, you got your `git` config setup on your new workstation.\n\n`mackup` does the same for any supported application.\n\n### Uninstall\n\nYou can revert all your files to their original state.\n\n```bash\n# Just run this\nmackup uninstall\n```\n\nThis will remove the symlinks and copy back the files from the Mackup folder in\nDropbox to their original places in your home. The Mackup folder and the files\nin it stay put, so that any other computer also running Mackup is unaffected.\n\n## Supported Storages\n\n- [Dropbox](https://www.dropbox.com/)\n- [Google Drive](https://drive.google.com/)\n- [iCloud](http://www.apple.com/icloud/)\n- Anything able to sync a folder (e.g. [Git](http://git-scm.com/))\n\nSee the [README](doc/README.md) file in the doc directory for more info.\n\n## Unsupported Storages\n\n- [Box](https://www.box.com): No longer supported as it ignores dotfiles, see\n  \u003chttps://github.com/lra/mackup/issues/807\u003e.\n\n## Supported Applications\n\n- [1Password 4](https://agilebits.com/onepassword)\n- [2Do](http://www.2doapp.com/)\n- [Ack](http://beyondgrep.com/)\n- [act](https://github.com/nektos/act)\n- [Adium](https://adium.im/)\n- [Adobe Camera Raw](http://www.adobe.com/products/photoshop/extend.html)\n- [Adobe Illustrator CC](https://www.adobe.com/products/illustrator.html)\n- [Adobe Photoshop CC](http://www.adobe.com/products/photoshop.html)\n- [Adobe Photoshop Lightroom CC](https://www.adobe.com/products/photoshop-lightroom.html)\n- [Adobe Photoshop Lightroom Classic](https://www.adobe.com/de/products/photoshop-lightroom-classic.html)\n- [aerc](https://aerc-mail.org/)\n- [AeroSpace](https://github.com/nikitabobko/AeroSpace)\n- [Affinity Designer](https://affinity.serif.com/designer)\n- [Affinity Photo](https://affinity.serif.com/photo)\n- [Affinity Publisher](https://affinity.serif.com/publisher)\n- [Airflow](https://airflowapp.com/)\n- [Airmail](http://airmailapp.com/)\n- [Akamai-CLI](https://developer.akamai.com/cli)\n- [Alacritty](https://github.com/jwilm/alacritty)\n- [AltTab](https://alt-tab-macos.netlify.app/)\n- [Amethyst](https://ianyh.com/amethyst/)\n- [Ancient Domains of Mystery](http://www.adom.de/home/index.html)\n- [Android Studio](https://developer.android.com/sdk/)\n- [Ansible](http://www.ansible.com/)\n- [AppCleaner](http://freemacsoft.net/appcleaner/)\n- [AppCode](http://www.jetbrains.com/objc/)\n- [Apple Music](https://www.apple.com/apple-music/)\n- [Apptivate](http://www.apptivateapp.com/)\n- [Arara](https://github.com/cereda/arara)\n- [aria2c](http://aria2.sourceforge.net/)\n- [Arm](https://www.atagar.com/arm/)\n- [Artistic Style](http://astyle.sourceforge.net)\n- [asciinema](https://asciinema.org/)\n- [asdf version manager](https://github.com/asdf-vm/asdf)\n- [Aspell](http://aspell.net/)\n- [Atlantis](http://www.riverdark.net/atlantis/)\n- [Atom](https://atom.io/)\n- [Audacious](http://audacious-media-player.org/)\n- [AusKey](https://abr.gov.au/AUSkey/)\n- [Autokey](https://code.google.com/p/autokey/)\n- [Awareness](http://iamfutureproof.com/tools/awareness/)\n- [AWS Command Line Interface](https://aws.amazon.com/cli/)\n- [ActivityWatch](http://activitywatch.net/)\n- [Bartender](http://www.macbartender.com/)\n- [Bash it](https://github.com/Bash-it/bash-it)\n- [Bash](http://www.gnu.org/software/bash/)\n- [Base](https://menial.co.uk/base/)\n- [Bat](https://github.com/sharkdp/bat)\n- [Bc](https://www.gnu.org/software/bc/)\n- [Beatport Pro](https://www.beatport.com/desktop)\n- [Beets](http://beets.io/)\n- [BetterSnapTool](http://www.boastr.net/)\n- [BetterTouchTool](http://www.boastr.net/)\n- [Beyond Compare](https://scootersoftware.com/)\n- [BibDesk](http://bibdesk.sourceforge.net/)\n- [Billings Pro Server Admin](https://www.marketcircle.com/billingspro/download/billingspro-server/)\n- [BitBar](https://getbitbar.com/)\n- [Bitchx](http://www.bitchx.org/)\n- [Blackfire](https://blackfire.io/)\n- [Blender](https://blender.org/)\n- [ble.sh](https://github.com/akinomyoga/ble.sh)\n- [Boto](https://github.com/boto/boto)\n- [Boxer](http://boxerapp.com)\n- [Brackets](http://brackets.io/)\n- [Brave](https://brave.com/)\n- [Btop](https://github.com/aristocratos/btop)\n- [Bump](https://github.com/fabiospampinato/bump)\n- [Bundler](http://bundler.io)\n- [Byobu](http://byobu.co/)\n- [Caffeine](http://lightheadsw.com/caffeine/)\n- [Calibre](https://calibre-ebook.com/)\n- [Capture One](http://www.phaseone.com/Imaging-Software/Capture-One.aspx)\n- [Cartographica](https://www.macgis.com/)\n- [Cerebro](https://cerebroapp.com/)\n- [Charles](http://www.charlesproxy.com)\n- [Cheat](https://github.com/chrisallenlane/cheat)\n- [Chef](https://www.chef.io/chef/)\n- [Chicken](http://sourceforge.net/projects/chicken/)\n- [Choosy](https://www.choosyosx.com/)\n- [chunkwm](https://github.com/koekeishiya/chunkwm)\n- [Cider](https://github.com/msanders/cider)\n- [ClashX](https://github.com/yichengchen/clashX)\n- [Clasp](https://github.com/google/clasp)\n- [CleanShot](https://cleanshot.com/)\n- [Clementine](https://www.clementine-player.org/)\n- [CLion](https://www.jetbrains.com/clion/)\n- [ClipMenu](http://www.clipmenu.com/)\n- [Clipy](https://clipy-app.com/)\n- [CloudApp](http://getcloudapp.com/)\n- [Coda 2](http://panic.com/coda/)\n- [Colloquy](http://colloquy.info/)\n- [ColorSchemer Studio 2](http://www.colorschemer.com/osx_info.php)\n- [ColorSlurp](http://colorslurp.com/)\n- [ColorSync](https://en.wikipedia.org/wiki/ColorSync)\n- [Composer](https://getcomposer.org/)\n- [Concentrate](http://www.getconcentrating.com/)\n- [Conky](https://github.com/brndnmtthws/conky)\n- [Consular](https://github.com/achiu/consular)\n- [Contexts](https://contexts.co)\n- [ControlPlane](http://www.controlplaneapp.com/)\n- [CopyQ](https://github.com/hluk/CopyQ)\n- [CoRD](http://cord.sourceforge.net/)\n- [CotEditor](http://coteditor.com/)\n- [Ctags](http://ctags.sourceforge.net/)\n- [Cursor](https://cursor.sh/)\n- [cVim](https://github.com/1995eaton/chromium-vim)\n- [Cyberduck](https://cyberduck.io/)\n- [DaisyDisk](https://daisydiskapp.com)\n- [DataGrip](https://www.jetbrains.com/datagrip/)\n- [Dash](https://kapeli.com/dash)\n- [Day-O](http://www.shauninman.com/archive/2011/10/20/day_o_mac_menu_bar_clock)\n- [DBeaver](https://dbeaver.io/)\n- [DbVisualizer](https://www.dbvis.com/)\n- [Deal Alert](http://dealalertapp.com/)\n- [Deepin-dde-dock](https://github.com/linuxdeepin/dde-dock)\n- [Deepin-dde-file-manager](https://www.deepin.org/en/original/dde-file-manager/)\n- [Deepin-Terminal](https://github.com/linuxdeepin/deepin-terminal)\n- [Default Folder X](http://www.stclairsoft.com/DefaultFolderX/)\n- [Devil's Pie 2](http://www.gusnan.se/devilspie2/)\n- [Devil's Pie](\u003chttps://en.wikipedia.org/wiki/Devil's_Pie_(software)\u003e)\n- [dig](\u003chttp://en.wikipedia.org/wiki/Dig_(command)\u003e)\n- [Divvy](http://mizage.com/divvy/)\n- [Docker](https://www.docker.com/)\n- [Dolphin](https://dolphin-emu.org/)\n- [Doom Emacs](https://github.com/hlissner/doom-emacs)\n- [Double Commander](http://doublecmd.sourceforge.net/)\n- [Doxie](http://www.getdoxie.com/)\n- [Dozer](https://github.com/Mortennn/Dozer)\n- [Draft](https://draft.sh/)\n- [Droplr](https://droplr.com/)\n- [Dropzone 3](https://aptonic.com/dropzone3/)\n- [Drush](http://www.drush.org/)\n- [Eagle (ogdesign)](https://eagle.cool/)\n- [EditorConfig](http://editorconfig.org/)\n- [Electrum](https://electrum.org/#home)\n- [Elgato StreamDeck](https://www.elgato.com/en/welcome-to-stream-deck)\n- [Emacs](http://www.gnu.org/software/emacs/)\n- [Enjoyable](https://yukkurigames.com/enjoyable/)\n- [Environmental Station Alpha](http://www.hempuli.com/esa/)\n- [eqMac2](https://bitgapp.com/eqmac/)\n- [ESLint](https://eslint.org/)\n- [espanso](https://espanso.org)\n- [Exercism](http://exercism.io/)\n- [ExpanDrive](http://www.expandrive.com/)\n- [Factorio](https://www.factorio.com)\n- [Fantastical](http://flexibits.com/fantastical)\n- [fasd](https://github.com/clvv/fasd)\n- [fastlane](https://fastlane.tools)\n- [FastScripts](https://redsweater.com/fastscripts/)\n- [Feeds](http://www.feedsapp.com/)\n- [FileZilla](https://filezilla-project.org/)\n- [Finicky](https://github.com/johnste/finicky)\n- [Fish](http://fishshell.com/)\n- [Fisher](https://github.com/jorgebucaran/fisher)\n- [Flake8](https://flake8.pycqa.org/)\n- [Flameshot](https://flameshot.org)\n- [FlexGet](http://flexget.com/)\n- [Flux](https://justgetflux.com/)\n- [Focus](https://heyfocus.com)\n- [Fontconfig](https://www.freedesktop.org/wiki/Software/fontconfig/)\n- [FontExplorer X](http://www.fontexplorerx.com/)\n- [Forge](http://www.slightlymagic.net/wiki/Forge)\n- [Fork](https://git-fork.com/)\n- [ForkLift](http://www.binarynights.com/forklift/)\n- [Franz](https://meetfranz.com)\n- [Gas Mask](https://github.com/2ndalpha/gasmask/)\n- [gdb](https://www.gnu.org/software/gdb/)\n- [Gear Player](https://www.gearmusicplayer.com/)\n- [GeekTool](http://projects.tynsoe.org/en/geektool/)\n- [GHCi](https://wiki.haskell.org/GHC/GHCi)\n- [Ghidra](https://ghidra-sre.org)\n- [Ghostty](https://ghostty.org/)\n- [Ghostwriter](https://wereturtle.github.io/ghostwriter/)\n- [Gimp](https://www.gimp.org/)\n- [Git Hooks](https://github.com/git-hooks/git-hooks)\n- [Git](http://git-scm.com/)\n- [Gitbox](http://gitboxapp.com/)\n- [GitFox](https://www.gitfox.app)\n- [GitKraken](https://www.gitkraken.com)\n- [GitUp](http://gitup.co/)\n- [Gmail Notifr](http://ashchan.com/projects/gmail-notifr)\n- [gmailctl](https://github.com/mbrt/gmailctl)\n- [GMVault](http://gmvault.org/)\n- [Gnome SSH Tunnel Manager](http://sourceforge.net/projects/gstm/)\n- [GnuPG](https://www.gnupg.org/)\n- [Go2Shell](http://zipzapmac.com/Go2Shell)\n- [Goku](https://github.com/yqrashawn/GokuRakuJoudo)\n- [GoLand](https://www.jetbrains.com/go/)\n- [Goldendict](http://goldendict.org/)\n- [GoodSync](https://goodsync.com/)\n- [GoShare](https://github.com/dictget/goshare)\n- [Gradle](http://gradle.org)\n- [GrandTotal 3](http://www.mediaatelier.com/GrandTotal4/)\n- [grsync](http://www.opbyte.it/grsync/)\n- [Hammerspoon](http://www.hammerspoon.org/)\n- [HandBrake](https://handbrake.fr/)\n- [Hands Off!](http://www.oneperiodic.com/products/handsoff/)\n- [Hazel](http://www.noodlesoft.com/hazel.php)\n- [Hero Lab](http://www.wolflair.com/index.php?context=hero_lab)\n- [Heroku](https://www.heroku.com/)\n- [HexChat](https://hexchat.github.io/)\n- [Hexels](http://hexraystudios.com/hexels/)\n- [Hocus Focus](http://hocusfoc.us/)\n- [Homebridge](https://github.com/nfarina/homebridge)\n- [Homebrew](https://brew.sh)\n- [Houdini](http://uglyapps.co.uk/houdini/)\n- [Hstr](https://github.com/dvorka/hstr)\n- [Htop](http://htop.sourceforge.net/)\n- [HTTPie](https://httpie.org/)\n- [hub](https://hub.github.com)\n- [Hyper.app](https://hyper.is/)\n- [HyperDock](https://bahoom.com/hyperdock)\n- [HyperSwitch](https://bahoom.com/hyperswitch)\n- [i2cssh](https://github.com/wouterdebie/i2cssh)\n- [i3](https://i3wm.org/)\n- [IDA Pro](https://www.hex-rays.com/products/ida/)\n- [IdeaVim](https://github.com/JetBrains/ideavim)\n- [IINA](https://iina.io)\n- [Inkscape](https://inkscape.org/)\n- [Insomnia](https://insomnia.rest/)\n- [IntelliJIDEA](http://www.jetbrains.com/idea/)\n- [IPython](http://ipython.org/)\n- [Irssi](http://www.irssi.org/)\n- [iStat Menus](https://bjango.com/mac/istatmenus/)\n- [Itsycal](https://github.com/sfsam/Itsycal)\n- [iTerm2](https://www.iterm2.com/)\n- [iTermocil](https://github.com/TomAnthony/itermocil)\n- [iTunes Scripts](https://www.apple.com/)\n- [JankyBorders](https://github.com/FelixKratz/JankyBorders)\n- [Janus](https://github.com/carlhuda/janus)\n- [Jitouch](http://www.jitouch.com/)\n- [Joplin](https://joplinapp.org/)\n- [jrnl](https://jrnl.sh)\n- [JS Beautifier](https://github.com/beautify-web/js-beautify)\n- [JSHint](http://jshint.com/)\n- [Julia](http://julialang.org)\n- [Jumpcut](http://jumpcut.sourceforge.net/)\n- [Jupyter](http://jupyter.org/)\n- [k9s](https://k9scli.io/)\n- [Kaggle](https://kaggle.com/)\n- [Kaleidoscope](http://www.kaleidoscopeapp.com/)\n- [Karabiner Elements](https://github.com/tekezo/Karabiner-Elements)\n- [Karabiner](https://pqrs.org/osx/karabiner/)\n- [Kdenlive](https://kdenlive.org/)\n- [KeePassX](http://www.keepassx.org/)\n- [KeePassXC](https://keepassxc.org/)\n- [KeepingYouAwake](https://github.com/newmarcel/KeepingYouAwake)\n- [Keka](http://www.kekaosx.com/en/)\n- [Keybase](https://keybase.io/)\n- [Keyboard Maestro](http://www.keyboardmaestro.com)\n- [Keymo](http://manytricks.com/keymo/)\n- [KeyRemap4MacBook](https://pqrs.org/osx/karabiner/)\n- [Khd](https://github.com/koekeishiya/khd/)\n- [kitty](https://sw.kovidgoyal.net/kitty/)\n- [Kiro](https://kiro.dev/)\n- [Krew](https://github.com/kubernetes-sigs/krew)\n- [Kubectl](https://kubernetes.io/docs/reference/kubectl/overview/)\n- [Kwm](https://koekeishiya.github.io/kwm/)\n- [LaTeXiT](http://www.chachatelier.fr/latexit/latexit-home.php?lang=en)\n- [LaunchBar](https://www.obdev.at/products/launchbar/index.html)\n- [lazydocker](https://github.com/jesseduffield/lazydocker)\n- [lazygit](https://github.com/jesseduffield/lazygit)\n- [Ledger](http://ledger-cli.org)\n- [lf](https://github.com/gokcehan/lf)\n- [LibreOffice](https://www.libreoffice.org/)\n- [Liftoff](https://github.com/thoughtbot/liftoff)\n- [Light Table](http://lighttable.com/)\n- [LimeChat](http://limechat.net/mac/)\n- [Liquid Prompt](https://github.com/nojhan/liquidprompt)\n- [LittleSnitch](http://www.obdev.at/products/littlesnitch/)\n- [Livestreamer](http://livestreamer.tanuki.se/)\n- [Logitech Options](https://www.logitech.com/en-us/product/options)\n- [Logseq](https://logseq.com/)\n- [Lollypop](https://gnumdk.github.io/lollypop-web/)\n- [Loopback](https://rogueamoeba.com/loopback/)\n- [Luftrausers](http://luftrausers.com)\n- [LunarVim](https://www.lunarvim.org/)\n- [MacDive](http://www.mac-dive.com/)\n- [MacDown](http://macdown.uranusjr.com/)\n- [MacOSX](http://www.apple.com/osx/)\n- [MacVim](https://github.com/macvim-dev/macvim)\n- [Magic Launch](https://www.oneperiodic.com/products/magiclaunch/)\n- [MagicPrefs](http://magicprefs.com/)\n- [Magnet](https://magnet.crowdcafe.com/)\n- [Maid](https://github.com/benjaminoakes/maid/)\n- [Mail](https://support.apple.com/guide/mail/welcome/mac)\n- [Mailmate](http://freron.com/)\n- [Mailplane](http://mailplaneapp.com/)\n- [mako](https://wayland.emersion.fr/mako/)\n- [Marked 2](http://marked2app.com)\n- [Marta](https://marta.yanex.org/)\n- [MATLAB](http://www.mathworks.com/products/matlab/)\n- [Maven](http://maven.apache.org)\n- [Max](http://sbooth.org/Max/)\n- [Mendeley Desktop](https://www.mendeley.com)\n- [MenuMeters](http://www.ragingmenace.com/software/menumeters/)\n- [Mercurial](https://www.mercurial-scm.org/)\n- [MercuryMover](http://www.heliumfoot.com/mercurymover/)\n- [Messages](http://www.apple.com/osx/apps/#messages)\n- [Micro](https://github.com/zyedidia/micro)\n- [Microsoft Azure CLI](https://github.com/Azure/azure-xplat-cli)\n- [Microsoft Remote Desktop](https://itunes.apple.com/us/app/microsoft-remote-desktop-10/id1295203466)\n- [mitmproxy](https://mitmproxy.org/)\n- [mkcert](https://github.com/FiloSottile/mkcert)\n- [MonoDevelop](http://www.monodevelop.com)\n- [Moom](http://manytricks.com/moom/)\n- [Mosaic](https://lightpillar.com/mosaic.html)\n- [Mou](http://25.io/mou/)\n- [mpd](http://www.musicpd.org)\n- [MPlayerX](http://mplayerx.org)\n- [MPS Youtube](https://github.com/mps-youtube/mps-youtube)\n- [MPV](https://mpv.io/)\n- [MTMR](https://github.com/Toxblh/MTMR)\n- [Multitouch](https://multitouch.app/)\n- [Mumu](https://getmumu.com)\n- [MusicBrainz Picard](https://picard.musicbrainz.org/)\n- [MuteSpotifyAds](https://github.com/simonmeusel/MuteSpotifyAds)\n- [mycli](https://www.mycli.net/)\n- [myrepos](https://github.com/joeyh/myrepos)\n- [MySQL Workbench](https://www.mysql.com/products/workbench/)\n- [MySQL](http://www.mysql.com/)\n- [Name Mangler](http://manytricks.com/namemangler/)\n- [Nano](http://www.nano-editor.org/)\n- [Navicat](http://navicat.com/)\n- [ncmpcpp](http://rybczak.net/ncmpcpp/)\n- [Neofetch](https://github.com/dylanaraps/neofetch)\n- [neovim](https://github.com/neovim/neovim)\n- [Nethack](http://www.nethack.org)\n- [Netlify](https://www.netlify.com/)\n- [newsbeuter](http://newsbeuter.org/)\n- [ngrok](https://ngrok.com/)\n- [ni](https://github.com/antfu/ni/)\n- [Nomacs](http://nomacs.org/)\n- [NoSQLBooster for MongoDB](https://www.nosqlbooster.com/)\n- [notion-enhancer](https://notion-enhancer.github.io/)\n- [Nova](https://www.nova.app/)\n- [npm](https://www.npmjs.com/)\n- [npmrc](https://github.com/deoxxa/npmrc/)\n- [NSLogger](https://github.com/fpillet/NSLogger)\n- [nuget](https://www.nuget.org/)\n- [Nushell](https://www.nushell.sh/)\n- [nvALT](http://brettterpstra.com/projects/nvalt/)\n- [nvm](https://github.com/nvm-sh/nvm)\n- [nvpy](https://github.com/cpbotha/nvpy)\n- [OBS](https://obsproject.com)\n- [Oh My Fish](https://github.com/bpinto/oh-my-fish)\n- [Oh My Tmux](https://github.com/gpakosz/.tmux)\n- [OmniFocus](https://www.omnigroup.com/omnifocus/)\n- [OmniGraffle](https://www.omnigroup.com/omnigraffle/)\n- [Openbox](http://openbox.org)\n- [OpenEmu](http://openemu.org)\n- [OpenSSH](http://www.openssh.com/)\n- [Oracle Cloud Infrastructure CLI](https://docs.oracle.com/en-us/iaas/Content/API/Concepts/cliconcepts.htm)\n- [Paintbrush](http://paintbrush.sourceforge.net/)\n- [Pandoc](http://pandoc.org)\n- [Pass](http://www.passwordstore.org/)\n- [Pastebot](http://tapbots.com/software/pastebot/)\n- [Path Finder](http://www.cocoatech.com/pathfinder/)\n- [PDFjam](https://warwick.ac.uk/fac/sci/statistics/staff/academic-research/firth/software/pdfjam/)\n- [Pear](http://pear.php.net/)\n- [Pentadactyl](http://5digits.org/pentadactyl/)\n- [Perl](https://www.perl.org/)\n- [Phoenix](https://github.com/kasper/phoenix)\n- [PhoneView](https://www.ecamm.com/mac/phoneview/)\n- [PhpStorm](http://www.jetbrains.com/phpstorm/)\n- [PicGo](https://github.com/Molunerfinn/PicGo)\n- [Pidgin](https://www.pidgin.im)\n- [PIP](http://www.pip-installer.org/)\n- [PixelSnap](https://getpixelsnap.com/)\n- [PixelSnap 2](https://getpixelsnap.com/)\n- [Planner](https://useplanner.com/)\n- [Pnpm](https://pnpm.js.org/)\n- [Pock](https://pock.pigigaldi.com)\n- [Poedit](http://poedit.net/)\n- [Poetry](https://python-poetry.org)\n- [PokerStars](https://www.pokerstars.com/)\n- [Polybar](https://polybar.github.io/)\n- [PopClip](http://pilotmoon.com/popclip/)\n- [Popcorn-Time](https://popcorntime.io/)\n- [PostgreSQL](http://www.postgresql.org/)\n- [Postico](https://eggerapps.at/postico/)\n- [Pow](http://pow.cx/)\n- [Powerlevel10k](https://github.com/romkatv/powerlevel10k)\n- [Powerline](https://github.com/powerline/powerline)\n- [Powerline-shell](https://github.com/b-ryan/powerline-shell)\n- [Prezto](https://github.com/sorin-ionescu/prezto)\n- [Processing](https://processing.org/)\n- [Proselint](https://github.com/amperser/proselint)\n- [ProxyChains NG](http://sourceforge.net/projects/proxychains-ng/)\n- [ProxyChains](http://proxychains.sourceforge.net)\n- [Proxyman](https://proxyman.io)\n- [PrusaSlicer](https://www.prusa3d.com/prusaslicer/)\n- [PsySH](https://psysh.org/)\n- [Punto Switcher](https://punto.yandex.ru/)\n- [PyCharm](https://www.jetbrains.com/pycharm/)\n- [PyPI](https://pypi.python.org/pypi)\n- [PyRadio](http://www.coderholic.com/pyradio/)\n- [Querious](http://www.araelium.com/querious/)\n- [Quicksilver](http://qsapp.com/)\n- [Quitter](https://marco.org/apps)\n- [Qutebrowser](http://qutebrowser.org/)\n- [Qv2ray](https://qv2ray.net/)\n- [R](http://www.r-project.org/)\n- [Rails](http://rubyonrails.org/)\n- [Ranger](https://ranger.github.io/)\n- [Rbenv](https://www.github.com/rbenv/rbenv)\n- [Rclone](https://rclone.org/)\n- [Rectangle](https://rectangleapp.com/)\n- [Redshift Scheduler](https://github.com/spantaleev/redshift-scheduler)\n- [Redshift](http://jonls.dk/redshift/)\n- [Remote Desktop Manager](https://remotedesktopmanager.com/)\n- [Rhythmbox](https://wiki.gnome.org/Apps/Rhythmbox)\n- [Rime](http://rime.im/)\n- [ripgrep](https://github.com/BurntSushi/ripgrep)\n- [Robo 3T](http://robomongo.org/)\n- [Rocket](https://matthewpalmer.net/rocket/)\n- [Rofi](https://github.com/DaveDavenport/rofi)\n- [Royal TSX](http://www.royaltsx.com/ts/osx/features)\n- [RStudio](https://www.rstudio.com/)\n- [rTorrent](http://libtorrent.rakshasa.no/)\n- [rtx](https://github.com/jdx/rtx)\n- [rubiTrack 5](https://www.rubitrack.com)\n- [Rubocop](https://github.com/bbatsov/rubocop)\n- [Ruby Version Manager](https://rvm.io/)\n- [Ruby Version](https://gist.github.com/fnichol/1912050)\n- [Ruby](https://www.ruby-lang.org/)\n- [RubyMine](http://www.jetbrains.com/ruby/)\n- [Rust](https://www.rust-lang.org/)\n- [S3cmd](http://s3tools.org/s3cmd)\n- [SABnzbd](http://sabnzbd.org/)\n- [SBCL](http://www.sbcl.org/)\n- [SBT](http://www.scala-sbt.org/)\n- [Scenario](http://www.lagentesoft.com/scenario/)\n- [Screen](http://www.gnu.org/software/screen/)\n- [Screenhero](https://screenhero.com)\n- [Scrivener](http://www.literatureandlatte.com/scrivener.php)\n- [Scroll Reverser](https://pilotmoon.com/scrollreverser/)\n- [SecureCRT](https://www.vandyke.com/products/securecrt/)\n- [Secure Pipes](http://www.opoet.com/)\n- [Seil](https://pqrs.org/osx/karabiner/seil.html.en)\n- [SelfControl](http://selfcontrolapp.com/)\n- [Sequel Pro](http://www.sequelpro.com/)\n- [ShiftIt](https://github.com/fikovnik/ShiftIt)\n- [Shifty](https://shifty.natethompson.io/)\n- [Shimo](https://www.feingeist.io/shimo/)\n- [ShowyEdge](https://pqrs.org/osx/ShowyEdge/index.html.en)\n- [SHSH Blobs](https://en.wikipedia.org/wiki/SHSH_blob)\n- [Shuttle](http://fitztrev.github.io/shuttle/)\n- [SizeUp](http://www.irradiatedsoftware.com/sizeup/)\n- [Sizzy](https://sizzy.co/)\n- [SketchyBar](https://felixkratz.github.io/SketchyBar/)\n- [skhd](https://github.com/koekeishiya/skhd/)\n- [Skim](http://skim-app.sourceforge.net/)\n- [Skitch](https://evernote.com/skitch/)\n- [Slate](https://github.com/jigish/slate)\n- [Slic3r](http://slic3r.org)\n- [Slogger](http://brettterpstra.com/projects/slogger/)\n- [SmartGit](http://www.syntevo.com/smartgit/)\n- [Smooth Mouse](http://smoothmouse.com/)\n- [Soulver](http://www.acqualia.com/soulver/)\n- [SourceTree](https://www.sourcetreeapp.com/)\n- [SpaceLauncher](https://spacelauncherapp.com)\n- [Spacemacs](https://github.com/syl20bnr/spacemacs)\n- [SpaceVim](https://github.com/SpaceVim/SpaceVim)\n- [SpamSieve](https://c-command.com/spamsieve)\n- [Spark](http://www.shadowlab.org/softwares/spark.php)\n- [Spectacle](https://www.spectacleapp.com/)\n- [Spectrwm](https://github.com/conformal/spectrwm/wiki)\n- [Splice](https://splice.com/)\n- [Spotify Notifications](http://spotify-notifications.citruspi.io/)\n- [Spotify](https://www.spotify.com/)\n- [Sqitch](https://sqitch.org/)\n- [Starship](https://starship.rs/)\n- [Startupizer2](http://appledoc.gentlebytes.com/startupizer/)\n- [Stata](http://www.stata.com/)\n- [Stats](https://github.com/exelban/stats)\n- [Stay](https://cordlessdog.com/stay/)\n- [Storyist](http://storyist.com/)\n- [Subler](https://subler.org)\n- [Sublime Merge](https://www.sublimemerge.com/)\n- [Sublime Text](http://www.sublimetext.com/)\n- [Subversion](http://subversion.apache.org/)\n- [SuperDuper!](http://www.shirt-pocket.com/SuperDuper/SuperDuperDescription.html)\n- [Surge](http://surge.run/manual/)\n- [Sway](https://swaywm.org/)\n- [Swinsian](http://swinsian.com/)\n- [Swish](https://highlyopinionated.co/swish/)\n- [SwitchHosts](https://github.com/oldj/SwitchHosts)\n- [T](http://sferik.github.io/t/)\n- [TablePlus](https://tableplus.io)\n- [TaskPaper](https://www.taskpaper.com)\n- [Taskwarrior](http://taskwarrior.org/)\n- [Teamocil](https://github.com/remi/teamocil)\n- [Telegram for macOS](https://macos.telegram.org)\n- [Terminal](http://www.apple.com/osx/apps/)\n- [Terminator](https://launchpad.net/terminator/)\n- [termite](https://github.com/thestinger/termite)\n- [Termux](https://termux.dev/)\n- [TextExpander](https://smilesoftware.com/textexpander)\n- [TextMate](http://macromates.com/)\n- [Textual](http://www.codeux.com/textual/)\n- [Tig](https://github.com/jonas/tig)\n- [Tiles](https://www.sempliva.com/tiles/)\n- [Tilix](https://github.com/gnunn1/tilix)\n- [Timeout](https://www.dejal.com/timeout/)\n- [tint2](https://code.google.com/p/tint2/)\n- [TinyFugue](http://tinyfugue.sourceforge.net)\n- [Tmux](http://tmux.sourceforge.net/)\n- [Tmuxp](https://github.com/tony/tmuxp)\n- [Tmuxinator](https://github.com/tmuxinator/tmuxinator)\n- [Todo.txt CLI](http://todotxt.com/)\n- [ToothFairy](https://c-command.com/toothfairy/)\n- [TotalSpaces2](http://totalspaces.binaryage.com/)\n- [Tower](http://www.git-tower.com/)\n- [Transmission](http://www.transmissionbt.com/)\n- [Transmit](http://panic.com/transmit/)\n- [TripMode](https://www.tripmode.ch)\n- [Trizen](https://github.com/trizen/trizen)\n- [Tunnelblick](https://tunnelblick.net)\n- [tvnamer](https://github.com/dbr/tvnamer)\n- [Twitterrific](http://twitterrific.com/)\n- [Typinator](http://www.ergonis.com/products/typinator/)\n- [Typora](https://typora.io)\n- [uTorrent](http://www.utorrent.com/)\n- [ulauncher](https://ulauncher.io/)\n- [Ventrilo](http://www.ventrilo.com/)\n- [Verdaccio](https://verdaccio.org/)\n- [Versions](http://www.versionsapp.com)\n- [Vim](http://www.vim.org/)\n- [Vimperator](http://www.vimperator.org/vimperator)\n- [Viscosity](http://www.sparklabs.com/viscosity/)\n- [Visual Studio Code](https://code.visualstudio.com/)\n- [Visual Studio Code - Insiders](https://code.visualstudio.com/insiders)\n- [Visual Studio Code - OSS](https://github.com/Microsoft/vscode)\n- [VSCodium](https://vscodium.com/)\n- [Visual Studio for Mac](https://www.visualstudio.com/vs/visual-studio-mac/)\n- [VLC](http://www.videolan.org/)\n- [Volt](https://github.com/vim-volt/volt)\n- [Wakatime](https://wakatime.com/)\n- [Warp](https://www.warp.dev)\n- [waybar](https://github.com/Alexays/Waybar)\n- [WebStorm](https://www.jetbrains.com/webstorm/)\n- [WezTerm](https://wezfurlong.org/wezterm/)\n- [Wget](https://www.gnu.org/software/wget/)\n- [WhatsApp Web](https://web.whatsapp.com/)\n- [Windsurf](https://www.codeium.com)\n- [Wireshark 2](https://www.wireshark.org)\n- [Witch](http://manytricks.com/witch/)\n- [WordGrinder](https://cowlark.com/wordgrinder/)\n- [WordPress WP-CLI](http://wp-cli.org/)\n- [Workrave](http://www.workrave.org/)\n- [X11](http://www.x.org/)\n- [Xee](https://theunarchiver.com/xee)\n- [Xamarin Studio](https://xamarin.com/studio)\n- [xbar](https://xbarapp.com/)\n- [XBindKeys](http://www.nongnu.org/xbindkeys/)\n- [Xchat](http://xchat.org/)\n- [Xcode](https://developer.apple.com/xcode/)\n- [XEmacs](http://www.xemacs.org/)\n- [XLD](http://tmkk.undo.jp/xld/)\n- [Xonsh](https://xon.sh)\n- [XtraFinder](http://www.trankynam.com/xtrafinder/)\n- [yabai](https://github.com/koekeishiya/yabai)\n- [yarn](https://yarnpkg.com)\n- [yazi](https://github.com/sxyazi/yazi)\n- [Yummy FTP](http://www.yummysoftware.com/)\n- [zabbix-cli](https://github.com/usit-gd/zabbix-cli)\n- [zathura](https://pwmt.org/projects/zathura/)\n- [zed](https://zed.dev/)\n- [Zoom](http://zoom.com/)\n- [zoxide](https://github.com/ajeetdsouza/zoxide)\n- [Zsh](http://zsh.sourceforge.net/)\n- [Übersicht](http://tracesof.net/uebersicht/)\n\n## Can you support application X\n\nWe can [with your help](doc#get-official-support-for-an-application) ;)\n\n## Personalization \u0026 configuration\n\nHave an application that shouldn't be generally supported but that you use?\nOr a cool file you want to sync?\n\n- Create a `~/.mackup` directory to [sync an application or any file or directory](doc#add-support-for-an-application-or-any-file-or-directory)\n\n## Why did you do this\n\nYesterday, I had a talk with [Zach Zaro](http://zacharyzaro.com/), complaining\nabout the pain it is to reconfigure our Macbook each time we get a new one or\ninstall from scratch. That's a talk we have already had months ago.\n\nI change my workstation every X months. Each time I either lose my apps'\nconfigurations, or I just waste a bunch of hours getting setup like I was on my\nold box. I also spend a lot of time reconfiguring the same stuff again on all my\nworkstations (home, work).\n\nBoring...\n\nSome people tried to solve the problem on the application layer, like [Github's Boxen](https://boxen.github.com/),\nbut it solves a different problem, from my point of view. I don't spend a lot\nof time installing or downloading stuff. I spend time configuring it.\n\nFor years, I've used a personal shell script that was copying known config\nfiles into Subversion, Git or Dropbox, and linked them into my home. But I felt\na lot of us had the same problem: Making a more generic tool could help others\nand I could get help from others to support more apps in the tool.\n\nSo here comes Mackup, the little tool that will sync all your application\nconfigs to Dropbox (or Google Drive, or anything).\n\nAnd it's [GPL](http://www.gnu.org/licenses/gpl.html), of course.\n\n## What platforms are supported\n\n- macOS\n- GNU/Linux\n\n## What's up with the weird name\n\nMackup is just a portmanteau of Mac and Backup. It is simple, short, and easy to\nremember, and it corresponds with the whole idea of Mackup: the simpler – the better!\n(And I suck at naming stuff, but who doesn't.)\n\n## Where can I find more information\n\nIn the [doc](doc) directory.\n","funding_links":["https://tippin.me/@_LR_"],"categories":["Python","\u003ca id=\"tag-productivity\" href=\"#tag-productivity\"\u003eProductivity\u003c/a\u003e","others","Applications","Uncategorized","HarmonyOS","Productivity Tools","Backup","Sync-Tools","Linux生态圈用户工具","\u003ca name=\"system\"\u003e\u003c/a\u003eSystem tools","Other","Tools","Terminal"],"sub_categories":["Backup","Uncategorized","Windows Manager","Media Servers","💾 Backup (5)","Utilities","Ansible"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flra%2Fmackup","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flra%2Fmackup","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flra%2Fmackup/lists"}