diff options
Diffstat (limited to 'infra/libkookie/home-manager/modules/programs/afew.nix')
-rw-r--r-- | infra/libkookie/home-manager/modules/programs/afew.nix | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/infra/libkookie/home-manager/modules/programs/afew.nix b/infra/libkookie/home-manager/modules/programs/afew.nix new file mode 100644 index 000000000000..99bae88c0ee4 --- /dev/null +++ b/infra/libkookie/home-manager/modules/programs/afew.nix @@ -0,0 +1,52 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + + cfg = config.programs.afew; + +in + +{ + options.programs.afew = { + enable = mkEnableOption "the afew initial tagging script for Notmuch"; + + extraConfig = mkOption { + type = types.lines; + default = '' + [SpamFilter] + [KillThreadsFilter] + [ListMailsFilter] + [ArchiveSentMailsFilter] + [InboxFilter] + ''; + example = '' + [SpamFilter] + + [Filter.0] + query = from:pointyheaded@boss.com + tags = -new;+boss + message = Message from above + + [InboxFilter] + ''; + description = '' + Extra lines added to afew configuration file. Available + configuration options are described in the afew manual: + <link xlink:href="https://afew.readthedocs.io/en/latest/configuration.html" />. + ''; + }; + }; + + config = mkIf cfg.enable { + home.packages = [ pkgs.afew ]; + + xdg.configFile."afew/config".text = '' + # Generated by Home Manager. + # See https://afew.readthedocs.io/ + + ${cfg.extraConfig} + ''; + }; +} |