blob: 7509e602fc7f9784e3b7373ae2d91c1f3df5791c (
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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
|
RSD - Rhatto Software Distribution
==================================
_A repository with locally-installed applications_
This repository hosts applications I keep installed locally inside my home
directory. Some of these applications also manages my configurations such as
dotfiles.
It is my starting point to keep all my configuration centralized in a single
versioned tree, so if I need to setup an account in a new machine -- be it
a server or personal computer -- I just need to clone this little thing and
run a couple commands to have my usual configuration ready to use.
In other words... this is where everything begins. The way I bootstrap my
whole digital environment across machines along with tools that helps me
manage my computing machinery. The metaproject, the mother of all my folder
structure that unfolds from here.
If you don't like my config -- which might be the case as this kind of thing is
so personal -- you still can use my approach to do the same management with
your own stuff. In that case, fork this repository and replace my setup with
your own submodules, dotfiles and inception procedure :)
Installation
------------
Get the code:
git clone --recursive https://git.fluxo.info/rhatto/apps $HOME/apps
Then check the source integrity of the latest release:
/usr/bin/git -C $HOME/apps verify-commit HEAD
Note that `/usr/bin/git` is called to avoid any other `git` wrappers or aliases
you might have available on your shell.
Inception
---------
To use a project distributed by this repository simply add it's folder into
your `$PATH`.
If you want to use all all my applications and dotfiles, replacing your
existing configuration with mine, simply run
$HOME/apps/inception install --all --deps
Once installed locally, you can sincronize this config to a remote host using
rsync+ssh:
inception 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
inception 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 `inception 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
inception merge
Folder structure
----------------
This repository also plays well with the following `$HOME` folder structure:
apps: this repository
code: other software projects
data: media assets (git-annex and other repositories)
file: other, non-software projects
load: download area
mail: maildir
temp: temporary folder
Note the all folder names have:
* The same lenght so I get free alignment on lists.
* Lowercase characters to save typing.
|