Idea from Pietro Abate: Excludes for wildcards, like “all from
.cache/*
except .cache/duplicity
”.
$XDG_
related stuff:
$XDG_
variables
in unburden-home-dir.list
for alternative locations of .cache
and friends.These features likely all will need expansion of environment variables in configuration files or values.
The expansion of environment variables in configuration files is
implemented since the version 0.4 using
String::Expand
which is
packaged for Debian since recently, but may still be missing in
Ubuntu. Still needs to be documented properly, though.
Make the dependency on rsync and File::Rsync optional by allowing a mode where only deletion and no moving happens.
Add warnings if either $HOME
or $TARGET
do not begin with a
slash. This can cause broken symlinks but may also break the test
suite. :-)
Warning if UNBURDEN_HOME=no
or UNBURDEN_HOME=off
is set in
~/.unburden-home-dir
(which would be for the Xsession.d
hook).
Sorting subroutines.
Call rsync
in dry-run mode if unburden-home-dir
is called in
dry-run mode instead of not calling rsync
at all in that case.
Don’t run Test::Perl::Critic
test by default (but run it on Travis
CI). Maybe move it from t/perlcritic.t
to xt/perlcritic.t
and
run the according Make target explicitly via .travis.yml
.
Make requiring IPC::Run
as optional as lsof
. Maybe use
Module::Load::Conditional
, Module::Runtime
or Module::Optional
for that.
mv
doesn’t fall into interactive mode. Basically
test what the previous commit (“2ec069d Unconditionally move files”)
fixed. To reproduce: Have directories to move off as well as a
directory which is already moved off.Currently calling unburden-home-dir via Xsession.d is disabled by default and all default list entries are commented, too.
This double disabling is redundant. At most unburden-home-dir’s functionality should be disabled at one of those locations.
Find a nice way to handle the global unburden-home-dir.list
, maybe
by using something like /etc/unburden-home-dir.list.d/
,
/etc/unburden-home-dir/list.d/
or maybe even put symlinks to the
(split) example file(s) in there.
I’ve wrote a Perl interface to run-parts
named
Run::Parts as standalone
Perl module which is already used by aptitude-robot
, too.
Use /usr/share/unburden-home-dir/…
for default settings and use
/etc/unburden-home-dir*
only for settings by the local admin.
See my question about How to make a Dist::Zilla based Perl module (or app) install files into /etc/ on StackOverflow for the reasoning behind this idea.
Currently uses mkdocs (Python) for Markdown-to-HTML-site conversion (also used on ReadTheDocs) and ronn (Ruby) for Markdown-to-Unix-Manual-Page conversion.
I’d like to switch to POD as primary documentation format to make the software more suitable to distribution via CPAN.
One single, easy to read and write, Github rendered source format (i.e. Markdown or POD, but no DocBook) for different output formats (primarily HTML and [ng]roff aka Unix man-pages).
HTML documents should have an index/ToC of all the documentation, not only a ToC for the current file. (Example: MkDocs, ReadTheDocs)
A documentation build should be triggerable via Github Webhook. (Example: ReadTheDocs)
Convert all Markdown files to POD with e.g. Markdown::POD.
Replace MkDocs with e.g. Pod::Simple::HTMLBatch, Pod::HtmlEasy or Pod::HtmlTree to generate a bunch of HTML files belonging together. Needs evaluation.
Replace ronn with a simple pod2man.
Use CGI::Github::Webhook to update a local clone/checkout/working-copy and run the documentation generator.
Maybe Pandoc is also an idea. It’ not fulfilling all requirements above, but it would reduce the amount of dependencies because it can convert to HTML as well as [ng]roff.