{ lib, config, pkgs, ... }: with lib; let cfg = config.progs.hledger; hledgerAliases = { # TODO: add aliases for business and family accounts }; in { options.progs.hledger = { enable = mkOption { type = types.bool; default = false; description = "Add and configure hledger tool to manage finance"; }; }; config = mkIf cfg.enable { home.packages = with pkgs; [ hledger hledger-ui hledger-interest ]; home.file = { "finance/commodities.journal".text = '' ; Fiat currencies commodity 1.000,00 RUB commodity 1.000,00 USD ; Investment commodities ; Cryptocurrencies ; Other ; Default commodity ; D 1.000,00 RUB ''; }; programs.zsh.shellAliases = mkIf config.shell.zsh.enable hledgerAliases; }; }