~charles/dotfiles

my dotfiles
remove tree-sitter and nu support
use none table format for nu
use markdown table format for nu

refs

master
browse  log 

clone

read-only
https://git.sr.ht/~charles/dotfiles
read/write
git@git.sr.ht:~charles/dotfiles

You can also use your local clone with git send-email.

#My Dotfiles

This repository contains my dotfiles. Re-use by others was not a priority when designing this repository, however you are welcome to poke around.

Caveat Emptor: You shouldn't run anything in here without fully reading and understanding it first. I take no responsibility if you break your system, delete your data, or are beset by any other misfortune as a result of using anything in this repo.

See ./dottool help for instructions.

#Modules

This repository is organized into several modules. A module represent some portion of my dotfiles that can be installed, run, or otherwise applied. A module's name is the name of a folder in the ./modules directory. Each such folder must contains a module.cfg file. This is sourced by a Bash script, and must contain a MODULE_TYPE variable, as well as potentially other variables.

#script modules

When MODULE_TYPE is script, then the MODULE_COMMAND variable must be defined, and will be executed using bash -c. The working directory will be the module folder.

#overlay modules

When MODULE_TYPE is overlay, then every file recursively under MODULE_SOURCE relative to the module folder is copied to the corresponding path under MODULE_TARGET, replacing any existing file at that path, and creating any needed parent folders. If MODULE_COMMAND is defined, then it will be executed as with script type modules, after the files have been copied to the destination.

#Profiles

A profile is a file in the ./profiles folder. It is simply a list of modules to be installed. Empty lines and lines beginning with # are ignored.