aboutsummaryrefslogtreecommitdiff
path: root/README.md
blob: 7ce1036b16b393ed49a88cea8a2ffb34190b0c8f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
The Inception - locally-installed software distribution
=======================================================

Infects your homedir with configuration and applications.

It manages [metadot](https://git.fluxo.info/metadot) configurations
and helps keeping your application repository synced across machines.

See [rhatto's LSD](https://git.fluxo.info/rhatto/apps) 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.

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