nix-background-upgrade/README.md

55 lines
1.5 KiB
Markdown
Raw Normal View History

# 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` and `shell.nix` to get up and
running quickly.
Run `nix develop` (Flake) or `nix-shell` (non-Flake) to enter
development shell containing project dependencies.