feat: implement profile system with mkHomeConfig and context constraints
- Add home/lib/default.nix with mkHomeConfig utility - Loads base + common modules always - Maps profiles (coding, gaming, media) to module imports - Enforces desktop/server mutual exclusion via assertion - Context must be 'desktop', 'server', or null - Migrate all per-host home configs to new profile system - m3-ares: context=desktop, profiles=[coding, gaming, media] - m3-kratos: context=desktop, profiles=[coding, gaming, media] - m3-atlas: context=server, profiles=[coding] - m3-helios: context=server, profiles=[] - m3-hermes: context=server, profiles=[] - m3-aether: context=server, profiles=[] - m3-daedalus: context=desktop, profiles=[coding, media] - Replace features.* options with new namespaces: - features.cli.* -> base.shell.* / base.cliTools.* / base.secrets - features.desktop.* -> desktop.wm.* / desktop.apps.* / desktop.theme.* - gaming/media moved to profiles.gaming.* / profiles.media.* - Fix home/coding/editor/neovim.nix: remove duplicate option declaration (coding.editors.neovim.enable already declared by m3ta-nixpkgs) - Fix home/coding/lsp/servers.nix: replace removed nodePackages.typescript-language-server with typescript-language-server - Fix home/desktop/theme/wallpapers.nix: correct relative path (was ../../.. which resolved to project root, should be ../..)
This commit is contained in:
@@ -1,17 +1,7 @@
|
||||
# NeoVim base configuration via m3ta-nixpkgs coding.editors module.
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.coding.editors.neovim;
|
||||
in {
|
||||
# coding.editors.neovim is provided by inputs.m3ta-nixpkgs.homeManagerModules.default
|
||||
options.coding.editors.neovim.enable = mkEnableOption "enable NeoVim editor";
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
# NeoVim configuration is managed by the m3ta-nixpkgs coding.editors module.
|
||||
# Additional host-specific overrides can be added here.
|
||||
};
|
||||
# The option `coding.editors.neovim.enable` is declared by
|
||||
# inputs.m3ta-nixpkgs.homeManagerModules.default — no re-declaration here.
|
||||
{...}: {
|
||||
# Placeholder for host-agnostic NeoVim overrides.
|
||||
# Set coding.editors.neovim.enable = true in per-host files to activate.
|
||||
}
|
||||
|
||||
@@ -15,7 +15,7 @@ in {
|
||||
# Nix
|
||||
nixd
|
||||
# General
|
||||
nodePackages.typescript-language-server
|
||||
typescript-language-server
|
||||
tailwindcss-language-server
|
||||
];
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user