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; cfg = config.base.cliTools.bat;
palette = config.colorScheme.palette; palette = config.colorScheme.palette;
in { 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 { config = mkIf cfg.enable {
programs.bat = { programs.bat = {

View File

@@ -7,7 +7,8 @@
with lib; let with lib; let
cfg = config.base.cliTools.carapace; cfg = config.base.cliTools.carapace;
in { 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 { config = mkIf cfg.enable {
programs.carapace = { programs.carapace = {

View File

@@ -7,7 +7,8 @@
with lib; let with lib; let
cfg = config.base.cliTools.direnv; cfg = config.base.cliTools.direnv;
in { 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 { config = mkIf cfg.enable {
programs.direnv = { programs.direnv = {

View File

@@ -7,7 +7,8 @@
with lib; let with lib; let
cfg = config.base.cliTools.eza; cfg = config.base.cliTools.eza;
in { 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 { config = mkIf cfg.enable {
programs.eza = { programs.eza = {

View File

@@ -7,7 +7,8 @@
with lib; let with lib; let
cfg = config.base.cliTools.fzf; cfg = config.base.cliTools.fzf;
in { 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 { config = mkIf cfg.enable {
programs.fzf = { programs.fzf = {

View File

@@ -8,7 +8,8 @@
with lib; let with lib; let
cfg = config.base.cliTools.lf; cfg = config.base.cliTools.lf;
in { 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 { config = mkIf cfg.enable {
home.packages = [pkgs.lf]; home.packages = [pkgs.lf];

View File

@@ -8,7 +8,8 @@
with lib; let with lib; let
cfg = config.base.cliTools.nitch; cfg = config.base.cliTools.nitch;
in { 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 { config = mkIf cfg.enable {
home.packages = [pkgs.nitch]; home.packages = [pkgs.nitch];

View File

@@ -1,4 +1,6 @@
# Essential CLI packages — core utilities always available on every host. # 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, config,
lib, lib,
@@ -8,7 +10,8 @@
with lib; let with lib; let
cfg = config.base.cliTools.essentials; cfg = config.base.cliTools.essentials;
in { 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 { config = mkIf cfg.enable {
home.packages = with pkgs; [ home.packages = with pkgs; [

View File

@@ -7,7 +7,8 @@
with lib; let with lib; let
cfg = config.base.cliTools.television; cfg = config.base.cliTools.television;
in { 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 { config = mkIf cfg.enable {
programs.television = { programs.television = {

View File

@@ -1,5 +1,7 @@
# Zellij-ps — project-aware Zellij session manager from m3ta-nixpkgs. # 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, config,
lib, lib,
@@ -9,7 +11,8 @@ with lib; let
cfg = config.base.cliTools.zellijPs; cfg = config.base.cliTools.zellijPs;
in { in {
options.base.cliTools.zellijPs = { 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 { projectFolders = mkOption {
type = types.listOf types.path; type = types.listOf types.path;

View File

@@ -7,7 +7,8 @@
with lib; let with lib; let
cfg = config.base.cliTools.zellij; cfg = config.base.cliTools.zellij;
in { 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 { config = mkIf cfg.enable {
programs.zellij = { programs.zellij = {

View File

@@ -7,7 +7,8 @@
with lib; let with lib; let
cfg = config.base.cliTools.zoxide; cfg = config.base.cliTools.zoxide;
in { 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 { config = mkIf cfg.enable {
programs.zoxide = { programs.zoxide = {

View File

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

View File

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

View File

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

View File

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