pubs: add module
Note, the pubs configuration file uses ConfigObj syntax, which is
similar to the INI files syntax but with extra functionalities like
nested sections. This prevents it from using Nix's INI format
generator. Here is an example of pubs configuration that cannot be
generated using Nix's INI format generator:
[plugins]
[[git]]
manual=False
For this reason, we opted for a stringly-typed configuration since the
use of a structured `settings` option would require a custom parser.
This commit is contained in:
parent
abd221c4b3
commit
afe96e7433
9 changed files with 134 additions and 0 deletions
1
tests/modules/programs/pubs/default.nix
Normal file
1
tests/modules/programs/pubs/default.nix
Normal file
|
|
@ -0,0 +1 @@
|
|||
{ pubs-example-settings = ./pubs-example-settings.nix; }
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
[main]
|
||||
pubsdir = ~/.pubs
|
||||
docsdir = ~/.pubs/doc
|
||||
doc_add = link
|
||||
open_cmd = xdg-open
|
||||
|
||||
[plugins]
|
||||
active = git,alias
|
||||
|
||||
[[alias]]
|
||||
|
||||
[[[la]]]
|
||||
command = list -a
|
||||
description = lists papers in lexicographic order
|
||||
|
||||
[[git]]
|
||||
quiet = True
|
||||
manual = False
|
||||
force_color = False
|
||||
36
tests/modules/programs/pubs/pubs-example-settings.nix
Normal file
36
tests/modules/programs/pubs/pubs-example-settings.nix
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
programs.pubs = {
|
||||
enable = true;
|
||||
|
||||
extraConfig = ''
|
||||
[main]
|
||||
pubsdir = ~/.pubs
|
||||
docsdir = ~/.pubs/doc
|
||||
doc_add = link
|
||||
open_cmd = xdg-open
|
||||
|
||||
[plugins]
|
||||
active = git,alias
|
||||
|
||||
[[alias]]
|
||||
|
||||
[[[la]]]
|
||||
command = list -a
|
||||
description = lists papers in lexicographic order
|
||||
|
||||
[[git]]
|
||||
quiet = True
|
||||
manual = False
|
||||
force_color = False
|
||||
'';
|
||||
};
|
||||
|
||||
test.stubs.pubs = { };
|
||||
|
||||
nmt.script = ''
|
||||
assertFileContent \
|
||||
home-files/.pubsrc ${./pubs-example-settings-expected-pubsrc}
|
||||
'';
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue