{ 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} ''; }; }; }