Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/arielhorwitz/homux

Synchronize your home directory across host machines.
https://github.com/arielhorwitz/homux

Last synced: about 2 months ago
JSON representation

Synchronize your home directory across host machines.

Awesome Lists containing this project

README

        

Homux is a home directory multiplexer.

## How it works
A *source* directory is applied to the home directory of multiple hosts. In order to multiplex configurations across different hosts, the [matchpick](https://github.com/ArielHorwitz/matchpick) library is used to match different lines depending on which host is being applied to.

Let's look at an example configuration file, `~/.gitconfig`. Suppose our home computer is named "homestation", while our computer at work is named "workstation". We wish to configure our email address differently on each host, while keeping our name the same:
```
# https://git-scm.com/docs/git-config
[user]
name = Tux Linux

~>>>
email = "[email protected]"
~>>> homestation
email = "[email protected]"
~>>> workstation
email = "[email protected]"
~<<<
```

This allows a single directory managed by a single repository to be used as the configuration source even across different hosts.