Commit Graph

11 Commits

Author SHA1 Message Date
Marty Oehme f4400da743
repo: Update linting for 4-spaced shell scripts 2021-04-04 20:52:52 +02:00
Marty Oehme 4f4e67ff1c
[repo] Add & update docs, fix install script dirs 2020-07-08 13:51:27 +02:00
Marty Oehme ecbf8409f9
Add git hook for package comparison
When moving to commit, this hook will automatically fire and check the
current system's installed packages against those explicitly committed
to the repository. If they mismatch it will inform the user.

It will not prevent the commit, but simply add a comment at the top of
the commit messages to remind the user that something is unbalanced
between both. It would be recommended to either check the additional
package into source control, remove it from the current system, or
explicitly add it to ignored packages.
2020-02-07 22:31:41 +01:00
Marty Oehme c7ed986c0e
Update package list
Updated package list in preparation for unified package management. For
the moment still uses basic bash script to manage package installation.
Packages are collected in a big list, with some packages being ignored.

This is in preparation for the possibility to manage future package
'groups' directly in pacman meta packages. They will then be added /
removed to the individual PKGBUILD files as dependencies and will
automatically be kept up-to-date, added and removed on all systems which
use the corresponding meta group.

It also opens the path to have commit-time checking of irregularities
between the packages stipulated in the dotfile repository and the
current running system. This can be done by adding all packages of the
different package group lists, unifying them and removing potential
ignored packages.

It allows e.g. printing a warning when committing changes to the
repository while the system packages and the repository packages differ,
to make sure no package dependencies were introduced without knowing it
and which would introduce potential breaking changes into the dotfiles.
2020-02-07 22:07:53 +01:00
Marty Oehme 71f9076846 Change bootstrap to use standard stow functions
Removed the `autostow.sh` scipt. Its use was to call stow for every
folder in base directory and ignore certain folders. Both those
functions can be handled by stow on its own.

Stow allows defining per-directory ignore patterns with
`.stow-loca-ignore` files, which can be set to `.*` to completely ignore
a folder, just as before. And Stow can be called with a glob pattern to
automatically call it for every directory in the repository.

`.stowrc` additionally makes sure that all operations take place
targeting the home directory of the current user, since that is where
the dotfiles will (generally) be stored. Of course, this can be
overridden with the stow command-line options (see option precedence in
stow manual).

Finally, the bootstrap stow module adds an alias `dotlink` to the shell,
which allows fast (re-)stowing of all directories in the dotfile
repository. It uses a hard-coded location for the .dotfiles base
directory, so if the dotfiles are cloned anywhere else this has to be
customized.
2020-02-06 12:48:08 +01:00
Marty Oehme 68b0219354 Rename bootstrap directory
Renamed bootstrap directory to _bootstrap to conform to default ignore
pattern of autostow.sh, and make it visually clear that this is a
special directory, not one used for the dotfiles itself.
2020-01-30 13:29:03 +01:00
Marty Oehme b702158b7c Add central variable setting bootstrap directory
Prepare for moving bootstrap directory to conform to new ignore pattern
of autostow.sh script. Bootstrap directory can be overwritten through
environment variable BOOTSTRAP_DIRECTORY, however for now it still
rigidly requires the existence of an install_packages.sh file and an
autostow.sh file which it wants to execute.
2020-01-30 13:18:36 +01:00
Marty Oehme 6fd8fcf8ca Restructure bootstrap dir, fix install.sh
With bootstrap files no longer linked to config directory, we can have
an easier directory structure with less nesting for them. Install.sh
needs to use the new structure when calling its bootstrap scripts.
2019-12-30 11:04:54 +01:00
Marty Oehme 7e0d5440d8 Add basic bootstrap routine 2019-12-30 10:20:17 +01:00
Marty Oehme af27c578b2 Remove larbs from repo, can be called as gitlab snippet instead. Fix some documentation in zshrc. 2019-02-21 19:36:24 +01:00
Marty Oehme e4980932b9 Add larbs script to automated package and dotfile installation 2019-02-21 18:25:02 +01:00