fix: add stylix compatibility shims for missing program options
Stylix unconditionally imports all target modules, which expect certain program options to exist even when those programs aren't enabled. This causes evaluation errors. Add stylix-compat.nix with stub options for: - programs.neovim.initLua (maps to extraLuaConfig) - programs.opencode.tui/themes Also: - Disable neovim/neovide stylix targets (we deploy theme lua via theme-loader) - Set autoEnable = false to only enable explicitly listed targets - Enable programs.neovim to satisfy stylix's neovim target - Update stylix to latest version Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
35
modules/home/stylix-compat.nix
Normal file
35
modules/home/stylix-compat.nix
Normal file
@@ -0,0 +1,35 @@
|
||||
{ config, lib, ... }:
|
||||
|
||||
# Compatibility shims for stylix target modules
|
||||
# Stylix unconditionally imports all target modules, which expect certain
|
||||
# program options to exist. This module defines stub options for programs
|
||||
# we don't use to prevent evaluation errors.
|
||||
|
||||
{
|
||||
options = {
|
||||
# Neovim: stylix uses initLua but home-manager uses extraLuaConfig
|
||||
programs.neovim.initLua = lib.mkOption {
|
||||
type = lib.types.lines;
|
||||
default = "";
|
||||
description = "Lua code to run at init (compatibility shim for stylix)";
|
||||
};
|
||||
|
||||
# OpenCode: stylix expects programs.opencode options
|
||||
programs.opencode = {
|
||||
tui = lib.mkOption {
|
||||
type = lib.types.attrsOf lib.types.anything;
|
||||
default = {};
|
||||
description = "OpenCode TUI settings (stylix compatibility shim)";
|
||||
};
|
||||
themes = lib.mkOption {
|
||||
type = lib.types.attrsOf lib.types.anything;
|
||||
default = {};
|
||||
description = "OpenCode themes (stylix compatibility shim)";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf (config.programs.neovim.initLua != "") {
|
||||
programs.neovim.extraLuaConfig = config.programs.neovim.initLua;
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user