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.
- Host: GitHub
- URL: https://github.com/seletskiy/dotfiles
- Owner: seletskiy
- Created: 2012-08-09T08:43:45.000Z (almost 14 years ago)
- Default Branch: master
- Last Pushed: 2024-12-09T09:24:26.000Z (over 1 year ago)
- Last Synced: 2025-04-05T15:35:24.412Z (over 1 year ago)
- Topics: dotfiles, dotfiles-manager
- Language: Shell
- Homepage:
- Size: 2 MB
- Stars: 28
- Watchers: 7
- Forks: 1
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
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.