Johannes Kirschbauer
e73350f6af
test: fix add modules
2025-07-27 12:48:04 +02:00
Johannes Kirschbauer
98a0b9600b
api/writability: add docstring
2025-07-27 12:47:37 +02:00
Johannes Kirschbauer
abeb517a22
api/writability: add unit test
2025-07-27 00:03:05 +02:00
Johannes Kirschbauer
fbdbcfa6d5
InventoryStore: factor write into _write for actual disk interaction
2025-07-27 00:02:47 +02:00
Johannes Kirschbauer
303af9af6b
api: init get_machine_writeability
2025-07-27 00:01:51 +02:00
Johannes Kirschbauer
414e412e7e
persist/writeability: expose is writeable key helper
2025-07-27 00:01:36 +02:00
Johannes Kirschbauer
c2e84f11af
persist/util: add field helper
2025-07-27 00:01:07 +02:00
Johannes Kirschbauer
bf2eb000d5
api/set_machine: add unit tests
2025-07-26 23:59:51 +02:00
hsjobeki
b01029ccd4
Merge pull request 'pyproject: remove global SLF001 ignore' ( #4503 ) from cli-fixes into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4503
2025-07-26 18:28:06 +00:00
Johannes Kirschbauer
798c1a9277
pyproject: remove global SLF001 ignore
...
ignoring SLF001 (private member access) globally is not ideal, as it disables a valuable check throughout the entire codebase
disable SLF001 only for test files instead
2025-07-26 20:24:20 +02:00
hsjobeki
d6327e0bc9
Merge pull request 'adr-01: add clarifying sentence' ( #4502 ) from adr-fix into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4502
2025-07-26 16:01:46 +00:00
Johannes Kirschbauer
f5b2be63d5
adr-01: add clarifying sentence
2025-07-26 17:58:02 +02:00
Kenji Berthold
6e904de655
Merge pull request 'pkgs/cli: machines install handle invalid character' ( #4488 ) from kenji/ke-clan-machines-install-prompt into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4488
2025-07-26 13:29:10 +00:00
a-kenji
0a43721a45
pkgs/clan/lib: Fix clan template creation when already in a flake
...
Fix clan template creation when already in a flake.
Currently we already fail with very clear and descriptive error when
trying to evaluate the template of the flake we are in:
```
Failed to select template 'flake-parts' from flake '/tmp/superclan' (via attribute path: /tmp/superclan#clanInternals.templates.clan."flake-parts")
```
This is undesired behavior.
When we are trying to create a clan with `clan flakes create`.
We can't rely on the fact that the flake we are currently in exports flake templates.
Now we *try* to evaluate the flake we are in upon creation.
If there are no clan templates available, we now will fall back to
builtin templates.
Closes : #4472
2025-07-26 15:21:44 +02:00
a-kenji
51eb7bd0b5
pkgs/cli/create: Show less output by default
...
This masks the output of `nix flake update`, since it is quite verbose
and takes attention away to usually more interesting and pressing
information.
Example:
```
unpacking 'https://git.clan.lol/clan/clan-core/archive/main.tar.gz ' into the Git cache...
warning: creating lock file "/tmp/hoowowo/clan/flake.lock":
• Added input 'clan-core':
'1d8ac7b1b5 .tar.gz?narHash=sha256-eBxi0ZMwaALfMsP70N0FRMlOSq0qePv%2BjebVBHXlOqk%3D' (2025-07-25)
• Added input 'clan-core/data-mesher':
'18dfd42bdb .tar.gz?narHash=sha256-jyoEbaXa8/MwVQ%2BPajUdT63y3gYhgD9o7snO/SLaikw%3D' (2025-07-21)
• Added input 'clan-core/data-mesher/flake-parts':
follows 'clan-core/flake-parts'
• Added input 'clan-core/data-mesher/nixpkgs':
follows 'clan-core/nixpkgs'
• Added input 'clan-core/data-mesher/treefmt-nix':
follows 'clan-core/treefmt-nix'
• Added input 'clan-core/disko':
'github:nix-community/disko/545aba02960caa78a31bd9a8709a0ad4b6320a5c?narHash=sha256-7lrVrE0jSvZHrxEzvnfHFE/Wkk9DDqb%2BmYCodI5uuB8%3D' (2025-07-21)
• Added input 'clan-core/disko/nixpkgs':
follows 'clan-core/nixpkgs'
• Added input 'clan-core/flake-parts':
'github:hercules-ci/flake-parts/644e0fc48951a860279da645ba77fe4a6e814c5e?narHash=sha256-TVcTNvOeWWk1DXljFxVRp%2BE0tzG1LhrVjOGGoMHuXio%3D' (2025-07-21)
• Added input 'clan-core/flake-parts/nixpkgs-lib':
follows 'clan-core/nixpkgs'
• Added input 'clan-core/nix-darwin':
'github:nix-darwin/nix-darwin/e04a388232d9a6ba56967ce5b53a8a6f713cdfcf?narHash=sha256-HsJM3XLa43WpG%2B665aGEh8iS8AfEwOIQWk3Mke3e7nk%3D' (2025-06-30)
• Added input 'clan-core/nix-darwin/nixpkgs':
follows 'clan-core/nixpkgs'
• Added input 'clan-core/nix-select':
'69d8bf5961 .tar.gz?narHash=sha256-IVaoOGDIvAa/8I0sdiiZuKptDldrkDWUNf/%2BezIRhyc%3D' (2025-04-18)
• Added input 'clan-core/nixos-facter-modules':
'github:nix-community/nixos-facter-modules/14df13c84552a7d1f33c1cd18336128fbc43f920?narHash=sha256-uP9Xxw5XcFwjX9lNoYRpybOnIIe1BHfZu5vJnnPg3Jc%3D' (2025-06-20)
• Added input 'clan-core/nixpkgs':
'https://releases.nixos.org/nixpkgs/nixpkgs-25.11pre827262.be9e214982e2/nixexprs.tar.xz?narHash=sha256-lUi%2BsPH7Kuh9uP3PyfgbENcJGReUM8Ffk9GxGBFbSN8%3D ' (1980-01-01)
• Added input 'clan-core/sops-nix':
'github:Mic92/sops-nix/2c8def626f54708a9c38a5861866660395bb3461?narHash=sha256-GllP7cmQu7zLZTs9z0J2gIL42IZHa9CBEXwBY9szT0U%3D' (2025-07-15)
• Added input 'clan-core/sops-nix/nixpkgs':
follows 'clan-core/nixpkgs'
• Added input 'clan-core/systems':
'github:nix-systems/default/da67096a3b9bf56a91d16901293e51ba5b49a27e?narHash=sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768%3D' (2023-04-09)
• Added input 'clan-core/treefmt-nix':
'github:numtide/treefmt-nix/421b56313c65a0815a52b424777f55acf0b56ddf?narHash=sha256-tzbhc4XttkyEhswByk5R38l%2BztN9UDbnj0cTcP6Hp9A%3D' (2025-07-20)
• Added input 'clan-core/treefmt-nix/nixpkgs':
follows 'clan-core/nixpkgs'
• Added input 'flake-parts':
'github:hercules-ci/flake-parts/644e0fc48951a860279da645ba77fe4a6e814c5e?narHash=sha256-TVcTNvOeWWk1DXljFxVRp%2BE0tzG1LhrVjOGGoMHuXio%3D' (2025-07-21)
• Added input 'flake-parts/nixpkgs-lib':
follows 'clan-core/nixpkgs'
• Added input 'nixpkgs':
follows 'clan-core/nixpkgs'
```
Those are 48 lines that seldom carry actual useful information.
This can be shown on running `clan flakes create` with the `--debug`
flag.
Closes : #4496
2025-07-26 14:11:56 +02:00
Kenji Berthold
1d8ac7b1b5
Merge pull request 'pkgs/cli/lib: Allow clan templates list to function outside a clan' ( #4490 ) from kenji/ke-templates-list-without-clan into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4490
Reviewed-by: hsjobeki <hsjobeki@gmail.com >
2025-07-25 14:32:15 +00:00
a-kenji
5b5f1975c5
pkgs/cli/lib: Allow clan templates list to function outside a clan
...
Allow `clan templates list` to function outside a clan.
Currently when bootstrapping a clan and trying to list the templates
it fails as follows:
```
Traceback (most recent call last):
File "/nix/store/pkrsr8zr90bps1fwrl8n74zbb9g038b8-clan-cli/bin/.clan-wrapped", line 9, in <module>
sys.exit(main())
~~~~^^
File "/nix/store/pkrsr8zr90bps1fwrl8n74zbb9g038b8-clan-cli/lib/python3.13/site-packages/clan_cli/cli.py", line 516, in main
args.func(args)
~~~~~~~~~^^^^^^
File "/nix/store/pkrsr8zr90bps1fwrl8n74zbb9g038b8-clan-cli/lib/python3.13/site-packages/clan_cli/templates/list.py", line 11, in list_command
templates = list_templates(args.flake)
File "/nix/store/pkrsr8zr90bps1fwrl8n74zbb9g038b8-clan-cli/lib/python3.13/site-packages/clan_lib/templates/__init__.py", line 20, in list_templates
custom_templates = flake.select("clanInternals.inventoryClass.templatesPerSource")
^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'select'
```
With the change we get the following output:
```
Available 'clan' templates
├── <builtin>
│ ├── default: Initialize a new clan flake
│ ├── flake-parts: Flake-parts
│ └── minimal: for clans managed via (G)UI
Available 'disko' templates
├── <builtin>
│ └── single-disk: A simple ext4 disk with a single partition
Available 'machine' templates
├── <builtin>
│ ├── flash-installer: Initialize a new flash-installer machine
│ └── new-machine: Initialize a new machine
```
Allowing to check for available templates without needing to have a
clan, which improves the bootstrapping experience.
2025-07-25 16:14:43 +02:00
Kenji Berthold
bac2f15668
Merge pull request 'docs: Fix typos in hero section of the documentation index' ( #4495 ) from kenji/ke-docs-fix-typo into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4495
2025-07-25 12:45:19 +00:00
Kenji Berthold
3804c62c7d
Merge pull request 'docs: Fix grammar of getting started card' ( #4494 ) from kenji/ke-fix-grammar into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4494
2025-07-25 12:45:13 +00:00
a-kenji
326f418c88
pkgs/cli: Remove uncommented logic from creation test
2025-07-25 14:44:20 +02:00
a-kenji
9ebba12e5b
docs: Fix typos in hero section of the documentation index
2025-07-25 14:30:32 +02:00
a-kenji
1924d222e1
docs: Fix grammar of getting started card
2025-07-25 14:29:19 +02:00
Luis Hebendanz
15d88ba595
Merge pull request 'docs: Replace backup guide with the new one from Bruno Adele' ( #4493 ) from Qubasa/clan-core:improv_docs3 into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4493
2025-07-25 10:34:01 +00:00
Qubasa
986e74663a
docs: Replace backup guide with the new one from Bruno Adele
...
docs: fix build errors
2025-07-25 17:30:05 +07:00
hsjobeki
2d85230097
Merge pull request 'templates(default): Enable modern GNOME options by default' ( #4489 ) from kenji/ke-templates-enable-gnome into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4489
2025-07-25 09:57:05 +00:00
Luis Hebendanz
0e1fe60d8a
Merge pull request 'Improve landing page for docs, re-enable footer navigation' ( #4491 ) from Qubasa/clan-core:improv_docs into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4491
2025-07-25 09:32:44 +00:00
Qubasa
cad7d2d95f
docs: reword concepts description
...
docs: fix build errors
2025-07-25 16:29:22 +07:00
Qubasa
e1f57cd618
docs: Improve the documentation index page
2025-07-25 16:07:18 +07:00
Qubasa
51b4b0b647
docs: FIx old nix symlinks not being cleaned up
2025-07-25 15:20:26 +07:00
Qubasa
abc78bac57
docs: Add a navigation footer button
2025-07-25 15:20:03 +07:00
Luis Hebendanz
510ab2811a
Merge pull request 'docs(borgbackup): add detailed usage and management guide for borgbackup clanServices' ( #4484 ) from badele/fork-clan-core:docs/clanservices-borgbackup into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4484
2025-07-25 07:43:44 +00:00
Bruno Adelé
5e81b26b87
fix(readme): correct relative link to state documentation
2025-07-25 09:08:08 +02:00
Bruno Adelé
2618d0d68f
Merge branch 'main' into docs/clanservices-borgbackup
2025-07-24 22:43:19 +00:00
lassulus
55d944ff55
Merge pull request 'networking module part 2' ( #4471 ) from networking_2 into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4471
2025-07-24 20:34:27 +00:00
lassulus
1a5b77d47a
refactor: generalize Tor support to SOCKS5 proxy in network module
...
- Replace Tor-specific implementation with generic SOCKS5 proxy support
- Change `tor_socks` boolean to `socks_port` and `socks_wrapper` parameters
- Move Tor functionality to clan_lib.network.tor submodule
- Add connection context managers to NetworkTechnologyBase
- Improve network abstraction with proper remote() and connection() methods
- Update all callers to use new SOCKS5 proxy interface
- Fix network ping command to properly handle connection contexts
This allows for more flexible proxy configurations beyond just Tor,
while maintaining backward compatibility for Tor usage.
2025-07-24 22:26:44 +02:00
lassulus
9e85c64139
clan-cli flake: show cache file location
2025-07-24 22:24:34 +02:00
lassulus
7dd9e6b97c
clan-cli vars: show which var we are getting in debug log
2025-07-24 22:24:15 +02:00
a-kenji
6cd75f5abd
templates(default): Enable modern GNOME options by default
...
Closes : #4474
2025-07-24 22:07:46 +02:00
a-kenji
6cea3e6c60
pkgs/cli: machines install handle invalid character
...
Re-request prompt, if invalid character is specified.
None is still treated as no as per CLI hint [y/N].
We now also accept Y/N.
Closes : #4475
2025-07-24 22:00:31 +02:00
hsjobeki
f5b4e44aed
Merge pull request 'docs: unify documentation' ( #4485 ) from migration-docs into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4485
2025-07-24 14:59:03 +00:00
Johannes Kirschbauer
b6a04e4f12
docs: restore index page
2025-07-24 16:54:49 +02:00
Johannes Kirschbauer
caaf9dc4f3
docs: unify documentation
...
Strictly enforce diataxis
Use resource driven approach
Can extend later to add 'developer' link index page
2025-07-24 16:51:57 +02:00
Luis Hebendanz
9668c318dc
Merge pull request 'fix flake select logging' ( #4483 ) from Qubasa/clan-core:fix_flake_select_logging into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4483
2025-07-24 11:44:21 +00:00
Bruno Adelé
e5befb9226
docs(borgbackup): add detailed usage and management guide
2025-07-24 13:36:04 +02:00
Qubasa
033f34c0b8
ruff: Ignore accessed internal variable error as it is needed in tests quite often
...
remove incorrect doc change
2025-07-24 18:30:19 +07:00
Qubasa
7146c97362
clan_lib: Fix flake.select logging, now we log the first time select queries a path for the first time, it doesn't matter if it is cached or not.
2025-07-24 18:27:40 +07:00
brianmcgee
428451dca6
Merge pull request 'feat(ui): animate sidebar pane entry/exit' ( #4482 ) from ui/sidebar-pane-animation into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4482
2025-07-24 10:44:49 +00:00
Brian McGee
d3d1489829
feat(ui): animate sidebar pane entry/exit
2025-07-24 11:40:54 +01:00
Qubasa
b74aa31b87
clan-lib: Fix missing logging for flake.select execution
2025-07-24 17:29:09 +07:00
brianmcgee
20550baa38
Merge pull request 'fix(ui): increase z index for sidebar dropdown' ( #4481 ) from fix/sidebar-dropdown-z-index into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4481
2025-07-24 09:27:16 +00:00