Prady runcom

Table of Contents

Prady_runcom

What’s this?

  • A compilation of dotfiles: default variables, custom functions, aliases.
  • My configuration backup, “push”ed to work as a template for yours.

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

Will you be able to set this up?

Probably NOT. If you insist, check setup instructions.

Read till the end before you decide to set this up.

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).

Table 1: RUNCOM-declared files/directories. Column named ’POSIX’ indicates if the file or contents of the directory are strictly POSIX compliant; root = ’managed by root’.
Configuration File Path POSIX
/etc/bashrc root
/etc/profile root
/etc/profile.d/* root
/etc/zsh/* root
~/.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/*.
  • 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.

Author: Pradyumna Paranjape

Created: Thu, 2024-07-18 10:40+0530

Validate