these 3 derivations will be built: /nix/store/0j7nbz1yzf04kj3fddqlh94ffn8imikl-treefmt.toml.drv /nix/store/92kqbb8x2k09klwzy3jncx5a3ki9wc3i-treefmt.drv /nix/store/g4yfs47ly6rl1qh2lad8aal89qkyrfcf-treefmt-check.drv these 19 paths will be fetched (21.1 MiB download, 86.4 MiB unpacked): /nix/store/l88fm1fh4i2nv2f3nx1gsyf92g4fma0i-actionlint-1.7.12 /nix/store/x5wba3zskk6sxmwbz1b06ry13r9xa09n-clang-tools-21.1.8 /nix/store/yj1mig8qjn6lj4940fasrys5whcg1sqh-dbus-1.16.2-lib /nix/store/x7fjxrn817q4xzyh2shjgfw100wll3q6-flake-edit-0.3.6 /nix/store/3l9w5l46xcnfs0ywgpifkaszv6732fcr-hclfmt-2.24.0 /nix/store/6sy6891s7hjnnw4y65g0y1b17n5k9yjl-nixfmt-rs-0.4.1 /nix/store/jszzqbh04h380dwf12mas7hmwjgjp29h-olm-3.2.16 /nix/store/wh2f7m8ryjh2lzfsxhr1pqqk4277k1pw-python3.14-asyncpg-0.31.0 /nix/store/f1yqpv4hl7h7vqh17bqx8nz5282ix671-python3.14-base58-2.1.1 /nix/store/0fcaz0qwz8qm2ywb8v59bwsj7can1m5r-python3.14-dbus-python-1.4.0 /nix/store/lr1jp70gg6gnaa950vwrran6khsp6mj6-python3.14-jaraco-classes-3.4.0 /nix/store/6knylc63rq6zyh6hf4kx1i63c14rs23l-python3.14-jaraco-context-6.1.0 /nix/store/bjr03vrgx61c72ircjdynixd15n72hnh-python3.14-jaraco-functools-4.4.0 /nix/store/gmkrw4g3s40gcyw4a9232clm61bdfmi3-python3.14-keyring-25.7.0 /nix/store/rrjvg7qg66am5ihz4l2r6kl5nypzmyrc-python3.14-mautrix-0.21.0 /nix/store/y51rys4brmqi2xp3lx3nlp6ybnswibwf-python3.14-pycryptodome-3.23.0 /nix/store/f9d37x68cjnvjqc54w95gv39cix114z9-python3.14-python-olm-3.2.16 /nix/store/p8cz5727f779z143vbrzp1wrq32791hj-python3.14-unpaddedbase64-2.1.0 /nix/store/nv8jl5rapzdzw2ax3h0dlm8d8dvb3f69-stylua-2.5.2 building '/nix/store/0j7nbz1yzf04kj3fddqlh94ffn8imikl-treefmt.toml.drv' on 'ssh-ng://customer@mac02' building '/nix/store/0j7nbz1yzf04kj3fddqlh94ffn8imikl-treefmt.toml.drv' treefmt.toml> structuredAttrs is enabled building '/nix/store/92kqbb8x2k09klwzy3jncx5a3ki9wc3i-treefmt.drv' on 'ssh-ng://customer@mac02' building '/nix/store/92kqbb8x2k09klwzy3jncx5a3ki9wc3i-treefmt.drv' building '/nix/store/g4yfs47ly6rl1qh2lad8aal89qkyrfcf-treefmt-check.drv' on 'ssh-ng://customer@mac02' building '/nix/store/g4yfs47ly6rl1qh2lad8aal89qkyrfcf-treefmt-check.drv' treefmt-check> treefmt v2.5.0ERRO formatter | ruff-check: failed to apply with options '[check --fix]': exit status 1 treefmt-check> treefmt-check> CPY001 Missing copyright notice at top of file treefmt-check> --> darwinModules/app-store/declarative-app-store.py:1:1 treefmt-check> treefmt-check> CPY001 Missing copyright notice at top of file treefmt-check> --> home-manager/modules/calendar-notify.py:1:1 treefmt-check> treefmt-check> CPY001 Missing copyright notice at top of file treefmt-check> --> home-manager/modules/herdr/registry.py:1:1 treefmt-check> treefmt-check> CPY001 Missing copyright notice at top of file treefmt-check> --> home-manager/modules/neovim/nvim_open.py:1:1 treefmt-check> treefmt-check> CPY001 Missing copyright notice at top of file treefmt-check> --> home/.config/todoman/__init__.py:1:1 treefmt-check> treefmt-check> CPY001 Missing copyright notice at top of file treefmt-check> --> home/.config/todoman/config.py:1:1 treefmt-check> treefmt-check> CPY001 Missing copyright notice at top of file treefmt-check> --> home/.gemini/hooks/bell-notify.py:1:1 treefmt-check> treefmt-check> CPY001 Missing copyright notice at top of file treefmt-check> --> home/.weechat/python/herdr_notify.py:1:1 treefmt-check> treefmt-check> PLR0917 Too many positional arguments (8 > 5) treefmt-check> --> home/.weechat/python/herdr_notify.py:59:5 treefmt-check> | treefmt-check> 59 | def message_cb( treefmt-check> | ^^^^^^^^^^ treefmt-check> 60 | data: str, treefmt-check> 61 | buffer: str, treefmt-check> | treefmt-check> treefmt-check> CPY001 Missing copyright notice at top of file treefmt-check> --> machines/eva/modules/telegraf/http-sd-generate.py:1:1 treefmt-check> treefmt-check> CPY001 Missing copyright notice at top of file treefmt-check> --> machines/eve/modules/paperless-perms/paperless_perms/__init__.py:1:1 treefmt-check> treefmt-check> CPY001 Missing copyright notice at top of file treefmt-check> --> machines/eve/modules/paperless-perms/paperless_perms/apps.py:1:1 treefmt-check> treefmt-check> CPY001 Missing copyright notice at top of file treefmt-check> --> machines/eve/pkgs/sieve-flagged-forward/notify-flagged.py:1:1 treefmt-check> treefmt-check> CPY001 Missing copyright notice at top of file treefmt-check> --> machines/eve/pkgs/sieve-flagged-forward/test_notify_flagged.py:1:1 treefmt-check> treefmt-check> CPY001 Missing copyright notice at top of file treefmt-check> --> machines/turingmachine/modules/networkmanager/__init__.py:1:1 treefmt-check> treefmt-check> CPY001 Missing copyright notice at top of file treefmt-check> --> nixosModules/kde/__init__.py:1:1 treefmt-check> treefmt-check> CPY001 Missing copyright notice at top of file treefmt-check> --> nixosModules/kde/audio_chooser.py:1:1 treefmt-check> treefmt-check> CPY001 Missing copyright notice at top of file treefmt-check> --> pkgs/cewe-fotowelt/update.py:1:1 treefmt-check> treefmt-check> CPY001 Missing copyright notice at top of file treefmt-check> --> pkgs/crabfit-cli/crabfit_cli.py:1:1 treefmt-check> treefmt-check> CPY001 Missing copyright notice at top of file treefmt-check> --> pkgs/gh-radicle/gh_radicle.py:1:1 treefmt-check> treefmt-check> CPY001 Missing copyright notice at top of file treefmt-check> --> pkgs/kdeconnect/update.py:1:1 treefmt-check> treefmt-check> CPY001 Missing copyright notice at top of file treefmt-check> --> pkgs/librewolf-macos/update.py:1:1 treefmt-check> treefmt-check> SIM115 Use a context manager for opening files treefmt-check> --> pkgs/live-text/live_text/main.py:30:11 treefmt-check> | treefmt-check> 28 | def _tmp_png(stack: contextlib.ExitStack) -> Path: treefmt-check> 29 | """Create a temporary PNG file that is deleted when the stack exits.""" treefmt-check> 30 | tmp = tempfile.NamedTemporaryFile(suffix=".png", prefix="live-text-", delete=False) treefmt-check> | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ treefmt-check> 31 | tmp.close() treefmt-check> 32 | path = Path(tmp.name) treefmt-check> | treefmt-check> treefmt-check> SIM115 Use a context manager for opening files treefmt-check> --> pkgs/live-text/live_text/overlay.py:1555:15 treefmt-check> | treefmt-check> 1553 | return treefmt-check> 1554 | treefmt-check> 1555 | tmp = tempfile.NamedTemporaryFile( treefmt-check> | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ treefmt-check> 1556 | suffix=".png", prefix="annotated-", delete=False treefmt-check> 1557 | ) treefmt-check> | treefmt-check> treefmt-check> DTZ005 `datetime.datetime.now()` called without a `tz` argument treefmt-check> --> pkgs/live-text/live_text/overlay.py:1588:21 treefmt-check> | treefmt-check> 1586 | save_dir = Path.home() / "Pictures" / "Screenshots" treefmt-check> 1587 | save_dir.mkdir(parents=True, exist_ok=True) treefmt-check> 1588 | timestamp = datetime.now().strftime("%Y-%m-%d-%H-%M-%S") treefmt-check> | ^^^^^^^^^^^^^^ treefmt-check> 1589 | save_path = save_dir / f"screenshot-{timestamp}.png" treefmt-check> 1590 | out.write_to_png(str(save_path)) treefmt-check> | treefmt-check> help: Pass a `datetime.timezone` object to the `tz` parameter treefmt-check> treefmt-check> SIM115 Use a context manager for opening files treefmt-check> --> pkgs/live-text/live_text/screenshot.py:145:11 treefmt-check> | treefmt-check> 143 | The caller is responsible for cleaning up the file. treefmt-check> 144 | """ treefmt-check> 145 | tmp = tempfile.NamedTemporaryFile(suffix=".png", prefix="live-text-", delete=False) treefmt-check> | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ treefmt-check> 146 | tmp.close() treefmt-check> 147 | path = Path(tmp.name) treefmt-check> | treefmt-check> treefmt-check> SIM117 Use a single `with` statement with multiple contexts instead of nested `with` statements treefmt-check> --> pkgs/live-text/tests/test_overlay.py:86:9 treefmt-check> | treefmt-check> 84 | return subprocess.CompletedProcess(cmd, 0) treefmt-check> 85 | treefmt-check> 86 | / with patch("live_text.overlay.subprocess.run", side_effect=fake_run): treefmt-check> 87 | | # Suppress GLib.timeout_add (no GTK main loop in tests) treefmt-check> 88 | | with patch("live_text.overlay.GLib.timeout_add"): treefmt-check> | |_____________________________________________________________^ treefmt-check> 89 | overlay._drawing_area = MagicMock() treefmt-check> 90 | overlay._copy_selected_text() treefmt-check> | treefmt-check> help: Combine `with` statements treefmt-check> treefmt-check> SIM117 Use a single `with` statement with multiple contexts instead of nested `with` statements treefmt-check> --> pkgs/live-text/tests/test_screenshot.py:259:9 treefmt-check> | treefmt-check> 257 | raise subprocess.CalledProcessError(1, "grim") treefmt-check> 258 | treefmt-check> 259 | / with patch("live_text.screenshot.subprocess.run", side_effect=track_and_fail): treefmt-check> 260 | | with pytest.raises(subprocess.CalledProcessError): treefmt-check> | |______________________________________________________________^ treefmt-check> 261 | capture_full_screen() treefmt-check> | treefmt-check> help: Combine `with` statements treefmt-check> treefmt-check> CPY001 Missing copyright notice at top of file treefmt-check> --> pkgs/macprof/macprof.py:1:1 treefmt-check> treefmt-check> CPY001 Missing copyright notice at top of file treefmt-check> --> pkgs/minihydra/src/minihydra/__init__.py:1:1 treefmt-check> treefmt-check> CPY001 Missing copyright notice at top of file treefmt-check> --> pkgs/minihydra/src/minihydra/build.py:1:1 treefmt-check> treefmt-check> CPY001 Missing copyright notice at top of file treefmt-check> --> pkgs/minihydra/src/minihydra/cli.py:1:1 treefmt-check> treefmt-check> CPY001 Missing copyright notice at top of file treefmt-check> --> pkgs/minihydra/src/minihydra/db.py:1:1 treefmt-check> treefmt-check> CPY001 Missing copyright notice at top of file treefmt-check> --> pkgs/minihydra/src/minihydra/diff.py:1:1 treefmt-check> treefmt-check> CPY001 Missing copyright notice at top of file treefmt-check> --> pkgs/minihydra/src/minihydra/eval.py:1:1 treefmt-check> treefmt-check> CPY001 Missing copyright notice at top of file treefmt-check> --> pkgs/minihydra/src/minihydra/web.py:1:1 treefmt-check> treefmt-check> CPY001 Missing copyright notice at top of file treefmt-check> --> pkgs/minihydra/tests/__init__.py:1:1 treefmt-check> treefmt-check> CPY001 Missing copyright notice at top of file treefmt-check> --> pkgs/minihydra/tests/test_diff.py:1:1 treefmt-check> treefmt-check> CPY001 Missing copyright notice at top of file treefmt-check> --> pkgs/minihydra/tests/test_web.py:1:1 treefmt-check> treefmt-check> RUF012 Mutable default value for class attribute treefmt-check> --> pkgs/n8n-hooks/tests/test_gitea.py:147:28 treefmt-check> | treefmt-check> 146 | class _FakeWebhook(BaseHTTPRequestHandler): treefmt-check> 147 | last: dict[str, Any] = {} treefmt-check> | ^^ treefmt-check> 148 | reply: dict[str, Any] = {} treefmt-check> | treefmt-check> help: Consider initializing in `__init__` or annotating with `typing.ClassVar` treefmt-check> treefmt-check> RUF012 Mutable default value for class attribute treefmt-check> --> pkgs/n8n-hooks/tests/test_gitea.py:148:29 treefmt-check> | treefmt-check> 146 | class _FakeWebhook(BaseHTTPRequestHandler): treefmt-check> 147 | last: dict[str, Any] = {} treefmt-check> 148 | reply: dict[str, Any] = {} treefmt-check> | ^^ treefmt-check> 149 | treefmt-check> 150 | def do_POST(self) -> None: treefmt-check> | treefmt-check> help: Consider initializing in `__init__` or annotating with `typing.ClassVar` treefmt-check> treefmt-check> RUF012 Mutable default value for class attribute treefmt-check> --> pkgs/n8n-hooks/tests/test_github.py:45:28 treefmt-check> | treefmt-check> 44 | class _FakeWebhook(BaseHTTPRequestHandler): treefmt-check> 45 | last: dict[str, Any] = {} treefmt-check> | ^^ treefmt-check> 46 | reply: dict[str, Any] = {} treefmt-check> | treefmt-check> help: Consider initializing in `__init__` or annotating with `typing.ClassVar` treefmt-check> treefmt-check> RUF012 Mutable default value for class attribute treefmt-check> --> pkgs/n8n-hooks/tests/test_github.py:46:29 treefmt-check> | treefmt-check> 44 | class _FakeWebhook(BaseHTTPRequestHandler): treefmt-check> 45 | last: dict[str, Any] = {} treefmt-check> 46 | reply: dict[str, Any] = {} treefmt-check> | ^^ treefmt-check> 47 | treefmt-check> 48 | def do_POST(self) -> None: treefmt-check> | treefmt-check> help: Consider initializing in `__init__` or annotating with `typing.ClassVar` treefmt-check> treefmt-check> RUF012 Mutable default value for class attribute treefmt-check> --> pkgs/n8n-hooks/tests/test_store_draft.py:71:36 treefmt-check> | treefmt-check> 69 | """Captures the last POST body and replies 200.""" treefmt-check> 70 | treefmt-check> 71 | last_payload: dict[str, Any] = {} treefmt-check> | ^^ treefmt-check> 72 | treefmt-check> 73 | def do_POST(self) -> None: treefmt-check> | treefmt-check> help: Consider initializing in `__init__` or annotating with `typing.ClassVar` treefmt-check> treefmt-check> CPY001 Missing copyright notice at top of file treefmt-check> --> pkgs/nix-eval-warnings/src/nix_eval_warnings/__init__.py:1:1 treefmt-check> treefmt-check> CPY001 Missing copyright notice at top of file treefmt-check> --> pkgs/nix-eval-warnings/tests/__init__.py:1:1 treefmt-check> treefmt-check> CPY001 Missing copyright notice at top of file treefmt-check> --> pkgs/nix-eval-warnings/tests/test_nix_eval_warnings.py:1:1 treefmt-check> treefmt-check> CPY001 Missing copyright notice at top of file treefmt-check> --> pkgs/pim/pim.py:1:1 treefmt-check> treefmt-check> CPY001 Missing copyright notice at top of file treefmt-check> --> pkgs/radicle-desktop/update.py:1:1 treefmt-check> treefmt-check> CPY001 Missing copyright notice at top of file treefmt-check> --> pkgs/radicle-github-sync/radicle_github_sync.py:1:1 treefmt-check> treefmt-check> CPY001 Missing copyright notice at top of file treefmt-check> --> pkgs/updater/__init__.py:1:1 treefmt-check> treefmt-check> CPY001 Missing copyright notice at top of file treefmt-check> --> pkgs/updater/__main__.py:1:1 treefmt-check> treefmt-check> CPY001 Missing copyright notice at top of file treefmt-check> --> tasks.py:1:1 treefmt-check> treefmt-check> Found 53 errors. treefmt-check> treefmt-check> ERRO formatter | ruff-check: failed to apply with options '[check --fix]': exit status 1 treefmt-check> treefmt-check> CPY001 Missing copyright notice at top of file treefmt-check> --> nixosModules/niri/kwallet-tpm/kwallet-tpm-unlock.py:1:1 treefmt-check> treefmt-check> Found 1 error. treefmt-check> treefmt-check> ERRO formatter | ruff-check: failed to apply with options '[check --fix]': exit status 1 treefmt-check> treefmt-check> CPY001 Missing copyright notice at top of file treefmt-check> --> openwrt/nix_uci/__init__.py:1:1 treefmt-check> treefmt-check> Found 1 error. treefmt-check> treefmt-check> ERRO formatter | ruff-check: failed to apply with options '[check --fix]': exit status 1 treefmt-check> treefmt-check> CPY001 Missing copyright notice at top of file treefmt-check> --> pkgs/claude-md/claude_md.py:1:1 treefmt-check> treefmt-check> Found 1 error. treefmt-check> treefmt-check> ERRO formatter | ruff-check: failed to apply with options '[check --fix]': exit status 1 treefmt-check> treefmt-check> CPY001 Missing copyright notice at top of file treefmt-check> --> machines/eva/modules/prometheus/irc-alerts.py:1:1 treefmt-check> treefmt-check> Found 1 error. treefmt-check> treefmt-check> ERRO formatter | ruff-check: failed to apply with options '[check --fix]': exit status 1 treefmt-check> treefmt-check> CPY001 Missing copyright notice at top of file treefmt-check> --> pkgs/systemctl/systemctl.py:1:1 treefmt-check> treefmt-check> Found 1 error. treefmt-check> treefmt-check> ERRO formatter | ruff-check: failed to apply with options '[check --fix]': exit status 1 treefmt-check> treefmt-check> CPY001 Missing copyright notice at top of file treefmt-check> --> pkgs/merge-when-green/merge-when-green.py:1:1 treefmt-check> treefmt-check> Found 1 error. treefmt-check> treefmt-check> ERRO formatter | ruff-check: failed to apply with options '[check --fix]': exit status 1 treefmt-check> treefmt-check> CPY001 Missing copyright notice at top of file treefmt-check> --> pkgs/rbw_pinentry/src/rbw_pinentry/__init__.py:1:1 treefmt-check> treefmt-check> CPY001 Missing copyright notice at top of file treefmt-check> --> pkgs/rbw_pinentry/src/rbw_pinentry/cli.py:1:1 treefmt-check> treefmt-check> CPY001 Missing copyright notice at top of file treefmt-check> --> pkgs/rbw_pinentry/src/rbw_pinentry/pinentry.py:1:1 treefmt-check> treefmt-check> Found 3 errors. treefmt-check> treefmt-check> ERRO formatter | ruff-check: failed to apply with options '[check --fix]': exit status 1 treefmt-check> treefmt-check> CPY001 Missing copyright notice at top of file treefmt-check> --> pkgs/calendar_bot/__init__.py:1:1 treefmt-check> treefmt-check> CPY001 Missing copyright notice at top of file treefmt-check> --> pkgs/calendar_bot/calendar_bot.py:1:1 treefmt-check> treefmt-check> Found 2 errors. treefmt-check> treefmt-check> traversed 1211 files treefmt-check> emitted 527 files for processing treefmt-check> formatted 450 files (2 changed) in 8.583s treefmt-check> Error: failed to finalise formatting: formatting failures detected error: build of '/nix/store/g4yfs47ly6rl1qh2lad8aal89qkyrfcf-treefmt-check.drv' on 'ssh-ng://customer@mac02' failed: Cannot build '/nix/store/g4yfs47ly6rl1qh2lad8aal89qkyrfcf-treefmt-check.drv'. Reason: builder failed with exit code 1. Output paths: /nix/store/yn1if6ldnpjxvg0ifnkclfg2fd3g7h4l-treefmt-check Last 25 log lines: > CPY001 Missing copyright notice at top of file > --> pkgs/rbw_pinentry/src/rbw_pinentry/__init__.py:1:1 > > CPY001 Missing copyright notice at top of file > --> pkgs/rbw_pinentry/src/rbw_pinentry/cli.py:1:1 > > CPY001 Missing copyright notice at top of file > --> pkgs/rbw_pinentry/src/rbw_pinentry/pinentry.py:1:1 > > Found 3 errors. > > ERRO formatter | ruff-check: failed to apply with options '[check --fix]': exit status 1 > > CPY001 Missing copyright notice at top of file > --> pkgs/calendar_bot/__init__.py:1:1 > > CPY001 Missing copyright notice at top of file > --> pkgs/calendar_bot/calendar_bot.py:1:1 > > Found 2 errors. > > traversed 1211 files > emitted 527 files for processing > formatted 450 files (2 changed) in 8.583s > Error: failed to finalise formatting: formatting failures detected For full logs, run: nix log /nix/store/g4yfs47ly6rl1qh2lad8aal89qkyrfcf-treefmt-check.drv error: Cannot build '/nix/store/g4yfs47ly6rl1qh2lad8aal89qkyrfcf-treefmt-check.drv'. Reason: builder failed with exit code 1. Output paths: /nix/store/yn1if6ldnpjxvg0ifnkclfg2fd3g7h4l-treefmt-check