-
-
Notifications
You must be signed in to change notification settings - Fork 414
fix(nix): resolve build failures in the nix flake #1068
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
WalkthroughExpands packages.superfile.nativeCheckInputs in flake.nix from a single hook to include zoxide and exiftool alongside writableTmpDirAsHomeHook, using a with pkgs; scope. Changes
Sequence Diagram(s)sequenceDiagram
autonumber
actor Dev as Developer
participant Nix as Nix Evaluator
participant Build as superfile Build
participant Ck as nativeCheckInputs
Dev->>Nix: nix build .#packages.superfile
Nix->>Build: Evaluate derivation
Build->>Ck: Resolve nativeCheckInputs
Note right of Ck: zoxide<br/>exiftool<br/>writableTmpDirAsHomeHook
Ck-->>Build: Provide check-time tools/hooks
Build-->>Dev: Build/check completes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
Suggested labels
Suggested reviewers
Pre-merge checks (3 passed)✅ Passed checks (3 passed)
Poem
Tip 👮 Agentic pre-merge checks are now available in preview!Pro plan users can now enable pre-merge checks in their settings to enforce checklists before merging PRs.
Please see the documentation for more information. Example: reviews:
pre_merge_checks:
custom_checks:
- name: "Undocumented Breaking Changes"
mode: "warning"
instructions: |
Pass/fail criteria: All breaking changes to public APIs, CLI flags, environment variables, configuration keys, database schemas, or HTTP/GraphQL endpoints must be documented in the "Breaking Change" section of the PR description and in CHANGELOG.md. Exclude purely internal or private changes (e.g., code not exported from package entry points or explicitly marked as internal).Please share your feedback with us on this Discord post. ✨ Finishing touches🧪 Generate unit tests
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (1)
flake.nix (1)
52-66: Add test-only tools to the devShell for parityInclude zoxide and exiftool in the devShell so contributors can run tests locally without missing binaries.
packages = with pkgs; [ ## golang delve go-outline go golangci-lint gopkgs gopls gotools nix gomod2nix nixpkgs-fmt + zoxide + exiftool ];
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (1)
flake.lockis excluded by!**/*.lock
📒 Files selected for processing (1)
flake.nix(1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
- GitHub Check: Build and Test (windows-latest)
🔇 Additional comments (1)
flake.nix (1)
34-38: LGTM: correct use of nativeCheckInputs for test-only toolsAdding zoxide and exiftool here is the right fix for the checkPhase; scoping with
with pkgs;is fine and consistent.
lazysegtree
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
|
@Frost-Phoenix I dont know much about nix. Could you please provide an successful output of running the commands to build and spf via nix. Just to keep as a reference befor merging this PR. |
$ nix --version
nix (Nix) 2.28.5First build failureThis one is caused by outdated packages. small output$ nix build .
error: builder for '/nix/store/h7v6lq5079smvg8fhzqhdsdjn1bp2fch-superfile-1.3.3.drv' failed with exit code 1;
last 10 log lines:
> Running phase: unpackPhase
> unpacking source archive /nix/store/7m040rv22mgk09bgk0y5nkrxnyj38ds3-bpi1s269raw1f6bwyk3h6a2drs7aqxw6-source
> source root is bpi1s269raw1f6bwyk3h6a2drs7aqxw6-source
> Running phase: patchPhase
> Running phase: updateAutotoolsGnuConfigScriptsPhase
> Running phase: configurePhase
> Running phase: buildPhase
> Building subPackage .
> go: downloading go1.25.0 (linux/amd64)
> go: download go1.25.0 for linux/amd64: toolchain not available
For full logs, run:
nix log /nix/store/h7v6lq5079smvg8fhzqhdsdjn1bp2fch-superfile-1.3.3.drvSecond build failureThis one is caused by missing pkgs ( small output$ nix build .
error: builder for '/nix/store/0mxaj9hbspg5dwx3pn1xyrzgh2yg1hpc-superfile-1.3.3.drv' failed with exit code 1;
last 25 log lines:
> time=2025-09-13T08:39:07.659Z level=ERROR msg="Error while read superfile data" error="open /build/.home/.local/share/superfile/pinned.json: no such file or directory"
> === RUN TestChooserFile/Open_with_file_editor_with_Invalid_chooser_file
> time=2025-09-13T08:39:07.660Z level=ERROR msg="Error while read superfile data" error="open /build/.home/.local/share/superfile/pinned.json: no such file or directory"
> time=2025-09-13T08:39:07.661Z level=INFO msg="Using default terminal cell size" os=linux
> time=2025-09-13T08:39:07.661Z level=INFO msg="Terminal cell size detection" pixels_per_column=10 pixels_per_row=20
> time=2025-09-13T08:39:07.661Z level=DEBUG msg="model.Update() called" msgType=tea.WindowSizeMsg
> time=2025-09-13T08:39:07.661Z level=ERROR msg="Error while read superfile data" error="open /build/.home/.local/share/superfile/pinned.json: no such file or directory"
> time=2025-09-13T08:39:07.662Z level=DEBUG msg="Submitting file preview render request" id=0 path=/build/spf_testdir/TestChooserFile/dir1/file1.txt
> time=2025-09-13T08:39:07.662Z level=DEBUG msg="model.Update() called" msgType=tea.KeyMsg
> time=2025-09-13T08:39:07.662Z level=DEBUG msg=model.handleKeyInput msg=e typestr=runes runes=[101] type=-1 paste=false alt=false
> time=2025-09-13T08:39:07.662Z level=DEBUG msg="model.handleKeyInput. model info. " filePanelFocusIndex=0 filePanel.isFocused=true filePanel.panelMode=browserMode typingModal.open=false notifyModel.open=false promptModal.open=false fileModel.renaming=false searchBar.focussed=false helpMenu.open=false firstTextInput=false focusPanel=nonePanelFocus
> time=2025-09-13T08:39:07.662Z level=ERROR msg="Error while writing to chooser file, continuing with open via file editor" error="open /build/spf_testdir/TestChooserFile/non_existent_dir/file.txt: no such file or directory"
> time=2025-09-13T08:39:07.662Z level=ERROR msg="Error while read superfile data" error="open /build/.home/.local/share/superfile/pinned.json: no such file or directory"
> --- PASS: TestChooserFile (0.02s)
> --- PASS: TestChooserFile/Open_with_default_app_with_valid_chooser_file (0.00s)
> --- PASS: TestChooserFile/Open_with_file_editor_with_valid_chooser_file (0.00s)
> --- PASS: TestChooserFile/Open_with_directory_editor_valid_chooser_file (0.00s)
> --- PASS: TestChooserFile/Open_with_file_editor_with_Blank_chooser_file (0.00s)
> --- PASS: TestChooserFile/Open_with_file_editor_with_Invalid_chooser_file (0.00s)
> === RUN TestZoxide
> model_test.go:258: zoxide initialization failed
> --- FAIL: TestZoxide (0.00s)
> FAIL
> FAIL github.com/yorukot/superfile/src/internal 0.846s
> FAIL
For full logs, run:
nix log /nix/store/0mxaj9hbspg5dwx3pn1xyrzgh2yg1hpc-superfile-1.3.3.drv
New outputAfter the two fixes, the build is succesful. output$ nix build .
# no output, superfile builds successfully |
This MR contains the following updates: | Package | Update | Change | |---|---|---| | [yorukot/superfile](https://github.com/yorukot/superfile) | minor | `v1.3.3` -> `v1.4.0` | MR created with the help of [el-capitano/tools/renovate-bot](https://gitlab.com/el-capitano/tools/renovate-bot). **Proposed changes to behavior should be submitted there as MRs.** --- ### Release Notes <details> <summary>yorukot/superfile (yorukot/superfile)</summary> ### [`v1.4.0`](https://github.com/yorukot/superfile/releases/tag/v1.4.0) [Compare Source](yorukot/superfile@v1.3.3...v1.4.0) Hey folks. Releasing v1.4.0 with many new features, improvements, and bug fixes. We have an async file preview now, a zoxide panel, and various new features improving UX. #### Install: [**Click me to know how to install**](https://github.com/yorukot/superfile?tab=readme-ov-file#installation) #### Highlights - We have the Zoxide Panel now. Ensure zoxide is installed on your system, set `zoxide_support` to `true` in the config, and press `z` to use zoxide. <img width="645" height="295" alt="Image" src="https://github.com/user-attachments/assets/238f6549-5318-49d1-a3a0-14cf8a686955" /> - File previewing is now async, meaning reduced lag while scrolling through images, or on slow systems. - Many bug fixes. See 'Detailed Change Summary' ##### Internal Updates - Most file operations are now truly async with the usage of the recommended `tea.Cmd` pattern. - Enabled many new linters to improve code quality. - Moved golangci-lint to v2. Now developers don't need to keep the old v1 in their systems. - Refactored file preview in its own package for better maintainability and readability. - Fixed flaky unit tests. #### Detailed Change Summary <details><summary>Details</summary> <p> ##### Update - feat: File operation via tea cmd [#​963](yorukot/superfile#963) by @​lazysegtree - feat: processbar improvements, package separation, better channel management [#​973](yorukot/superfile#973) by @​lazysegtree - feat: enable lll and recvcheck linter, fix tests, more refactors [#​977](yorukot/superfile#977) by @​lazysegtree - feat: Remove channel for notification models [#​979](yorukot/superfile#979) by @​lazysegtree - feat: enable cyclop, funlen, gocognit, gocyclo linters, and refactor large functions [#​984](yorukot/superfile#984) by @​lazysegtree - feat: Add a new hotkey to handle cd-on-quit whenever needed [#​924](yorukot/superfile#924) by @​ahmed-habbachi - feat: added option to permanently delete files [#​987](yorukot/superfile#987) by @​hupender - feat: Preview panel separation [#​1021](yorukot/superfile#1021) by @​lazysegtree - feat: Add search functionality to help menu [#​1011](yorukot/superfile#1011) by @​iZarrios - feat: Use zoxide lib [#​1036](yorukot/superfile#1036) by @​lazysegtree - feat: Add zoxide directory tracking on navigation [#​1041](yorukot/superfile#1041) by @​lazysegtree - feat: Zoxide integration [#​1039](yorukot/superfile#1039) by @​lazysegtree - feat: Select mode with better feedback [#​1074](yorukot/superfile#1074) by @​lazysegtree - feat: owner/group in the metadata [#​1093](yorukot/superfile#1093) by @​xelavopelk - feat: Async zoxide [#​1104](yorukot/superfile#1104) by @​lazysegtree ##### Bug Fix - fix: sorting in searchbar [#​985](yorukot/superfile#985) by @​hupender - fix: Async rendering, Include clipboard check in paste items, and update linter configs [#​997](yorukot/superfile#997) by @​lazysegtree - fix: Move utility functions to utils package [#​1012](yorukot/superfile#1012) by @​lazysegtree - fix: Refactoring and separation of preview panel and searchbar in help menu [#​1013](yorukot/superfile#1013) by @​lazysegtree - fix(filePanel): allow focusType to be set correctly [#​1033](yorukot/superfile#1033) by @​faisal-990 - fix(ci): Update gomod2nix.toml, allow pre release in version output, release 1.4.0-rc1, bug fixes, and improvements [#​1054](yorukot/superfile#1054) by @​lazysegtree - fix(nix): resolve build failures in the nix flake [#​1068](yorukot/superfile#1068) by @​Frost-Phoenix - fix: Retry the file deletion to prevent flakies (#​938) [#​1076](yorukot/superfile#1076) by @​lazysegtree - fix(issue-1066): Fixed issue where enter was not searchable [#​1078](yorukot/superfile#1078) by @​Simpaqt - fix(#​1073): Tech debt fix [#​1077](yorukot/superfile#1077) by @​Simpaqt - fix: fix deleted directory not able to remove from pins (#​1067) [#​1081](yorukot/superfile#1081) by @​yorukot - fix: fix child process spawning attached [#​1084](yorukot/superfile#1084) by @​guemidiborhane - fix: always clear images when showing a FullScreenStyle [#​1094](yorukot/superfile#1094) by @​snikoletopoulos - fix: Allow j and k keys in zoxide [#​1102](yorukot/superfile#1102) by @​lazysegtree - fix: Zoxide improvements and 1.4.0-rc2 [#​1105](yorukot/superfile#1105) by @​lazysegtree - fix: rename cursor beginning on wrong character because of multiple dots in name (#​813) [#​1112](yorukot/superfile#1112) by @​SyedAsadK - fix: check and fix file panel scroll position on height changes [#​1095](yorukot/superfile#1095) by @​snikoletopoulos ##### Optimization - perf(website): optimize font loading and asset organization [#​1089](yorukot/superfile#1089) by @​yorukot ##### Documentation - docs: fix incorrect zoxide plugin config name [#​1049](yorukot/superfile#1049) by @​shree-xvi - docs(hotkeys): Fix typo in vimHotkeys.toml comments [#​1080](yorukot/superfile#1080) by @​wleoncio - docs: add section for core maintainers in README.md [#​1088](yorukot/superfile#1088) by @​yorukot - chore: add winget install instruction to readme and website [#​943](yorukot/superfile#943) by @​claykom ##### Dependencies - chore(deps): update dependency go to v1.25.0, golangci-lint to v2, golangci-lint actions to v8 [#​750](yorukot/superfile#750) by @​renovate[bot] - chore(deps): update amannn/action-semantic-pull-request action to v6 [#​1006](yorukot/superfile#1006) by @​renovate[bot] - chore(deps): update actions/first-interaction action to v3 [#​1005](yorukot/superfile#1005) by @​renovate[bot] - chore(deps): update actions/checkout action to v5 [#​1004](yorukot/superfile#1004) by @​renovate[bot] - chore(deps): bump astro from 5.10.1 to 5.12.8 [#​982](yorukot/superfile#982) by @​dependabot[bot] - fix(deps): update module golang.org/x/mod to v0.27.0 [#​989](yorukot/superfile#989) by @​renovate[bot] - fix(deps): update dependency @​expressive-code/plugin-collapsible-sections to v0.41.3 [#​990](yorukot/superfile#990) by @​renovate[bot] - fix(deps): update dependency sharp to v0.34.3 [#​992](yorukot/superfile#992) by @​renovate[bot] - fix(deps): update dependency @​expressive-code/plugin-line-numbers to v0.41.3 [#​991](yorukot/superfile#991) by @​renovate[bot] - chore(deps): update dependency go to v1.25.0 [#​994](yorukot/superfile#994) by @​renovate[bot] - fix(deps): update astro monorepo [#​995](yorukot/superfile#995) by @​renovate[bot] - fix(deps): update dependency @​astrojs/starlight to ^0.35.0 [#​1000](yorukot/superfile#1000) by @​renovate[bot] - fix(deps): update module github.com/urfave/cli/v3 to v3.4.1 [#​1001](yorukot/superfile#1001) by @​renovate[bot] - fix(deps): update module golang.org/x/text to v0.28.0 [#​1003](yorukot/superfile#1003) by @​renovate[bot] ##### Misc - chore: migrate from superfile.netlify.app to superfile.dev [#​1087](yorukot/superfile#1087) by @​yorukot - refactor(filepanel): replace filePanelFocusType with isFocused boolean [#​1040](yorukot/superfile#1040) by @​faisal-990 - refactor(ansi): Migrate from github.com/charmbracelet/x/exp/term/ansi to github.com/charmbracelet/x/ansi [#​1044](yorukot/superfile#1044) by @​faisal-990 - refactor: common operation on pinned directory file using PinnedManager [#​1085](yorukot/superfile#1085) by @​Manaswa-S - test: unit tests for pinned manager [#​1090](yorukot/superfile#1090) by @​Manaswa-S </p> </details> #### New Contributors * @​hupender made their first contribution in yorukot/superfile#985 * @​ahmed-habbachi made their first contribution in yorukot/superfile#924 * @​iZarrios made their first contribution in yorukot/superfile#1011 * @​faisal-990 made their first contribution in yorukot/superfile#1033 * @​shree-xvi made their first contribution in yorukot/superfile#1049 * @​Simpaqt made their first contribution in yorukot/superfile#1078 * @​wleoncio made their first contribution in yorukot/superfile#1080 * @​guemidiborhane made their first contribution in yorukot/superfile#1084 * @​Manaswa-S made their first contribution in yorukot/superfile#1085 * @​xelavopelk made their first contribution in yorukot/superfile#1093 * @​snikoletopoulos made their first contribution in yorukot/superfile#1094 * @​SyedAsadK made their first contribution in yorukot/superfile#1112 **Full Changelog**: <yorukot/superfile@v1.3.3...v1.4.0> </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this MR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box --- This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNDYuMCIsInVwZGF0ZWRJblZlciI6IjQxLjE0Ni4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJSZW5vdmF0ZSBCb3QiXX0=-->

This pr resolves two build failures when using the nix flake.
flake inputs
Some pkgs where outdated, thus causing a build failure.
Fixed by updating the
flake.lockfile.Check phase
After building the pkg, the tests are ran in the check phase. This phase failed because it required some pkgs that the flake was not providing:
zoxideandexiftool.Fixed by adding those pkgs to the
nativeCheckInputs.Summary by CodeRabbit
Chores
Tests