feat(nix/prog): add hledger to manage finance
This commit is contained in:
parent
94a6ed302f
commit
0fed0e6df0
2 changed files with 50 additions and 0 deletions
|
@ -13,6 +13,7 @@ in
|
|||
./progs/nvim.nix
|
||||
./progs/exa.nix
|
||||
./progs/zoxide.nix
|
||||
./progs/hledger.nix
|
||||
];
|
||||
|
||||
targets.genericLinux.enable = true;
|
||||
|
@ -67,6 +68,9 @@ in
|
|||
# email manager
|
||||
himalaya.enable = true;
|
||||
|
||||
# finance manager
|
||||
hledger.enable = true;
|
||||
|
||||
# editor
|
||||
nvim = {
|
||||
enable = true;
|
||||
|
|
46
nix/progs/hledger.nix
Normal file
46
nix/progs/hledger.nix
Normal file
|
@ -0,0 +1,46 @@
|
|||
{ 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
|
||||
];
|
||||
|
||||
home.file = {
|
||||
"finance/commodities.journal".text = ''
|
||||
; Fiat currencies
|
||||
commodity RUB 1000.00
|
||||
commodity $1000.00
|
||||
|
||||
; Investment commodities
|
||||
|
||||
; Cryptocurrencies
|
||||
|
||||
; Other
|
||||
|
||||
; Default commodity
|
||||
D RUB 1000.00
|
||||
'';
|
||||
};
|
||||
|
||||
programs.zsh.shellAliases = mkIf config.shell.zsh.enable hledgerAliases;
|
||||
};
|
||||
}
|
||||
|
Loading…
Reference in a new issue