-
-
Notifications
You must be signed in to change notification settings - Fork 2.2k
fish: support theme plugins #7904
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
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
|
I gave this a test yesterday locally on my system with the fish catppuccin theme and it worked as intended! |
| if lib.pathIsDirectory "${plugin.src}/themes" then | ||
| themeList ++ lib.filesystem.listFilesRecursive "${plugin.src}/themes" |
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.
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.
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
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.
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?
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.
🤷🏾♀️ Maybe? I think it would be best to revert the merge since it's unknown how many people this would affect.
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)
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)
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)
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)

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 fmtornix-shell -p treefmt nixfmt deadnix keep-sorted --run treefmt.Code tested through
nix run .#tests -- test-allornix-shell --pure tests -A run.all.Test cases updated/added. See example.
Commit messages are formatted like
See CONTRIBUTING for more information and recent commit messages for examples.
If this PR adds a new module
If this PR adds an exciting new feature or contains a breaking change.