CHANGELOG
v2.3.0
- Added aliases for all commands:
- install, in
- edit, ed
- list, ls
- remove, rm
- update, up
- Updated README
v2.2.2
- Bugfix when a blank line is found in the installed.csv file
- Bugfix when the installed.csv directory does not exist on first run
- Bugfix to behaviour when installing a dotfile source path that matches it's destination path
- Bugfix when using
~
in the path of a prompted install location
v2.2.1
- minor fix to Makefile#link
v2.2.0
- total refactored on most of the code to tidyup some mess that'd been in for a while
- logging is more consistent
- no more duplicates in the installed.csv file
- overall behaviour is more consistent and tidy
- added sfeed to known dotfiles
- added txtnish to known dotfiles
- added '-s', '--skip' option, which will skip any prompts and use pre-defined defaults if available
- user is now prompted for a dotfile location even if dotfm knows it (found myself wanting to use install init.vim as ~/.vimrc), the pre-defined location is used as a default
v2.1.2
- added
-p
to mkdir calls in Makefile to avoid failure when path exists - tidied up logging
- bugfix when returned input prompt value is empty
v2.1.1
- updated the CHANGELOG
dotfm remove
now callsrm -iv
(previouslyrm -v
), to be safe(r).
v2.1.0
- added the
dotfm update
command for updating a dotfile's source location
v2.0.5
- added banner.svg
v2.0.4
- updated the README & man file
- formatting fixed in the README
v2.0.3
- compressed logo.png
v2.0.2
- updated LICENSE to ISC
- added awesome logo from Marta Dias
- minor fix in Makefile
v2.0.1
- updated the "list" command to use unix system commands: printf, cat, column. Provides a neater, more reliable printout and makes the implementation tidier.
- DOTFM CSV FILE lines are now terminated with '\n' (previously '\r\n')
- Install & Uninstall (with Makefile) will now prompt for overwriting & removing files
v2.0.0
- The quiet arg works properly now
- Added code comment header documenting the dotfm functions
- Now the DOTFILE arg can specify multiple dotfiles
- updated the README
- added a manpage (src/dotfm.1), which is installed with dotfm in the Makefile
DOTFM CSV FILE
dotfm now tracks dotfiles that it installs symlinks for in a file. This file is currently stored at ~/.local/dotfm/installed.csv. The file has the following structure:
<location>,<alias>,<alias>,....
location is the location dotfm installed the dotfile to (the symlink pointing to the source dotfile).
alias these are strings that dotfm uses to recognise the related dotfile (e.g. you could use "brc" as an alias for your bashrc and call "dotfm edit brc")
KNOWN DOTFILES
DOTFILE LOCATIONS has been refactored into KNOWN DOTFILES, it follows the same structure as the DOTFM CSV FILE (see above).
The purpose of this array is now to act as a knowledge base for all the location to install dotfiles to and any names that they sohuld be recognised under that dotfm recognises.
If a dotfile is within this array, dotfm will know where to install the relevant dotfile automatically and allow you to call it with the preset aliases. Don't be scared to modify this array to modify this to your hearts content.
If a dotfile is not present within this array then you'll be prompted for the install location of the dotfile and any aliases you want to allow dotfm to recognise it under. This won't be added to KNOWN DOTFILES, but will be appended to DOTFM CSV FILE.
dotfm init
This is a function that runs at the start of every runtime, it checks if the DOTFM CSV FILE is present: If it is, it's contents are loaded into memory; If it isn't, then the user is prompted where they would like to create it and the file is created with itself as the first entry.
dotfm install
Now if a dotfile is not recognsied in the KNOWN_DOTFILES array, the user will be prompted asking where to install it to and what aliases to recognise it under.
Multiple dotfiles can be passed to dotfm install, e.g.
dotfm install ./bashrc ./profile ./tmux.conf
dotfm remove
dotfm remove will now also remove the file from the DOTFM CSV FILE
dotfm list
Minor changes to dotfm list printout format. Will also print even if running in quiet mode.
dotfm list now lists all installed dotfiles by default, and only lists specifc dotfiles if specified.
v1.0.3
-
added "-q", "--quiet" argument, using it reduces printed logs "dotfm list" will still print the file location (one line each), e.g.:
/home/gearsix/.bashrc /home/gearsix/.profile /home/gearsix/.bash_profile ...
-
added CHANGELOG
-
updated LICENSE to BSD 4-Clause
-
added sfeed to DOTFILE_LOCATIONS
-
added TODO items