Extract shell hook to lib/shell-hook.nix for better organization

Co-authored-by: dwinkler1 <22460147+dwinkler1@users.noreply.github.com>
This commit is contained in:
copilot-swe-agent[bot] 2026-01-11 19:28:09 +00:00
commit eaecb56186
4 changed files with 47 additions and 728 deletions

View file

@ -0,0 +1,36 @@
# Shell hook configuration
# Generates the help message displayed when entering the dev shell
config: pkgs: let
inherit (config) defaultPackageName enabledLanguages enabledPackages;
shellCmds = pkgs.lib.concatLines (pkgs.lib.filter (cmd: cmd != "") [
(pkgs.lib.optionalString enabledLanguages.r " - ${defaultPackageName}-r: Launch R console")
(pkgs.lib.optionalString enabledLanguages.julia " - ${defaultPackageName}-jl: Launch Julia REPL")
(pkgs.lib.optionalString enabledLanguages.julia " - ${defaultPackageName}-pluto: Launch Pluto.jl notebook")
(pkgs.lib.optionalString enabledLanguages.julia " - ${defaultPackageName}-initJl: Init existing Julia project")
(pkgs.lib.optionalString enabledLanguages.python " - ${defaultPackageName}-marimo: Launch Marimo notebook")
(pkgs.lib.optionalString enabledLanguages.python " - ${defaultPackageName}-py: Run python")
(pkgs.lib.optionalString enabledLanguages.python " - ${defaultPackageName}-ipy: Launch IPython REPL")
(pkgs.lib.optionalString enabledLanguages.python " - ${defaultPackageName}-initPython: Init python project")
(pkgs.lib.optionalString enabledPackages.devenv " - ${defaultPackageName}-initDevenv: Init devenv project")
(pkgs.lib.optionalString enabledPackages.devenv " - ${defaultPackageName}-devenv: Run devenv")
" "
"To adjust options run: ${defaultPackageName} flake.nix"
]);
in ''
echo ""
echo "=========================================================================="
echo "🎯 ${defaultPackageName} Development Environment"
echo "---"
echo "📝 Run '${defaultPackageName}-initProject' to set up project structure"
echo "🔄 Run '${defaultPackageName}-updateDeps' to update all dependencies"
echo "---"
echo "🚀 Available commands:"
echo " - ${defaultPackageName}: Launch Neovim"
echo " - ${defaultPackageName}-g: Launch Neovide"
echo "${shellCmds}"
echo "=========================================================================="
echo ""
${pkgs.lib.optionalString enabledPackages.devenv "${defaultPackageName}-activateDevenv"}
echo ""
''