Prady runcom
Table of Contents
Prady_runcom
What’s this?
Aim
- Synchronization across-machines (hence, git)
- Modular (hence, not a single file)
- Self-documenting (hence org files)
- Work-flow speed (obviously)
- “Pretty” low resource load (hence, not GNOME/KDE)
Non-aim
- Ease
Copyright/License Header
Copyright © 2020-2024 Pradyumna Paranjape
This file is part of Prady_runcom.
Prady_runcom is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
Prady_runcom is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with Prady_runcom. If not, see https://www.gnu.org/licenses/.
Structure
Following files are recognised for configuration. We shall try to comply with POSIX as much as possible even in files marked ’no’ In (table 1).
Configuration File Path | POSIX |
---|---|
/etc/bashrc |
|
/etc/profile |
|
/etc/profile.d/* |
|
/etc/zsh/* |
|
~/.bash_profile |
no |
~/.zshenv |
no |
~/.zshenv.d/* |
no |
~/.zprofile |
no |
~/.profile |
yes |
~/.profile.d/* |
yes |
~/.bashrc |
no |
~/.zshrc |
no |
~/.shrc |
yes |
~/.shrc.d/* |
yes |
~/.bash_login |
no |
~/.zlogin |
no |
~/.login |
yes |
~/.login.d/ui.d/* |
yes |
~/.login.d/* |
yes |
~/.bash_logout |
no |
~/.zlogout |
no |
~/.logout |
yes |
~/.logout.d/* |
yes |
~/.config/* |
no |
${XDG_DATA_HOME}/bash-completion |
no |
Unsubscription from configuration
Regular files in ${RUNCOMDIR}/dotfiles/
are stowed to (symlinked from) ${HOME}
.
Directories in ${RUNCOMDIR}/dotfiles/
are made as regular directories if absent in ${HOME}
and the corresponding files stowed.
User-specific local and privately version-controlled configuration can be safely stowed inside these sub-directories with non-conflicting names.
Some config files may be ignored from such symlinking by placing a .stow-local-ignore
in the dotfiles
.
Do not ignore the basic structure of runcom such as .shrc
, .login
, .profile
.
User may safely ignore:
- Files located in
- Drop-in directories:
.shrc.d/*
,.profile.d/*
, etc. - Config directories:
.config/*
.
- Drop-in directories:
- Or regular expressions accepted by gnu-stow.
- Or these directories themselves.
Optionally, the user may provide their own version of the ignored file as a regular file or a symlink.