fix: make base modules enabled by default; document lazylib→lazygit

- All base/* modules now use (mkEnableOption "...") // { default = true; }
  so they activate automatically when imported — no explicit .enable = true
  required in host configs
- packages.nix: add comment documenting that lazylib does not exist in
  nixpkgs; lazygit is the correct and intended package
- zellij-ps.nix: clarify that cli.zellij-ps namespace is intentional —
  it is the home-manager module convention from m3ta-nixpkgs
- nix flake check passes (warnings are pre-existing)
This commit is contained in:
m3tm3re
2026-04-26 12:16:44 +02:00
parent 3c9a107608
commit 8f5d076d7b
16 changed files with 37 additions and 17 deletions

View File

@@ -9,7 +9,8 @@ with lib; let
cfg = config.base.cliTools.bat;
palette = config.colorScheme.palette;
in {
options.base.cliTools.bat.enable = mkEnableOption "enable bat with nix-colors theme";
# Enabled by default — base modules are always-on.
options.base.cliTools.bat.enable = (mkEnableOption "enable bat with nix-colors theme") // {default = true;};
config = mkIf cfg.enable {
programs.bat = {

View File

@@ -7,7 +7,8 @@
with lib; let
cfg = config.base.cliTools.carapace;
in {
options.base.cliTools.carapace.enable = mkEnableOption "enable carapace completion engine";
# Enabled by default — base modules are always-on.
options.base.cliTools.carapace.enable = (mkEnableOption "enable carapace completion engine") // {default = true;};
config = mkIf cfg.enable {
programs.carapace = {

View File

@@ -7,7 +7,8 @@
with lib; let
cfg = config.base.cliTools.direnv;
in {
options.base.cliTools.direnv.enable = mkEnableOption "enable direnv with nix-direnv";
# Enabled by default — base modules are always-on.
options.base.cliTools.direnv.enable = (mkEnableOption "enable direnv with nix-direnv") // {default = true;};
config = mkIf cfg.enable {
programs.direnv = {

View File

@@ -7,7 +7,8 @@
with lib; let
cfg = config.base.cliTools.eza;
in {
options.base.cliTools.eza.enable = mkEnableOption "enable eza modern ls replacement";
# Enabled by default — base modules are always-on.
options.base.cliTools.eza.enable = (mkEnableOption "enable eza modern ls replacement") // {default = true;};
config = mkIf cfg.enable {
programs.eza = {

View File

@@ -7,7 +7,8 @@
with lib; let
cfg = config.base.cliTools.fzf;
in {
options.base.cliTools.fzf.enable = mkEnableOption "enable fuzzy finder";
# Enabled by default — base modules are always-on.
options.base.cliTools.fzf.enable = (mkEnableOption "enable fuzzy finder") // {default = true;};
config = mkIf cfg.enable {
programs.fzf = {

View File

@@ -8,7 +8,8 @@
with lib; let
cfg = config.base.cliTools.lf;
in {
options.base.cliTools.lf.enable = mkEnableOption "enable lf terminal file manager";
# Enabled by default — base modules are always-on.
options.base.cliTools.lf.enable = (mkEnableOption "enable lf terminal file manager") // {default = true;};
config = mkIf cfg.enable {
home.packages = [pkgs.lf];

View File

@@ -8,7 +8,8 @@
with lib; let
cfg = config.base.cliTools.nitch;
in {
options.base.cliTools.nitch.enable = mkEnableOption "enable nitch";
# Enabled by default — base modules are always-on.
options.base.cliTools.nitch.enable = (mkEnableOption "enable nitch") // {default = true;};
config = mkIf cfg.enable {
home.packages = [pkgs.nitch];

View File

@@ -1,4 +1,6 @@
# Essential CLI packages — core utilities always available on every host.
# NOTE: `lazylib` does not exist in nixpkgs. `lazygit` is the correct package
# (Git TUI) and is intentionally used here instead.
{
config,
lib,
@@ -8,7 +10,8 @@
with lib; let
cfg = config.base.cliTools.essentials;
in {
options.base.cliTools.essentials.enable = mkEnableOption "enable essential CLI packages";
# Enabled by default — base modules are always-on.
options.base.cliTools.essentials.enable = (mkEnableOption "enable essential CLI packages") // {default = true;};
config = mkIf cfg.enable {
home.packages = with pkgs; [

View File

@@ -7,7 +7,8 @@
with lib; let
cfg = config.base.cliTools.television;
in {
options.base.cliTools.television.enable = mkEnableOption "enable television";
# Enabled by default — base modules are always-on.
options.base.cliTools.television.enable = (mkEnableOption "enable television") // {default = true;};
config = mkIf cfg.enable {
programs.television = {

View File

@@ -1,5 +1,7 @@
# Zellij-ps — project-aware Zellij session manager from m3ta-nixpkgs.
# Delegates to the cli.zellij-ps module provided by inputs.m3ta-nixpkgs.
# Delegates to `cli.zellij-ps` — the home-manager module namespace provided by
# m3ta-nixpkgs (inputs.m3ta-nixpkgs.nixosModules.default). This is intentional;
# `cli.*` is the convention used by m3ta-nixpkgs home-manager modules.
{
config,
lib,
@@ -9,7 +11,8 @@ with lib; let
cfg = config.base.cliTools.zellijPs;
in {
options.base.cliTools.zellijPs = {
enable = mkEnableOption "enable zellij-ps project session manager";
# Enabled by default — base modules are always-on.
enable = (mkEnableOption "enable zellij-ps project session manager") // {default = true;};
projectFolders = mkOption {
type = types.listOf types.path;

View File

@@ -7,7 +7,8 @@
with lib; let
cfg = config.base.cliTools.zellij;
in {
options.base.cliTools.zellij.enable = mkEnableOption "enable zellij multiplexer";
# Enabled by default — base modules are always-on.
options.base.cliTools.zellij.enable = (mkEnableOption "enable zellij multiplexer") // {default = true;};
config = mkIf cfg.enable {
programs.zellij = {

View File

@@ -7,7 +7,8 @@
with lib; let
cfg = config.base.cliTools.zoxide;
in {
options.base.cliTools.zoxide.enable = mkEnableOption "enable zoxide smarter cd";
# Enabled by default — base modules are always-on.
options.base.cliTools.zoxide.enable = (mkEnableOption "enable zoxide smarter cd") // {default = true;};
config = mkIf cfg.enable {
programs.zoxide = {