diff options
Diffstat (limited to 'infra/libkookie/home-manager/modules/programs/abook.nix')
-rw-r--r-- | infra/libkookie/home-manager/modules/programs/abook.nix | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/infra/libkookie/home-manager/modules/programs/abook.nix b/infra/libkookie/home-manager/modules/programs/abook.nix new file mode 100644 index 000000000000..4ddc080ad51a --- /dev/null +++ b/infra/libkookie/home-manager/modules/programs/abook.nix @@ -0,0 +1,40 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + + cfg = config.programs.abook; + +in { + options.programs.abook = { + enable = mkEnableOption "Abook"; + + extraConfig = mkOption { + type = types.lines; + default = ""; + example = '' + field pager = Pager + view CONTACT = name, email + set autosave=true + ''; + description = '' + Extra lines added to <filename>$HOME/.config/abook/abookrc</filename>. + Available configuration options are described in the abook repository: + <link xlink:href="https://sourceforge.net/p/abook/git/ci/master/tree/sample.abookrc" />. + ''; + }; + }; + + config = mkIf cfg.enable { + home.packages = [ pkgs.abook ]; + xdg.configFile."abook/abookrc" = mkIf (cfg.extraConfig != "") { + text = '' + # Generated by Home Manager. + # See http://abook.sourceforge.net/ + + ${cfg.extraConfig} + ''; + }; + }; +} |