Keep your application settings in sync (OS X/Linux)

Related tags

Networkingmackup
Overview

Mackup

Keep your application settings in sync.

Status snapcraft

Table of content

Quickstart

If you have Dropbox installed and want to use it to save your config files, that's super easy.

On macOS, if you want an easy install, you can install Homebrew and do:

# Install Mackup
brew install mackup

# Launch it and back up your files
mackup backup

If not running macOS, or you don't like Homebrew, you can use pip.

Note: The below command will check if a previous version of Mackup is already installed on your system. If this is the case, it will be upgraded to the latest version.

# Install Mackup with PIP
pip install --upgrade mackup

# Launch it and back up your files
mackup backup

On Ubuntu, pip will install to the current user's home directory rather than system-wide. Because of this, when installing pip on Ubuntu you will need to run pip install with the --system flag as well (on other platforms this is not needed)

You're all set and constantly backed up from now on.

Next, on any new workstation, do:

# Install Mackup
brew install mackup

# Launch it and restore your files
mackup restore

Done!

You can find more detailed instructions in INSTALL.md.

Usage

mackup backup

Backup your application settings.

mackup restore

Restore your application settings on a newly installed workstation.

mackup uninstall

Copy back any synced config file to its original place.

mackup list

Display the list of applications supported by Mackup.

mackup -h

Get some help, obviously...

What does it do

  • Back ups your application settings in a safe directory (e.g. Dropbox)
  • Syncs your application settings among all your workstations
  • Restores your configuration on any fresh install in one command line

By only tracking pure configuration files, it keeps the crap out of your freshly new installed workstation (no cache, temporary and locally specific files are transfered).

Mackup makes setting up the environment easy and simple, saving time for your family, great ideas, and all the cool stuff you like.

Bullsh*t, what does it really do to my files

Let's take git as an example. Your settings for git are saved in your home folder, in the .gitconfig file.

Backup

If you have Dropbox, these things happen when you launch mackup backup:

  1. cp ~/.gitconfig ~/Dropbox/Mackup/.gitconfig
  2. rm ~/.gitconfig
  3. ln -s ~/Dropbox/Mackup/.gitconfig ~/.gitconfig

Now your git config is always backed up and up to date on all your workstations.

Restore

When you launch mackup restore, here's what it's really doing:

  1. ln -s ~/Dropbox/Mackup/.gitconfig ~/.gitconfig

That's it, you got your git config setup on your new workstation.

mackup does the same for any supported application.

Uninstall

You can revert all your files to their original state.

# Just run this
mackup uninstall

This will remove the symlinks and copy back the files from the Mackup folder in Dropbox to their original places in your home. The Mackup folder and the files in it stay put, so that any other computer also running Mackup is unaffected.

Supported Storages

See the README file in the doc directory for more info.

Unsupported Storages

Supported Applications

Can you support application X

We can with your help ;)

Personalization & configuration

Have an application that shouldn't be generally supported but that you use? Or a cool file you want to sync?

Why did you do this

Yesterday, I had a talk with Zach Zaro, complaining about the pain it is to reconfigure our Macbook each time we get a new one or install from scratch. That's a talk we have already had months ago.

I change my workstation every X months. Each time I either lose my apps' configurations, or I just waste a bunch of hours getting setup like I was on my old box. I also spend a lot of time reconfiguring the same stuff again on all my workstations (home, work).

Boring...

Some people tried to solve the problem on the application layer, like Github's Boxen, but it solves a different problem, from my point of view. I don't spend a lot of time installing or downloading stuff. I spend time configuring it.

For years, I've used a personal shell script that was copying known config files into Subversion, Git or Dropbox, and linked them into my home. But I felt a lot of us had the same problem: Making a more generic tool could help others and I could get help from others to support more apps in the tool.

So here comes Mackup, the little tool that will sync all your application configs to Dropbox (or Google Drive, or anything).

And it's GPL, of course.

What platforms are supported

  • macOS
  • GNU/Linux

What's up with the weird name

Mackup is just a portmanteau of Mac and Backup. It is simple, short, and easy to remember, and it corresponds with the whole idea of Mackup: the simpler – the better! (And I suck at naming stuff, but who doesn't.)

Where can I find more information

In the doc directory.

Comments
  • Crash while backing up Atom

    Crash while backing up Atom

    Got this when trying to backup my .atom folder :

    Traceback (most recent call last):
      File "/usr/local/bin/mackup", line 26, in <module>
        mackup.main.main()
      File "/usr/local/Cellar/mackup/0.7.2/lib/python2.7/site-packages/mackup/main.py", line 48, in main
        app.backup()
      File "/usr/local/Cellar/mackup/0.7.2/lib/python2.7/site-packages/mackup/application.py", line 83, in backup
        utils.copy(filepath, mackup_filepath)
      File "/usr/local/Cellar/mackup/0.7.2/lib/python2.7/site-packages/mackup/utils.py", line 91, in copy
        shutil.copytree(src, dst)
      File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 208, in copytree
        raise Error, errors
    shutil.Error: [('/Users/anahkiasen/.atom/packages/emmet/node_modules/.bin/csonc', '/Users/anahkiasen/Dropbox/Mackup/.atom/packages/emmet/node_modules/.bin/csonc', "[Errno 2] No such file or directory: '/Users/anahkiasen/.atom/packages/emmet/node_modules/.bin/csonc'"), ('/Users/anahkiasen/.atom/packages/emmet/node_modules/season/node_modules/.bin/cake', '/Users/anahkiasen/Dropbox/Mackup/.atom/packages/emmet/node_modules/season/node_modules/.bin/cake', "[Errno 2] No such file or directory: '/Users/anahkiasen/.atom/packages/emmet/node_modules/season/node_modules/.bin/cake'"), ('/Users/anahkiasen/.atom/packages/emmet/node_modules/season/node_modules/.bin/coffee', '/Users/anahkiasen/Dropbox/Mackup/.atom/packages/emmet/node_modules/season/node_modules/.bin/coffee', "[Errno 2] No such file or directory: '/Users/anahkiasen/.atom/packages/emmet/node_modules/season/node_modules/.bin/coffee'"), ('/Users/anahkiasen/.atom/packages/emmet/node_modules/season/node_modules/fs-plus/node_modules/.bin/rimraf', '/Users/anahkiasen/Dropbox/Mackup/.atom/packages/emmet/node_modules/season/node_modules/fs-plus/node_modules/.bin/rimraf', "[Errno 2] No such file or directory: '/Users/anahkiasen/.atom/packages/emmet/node_modules/season/node_modules/fs-plus/node_modules/.bin/rimraf'"), ('/Users/anahkiasen/.atom/packages/travis-ci-status/node_modules/.bin/travis-ci', '/Users/anahkiasen/Dropbox/Mackup/.atom/packages/travis-ci-status/node_modules/.bin/travis-ci', "[Errno 2] No such file or directory: '/Users/anahkiasen/.atom/packages/travis-ci-status/node_modules/.bin/travis-ci'")]
    
    opened by Anahkiasen 29
  • Configuration Generation

    Configuration Generation

    If ~/.mackup.cfg does not exist, Mackup asks the user if he wants to make one. It then prompts them to answer some questions so that it can be generated. Also generates custom apps in the ~/.mackup folder if the user wants to.

    User Action Needed 
    opened by Timidger 29
  • Mavericks caching issue renders mackup useless and harmful with some apps

    Mavericks caching issue renders mackup useless and harmful with some apps

    Mavericks uses cfprefsd deamon to cache app settings. This caused mackup not to work for many apps (for example Forklift, F.lux) and even worse, to delete settings.

    http://www.macinside.info/process.php?id=6616

    Steps to reproduce:

    1. Login in both computers
    2. Open Forklift (for example, can be any app with a plist file in ~/Library/Preferences/) in both computers.
    3. Quit Forklift in both computers.
    4. On computer #1, change a setting for the app, close the app, and wait for dropbox to sync the file to the second computer.
    5. On computer #2, open forklift. You will notice the app doesn't reflect your change.
    6. Close the app. The plist file will get overwritten with the settings that are on computer #2, therefore deleting the setting you've set on step 3.

    I've tried disabling the cfprefsd service, however, this prevents the mac from loading any plist file.

    opened by inonprince 25
  • Support Mac App Store apps

    Support Mac App Store apps

    Mac App Store apps keep files inside ~/Library/Containers/. These cannot be replaced with soft links (ln -s), but do work with hard links (ln) and OS X aliases. Since hard links cannot be used on directories, this would work for many apps, but not all.

    My suggestion would be to add CONTAINERS = 'Library/Containers/' to # Commonly used paths #, and then when mackup encounters an app that references something that starts with CONTAINERS, use the applescript way; else, make a symbolic link as always.

    opened by vitorgalvao 25
  • Copying settings, as opposed to linking?

    Copying settings, as opposed to linking?

    I’ve been thinking about this option lately. I’ve personally had my fair share of issues caused by the way mackup works by default (making links to a dropbox directory), whether by having more than one computer logged on at the same time, changes to mackup itself, or some other reason. I’ve also seen some other open issues with problems that would not occur would it not be for settings being symlinked, as opposed to copied over.

    How many times do users change app settings, really? Wouldn’t the extra (small) trouble of running a command when updating settings be a more than acceptable price to pay for improved stability? It would also provide some features for free, like support for MAS apps.

    Now, I certainly understand that would be a big change to this tool (that a lot of people use), so I’m looking for your input on this, @lra, is this something you’d be willing to consider?

    opened by vitorgalvao 22
  • Mackup breaks oh-my-zsh upgrade

    Mackup breaks oh-my-zsh upgrade

    I'm using the iCould engine, no other configuration.

    After running mackup backup -f, the ~/.oh-my-zsh is left in a dirty state, which breaks upgrade_oh_my_zsh.

    ➜  .oh-my-zsh git:(master) ✗ git status
    On branch master
    Your branch is up to date with 'origin/master'.
    
    Changes not staged for commit:
      (use "git add/rm <file>..." to update what will be committed)
      (use "git checkout -- <file>..." to discard changes in working directory)
    
    	deleted:    custom/example.zsh
    	deleted:    custom/plugins/example/example.plugin.zsh
    	deleted:    custom/themes/example.zsh-theme
    
    Untracked files:
      (use "git add <file>..." to include in what will be committed)
    
    	custom
    
    no changes added to commit (use "git add" and/or "git commit -a")
    
    ➜  ~ upgrade_oh_my_zsh
    Updating Oh My Zsh
    error: cannot pull with rebase: You have unstaged changes.
    error: please commit or stash them.
    There was an error updating. Try again later?
    
    opened by ileitch 18
  • Does Mackup still sync SSH keys by default?

    Does Mackup still sync SSH keys by default?

    Today I was using Mackup and I noticed this in the help documentation:

    By default, Mackup syncs all application data (including private keys!) via Dropbox, but may be configured to exclude applications or use a different backend with a .mackup.cfg file.

    I really like Mackup—it saves a ton of time when setting up a new computer. However, the idea of automatically syncing SSH keys by default really scares me. A few years ago I accidentally exposed an SSH key and someone used it to charge a few thousand dollars to AWS for my company. I'd really like to avoid doing anything like this again in the future.

    In reading through #512 and #109, it looks like this behavior was turned off. However, the help documentation doesn't seem to indicate that. So which one is correct? I feel strongly that synching private keys by default is not obvious behavior, and it has the potential to have some serious consequences.

    Also, will Mackup sync other types of sensitive information in the future? What scares me most about this is not necessarily what Mackup is syncing today, but what it might add in the future that I don't notice.

    Thanks!

    opened by LandonSchropp 18
  • No such file .mackup.cfg and KeyError: 'mackup'

    No such file .mackup.cfg and KeyError: 'mackup'

    I have backup on Dropbox one day ago, and config with ~/.mackup.cfg but today use mackup restore and get error on new mac.

    error message:

    $ mackup restore
    Traceback (most recent call last):
      File "/usr/local/Cellar/mackup/0.8.1/libexec/bin/mackup", line 9, in <module>
        load_entry_point('mackup==0.8.1', 'console_scripts', 'mackup')()
      File "/usr/local/Cellar/mackup/0.8.1/libexec/lib/python2.7/site-packages/mackup/main.py", line 59, in main
        mackup_app.restore()
      File "/usr/local/Cellar/mackup/0.8.1/libexec/lib/python2.7/site-packages/mackup/application.py", line 122, in restore
        home_filepath))
      File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/posixpath.py", line 162, in samefile
        s1 = os.stat(f1)
    OSError: [Errno 2] No such file or directory: '/Users/amowu/Dropbox/Mackup/.mackup.cfg'
    

    why the .mackup.cfg change to Dropbox folder?

    thanks.

    opened by amowu 18
  • Refine ssh config: no need to backup keys

    Refine ssh config: no need to backup keys

    It is safer to prevent any the credential keys shared or backed up. Normally if computer changed, the user should generate new keys instead of reusing existing ones.

    opened by nkcfan 14
  • Immediate failure upon invocation (on OSX Mavericks 10, installed with homebrew)

    Immediate failure upon invocation (on OSX Mavericks 10, installed with homebrew)

    After upgrading mackup to 0.7.4 via homebrew, it became impossible to use the executable as it immediately coughed and died.

    The cough:

    $ mackup
    Traceback (most recent call last):
      File "/usr/local/bin/mackup", line 5, in <module>
        from pkg_resources import load_entry_point
      File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources.py", line 2603, in <module>
        working_set.require(__requires__)
      File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources.py", line 666, in require
        needed = self.resolve(parse_requirements(requirements))
      File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources.py", line 565, in resolve
        raise DistributionNotFound(req)  # XXX put more info here
    pkg_resources.DistributionNotFound: mackup==0.7.4
    

    About my current setup:

    $ uname -a
    Darwin Concurrent-Chickpea.local 13.4.0 Darwin Kernel Version 13.4.0: Sun Aug 17 19:50:11 PDT 2014; root:xnu-2422.115.4~1/RELEASE_X86_64 x86_64
    
    $ brew --version
    0.9.5
    

    If I can provide any additional info, please let me know.

    Thanks!

    • Jonathan
    opened by yonkeltron 13
  • Error backing up SourceTree

    Error backing up SourceTree

    Backing up Library/Application Support/SourceTree/sourcetree.license...
    Traceback (most recent call last):
      File "./mackup.py", line 731, in <module>
        main()
      File "./mackup.py", line 684, in main
        app.backup()
      File "./mackup.py", line 310, in backup
        delete(filepath)
      File "./mackup.py", line 490, in delete
        os.remove(filepath)
    OSError: [Errno 1] Operation not permitted: '/Users/dbingham/Library/Application Support/SourceTree/sourcetree.license'
    
    opened by dbingham 13
  • Add support for Termux, Rust, update Bat config

    Add support for Termux, Rust, update Bat config

    All submissions

    Adding/updating Application X Support

    • [ ] This PR is only for one application
    • [x] It has been added to the list of supported applications in the README
    • [x] Changes have been added to the WIP section of the CHANGELOG
    • [x] Syncing does not break the application
    • [x] Syncing does not compete with any syncing functionality internal to the application
    • [x] The configuration syncs the minimal set of data
    • [x] No file specific to the local workstation is synced
    • [x] No sensitive data is synced

    Improving the Mackup codebase

    • [x] My submission passes the tests
    • [x] I have linted the code locally prior to submission
    • [ ] I have written new tests as applicable
    • [ ] I have added an explanation of what the changes do
    opened by grigorii-horos 1
  • Bump certifi from 2021.10.8 to 2022.12.7

    Bump certifi from 2021.10.8 to 2022.12.7

    Bumps certifi from 2021.10.8 to 2022.12.7.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • Feature Request: options to sync/desync an application using CLI

    Feature Request: options to sync/desync an application using CLI

    I find it quite indirect when trying to desync a single synced application. I have to manually copy back the file(s) and modify the config. It would be convenient by adding CLI options like mackup sync <application> and mackup desync <application> to automatically get the works done.

    opened by easypickings 1
  • Xcode and new /Library/CloudStorage Dropbox folder

    Xcode and new /Library/CloudStorage Dropbox folder

    wondering if it's just me. i remember the first time i played with mackup i tried both iCloud and Dropbox and i had issue with iCloud where some plist wouldn't be read or recognized by some apps. switching to Dropbox solved this issue.

    now Dropbox has updated its macOS integration by moving to the /Library/CloudStorage folder. things start breaking again for me. i'm not talking about symlink issues, my symlinks are correctly updated. but for example (at least) Xcode doesn't seem to be able to read/write its general plist from the Dropbox folder. each time i start it, all my settings are back to zero. if i remove the symlink and copy the plist file instead, it works. Xcode reads it and all my settings are back. as soon as i use again a symlink though, it seems Xcode doesn't "get" it.

    so, wondering. is it me? is it the switch to the /Library/CloudStorage from Dropbox? if it's not just me, i guess there's something to be updated on mackup's side, even if it's just the support for Xcode overall, and the xcode.cfg.

    opened by godbout 2
  • MacOS Ventura - Terminal Preferences not saving (and other apps)

    MacOS Ventura - Terminal Preferences not saving (and other apps)

    Hi There

    I use Mackup with dropbox (using CloudStorage) using the workaround suggested in #1858 - I am running on an M1 Pro MBP but i can also observe the same issue on an Intel Mac as well

    this might be happening in more apps, i've noticed a few apps (Apple native and non Apple)

    I prefer to use a different Shell profile and fonts etc, wierd that after upgrade (reinstall and restore mackup) - my terminal preferences were back at default

    attempted to manually change the preferences in terminal, when i quit it and restarted it, it was back to default.

    deleted the Symlink to terminal preferences -

    rm ~/Library/Preferences/com.apple.Terminal.plist

    restarted terminal, reset settings, restarted terminal and the settings are fine

    is there possibly some new permissions/security change that breaks symlinks and therefore mackups functionality on ventura?

    I've observed similar issues in iStat Menus, need to check for other apps specifically

    shell or other command line based utilities appear to be OK, it does appear to be limited to "GUI" apps at a first glance

    opened by anthonysomerset 11
  • misc fixes to dash, raycast, and more

    misc fixes to dash, raycast, and more

    Summary:

    • Adding missing karabiner config
    • Missing Postico data
    • Missing .config folder and app support for raycast
    • Include entire dash app support, includes some seemingly-important library files

    Some of the changes are a bit liberal with including data that could contain sensitive data or state-dependend information. However, I've found this is better than the alternative in my case.

    All submissions

    Adding/updating Application X Support

    • [ ] This PR is only for one application
    • [ ] It has been added to the list of supported applications in the README
    • [ ] Changes have been added to the WIP section of the CHANGELOG
    • [ ] Syncing does not break the application
    • [ ] Syncing does not compete with any syncing functionality internal to the application
    • [ ] The configuration syncs the minimal set of data
    • [ ] No file specific to the local workstation is synced
    • [ ] No sensitive data is synced

    Improving the Mackup codebase

    • [ ] My submission passes the tests
    • [ ] I have linted the code locally prior to submission
    • [ ] I have written new tests as applicable
    • [ ] I have added an explanation of what the changes do
    opened by iloveitaly 0
Releases(0.8.36)
  • 0.8.36(Oct 12, 2022)

    • Added support for LunarVim (via @YiGeon)
    • Added support for Airflow (via @Evertt)
    • Updated support for yabai (via @Liu233w)
    • Updated suport for skhd (via @jonasdiemer)
    • Added support for Sizzy (via @driftingly)
    Source code(tar.gz)
    Source code(zip)
  • 0.8.35(Aug 13, 2022)

    • Updated support for iTerm2 (via @michielgerritsen)
    • Added support for NSLogger (via @lavareX)
    • Added support for Fork (via @lavareX)
    • Updated support for Proxymann Setapp version (via @JanC)
    • Added support for Btop (via @Mersid)
    • Updated support for Nushell (via @maradude)
    • Updated support for CleanShot (via @timfee)
    • Added backwards-compatibility support for Espanso (via @joshmedeski)
    Source code(tar.gz)
    Source code(zip)
  • 0.8.34(Jul 9, 2022)

    • Updated support for Bash it (via @jacopkane)
    • Added support for Remote Desktop Manager (via @jpmat296)
    • Fixed support for asciinema (via @revolter)
    • Added support for Mumu (via @fharper)
    • Updated support for fasd (via @doubleloop)
    • Updated support for lazygit (via @joshmedeski)
    • Added support for Nova (via @guillaumealgis)
    • Added support for Oracle Cloud Infrastructure CLI (via @Djelibeybi)
    • Added support for PicGo (via @SSBun)
    • Added support for Flameshot (via @joshmedeski)
    • Added support for Planner (via @spawnedc)
    • Fixed support for k9s (via @gamussa)
    • Added support for act (via @fharper)
    • Added support for notion-enhancer (via @fharper)
    • Added support for GitFox (via @L3K0V)
    • Updated support for Bartender through SetApp (via @dbhagen)
    • Updated support for Xonsh (via @wy-z)
    • Added support for TablePlus history (via @annuh)
    • Added support for xbar (via @dnicolson)
    • Added support for Beyond Compare (via @mgraham)
    • Added support for kindaVim (via @godbout)
    Source code(tar.gz)
    Source code(zip)
  • 0.8.33(Oct 31, 2021)

    • Added support for Lightroom Classic (via @treee111)
    • Fixed support for Hocus Focus (via @jrolfs)
    • Added support for KeePassXC (via @harens)
    • Fixed support for poetry (via @ameyuuno)
    • Added support for npm package npmrc (via @jdvivar)
    • Added support for rubiTrack 5 (via @otherguy)
    • Updated support for Fisher (via @kidonng)
    • Added support for Qv2ray (via @kidonng)
    • Added support for Neofetch (via @kidonng)
    • Added support for PsySH (via @nesk)
    • Added support for polybar(via @jneo8)
    • Added support for Tiles (via @damianoamatruda)
    • Added support for Flake8 (via @hongqn)
    • Fixed support for HandBrake (via @damianoamatruda)
    • Added support for Loopback (via @damianoamatruda)
    • Added support for IDA Pro (via @damianoamatruda)
    • Added support for MuteSpotifyAds (via @damianoamatruda)
    • Added support for Ghidra (via @damianoamatruda)
    • Added support for Logitech Options (via @damianoamatruda)
    • Added support for OBS (via @damianoamatruda)
    • Update uninstall prompt for accuracy (via @soneji)
    • Added support for Proxyman (via @NghiaTranUIT)
    • Updated support for IntelliJIdea version 2021.1 (via @steffenmalisi)
    • Added support for Sublime Text 4 (via @TCattd)
    • Added support for Contexts (via @antoni-k)
    • Added support for Swish (via @antoni-k)
    • Added support for AltTab (via @aiotter)
    • Added support for Goku (via @thebengeu)
    • Added support for Akamai CLI (via @anirudhbagri)
    • Added support for FastScripts (via @darrenbkl)
    • Added support for Affinity Designer (via @EpicKris)
    • Added support for Affinity Photo (via @EpicKris)
    • Added support for Affinity Publisher (via @EpicKris)
    • Added support for MTMR (via @dec0dOS)
    • Added support for Rocket (via @revolter)
    • Updated support for BetterTouchTool (via @grapswiz)
    • Updated support for k9s (via @dfang)
    • Added support for Mendeley Desktop (via @aiotter)
    • Added support for CleanShot, Mosaic, Eagle and Nuget (via @ye4241)
    Source code(tar.gz)
    Source code(zip)
  • 0.8.32(Jan 4, 2021)

  • 0.8.31(Jan 3, 2021)

  • 0.8.30(Jan 3, 2021)

    • Added support for SpaceVim (via @ionlights)
    • Added support for clashX (via @awkj)
    • Added support for Brave (via @cbenv)
    • Added support for Nushell (via @leesiongchan)
    • Updated support for Clipy (via @jclerc)
    • Added support for aerc (via @Crocmagnon)
    • Added support for espanso (via @maxandersen)
    • Added support for lazygit (via @joshmedeski)
    • Added support for WebStorm versions 2019.4, 2020.2, 2020.3, 2020.4 (via @bdcarr)
    • Added support for draft (via @dfang)
    • Added support for lf (via @joshmedeski)
    • Added support for Beets (via @publicarray)
    • Added support for Krew (via @exherb)
    • Added support for Homebrew (via @exherb)
    • Added support for PyCharm versions 2020.2, 2020.3, 2020.4 (via @ameyuuno)
    • Added support for Netlify (via @pgilad)
    • Added support for K9s (via @tareksamni)
    • Added support for Powerlevel10k (via @tareksamni)
    • Updated support for aria2 (via @hongqn)
    • Update support for IntelliJ (via @scooby)
    • Added support for zoxide (via @kidonng)
    • Added support for Raycast (via @janniks)
    Source code(tar.gz)
    Source code(zip)
  • 0.8.29(Jun 6, 2020)

    • Added support for waybar (via @mk-atlassian)
    • Added support for mako (via @mk-atlassian)
    • Added support for Swaywm (via @mk-atlassian)
    • Added support for termite (via @mk-atlassian)
    • Added support for Calibre (via @ttuygun @bodak)
    • Added support for Poetry (via @ryoppippi)
    • Added support for Music (via @dnicolson)
    • Added support for Kaggle (via @ryoppippi)
    • Added support for SBT 1.0 (via @austek)
    • Added support for FiloSottile/mkcert (via @paxperscientiam)
    • Added support for Finicky (via @ryoppippi)
    • Added support for GoodSync (via @cereallarceny)
    • Added support for mitmproxy (via @etiennelb)
    • Added support for Hocus Focus (via @jrolfs)
    • Added support for TripMode (via @ttuygun)
    • Added support for Starship (via @callummr)
    • Added support for Joplin (via @geekrainy)
    • Added support for iStat Menus 6 and unified config files (via @lumaxis)
    • Added the --root command line option
    • Removed support for Sketch
    • Added support for PyCharm 2020.1 (via @ameyuuno)
    • Added support for Powerline (via @ho-oto)
    • Added support for Yarn (via @dhb52)
    • Add support for Quitter (via @guillaumealgis)
    Source code(tar.gz)
    Source code(zip)
  • 0.8.28(Feb 27, 2020)

    • Added support for Bat (via @joshmedeski)
    • Added support for newer versions of WebStorm
    • Updated support for Marta to capture new config files in 0.6.1 (via @petrbouchal)
    • Added support for Rectangle (via @arvindch)
    • Added support for BitBar (via @dnicolson)
    • Added support for JS Beautifier (via @dnicolson)
    • Added support for ripgrep (via @dnicolson)
    • Added support for Bump (via @dnicolson)
    • Added support for rclone (via @dnicolson)
    • Added support for NoSQLBooster for MongoDB (via @ivan-ha)
    • Updated support for RStudio, config stored in JSON as of v1.3.776 (via @petrbouchal)
    • Vulnerability fix
    • Removed support for Python 3.5
    • Removed support for the Box storage
    • Fix: suppress errors when handling symlinks (via @doubleloop)
    • Migrated all config files to the XDG format
    • Add support for Python 3.8
    Source code(tar.gz)
    Source code(zip)
  • 0.8.27(Aug 25, 2019)

    • Added support for SpaceLauncher (via @joshmedeski)
    • Added support for Dejal Time Out
    • Add support for PhpStorm 2019.2
    • Migrated build system to pipenv
    • Replaced flake8 with black to enforce code formatting
    • Add support for ToothFairy scripts (via @dnicolson)
    • Add support for TablePlus (via @alekseyp)
    • Add support for Startupizer2 (via @narze)
    • Added support for pnpm (@via paxperscientiam)
    • Added partial support for Gimp (via @paxperscientiam)
    Source code(tar.gz)
    Source code(zip)
  • 0.8.26(Jul 28, 2019)

  • 0.8.25(Jul 14, 2019)

    • Added support for mackup show <application> (suggested by @timkelty)
    • Add support for yabai (via @mbdmbd)
    • Improve support for Little Snitch (via @lorenzofanchi)
    • Improve support for Photoshop CC 2019 (via @lorenzofanchi)
    • Add support for ColorSlurp (via @lorenzofanchi)
    • Add support for Secure Pipes (via @lorenzofanchi)
    • Add support for Xee (via @lorenzofanchi)
    • Add support for 2Do (via @lorenzofanchi)
    • Add support for Shifty (via @lorenzofanchi)
    • Add support for Pock (via @lorenzofanchi)
    • Add support for Multitouch (via @lorenzofanchi)
    • Add support for Magnet (via @lorenzofanchi)
    • Added support for git ignore file
    • Added default ignore file for eslint
    • Improve support for Vim, add .vim/spell folder
    • Add support for mycli
    • Add support for PixelSnap 2 (via @dnicolson)
    • Add support for PDFjam (via @paxperscientiam)
    Source code(tar.gz)
    Source code(zip)
  • 0.8.24(May 2, 2019)

  • 0.8.23(Apr 2, 2019)

    • Improve support for Vim, add .vim/after directory
    • Remove problematic com.macromates.textmate.plist file for TextMate (via @egze)
    • Add support for rofi (via @pat-s)
    • Add support for deepin-dde-file-manager (via @sUyMur)
    • Add support for Deepin-dde-dock (via @sUyMur)
    • Add support for deepin-terminal (via @sUyMur)
    • Add support for grsync (via @sUyMur)
    • Add support for ulauncher (via @sUyMur)
    • Add support for Tilix (via @pat-s)
    • Improve support for TextMate (via @egze)
    • Add support for Storyist 3 writing software (via @mutantant)
    • Add support for WordGrinder (via @mutantant)
    • Fix support for Adobe Illustrator CC2019 (v23)
    • remove bundle directory from vim config (via @cocobear)
    • Remove iTunes Scripts (via @dnicolson)
    • Add support for Sublime Merge (via @krupenja)
    • Add support for Marta (via @krupenja)
    • Add support for Goldendict (via @krupenja)
    • Add support for IINA (via @krupenja)
    • Improve support for fish (via @whtsky)
    • Improve support for weget (via @paxperscientiam)
    • Add support for zabbix-cli (via @dzogrim)
    • Add support for ForkLift 3 (via @lukeaskew)
    • Add support for eqMac2 (via @lukeaskew)
    • Add support for Fisher (via @nashirox)
    • Add support for PhpStorm 2018.3 (via @baijunyao)
    • Add support for Focus (via @atipugin)
    • Add support for Choosy (via @markchitty)
    • Update support for Microsoft Remote Desktop 10
    • Add support for PhpStorm 2019.1 (via @baijunyao)
    Source code(tar.gz)
    Source code(zip)
  • 0.8.22(Jan 16, 2019)

    • Add support for DataGrip 2017.3, 2018.1, 2018.2, 2018.3 (via @utegental)
    • Add support for Volt (via @mrymtsk)
    • Add support for alternative config path for Alacritty (via @foray1010)
    • Add support for WebStorm 2018.3 (via @KrzysztofKarol)
    • Removed support for BBEdit
    • Add support for IntelliJIDEA 2018.3 (via @nysos3)
    • Add support for GoLand 2018.3 (via @rayrutjes)
    • Fix an issue for users without a ~/.config/ folder.
    Source code(tar.gz)
    Source code(zip)
  • 0.8.21(Jan 2, 2019)

    • Update support for i3 (@KyleWJohnston)
    • Add support for bc (via @paxperscientiam)
    • Add support for Google clasp (via @paxperscientiam)
    • Add support for hstr (via @paxperscientiam)
    • Add support for b-ryan/powerline-shell (via @paxperscientiam)
    • Add support for kovidgoyal/kitty (via @foray1010)
    • Add support for PhpStorm 2018.2 (via @j13k)
    • Add support for Oh My Tmux (via @solarknight)
    • Fix support for Karabiner Elements (via @mrymtsk)
    • Add support for IntelliJIdea2018.3 (via @utegental)
    Source code(tar.gz)
    Source code(zip)
  • 0.8.20(Oct 16, 2018)

    • Remove support for Z as the link is being overwritten by the application
    • Remove support for Amphetamine as it's containerized
    • Add support for inkscape (via @paxperscientiam)
    • Add default path for XDG_CONFIG_HOME. (via @HlubyLuk)
    • Add tig xdg_configuration_files to config. (via @HlubyLuk)
    • Add support for Visual Studio for Mac (via @ivmirx)
    • Add support for snapcraft (thx @guilhem)
    • Add support for GoLand and renamed Gogland to GoLand (via @rayrutjes)
    • Add support for xonsh (via @kmcm0)
    • Add support for Alacritty
    • Add support for WebStorm 2017.1, 2017.2, 2017.3, 2018.1, 2018.2 (via @KrzysztofKarol)
    Source code(tar.gz)
    Source code(zip)
Owner
Laurent Raufaste
Cloud Plumber
Laurent Raufaste
A simple python script that parses the MSFT Teams log file for the users current Teams status and then outputs the status color to a MQTT connected light.

Description A simple python script that parses the MSFT Teams log file for the users current Teams status and then outputs the status color to a MQTT

Lorentz Factr 8 Dec 16, 2022
A library for interacting with APNs and VoIP using HTTP/2.

kalyke A library for interacting with APNs and VoIP using HTTP/2. Installation kalyke requires python 3.6 or later. $ pip install kalyke-apns Usage AP

Yuya Oka 11 Dec 08, 2022
GitHub action for sspanel automatically checks in to get free traffic quota

SSPanel_Checkin This is a dish chicken script for automatic check-in of sspanel for GitHub action, It is only applicable when there is no verification

FeedCatWithFish 7 Apr 28, 2022
An API for controlling Wi-Fi connections on Balena devices.

Description An API for controlling Wi-Fi connections on Balena devices. It does not contain an interface, instead it provides API endpoints to send re

8 Dec 25, 2022
Lightweight asyncio compatible utilities for consuming broker messages.

A simple asyncio compatible consumer for handling amqp messages.

Mehdi Kamani 3 Apr 10, 2022
DataShare - Simple library for data sharing between scripts and public functions calling

DataShare - Simple library for data sharing between scripts and public functions calling. Installation. Install code, Delete LICENSE, README, readme.t

Ivan Perzhinsky. 1 Dec 17, 2021
Python 3 tool for finding unclaimed groups on Roblox. Supports multi-threading, multi-processing and HTTP proxies.

roblox-group-scanner Python 3 tool for finding unclaimed groups on Roblox. Supports multi-threading, multi-processing and HTTP proxies. Usage usage: s

h0nda 43 May 11, 2022
Network Engineer's Unified Realtime Automation Library

NEURAL is the premiere CLI jockey replacement full stack web/app/database network automation application, providing a "no-code" web app for network engineers developed by a network engineer!

Brett M Spunt 3 Aug 15, 2022
A Python server and client app that tracks player session times and server status

MC Outpost A Python server and client application that tracks player session times and server status About MC Outpost provides a session graph and ser

Grant Scrits 0 Jul 23, 2021
StarCraft II Client - protocol definitions used to communicate with StarCraft II.

Overview The StarCraft II API is an interface that provides full external control of StarCraft II. This API exposes functionality for developing softw

Blizzard Entertainment 3.6k Dec 30, 2022
a safe proxy over tls

TlsProxys 基于TLS协议的http流量代理 安装 ※ 需要python3.7+ linux: python3.9 -m pip install TlsProxys windows: pip install TlsProxys 基本用法 服务器端: $ tpserver [command]

56 Nov 30, 2022
TLD records archive. Revisiting the original TLDR project by mandatoryprogrammer, on the hunt for more root nameserver changes.

tldr A(nother) continuously updated historical TLD records archive. This repository is updated approximately every three hours with the results from D

Chris Partridge 11 Dec 14, 2022
Simple self-hosted server to receive files from remote systems

Badtray This is a very simple self-hosted server to receive files from remote systems. This works similar to Bintray (RIP) and primarily designed to d

Alex Taradov 1 Nov 22, 2021
A non-custodial oracle and escrow system for the lightning network. Make LN contracts more expressive.

Hodl contracts A non-custodial oracle and escrow system for the lightning network. Make LN contracts more expressive. If you fire it up, be aware: (1)

31 Nov 30, 2022
Tool to get the top 100 of the fastest nodes in the Tor network. Based on Kirzahk tool.

Tor Network Top 100 IPs Tool to get the top 100 of the fastest nodes in the Tor network. Based on Kirzahk tool. Just execute top100ipstor.py to get th

Juan Manuel 0 Jan 23, 2022
Python 3.3+'s ipaddress for older Python versions

ipaddress Python 3.3+'s ipaddress for Python 2.6, 2.7, 3.2. This repository tracks the latest version from cpython, e.g. ipaddress from cpython 3.8 as

Philipp Hagemeister 103 Nov 11, 2022
forward several ports into a single port

port forwarding Multi-Input-Single-Output forward several ports into a single one this tool forwards packets from several ports into one single port.

Erfan Kheyrollahi Qaroğlu 3 Sep 11, 2021
Octodns-cloudflare - Cloudflare DNS provider for octoDNS

CloudflareProvider provider for octoDNS An octoDNS provider that targets Cloudfl

octoDNS 6 May 28, 2022
Publish GPU miner info to MQTT

Miner2MQTT Доступ к вашему GPU майнеру через MQTT. Изменения 1.0 EXE файл для Windows 1.1 Управление вентиляторами видеокарт (Linux) Упраление power l

Dmitry Bukhvalov 5 Aug 21, 2022
Query protocol and response

whois Query protocol and response _MᵃˢᵗᵉʳBᵘʳⁿᵗ_ _ ( ) _ ( )( ) _ | | ( ) | || |__ _ (_) ___ | | | | | || _ `\ /'_`\ | |/',__) |

MasterBurnt 4 Sep 05, 2021