As said before; `lib_ledger` was meant to be a general abstraction to
any underlying CLI ledger.
But, between C++ `ledger` and Ledger Hardware Wallet, this abstraction
has become too confusing and counterproductive.
Since `hledger` will be the underlying implementation for the forseeable
future, all doubt should now be removed.
As said before; `lib_ledger` was meant to be a general abstraction to
any underlying CLI ledger.
But, between C++ `ledger` and Ledger Hardware Wallet, this abstraction
has become too confusing and counterproductive.
Since `hledger` will be the underlying implementation for the forseeable
future, all doubt should now be removed.
As said before; `lib_ledger` was meant to be a general abstraction to
any underlying CLI ledger.
But, between C++ `ledger` and Ledger Hardware Wallet, this abstraction
has become too confusing and counterproductive.
Since `hledger` will be the underlying implementation for the forseeable
future, all doubt should now be removed.
- Creates a reusable editor function
- Skipping confirmations will also skip opening up the editor
* Allows for complete generation without intentional interruption
- Rewrite to support new arguments
* Related design changes and refactoring
* Remove prompt for testing (use `dev=on` instead)
- Factor out superscript gen from subscript append
- Related print formatting changes
- Add more internal checks
- Allows for a dynamic `gen` experience
* All configs/accounts can now be (re)generated on-the-fly
- Individually, by section, or all at once
* Adds prompt confirmation option
* Adds developer profile option
Since modules are included upon build type, if a build doesn't support
a feature then that feature's dependencies will not be available.
This commit will give notice of those missing dependencies.
This commit brings a complete overhaul of the build system:
- Creates a separation of concerns for 'local' and 'remote' building
* 'local' is built locally via the docker-finance `build` command
* 'remote' is built *outside* of the docker-finance `build` command
(pushed to a remote registry and then pulled by the 'local' build)
* Related refactoring
- Dockerfiles
- `lib_gen`
- Adds remote image 'hledger-suite'
* Provides the latest versions of all `hledger` related binaries
* No longer relies on package maintainers / out-dated packages
- Adds remote image 'docker-finance'
* Provides base image for 'finance' and 'dev-tools' images
- tags 'archlinux' | 'ubuntu' | 'dev-tools'
- Removes previous `hledger` related build modules
* Removes building any `hledger` related binaries locally
- Removes 'experimental' build
* End-user can use local custom Dockerfile and/or custom tag instead
- Updates the 'default' | 'slim' | 'tiny' | 'micro' build types
* Refactors build type requirements into separate build modules
- Adds 'fetch' module
- Adds 'track' module
- Adds 'user' module
* creates container user *after* base and all other modules
* allows for quick re-building across multiple local users
- Updates 'root' module
* `lib_docker`
- Updates usage help
- Adds build modules per build type
- Huge optimizations
* Vastly improves build times
- ~60% faster w/ a fresh build
- ~60%-90% faster rebuild (depending on image type)
* Vastly improves image sizes
- e.g., 'default' Arch Linux image size is ~50% smaller
This addition is treading a fine line between finance and other
accounting, as Vultr cloud service is related to DevOps and is also not
a financial entity. However, financial information is provided; so this
addition is useful.
With this commit, a precedent is set for other cloud services to be
added to the repository (services that provide CSV financial accounting
data) and I believe that they could (should) be added as needed.
NOTE: there are several upstream CSV issues:
- Only expenses are given
* Transfers must be added manually (manual import or custom rules)
- Sales tax is not included
* Sales tax expenses must be added manually
If electrum-provided prices aren't available, 'No Data' will be given.
Attempts to calculate this string will result in 0.00 for fiat values.
Do not attempt to calculate this string. Instead, leave the column empty
(for bitcoin.tax calculations).