Files
Nomarchy/themes/engine/stylix-compat.nix
Bernardo Magri bbdf34ced8 refactor: implement component-based architecture for enhanced maintainability
- Reorganize directory structure into core/, features/, and themes/
- Colocate application Nix logic, configs, scripts, and theme overrides
- Implement 'Inversion of Control' for theming: apps now pull theme-specific layouts
- Update flake.nix and shared library paths to match the new structure
- Document the new Feature-Centric architecture in README.md
2026-04-12 14:51:15 +01:00

36 lines
1.1 KiB
Nix

{ 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;
};
}