461aa579c2
fmt more stuff
2024-05-29 12:51:43 +02:00
da442c47f6
drop non-compiling wayland-proxy-virtwl
2024-05-29 12:51:18 +02:00
7e087d18ee
Merge pull request 'fix offline build of flash command' ( #1491 ) from pass-nix-options into main
2024-05-29 10:49:15 +00:00
750b6aec59
flash: make configuration more explicit
...
Injecting nixos configuration and potentially overriding settings a user
made and can cause surprises.
In most cases, users want to just make these option part of their NixOS
configuration and by having the rest in the command line
we make it more explicit what other configuration is being applied.
2024-05-29 12:45:50 +02:00
d138e29a53
Merge pull request 'Consistently pass nix options to underlying tools' ( #1488 ) from pass-nix-options into main
2024-05-29 08:25:53 +00:00
f0f97baa65
drop global argparse flags
...
They get shadowed by subargparser options.
2024-05-29 10:21:35 +02:00
c2dc94507e
clan: clarify default backend
2024-05-29 10:17:22 +02:00
5dcac604d1
backup cli: make sure we have a flake
2024-05-29 10:14:14 +02:00
96746b7c98
flash: add write-efi-boot-entries flag
2024-05-29 10:14:14 +02:00
2ae50b7398
allow to override nix options in update/install/flash commands
2024-05-29 10:14:14 +02:00
3c905c5072
clan: add epilog to facts subcommands
2024-05-29 10:10:23 +02:00
5b926f57cc
cli: also register common flags in subcommands
...
When a user runs --help on a subcommand they don't see some options such
as --options or --flake. To fix this we now register all common flags
also in subcommands.
2024-05-29 09:29:49 +02:00
b9788a5dba
Merge pull request 'clan/docs.py: remove epilog from the reference overview' ( #1487 ) from a-kenji-cli/docs/reference-overview into main
2024-05-28 18:05:07 +00:00
7078f09872
clan/docs.py: remove epilog from the reference overview
2024-05-28 20:01:48 +02:00
fe5fa6a85d
packaging: package clan gui for many distros
2024-05-28 17:50:32 +02:00
3b6483e819
packaging: package clan gui for many distros
2024-05-28 17:33:55 +02:00
c81a8681b0
Merge pull request 'clan/docs.py: add epilog to reference docs' ( #1481 ) from a-kenji-docs/epilog into main
2024-05-28 15:13:57 +00:00
31cde90819
clan/docs.py: add epilog to reference docs
...
Fixes #1469
2024-05-28 17:08:46 +02:00
de147f63e9
Fix typos
2024-05-28 14:58:38 +02:00
c34664429c
clan: add descriptions for reference documentation
2024-05-28 11:37:32 +02:00
eee99730d1
clan: add run_no_stdout
function suppressing stdout
...
Add the `run_no_stdout` function suppressing stdout by default.This
keeps the noise down on most commands, while still
stayingdebuggable.Stdout will be active when the `--debug` flag is
passed to the cli.
Fixes #1443
2024-05-28 11:13:55 +02:00
a0b0e1a0ac
editor: improve nixpkgs option completions
2024-05-28 09:34:57 +02:00
d1591d4485
clan: machines --help
add examples to help output
2024-05-27 21:01:05 +02:00
ec9f605004
clan: duplicate description field for generation of the reference documentation
2024-05-27 20:29:34 +02:00
efacb7f184
clan: ssh --help
add examples
...
Add examples to the output of `clan ssh --help`.
2024-05-27 20:14:37 +02:00
a704a05b15
clan: rename cLan to clan
2024-05-27 19:52:51 +02:00
c0a54f539a
consistent rename cLAN -> Clan
2024-05-27 13:58:32 +00:00
e8bd5ad24b
clan: add examples and description to most help
...
Add examples and description to most toplevel help outputs.
2024-05-27 14:33:58 +02:00
775f993ecc
Merge pull request 'clan-cli: Fix nix develop not working in template because of symlink' ( #1462 ) from Qubasa-main into main
2024-05-27 12:05:17 +00:00
0e1478edcd
clan-cli: Fix nix develop not working in template because of symlink
2024-05-27 14:00:31 +02:00
bfc1203a8a
Merge pull request 'init: vscode .#editor' ( #1461 ) from Qubasa-init/editors into main
2024-05-27 12:00:26 +00:00
2bd8b144b9
init: vscode .#editor
2024-05-27 13:52:54 +02:00
64adf17368
drop offline in nix shell
...
Otherwise we become gentoo!
2024-05-27 13:40:11 +02:00
6d7849a03c
clan: fix description of cli tool
2024-05-27 11:51:25 +02:00
81e0700826
clan: facts generate
allow regeneration of facts
...
Add `--regenerate` flag to `clan facts generate` which allows forcing
the generation of facts, regardless of their current existence.
Examples:
```
clan facts generate [MACHINE] --regenerate
```
or
```
clan facts generate [MACHINE] --service [SERVICE] --regenerate
```
2024-05-26 22:55:48 +02:00
4daf036a3c
Merge pull request 'clan: facts generate
specific service' ( #1446 ) from a-kenji-feat/clan/facts-generate-service-1395 into main
2024-05-26 19:57:17 +00:00
4faab0a20f
clan: facts generate
specific service
...
Add `--service` flag to the `clan` cli which allows specifying a certain
service to be generated.
Example:
```
clan facts generate [MACHINE] --service [SERVICE]
```
Fixes #1395
2024-05-26 21:52:56 +02:00
4c4c94c508
Webview: improve linting & typechecks
2024-05-26 18:37:29 +02:00
b0d5ef01ca
Merge pull request 'Api: init response envelop' ( #1444 ) from hsjobeki-feat/api-improvements into main
2024-05-26 16:08:02 +00:00
ab656d5655
API: handle functions with multiple arguments
2024-05-26 18:04:49 +02:00
ed171f0264
Api: init response envelop
2024-05-26 15:57:10 +02:00
270f9d54cb
Merge pull request 'clan: fix clan facts list [MACHINE]
' ( #1442 ) from a-kenji-fix/clan-facts-list into main
2024-05-26 12:29:37 +00:00
73f486fe13
clan: fix clan facts list [MACHINE]
...
Fix `clan facts list [MACHINE]`.
The get command returned a dictionary of bytestrings.
We now convert them to strings.
2024-05-26 14:26:08 +02:00
f54c518fd7
api: fix breaking tests
2024-05-26 14:17:17 +02:00
522fd1bcaa
api: convert name casing
2024-05-26 13:54:21 +02:00
be5c3accfe
webview: fix typo
2024-05-26 13:41:07 +02:00
3998efac78
fix: tests
2024-05-26 13:41:05 +02:00
691ae9fb15
api: improve message serialisation
2024-05-26 13:40:47 +02:00
9bb6ed313f
clan machines list
: reduce noise
...
Don't log nix error output by default on `clan machines list`.
Log it, if `--debug` is passed.
Fixes #1115
2024-05-24 12:55:14 +02:00
fd29ed4693
Merge pull request 'zerotier-members: fix joining by member ip' ( #1397 ) from a-kenji-fix/by-ip into main
2024-05-21 14:42:35 +00:00
9db4e5cf2f
zerotier-members: fix joining by member ip
2024-05-21 16:39:28 +02:00
c1e7e25641
api: fix typing issues
2024-05-21 16:01:57 +02:00
21104a0465
webview: replace dream2nix by buildNpm from nixpkgs to save inputs
2024-05-21 15:52:20 +02:00
e9b0ce6a78
clan ui: add check to build script
2024-05-21 10:09:05 +02:00
d174fbd445
clan ui: move print into log.debug statements
2024-05-20 19:59:50 +02:00
8687801cee
clan ui: setup typed api method
2024-05-20 19:34:49 +02:00
2cb7adb377
clan-ui: rollback default view until webview is ready
2024-05-20 11:08:14 +02:00
a47c2f3e69
zerotier-members: allow joining by zerotier ip
2024-05-19 23:13:26 +02:00
4cfc335e2c
fix: segfault gtk when using webkit
2024-05-18 14:14:12 +00:00
e25bd69c68
clan ui: override webkitgtk unbroken on darwin.
2024-05-18 14:14:12 +00:00
fe17f9e1a1
clan ui: integrate webview ui into clan-mananger-gtk
2024-05-18 14:14:12 +00:00
7980f13bed
add webview threaded api
2024-05-18 14:14:12 +00:00
fef16a84a9
init webview: add webview ui and list machine as api example
2024-05-18 14:14:12 +00:00
8762ee4420
Migrated blog to mkdocs
2024-05-16 15:08:24 +02:00
fd41badbc6
Add --no-reboot flag to clan machine install
2024-05-14 15:41:15 +02:00
d574faf253
Heavily improve documentation and flake template
2024-05-14 15:41:15 +02:00
e668a7f536
Fix build error
2024-05-14 15:41:15 +02:00
3293ac0c14
fix get_keymap_and_locale
2024-05-14 15:41:15 +02:00
be841cdec2
Removed ssh password login
2024-05-14 15:41:15 +02:00
49e39ec505
Add keymap and language detection
2024-05-14 15:41:15 +02:00
c25f7934ba
clan flash: Copied network-status from nixos-images into installer
2024-05-14 15:41:15 +02:00
4f6d25160f
Add --ssh-pubkey FILE argument
2024-05-14 15:41:15 +02:00
148a0c90cc
clan-cli(docs): modularize in preparation for manpage generation
2024-05-14 12:18:37 +02:00
82fa89b57e
Fix template. Improve docu. Add disko as default imported module.
2024-05-10 15:39:46 +02:00
aad130166f
Merge pull request 'hsjobeki-main' ( #1332 ) from hsjobeki-main into main
2024-05-08 10:30:16 +00:00
3e9a1ea68f
vm-manager: hide hidden vm log info
2024-05-08 12:27:16 +02:00
f2a3415e2c
Merge pull request 'clan-cli: add --json
and --png
flags to machine install' ( #1320 ) from a-kenji-feat/clan-install-json into main
2024-05-07 12:52:21 +00:00
2e821c4525
clan-cli: add --json
and --png
flags to machine install
...
Allow using `clan machines [machine] install` in conjunction with the
`--json` and `--png` flags.
Fixes #1180
2024-05-07 14:47:13 +02:00
15dd4ea25f
cli-docs: add automatic markdown cli docs
2024-05-07 13:26:33 +02:00
f8e08a610e
Merge pull request 'Add jsonschema test case' ( #1309 ) from Qubasa-main into main
2024-05-04 12:14:07 +00:00
9ec8b71765
moonlight-sunshine-accept: Fix formatting error
2024-05-03 20:38:53 +02:00
393ed517e2
jsonschema: Filter out 'invisible' options, that are there to throw errors on define
2024-05-03 19:40:42 +02:00
159198b81a
Add jsonschema test case
2024-05-03 19:40:42 +02:00
b95d95554a
Add description field to function-schema
2024-05-02 16:34:25 +02:00
a09e680fa0
Require README.md for every clan module
2024-05-02 16:34:25 +02:00
43c799c3d0
qga: add argument 'check'
2024-05-02 15:03:22 +02:00
a48df5b993
Add package function-schema and module-schema. Add check for module jsonschema.
2024-05-01 23:16:17 +02:00
bfe4f2c8f4
add cli docs generator
2024-04-30 19:01:53 +02:00
1051367ca4
add cli docs generator
2024-04-30 18:53:00 +02:00
b5653c169b
sops: fix setting secret from pipe
2024-04-30 14:04:49 +02:00
5606101ce8
sops: also log content type on error
2024-04-30 13:56:07 +02:00
f383c6f82d
clan-cli: add CLAN_DIR
environment variable
...
Add the `CLAN_DIR` environment variable.
With this the user can specify the location of the clan.
2024-04-30 12:00:47 +02:00
95f93d8800
clan(help): standardise on machine capitalisation
2024-04-26 12:07:09 +02:00
a3f6996d69
clan(help): improve install description
2024-04-26 11:42:18 +02:00
4a66cdffaf
vm-manager: move signals to emitter
2024-04-24 14:41:53 +02:00
cf67de2f69
secrets: ensure all added/deleted files get committed
2024-04-24 17:26:32 +07:00
9778c432c2
vm-manager: add empty list screen
2024-04-23 16:18:10 +02:00
1da6a0c5a2
vm-manager: add empty list screen
2024-04-23 16:17:09 +02:00
5f5155023c
vm-manager: add empty list screen
2024-04-23 16:16:48 +02:00
1366d0bcf6
WIP
2024-04-23 11:16:33 +02:00
3c02453705
installer: fix qr code again
2024-04-22 21:04:41 +02:00
4ae5b24d24
installer: make qrcode compatible with nixos-images
2024-04-22 20:49:35 +02:00
9cb23b807c
clan-cli ssh: fix qr code format
2024-04-22 20:21:44 +02:00
0a1cc29abf
clan-cli ssh: --json can be file or str
2024-04-22 20:13:17 +02:00
6becce81cb
clan: clan machines install
use verbose flag
2024-04-19 16:38:39 +02:00
e81a7415d8
clan: clan ssh
fix password login
2024-04-17 21:45:14 +02:00
72811d0828
clan: clan ssh
fix for new installer image
2024-04-17 18:20:40 +02:00
9f808b1bdb
pkgs: add metadata
...
Closes #1151
2024-04-17 13:32:50 +02:00
498d29cca1
clan-cli: fix clan ssh
--json
and --png
...
This fixes `clan ssh` with the `--json` and `--png` flags.
It will now correctly use the actual fields that are present in the
generated json.
- probes if the ports are accessible
- if accessible will attempt a single ssh connection with the provided
password, in order to not spam ssh attempts
Fixes #1177
2024-04-17 10:12:37 +00:00
dcad0d0d79
include machine name when generating secrets
2024-04-15 22:17:53 +02:00
f385e0e037
refactor facts command to regenerate facts for all machines
2024-04-15 22:14:54 +02:00
b474de8137
vm-manager: fix typos in error message
2024-04-13 12:18:58 +02:00
9f3fcaf68e
clan-vm-manager: fix wording in toast
2024-04-13 11:55:58 +02:00
fff810ed43
clan-cli: fix typos
2024-04-12 17:40:54 +02:00
b3522b73aa
fix case when secrets are regenerated during update/install
2024-04-12 14:46:51 +02:00
057d0defee
clan-vm-manager: Add install-desktop.sh. Fix incorrect doku link
2024-04-12 11:47:18 +02:00
d292f2de98
docs: fix unsupported languages
2024-04-10 18:40:51 +02:00
70282b8d77
build iso with nixos-generators
2024-04-10 15:03:55 +02:00
fc73301ed9
vms/run.py: refactor use kwargs instead of dataclass for function args
2024-04-09 14:30:46 +07:00
4faba7c8e1
template: Reverted systemd-boot in installer. EF02 partition on wrong second place
2024-04-07 17:09:44 +02:00
55f3878e67
machine.md: clean up guide
2024-04-07 14:32:23 +02:00
91dddc2281
Fix merge issue
2024-04-06 11:56:06 +02:00
a520116584
Improve documentation
2024-04-06 11:54:34 +02:00
818cc4d135
flash: expose mode option
2024-04-05 18:48:37 +02:00
3212410704
add flake-parts module for clan
2024-04-03 16:45:06 +02:00
f7077e3540
flash: improve prompt if no disk is specified
2024-04-03 12:00:02 +02:00
de91938760
Clan VM Manager: connect feedback with events
2024-04-03 11:36:33 +02:00
8b4dbc60b5
clan/install: drop -t flag from nixos-anywhere
2024-04-02 13:50:24 +02:00
9bb4c8d094
clan-cli: add a check for the flatpak sandbox
...
Allows for differentiation between sandbox and non sandbox usage.
2024-04-02 12:19:48 +02:00
16ae51105e
cli/secrets: show hint in --help on how to retrieve a key
2024-04-02 14:36:01 +07:00
b10c4f5846
Merge pull request 'refactor clanCore.secrets -> clanCore.facts' ( #1040 ) from facts_refactor2 into main
2024-03-27 15:20:21 +00:00
a8d35d37e7
refactor clanCore.secrets -> clanCore.facts
2024-03-27 16:03:16 +01:00
e6ad0cfbc1
clan-cli: Fix tmpdir leak and fix tests/temporary_dir inconsistencies
2024-03-27 15:51:52 +01:00
80abeef994
Revert "ssh: add interactive flag"
...
This reverts commit c5db14dea8
.
2024-03-26 13:13:35 +01:00
7b8a49bf6c
ssh: default tty to False
...
nix behaves weird when the terminal is interactive because
we are also do line buffering.
2024-03-26 13:05:11 +01:00
c5db14dea8
ssh: add interactive flag
2024-03-26 12:51:46 +01:00
0e2cb172e6
cli/ssh: allocate tty by default
...
-t is only enabled when the local ssh command is also connected to a tty,
so it seems to be enabled by default.
2024-03-26 12:07:15 +01:00
270f906412
fix casing in facts generate logs
2024-03-25 15:33:57 +01:00
a886fd9b2d
switch back to upstream waypipe
2024-03-25 13:34:02 +01:00
0fa36252c2
re-encrypt secrets after rotating users/machines keys
2024-03-25 12:34:29 +01:00
cd9db02db0
add hint to use --force when a key already exists
2024-03-25 11:06:20 +01:00
e26d1052b6
select-shell: Fix breakage with previous shell.nix change
2024-03-25 00:32:03 +01:00
9dbc71e446
clan-vm-manager: devshell doesn't require clan-cli derivation
2024-03-24 23:52:30 +01:00
5fd4a63e17
Merge pull request 'clan-vm-manager: Basic pytest framework established' ( #1026 ) from Qubasa-main into main
2024-03-24 22:41:07 +00:00
8ab9d20342
clan-vm-manager: Working pytest skeleton. clan-cli: Fixing devshell depending on itself
2024-03-24 23:36:00 +01:00
f16667e25a
refactor secrets & facts -> secret_facts & public_facts
2024-03-23 05:46:54 +01:00
0ee8dceee2
clan-vm-manager: Basic pytest framework established
2024-03-22 19:08:35 +01:00
ae50796e1d
Merge pull request 'sunshine: improve launching of pairing' ( #1021 ) from a-kenji-sunshine/improve-accept into main
2024-03-20 09:00:58 +00:00
f0b00b7360
sunshine: improve launching of pairing
2024-03-20 09:55:25 +01:00
539df08706
backups: skip preRestore and postRestore if not specified by a service
2024-03-20 09:32:01 +01:00
aa659bcc17
backups: no longer interpret backup interface as bash commands
2024-03-20 09:32:01 +01:00
92ac151292
rework backup interface to no longer need to list backups to restore them
2024-03-20 09:32:01 +01:00
2560eef424
backups: don't export all local environment over ssh
2024-03-20 08:29:05 +00:00
9383e41d68
make backup provider more generic
2024-03-20 08:29:05 +00:00
83efb33eb7
fmt
2024-03-19 12:40:58 +01:00
0695e2c0fc
Merge branch 'main' into init/sunshine-accept
2024-03-19 12:33:45 +01:00
32d0f1ccd4
init: sunshine-moonlight-accept module
2024-03-19 12:11:09 +01:00
580010581c
devshell: remove dependency on clan-cli derivation
...
The devShell depended on clan-cli due to it being included as a dependency in the treefmt config. This is not optimal because this makes the devshell rebuild unnecessary often and also lead to build failures of the dev-shell if the clan-cli code is in a broken state (git rebasing, or during development etc.)
2024-03-19 13:00:59 +07:00
5ff36a2cd8
nixos-install: also respect port
2024-03-17 22:18:22 +01:00
9f25f47298
allow to debug nixos-anywhere
2024-03-17 21:36:22 +01:00
dd0ad2683b
drop secret store logging from install command
2024-03-17 21:32:23 +01:00
e296a3019d
re-format with nixfmt
2024-03-17 19:48:49 +01:00
77c0e6b31a
make installer nixos module stand-alone
2024-03-17 19:38:50 +01:00
c15043c4f1
fix evaluation of backup module
2024-03-17 18:16:08 +01:00
e4f4680206
clan-vm-manager: init log view with current state of log
2024-03-17 14:57:32 +01:00
b44cbf5c76
clan-vm-manager: connect log view to build state of machines
2024-03-17 14:08:39 +01:00
7537af3943
merge-after-ci: fix bug
2024-03-14 12:46:17 +07:00
a9dbd92ff3
merge-after-ci: set labels correctly
2024-03-13 19:11:12 +07:00
a9fc8de2d0
allow multi-line interactive secrets
2024-03-13 11:18:56 +01:00
4044e42e58
fix: typo
2024-03-12 17:37:19 +01:00
4e5d051847
clan_vm_manager: Fix mypy errors for clan_cli types
2024-03-12 23:27:20 +07:00
934cf6e57a
mypy: fix clan-cli import in vm-manager
2024-03-12 16:10:54 +00:00
4687c816ab
clan-vm-manager: add log view
2024-03-10 14:10:59 +01:00
ee8fa1da0a
vm-manager: add toast overlay to main window
2024-03-10 10:40:00 +01:00
129a1516f6
clan-cli: Readd mypy ignore clan_cli because of treefmt complaining
2024-03-10 16:06:03 +07:00
167f7f4eb3
clan-cli: Add py.typed to make mypy work when used as library in clan-vm-manager
2024-03-10 15:18:18 +07:00
14900a702b
clan-vm-manager: Readd ignore for clan_cli because nix fmt fails in CI. But why \?
2024-03-09 23:51:59 +07:00
5c8343d943
clan-vm-manager: Remove mypy ignore clan_cli types
2024-03-09 23:17:00 +07:00
01351ff5a1
clan-vm-manager: Add library for mypy pygobject types
2024-03-09 23:15:32 +07:00
59de33b68a
docs: improve start command
2024-03-09 11:25:11 +01:00
11cfc49d27
docs: improve readme for better onboarding
2024-03-09 10:58:12 +01:00
372e212c0c
clan_cli: Renamed ClanUrl to FlakeId
2024-03-08 23:47:27 +07:00
f4f3176374
clan-vm-manager: Fix ClanUrl not pickable
2024-03-08 23:23:18 +07:00
e4896814f2
clan_cli: Add TimeTable class to cmd.py. Fix bugs in Machine rewrite
2024-03-08 22:01:54 +07:00
068f89e453
clan_vm_manager: Rewrite of Machine Class Part 1
2024-03-08 15:32:12 +07:00
4dfe4ecfa6
fix building installer iso
2024-03-07 17:24:57 +01:00
26dd962799
treefmt
2024-03-07 14:13:11 +01:00
f599243cbd
add flash command
2024-03-07 14:13:11 +01:00
ab2defa9e4
add confirmation prompt when installing
2024-03-07 14:13:11 +01:00
a17eb3e8a3
clan_vm_manager: Fix broken vm start
2024-03-07 19:09:01 +07:00
442e5b45ba
clan_cli: Simplify ClanURI
2024-03-07 19:04:48 +07:00
93c868a3b7
clan_cli: Rewrite ClanURI
2024-03-07 16:41:37 +07:00
a6f652bdfc
clan_cli,clan_vm_manager: Moved profiler to clan_cli. Add cmd timer to see how long run commands take
2024-03-06 17:12:20 +07:00
0e8622c491
clan_vm_manager: Fix switch desync when pressed too fast. Secrets folder shared between build and run. clan_cli: run_vm now can have custom tmpdir location
2024-03-06 16:32:19 +07:00
0481746198
drop meshnamed from repository
...
It's not super useful and we can always add it back later if we need it.
2024-03-06 10:02:21 +01:00
cee9beb8a9
Merge pull request 'clan-cli sops: accept bytes' ( #891 ) from sops_bytes into main
2024-03-06 08:45:44 +00:00
fb21a7378d
clan-vm-manager: Add register_on_change to GKVStore. Improve overall signal typing.
2024-03-06 15:05:10 +07:00
6f590ce389
clan_vm_manager: Fix switch <-> vm status desync
2024-03-06 00:32:22 +07:00
cd5afa1329
clan_vm_manager: Fix join list not rerendering correctly when updating clan_store
2024-03-06 00:18:42 +07:00
0840fffe26
clan_vm_manager: Fix incorrect detection of vm already in list
2024-03-06 00:18:42 +07:00