Skip to content

Conversation

@NovaViper
Copy link
Contributor

Description

Supersedes #5394
Allows for linking fish plugin theme files to fish's themes folder. Fully allowing for theme plugins to properly be installed declaratively. Fixes #3724

Checklist

  • Change is backwards compatible.

  • Code formatted with nix fmt or
    nix-shell -p treefmt nixfmt deadnix keep-sorted --run treefmt.

  • Code tested through nix run .#tests -- test-all or
    nix-shell --pure tests -A run.all.

  • Test cases updated/added. See example.

  • Commit messages are formatted like

    {component}: {description}
    
    {long description}
    

    See CONTRIBUTING for more information and recent commit messages for examples.

  • If this PR adds a new module

    • Added myself as module maintainer. See example.
    • Generate a news entry. See News
    • Basic tests added. See Tests
  • If this PR adds an exciting new feature or contains a breaking change.

    • Generate a news entry. See News

Allows for linking fish plugin theme files to [fish's themes
folder](https://fishshell.com/docs/current/cmds/fish_config.html#theme-files).
Fully allowing for theme plugins to properly be installed declaratively.
Fixes nix-community#3724
@github-actions github-actions bot added the shell label Sep 29, 2025
@NovaViper
Copy link
Contributor Author

I gave this a test yesterday locally on my system with the fish catppuccin theme and it worked as intended!

@khaneliman khaneliman merged commit 5a21f48 into nix-community:master Sep 30, 2025
7 checks passed
Comment on lines +772 to +773
if lib.pathIsDirectory "${plugin.src}/themes" then
themeList ++ lib.filesystem.listFilesRecursive "${plugin.src}/themes"

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not very sure, but think this causes IFD, which breaks building the system if Nix's allow-import-from-derivation is disabled.

Image

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah.. I think it does cause IFD. I'm honestly not sure how to address this issue then.. since there's no real way to predict what's contained in the fish plugin/theme's theme folder 😬

Maybe #3809 's approach is the best way for this particular problem. Gonna try that and make a new PR

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not very sure, but think this causes IFD, which breaks building the system if Nix's allow-import-from-derivation is disabled.

Sorry, thought it looked like it.. but our tests run without allowing IFD and didn't pick it up... I'm assuming because of stubbing?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤷🏾‍♀️ Maybe? I think it would be best to revert the merge since it's unknown how many people this would affect.

NovaViper added a commit to NovaViper/home-manager that referenced this pull request Oct 1, 2025
Switched from using recursive import to onChange script, since recursive
imports can cause "Import From Derivation" issues (especially when the
`allow-import-from-derivation` setting is disabled

Discuss from
nix-community#7904 (comment)
NovaViper added a commit to NovaViper/home-manager that referenced this pull request Oct 1, 2025
Fixes nix-community#3724
Add change script that adds in theme files for plugins that have them.
Switched from using recursive import to onChange script, since recursive
imports can cause "Import From Derivation" issues (especially when the
`allow-import-from-derivation` setting is disabled

Discuss from
nix-community#7904 (comment)
NovaViper added a commit to NovaViper/home-manager that referenced this pull request Oct 1, 2025
Fixes nix-community#3724
Add change script that adds in theme files for plugins that have them.

Superseeds nix-community#7904, switched from using recursive import to onChange
script, since recursive imports can cause "Import From Derivation"
issues (especially when the `allow-import-from-derivation` setting is
disabled Discuss from:
nix-community#7904 (comment)
NovaViper added a commit to NovaViper/home-manager that referenced this pull request Oct 1, 2025
Fixes nix-community#3724
Add change script that adds in theme files for plugins that have them.

Supersedes nix-community#7904, switched from using recursive import to onChange
script, since recursive imports can cause "Import From Derivation"
issues (especially when the `allow-import-from-derivation` setting is
disabled Discuss from:
nix-community#7904 (comment)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support fish theme plugins

3 participants