update inline docs and make home-manager module exports
This commit is contained in:
@@ -60,24 +60,26 @@ in
|
||||
|
||||
config = mkIf cfg.enable (mkMerge [
|
||||
{
|
||||
# ========== System-Wide Configuration ==========
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
|
||||
# ========== Shell Configuration ==========
|
||||
programs.zsh.enable = true;
|
||||
programs.nix-ld.enable = true;
|
||||
programs.nix-ld.enable = true; # Allow running non-NixOS binaries
|
||||
|
||||
# ========== Base Packages ==========
|
||||
environment.systemPackages =
|
||||
with pkgs;
|
||||
subtractLists cfg.excludePackages [
|
||||
htop
|
||||
binutils
|
||||
zsh
|
||||
git
|
||||
oh-my-posh
|
||||
# inputs.lazyvim-nixvim.packages.${stdenv.hostPlatform.system}.nvim
|
||||
inputs.agenix.packages.${stdenv.hostPlatform.system}.default
|
||||
htop # System monitor
|
||||
binutils # Binary utilities
|
||||
zsh # Z shell
|
||||
git # Version control
|
||||
oh-my-posh # Shell prompt theme
|
||||
inputs.agenix.packages.${stdenv.hostPlatform.system}.default # Secret management
|
||||
];
|
||||
}
|
||||
# Import Desktop or Kiosk modules based on type
|
||||
# ========== Software Profile Imports ==========
|
||||
(mkIf (cfg.type == "desktop") (
|
||||
import ./desktop {
|
||||
inherit
|
||||
|
||||
@@ -1,3 +1,8 @@
|
||||
# ============================================================================
|
||||
# Desktop Software Configuration
|
||||
# ============================================================================
|
||||
# Imports desktop-specific programs and services (KDE Plasma, CUPS, etc.)
|
||||
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
|
||||
@@ -1,3 +1,8 @@
|
||||
# ============================================================================
|
||||
# Headless Software Configuration
|
||||
# ============================================================================
|
||||
# Imports headless-specific programs and services (SSH, minimal CLI tools)
|
||||
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
|
||||
19
sw/nvim.nix
19
sw/nvim.nix
@@ -1,3 +1,10 @@
|
||||
# ============================================================================
|
||||
# Neovim Home Manager Configuration
|
||||
# ============================================================================
|
||||
# Provides conditional Neovim configuration based on user preferences.
|
||||
# - If useNvimPlugins=true: Full LazyVim distribution with plugins
|
||||
# - If useNvimPlugins=false: Plain Neovim without plugins
|
||||
|
||||
{ user }:
|
||||
{
|
||||
pkgs,
|
||||
@@ -6,23 +13,19 @@
|
||||
...
|
||||
}:
|
||||
let
|
||||
# Choose Neovim package based on user preference
|
||||
nvimPackages =
|
||||
if user.useNvimPlugins then
|
||||
[
|
||||
inputs.lazyvim-nixvim.packages.${pkgs.stdenv.hostPlatform.system}.nvim
|
||||
]
|
||||
[ inputs.lazyvim-nixvim.packages.${pkgs.stdenv.hostPlatform.system}.nvim ]
|
||||
else
|
||||
[ pkgs.neovim ];
|
||||
in
|
||||
{
|
||||
# ============================================================================
|
||||
# Neovim Configuration
|
||||
# ============================================================================
|
||||
# This module configures Neovim, specifically setting up TreeSitter parsers
|
||||
# to ensure syntax highlighting works correctly.
|
||||
|
||||
home.packages = nvimPackages;
|
||||
|
||||
# Configure TreeSitter parsers for syntax highlighting
|
||||
# Only needed when using plugins (LazyVim includes TreeSitter)
|
||||
# https://github.com/nvim-treesitter/nvim-treesitter#i-get-query-error-invalid-node-type-at-position
|
||||
xdg.configFile."nvim/parser".source = lib.mkIf user.useNvimPlugins (
|
||||
let
|
||||
|
||||
Reference in New Issue
Block a user