--- gitea: none include_toc: true --- # Install YetAnotherToDoList ## Requirements: - go 1.21.1 (not tested, but _should_ also work in all versions since 1.16) - gcc 4.6+ (according to the [golang wiki](https://github.com/golang/go/wiki/MinimumRequirements#cgo)) ## Install via `go install` When installing via this method, no commit & version information is provided. ```bash go install somepi.ddns.net/gitea/gilex-dev/YetAnotherToDoList@latest ``` You can specify the installation location by adding `GOBIN=` ## Install from git repository (Recommended) In addition to the [requirements](#requirements), you will need `git` and `GNU make` ```bash git clone https://somepi.ddns.net/gitea/gilex-dev/YetAnotherToDoList.git cd YetAnotherToDoList go mod tidy # only if you want to edit the GraphQL backend make build ``` To customize your build, you can run `make` with these environment variables: ``` INSTALL_DIR= BUILD_FLAGS= RUN_FLAGS= ``` ## Install from pre-build binary There are currently no pre-build binaries available ## Troubleshooting If you get an error like `Unable to connect: Binary was compiled with 'CGO_ENABLED=0', go-sqlite3 requires cgo to work. This is a stub`, make sure `gcc` is installed and in your `PATH`. If this still does not work, try ```bash CGO_ENABLED=1 go install github.com/mattn/go-sqlite3 ``` ## Post install ### Add shell completion YetAnotherToDoList must be in your `PATH` for this to work. #### Bash ```bash source <(YetAnotherToDoList completion bash) ``` For other shells or more info, see ```bash YetAnotherToDoList help completion ``` ### Configuration Edit the file [.YetAnotherToDoList.yaml](./.YetAnotherToDoList.yaml) and run `YetAnotherToDoList help` for options. ## Uninstall Run `make uninstall` or ```bash rm $HOME/.local/bin/YetAnotherToDoList # replace with your installation path ``` Don't forget to delete the `.log`, `.yaml` and `.sqlite3` files if you don't need them any more. ### Remove shell completion #### Bash ```bash complete -r YetAnotherToDoList ```