Commit graph

10 commits

Author SHA1 Message Date
Felix Uhl
b30e5ced5e disko2 dev: Print better error message 2024-11-08 21:45:09 +01:00
Felix Uhl
963b49d314 lib: Add dict_diff
This allows to create plans only based on the things that changed in the
configuration.
2024-11-08 20:12:05 +01:00
Felix Uhl
da8a997397 dev: Switch to ruff for python linting & formatting
It combines multiple tools and is much faster.
2024-11-08 20:12:05 +01:00
Felix Uhl
0d54c7ad3f disko2: Make generate write output to nix file 2024-11-08 20:12:05 +01:00
Felix Uhl
fa44467f82 disko2: Refactor dev mode, add disko dev eval 2024-11-03 23:00:26 +01:00
Felix Uhl
c5da562d0d dev: Move colors to constants 2024-11-03 22:53:12 +01:00
Felix Uhl
a6944c6bea disko2: Make messages type-safe and modular
Using untyped dicts was not a safe way to pass arguments to error
message rendering. Also, having one giant match statement wouldn't scale
well. Using function pointers and kwargs, mypy can now properly check
whether all required arguments are passed to DiskoMessage().

As a bonus, it's now easy to use the "Go to definition" LSP command for
error codes, which wasn't possible before.
2024-11-03 22:35:06 +01:00
Felix Uhl
0cd949092d disko2: Add test for generate_config 2024-11-03 20:59:56 +01:00
Felix Uhl
737e045f53 tests: Move example tests to dedicated folder 2024-10-31 17:03:52 +01:00
Felix Uhl
389235b63f disko2: Create package
This requires a lot of restructuring. The .nix files have to be bundled
together with the python files, so they need to follow python's module
system structure.

I ran `nix-fast-build --no-link -j 2 --eval-workers 3 --flake .#checks`
and it succeeded, so I'm reasonably confident I changed everything as
required.
2024-10-30 23:54:41 +01:00