aboutsummaryrefslogtreecommitdiff

The Inception - locally-installed software distribution

Infects your homedir with configuration and applications.

It manages metadot configurations and helps keeping your application repository synced across machines.

See rhatto's LSD for an integration example.

Adding inception into your application tree

Simply include this repository in a subfolder of your application and make a symlink to the infection script in the toplevel of your project.

If your repository also have a dotfiles and the metadot code is also a subfolder, your dotfiles will be also managed by infection.

Using in an existing distribution

WARNING: running infection might replace your existing configuration with my defaults. You probably don't want to do that, except if you like my config. If you just want to use my scripts, skip the rest of this file.

If you want to use infection with your own config, feel free to change things the way it best fits your taste.

For a basic installation using the console bundle provided by my dotfiles, use

$HOME/apps/infection install console --deps

If you want to use all all my applications and dotfiles, replacing your existing configuration with mine, simply run

$HOME/apps/infection install --all --deps

Once installed locally, you can sincronize this config to a remote host using rsync+ssh:

infection deploy <hostname>

This commands uses rsync to send all contents of your $HOME/apps and $HOME/.dotfiles to a remote server, so please do not add personal or sensitive stuff in those places. Then it makes sure your dotfiles are properly linked.

Updating

You can fetch updates in this repository using

infection fetch

This commands don't automatically update your working copy. Instead, it just does a git fetch in the remotes/origin repository and display it's last commit log including git signature.

You can check version differences using infection version and also standard git commands such as git-log(1). Once you're satisfied and want to apply changes to the current working copy including updating and initializing submodules, type

infection merge