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

https://github.com/seletskiy/dotfiles

My system configuration. My introspection since 2012.
https://github.com/seletskiy/dotfiles

dotfiles dotfiles-manager

Last synced: about 1 year ago
JSON representation

My system configuration. My introspection since 2012.

Awesome Lists containing this project

README

          

Installation
============

Run `./bootstrap ` to install all packages and configuration files
for specified profile. It should bring system to the desired consistent state.

Ultimate feature
================

Unlike many other dotfiles installation scripts, this one provides not only
one-way installation process, but can join changes made back to the repo.

Just invoke `./dotfiles rejoin` and all changes made in local configuration
will be merged back to the repo. It smart enough to join changes even to the
template files!

Bootstraping and configuring
============================

There are two installation scripts called `./bootstrap` and `./dotfiles`.

`./dotfiles` is exist to work with configuration.

`./bootstrap` brings system to consistent state.

All changes that should be done on new branded fresh installed system are
described in `./profiles.txt` so look at them, they are pretty
descriptive by they own.

Assumed workflow is:

* once on fresh installed system: `./bootstrap `;
* every next time when update is needed: `./boostrap`;
* every next time when full upgrade is needed: `./bootstrap ` (it will also update AUR packages);
* every next time when local configuration changed: `./dotfiles rejoin`;

Agreements
==========

Directory structure is the same that under home dir (~/). Exception is rootfs/
directory, that contains global system configuration files that are located
in /.

All missing directories would be created.
All missing files would by symlinked (files under rootds will be copied).

If filename ends on `.template`, then same file without `.template` would be
created and all `{{PLACEHOLDER}}` strings in that file would be replaced with
user prompted values.

If filename ends on `.$profile`, then file without `.$profile` would be created
with contents taked from file, that name ends in specified profile name.
Example: if there are files:

* xorg.conf.$profile,
* xorg.conf.laptop,
* xorg.conf.work,
* xorg.conf.home,

then filename, that evaluated from `xorg.conf.$profile` would be linked/copied
into `xorg.conf`.

Also, `DOTFILES_PROFILE` environment will be available in all applications
after installation, and there are no longer need to specify it on `bootstrap`
or `dotfiles` invocation.