Restructure Nix options to nest shopts under line/core/prompt submodules matching shopt key paths

This commit is contained in:
2026-03-21 03:26:00 -04:00
parent 627489905e
commit 898002812e
2 changed files with 173 additions and 148 deletions

View File

@@ -49,38 +49,38 @@ ${indented}
autocmdLines = lib.concatLines (map mkAutoCmd cfg.autocmds);
in
lib.concatLines [
cfg.settings.extraPreConfig
cfg.extraPreConfig
(lib.concatLines (lib.mapAttrsToList (name: value: "export ${name}=\"${value}\"") cfg.environmentVars))
(lib.concatLines (lib.mapAttrsToList (name: value: "alias ${name}=\"${value}\"") cfg.aliases))
(lib.concatLines [
"shopt line.viewport_height=${toString cfg.settings.viewportHeight}"
"shopt line.scroll_offset=${toString cfg.settings.scrollOffset}"
"shopt line.viewport_height=${toString cfg.shopts.line.viewport_height}"
"shopt line.scroll_offset=${toString cfg.shopts.line.scroll_offset}"
"shopt core.dotglob=${boolToString cfg.settings.dotGlob}"
"shopt core.autocd=${boolToString cfg.settings.autocd}"
"shopt core.hist_ignore_dupes=${boolToString cfg.settings.historyIgnoresDupes}"
"shopt core.max_hist=${toString cfg.settings.maxHistoryEntries}"
"shopt core.interactive_comments=${boolToString cfg.settings.interactiveComments}"
"shopt core.auto_hist=${boolToString cfg.settings.autoHistory}"
"shopt core.bell_enabled=${boolToString cfg.settings.bellEnabled}"
"shopt core.max_recurse_depth=${toString cfg.settings.maxRecurseDepth}"
"shopt core.xpg_echo=${boolToString cfg.settings.echoExpandsEscapes}"
"shopt core.noclobber=${boolToString cfg.settings.noClobber}"
"shopt core.dotglob=${boolToString cfg.shopts.core.dotglob}"
"shopt core.autocd=${boolToString cfg.shopts.core.autocd}"
"shopt core.hist_ignore_dupes=${boolToString cfg.shopts.core.hist_ignore_dupes}"
"shopt core.max_hist=${toString cfg.shopts.core.max_hist}"
"shopt core.interactive_comments=${boolToString cfg.shopts.core.interactive_comments}"
"shopt core.auto_hist=${boolToString cfg.shopts.core.auto_hist}"
"shopt core.bell_enabled=${boolToString cfg.shopts.core.bell_enabled}"
"shopt core.max_recurse_depth=${toString cfg.shopts.core.max_recurse_depth}"
"shopt core.xpg_echo=${boolToString cfg.shopts.core.xpg_echo}"
"shopt core.noclobber=${boolToString cfg.shopts.core.noclobber}"
"shopt prompt.leader='${cfg.settings.leaderKey}'"
"shopt prompt.trunc_prompt_path=${toString cfg.settings.promptPathSegments}"
"shopt prompt.comp_limit=${toString cfg.settings.completionLimit}"
"shopt prompt.highlight=${boolToString cfg.settings.syntaxHighlighting}"
"shopt prompt.linebreak_on_incomplete=${boolToString cfg.settings.linebreakOnIncomplete}"
"shopt prompt.line_numbers=${boolToString cfg.settings.lineNumbers}"
"shopt prompt.screensaver_idle_time=${toString cfg.settings.screensaverIdleTime}"
"shopt prompt.screensaver_cmd='${cfg.settings.screensaverCmd}'"
"shopt prompt.completion_ignore_case=${boolToString cfg.settings.completionIgnoreCase}"
"shopt prompt.auto_indent=${boolToString cfg.settings.autoIndent}"
"shopt prompt.leader='${cfg.shopts.prompt.leader}'"
"shopt prompt.trunc_prompt_path=${toString cfg.shopts.prompt.trunc_prompt_path}"
"shopt prompt.comp_limit=${toString cfg.shopts.prompt.comp_limit}"
"shopt prompt.highlight=${boolToString cfg.shopts.prompt.highlight}"
"shopt prompt.linebreak_on_incomplete=${boolToString cfg.shopts.prompt.linebreak_on_incomplete}"
"shopt prompt.line_numbers=${boolToString cfg.shopts.prompt.line_numbers}"
"shopt prompt.screensaver_idle_time=${toString cfg.shopts.prompt.screensaver_idle_time}"
"shopt prompt.screensaver_cmd='${cfg.shopts.prompt.screensaver_cmd}'"
"shopt prompt.completion_ignore_case=${boolToString cfg.shopts.prompt.completion_ignore_case}"
"shopt prompt.auto_indent=${boolToString cfg.shopts.prompt.auto_indent}"
functionLines
completeLines
keymapLines
autocmdLines
])
cfg.settings.extraPostConfig
cfg.extraPostConfig
]