A(nother) dot file manager. https://gearsix.net/dotfm

gearsix 4454d8990b tidyup in printed logs 1 month ago
src 4454d8990b tidyup in printed logs 1 month ago
CHANGELOG fa1149774e updated CHANGELOG for v2.3.0 1 year ago
LICENSE 4a9028ecf6 updated LICENSE to ISC 2 years ago
Makefile 29fd26441b Merge branch 'develop' of https://notabug.org/gearsix/dotfm into develop 1 year ago
README 7ab90de5c2 updated README with link, ln info 11 months ago
TODO 7ccefa376a updated CHANGELOG & TODO for v2.2.0 1 year ago
banner.svg b51659e439 added banner.svg 2 years ago
logo.png 0dd7cbc7ed compressed logo.png 2 years ago


dotfm - a simple script to manage dotfiles.

dotfm [-h] [-d] [-v] [-q] COMMAND DOTFILE...

dotfm is designed to be simple and easy to use. It's really just a
short-hand for managing symlinks of dotfiles (it's also helpful if
you don't want to remember or type out the location of a dotfile
everytime you want to modify it).

-h --help Displays help printout
-s --skip Skip prompts where necessary and just use defaults
-d --debug Display debug logs
-v --version Display dotfm version
-q --quiet Tell dotfm to shutup (hide info logs)

Multiple DOTFILE args can be passed to each command.

Some terminology to avoid confusion:
- DOTFILE refers to the filepath of the dotfile to be installed
- DESTINATION refers to the location you would usually find a
dotfile at. For example, the location for bashrc is ~/.bashrc
- ALIAS refers to any name used to call a dotfile installed by
dotfm. dotfm recognises the source filepath (DOTFILE) as an alias

install, in ...
Create a symlink to DOTFILE from it's DESTINATION and register it.
DOTFILE should be the filepath of the dotfile to install. If this
path matches its DESTINATION, then a symlink won't be created but
the file will still be registered by dotfm.

If DOTFILE is recognised by dotfm, then you will be prompted for
an install location and aliases to call the dotfile by. If the
--skip option was passed then the defaults will be used.

update, up
update the source DOTFILE path (of the dotfm-registered dotfile
matching ALIAS) that DESTINATION points to.

link, ln ...
hardlink FILE to another destination, ideally a repository with a
collection of your dotfiles.

remove, rm ...
If ALIAS is recognised, then the DESTINATION of the dotfile will be
removed. This is a destructive function, use it carefully.

Will only remove the file if the file has been installed by dotfm
(and can be found in DOTFM CSV FILE).

edit, ed ...
Open DOTFILE in $EDITOR or nano if $EDITOR is not present.

DOTFILE should be an alias of the dotfile to edit.

list, ls ...
Print a table of the install locations and aliases for all
registered dotfiles. If one or more DOTFILE arguments are present,
then only dotfiles with matching aliases will be listed.

Go to the source folder of dotfm and run "sudo make install" or "sudo
make link".
- "sudo make install" - copy dotfm to the install location (recommended
for most users).
- "sudo make link" - create a symlink of dotfm from its current location
to the install location (useful for development).

By default the install location of dotfm is /usr/local/bin/dotfm. To
modify this, just edit the value of DESTBINDIR in the Makefile.

Go to the source folder of dotfm and run "sudo make uninstall".

EDITOR The text editor to edit dotfiles with. If not present,
nano will be used.
HOME The home directory of the current user
DFMDIR The directory in which your collection of dotfiles live.

I would recommend modifying the "KNOWN" array in src/ dotfm.py
to suite your own needs if i've missed any dotfiles you frequently use.

- gearsix = original author
- marta dias - https://www.instagram.com/marta.dias.z/ = the logo