Commit graph

12 commits

Author SHA1 Message Date
Felix Uhl
db57281c83 disko2: Fix dedenting bug 2024-11-27 23:18:54 +01:00
Felix Uhl
cfcc518b70 disko2: Add rudimentary plan generation 2024-11-27 23:18:54 +01:00
Felix Uhl
6651792c28 disko2: Validate config for type-safety in python 2024-11-17 21:37:39 +01:00
Felix Uhl
ae7891e21f disko2: Fix all mypy type checking errors
Belongs to d382a3cccf, but I authored that
on another machine.

Making sure vscode uses mypy from the environment is very important now,
because some of these errors get triggered in different ways depending
on the version.
2024-11-17 19:39:07 +01:00
Felix Uhl
70efb0a658 lib: Evaluate partition's _index parameter
This is required to be able to generate sgdisk invocations that are
equivalent to what's currently generated in nix.
2024-11-10 17:39:39 +01:00
Felix Uhl
4f16850ca4 lib: Detect and show new keys in dict_diff 2024-11-10 17:31:44 +01:00
Felix Uhl
c5d1a42af7 tests: Put tests with snapshots into directories
This makes the tests more readable and easier to browse.
Making sure the tests always run fine, no matter from which directory
they're started is a little detail we should either test for or
document.
2024-11-08 21:39:34 +01:00
Felix Uhl
6b360a2534 tests: Add simple tests for eval_config.py 2024-11-08 20:22:46 +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
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