Skip to content

Conversation

@NotAShelf
Copy link
Owner

This is all @faukah's fault. I blame him for everything.

This PR finally refactors the theming module to be more configurable, namely in the sense that it can now:

  1. Use the setupOpts API that we've been pushing
  2. Configure multiple theme plugins at once

In the light of the new API, the old options have been soft-deprecated. I would like to remove them altogether but I ran into some stupid issues with the warning messages, and could not be bothered with fixing each one of them one by one. Eventually we'll want to figure it out. Eventually.

Needs documentaton, and should be merged preferably after #1160 so we don't create more 9-sided merge conflicts.

@github-actions
Copy link

github-actions bot commented Dec 4, 2025

🚀 Live preview deployed from f66d077

View it here:

Debug Information

Triggered by: NotAShelf

HEAD at: notashelf/push-unvwonkswwyo

Reruns: 1961

Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I5c43bcf7331b19eaeb9628a4c2f76bfd6a6a6964
Copy link
Collaborator

@horriblename horriblename left a comment

Choose a reason for hiding this comment

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

Why not just split up supported-themes.nix into their own files, and have them define their options like normal modules?

# modules/plugins/theme/onedark.nix
{lib, config, ...}: {
  options = {
    enable = lib.mkEnableOption "...";
    setupOpts = ...;
  }
  
  config.vim = {
     startPlugins = ["onedark"];
     luaConfigRC = "require'onedark'.setup(${...})";
  };
}

lazy-loading colorschemes is probably desirable since we're allowing multiple colorschemes

@faukah faukah mentioned this pull request Dec 4, 2025
3 tasks
github-actions bot pushed a commit that referenced this pull request Jan 27, 2026
};

description = ''
New theme configuration option for v0.8 and above. This system allows
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
New theme configuration option for v0.8 and above. This system allows
New theme configuration option for v0.9 and above. This system allows

Copy link
Collaborator

@horriblename horriblename left a comment

Choose a reason for hiding this comment

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

I changed my mind about splitting supporthed-themes.nix, I'll accept this aside from the "what" in the warnings section

(API looks good we'll just refactor later only if it starts being a problem)


# We'd like to warn when the user is using a completely legacy configuration
warnings = let
# FIXME: what
Copy link
Collaborator

Choose a reason for hiding this comment

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

what

Copy link

Choose a reason for hiding this comment

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

what

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants