diff --git a/hosts/macbook/home.nix b/hosts/macbook/home.nix index 1e54b26..77d03eb 100644 --- a/hosts/macbook/home.nix +++ b/hosts/macbook/home.nix @@ -24,6 +24,7 @@ ../../modules/home-manager/spotify-player.nix ../../modules/home-manager/nb.nix ../../modules/home-manager/stylix.nix + ../../modules/home-manager/hledger.nix ]; home.username = "mthomson"; home.homeDirectory = "/Users/mthomson"; diff --git a/modules/home-manager/emacs/init.el b/modules/home-manager/emacs/init.el index d0e9348..1e95da2 100644 --- a/modules/home-manager/emacs/init.el +++ b/modules/home-manager/emacs/init.el @@ -260,6 +260,15 @@ (setq undo-tree-history-directory-alist '(("." . "~/.config/emacs/.cache/undo"))) (global-undo-tree-mode)) +(use-package ledger-mode + :ensure t + :custom + ((ledger-binary-path "hledger") + (ledger-mode-should-check-version nil) + (ledger-report-auto-width nil) + (ledger-report-links-in-register nil) + (ledger-report-native-highlighting-arguments '("--color=always"))) + :mode ("\\.hledger\\'" "\\.ledger\\'")) ;; PATH STUFF -------- (use-package exec-path-from-shell diff --git a/modules/home-manager/hledger.nix b/modules/home-manager/hledger.nix new file mode 100644 index 0000000..f647994 --- /dev/null +++ b/modules/home-manager/hledger.nix @@ -0,0 +1,25 @@ +{ + pkgs, + ... +}: { + home.packages = with pkgs; [ + hledger + hledger-ui + hledger-iadd + hledger-web + ]; + + home.sessionVariables = { + LEDGER_FILE="~/finance/current.journal"; + }; + + programs.ledger = { + enable = true; + settings = { + file = [ + "~/finance/current.journal" + ]; + strict = false; + }; + }; +} diff --git a/modules/home-manager/nixcats/default.nix b/modules/home-manager/nixcats/default.nix index 35ff42c..1ca5805 100644 --- a/modules/home-manager/nixcats/default.nix +++ b/modules/home-manager/nixcats/default.nix @@ -79,6 +79,7 @@ in { plenary-nvim vim-tmux-navigator friendly-snippets + vim-ledger ]; }; diff --git a/modules/home-manager/nixcats/init.lua b/modules/home-manager/nixcats/init.lua index 2a39c6e..3111aba 100644 --- a/modules/home-manager/nixcats/init.lua +++ b/modules/home-manager/nixcats/init.lua @@ -148,6 +148,8 @@ require("snacks").setup({ scope = {}, }) +vim.g.ledger_fuzzy_account_completion = 1 + -- LSP Progress indicator vim.api.nvim_create_autocmd("LspProgress", { ---@param ev {data: {client_id: integer, params: lsp.ProgressParams}} @@ -197,7 +199,7 @@ require('lze').load { }, signature = { enabled = true, }, sources = { - default = { 'lsp', 'path', 'snippets', 'buffer' }, + default = { 'lsp', 'path', 'snippets', 'buffer', 'omni' }, }, }) end,