{ 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 $HOME/.config/abook/abookrc. Available configuration options are described in the abook repository: . ''; }; }; config = mkIf cfg.enable { assertions = [ (hm.assertions.assertPlatform "programs.abook" pkgs platforms.linux) ]; home.packages = [ pkgs.abook ]; xdg.configFile."abook/abookrc" = mkIf (cfg.extraConfig != "") { text = '' # Generated by Home Manager. # See http://abook.sourceforge.net/ ${cfg.extraConfig} ''; }; }; }