Evie Litherland-Smith
b48d53fa2a
Fix setting license in pyproject.toml correctly Point to main script in pyproject to run CLI
40 lines
1.3 KiB
Markdown
40 lines
1.3 KiB
Markdown
# Nix Background Upgrade
|
|
Upgrade NixOS system (and/or home-manager) in the background, with notification support.
|
|
|
|
**Early stages of development, subject to change and likely not working at the current stage.**
|
|
|
|
## Install
|
|
Clone the repository and install with pip (or preferred Python packaging system):
|
|
|
|
```bash
|
|
git clone https://git.xenia.me.uk/pixelifytica/nix-background-upgrade.git
|
|
python3 -m pip install ./nix-background-upgrade
|
|
```
|
|
|
|
### For development
|
|
Project uses [Poetry](https://python-poetry.org/ "Poetry: Python packaging and dependency management tool") to manage dependencies.
|
|
|
|
Install Poetry (see [documentation](https://python-poetry.org/docs/#installation) for more details), for example using `pipx`:
|
|
|
|
```bash
|
|
pipx install poetry
|
|
```
|
|
|
|
Then install project using `poetry`:
|
|
|
|
```bash
|
|
poetry install
|
|
```
|
|
|
|
Python code is formatted using [black](https://pypi.org/project/black/ "The uncompromising code formatter") and [isort](https://pypi.org/project/isort/ "A Python utility / library to sort Python imports").
|
|
|
|
#### `pre-commit`
|
|
[pre-commit](https://pre-commit.com/ "A framework for managing and maintaining multi-language pre-commit hooks") is used to ensure formatting of new/changed files. Install pre-commit hooks with:
|
|
|
|
```bash
|
|
pre-commit install --install-hooks
|
|
```
|
|
|
|
### Nix Flake
|
|
Project provides a Nix `flake.nix` to get up and running quickly.
|