Add nnn (The missing terminal file manager for X)
What are your thoughts on adding support for nnn?
Here's what a sample declarative configuration for nnn could look like
(user-home
nnn-home-type
(nnn-configuration
(bookmarks '(("d" . "~/Downloads") ("D" . "~/Desktop") ("h" . "/home/foo"))
(open-as-root? #t)
(shell-depth-indicator? #t)
(cd-on-quit? #t)
(hidden-files-on-top? #t)
(disable-bold-fonts? #t)
(plugins '(imgur ringtone wall pdfread hexview boom fzopen))))
guix-home-manager bindings would be added to cover all of nnn's configuration features.
The above nnn configuration shows the hypothetical guile bindings interface for nnn's bookmarks, plugins, hidden files on top, cd on quit, shell depth indicator, disable bold fonts, and open as root feature.
I imagine that if the user wants to send true to the above nnn configuration predicates to turn those features on/off they can refactor that part of the declarative config to a scheme map procedure that sends true to those predicates.
I'm thinking of something like this:
(map turn-on '(open-as-root? shell-depth-indicator?
cd-on-quit? hidden-files-on-top? disable-bold-fonts?))
or
(map turn-off '(open-as-root? shell-depth-indicator?
cd-on-quit? hidden-files-on-top? disable-bold-fonts?))