better init

This commit is contained in:
Daniel Winkler 2025-08-28 23:14:25 +10:00
commit 2bcda70c9a

View file

@ -38,7 +38,7 @@
## Enable languages ## Enable languages
enabledLanguages = { enabledLanguages = {
julia = false; julia = false;
python = false; python = true;
r = false; r = false;
}; };
## Enable packages ## Enable packages
@ -106,6 +106,8 @@
else else
echo "--------------------------------------------------------------------------" echo "--------------------------------------------------------------------------"
echo "🔄 Existing Python project detected." echo "🔄 Existing Python project detected."
uv add ipython
uv add marimo
echo "Run '${config.defaultPackageName}-updateDeps' to update dependencies." echo "Run '${config.defaultPackageName}-updateDeps' to update dependencies."
echo "--------------------------------------------------------------------------" echo "--------------------------------------------------------------------------"
fi fi
@ -376,9 +378,22 @@
m = let m = let
marimoInit = '' marimoInit = ''
set -euo pipefail set -euo pipefail
echo "🔄 Syncing existing project..." if [[ ! -f "pyproject.toml" ]]; then
uv sync echo "🐍 Initializing UV project..."
echo "🐍 Launching Marimo..." uv init
echo "📦 Adding Marimo..."
uv add marimo
echo "--------------------------------------------------------------------------"
echo " Python project initialized!"
echo "run 'uv add PACKAGE' to add more python packages."
echo "--------------------------------------------------------------------------"
else
echo "--------------------------------------------------------------------------"
echo "🔄 Syncing existing project..."
uv sync
echo "🐍 Launching Marimo..."
echo "--------------------------------------------------------------------------"
fi
''; '';
in { in {
enable = config.enabledLanguages.python; enable = config.enabledLanguages.python;
@ -395,9 +410,22 @@
py = let py = let
ipythonInit = '' ipythonInit = ''
set -euo pipefail set -euo pipefail
echo "🔄 Syncing existing project..." if [[ ! -f "pyproject.toml" ]]; then
uv sync echo "🐍 Initializing UV project..."
echo "🐍 Launching IPython..." uv init
echo "📦 Adding ipython..."
uv add ipython
echo "--------------------------------------------------------------------------"
echo " Python project initialized!"
echo "run 'uv add PACKAGE' to add more python packages."
echo "--------------------------------------------------------------------------"
else
echo "--------------------------------------------------------------------------"
echo "🔄 Syncing existing project..."
uv sync
echo "🐍 Launching IPython..."
echo "--------------------------------------------------------------------------"
fi
''; '';
in { in {
enable = config.enabledLanguages.python; enable = config.enabledLanguages.python;
@ -418,6 +446,13 @@
args = ["--add-flags" "--project=."]; args = ["--add-flags" "--project=."];
}; };
}; };
initJl = {
enable = config.enabledLanguages.julia;
path = {
value = "${pkgs.julia-bin}/bin/julia";
args = ["--add-flags" "--project=." "-e" "using Pkg; Pkg.instantiate()"];
};
};
r = { r = {
enable = config.enabledLanguages.r; enable = config.enabledLanguages.r;
path = { path = {
@ -469,8 +504,10 @@
shellCmds = pkgs.lib.concatLines (pkgs.lib.filter (cmd: cmd != "") [ shellCmds = pkgs.lib.concatLines (pkgs.lib.filter (cmd: cmd != "") [
(pkgs.lib.optionalString config.enabledLanguages.r " - ${config.defaultPackageName}-r: Launch R console") (pkgs.lib.optionalString config.enabledLanguages.r " - ${config.defaultPackageName}-r: Launch R console")
(pkgs.lib.optionalString config.enabledLanguages.julia " - ${config.defaultPackageName}-jl: Launch Julia REPL") (pkgs.lib.optionalString config.enabledLanguages.julia " - ${config.defaultPackageName}-jl: Launch Julia REPL")
(pkgs.lib.optionalString config.enabledLanguages.julia " - ${config.defaultPackageName}-initJl: Init existing Julia project")
(pkgs.lib.optionalString config.enabledLanguages.python " - ${config.defaultPackageName}-m: Launch Marimo notebook") (pkgs.lib.optionalString config.enabledLanguages.python " - ${config.defaultPackageName}-m: Launch Marimo notebook")
(pkgs.lib.optionalString config.enabledLanguages.python " - ${config.defaultPackageName}-py: Launch IPython REPL") (pkgs.lib.optionalString config.enabledLanguages.python " - ${config.defaultPackageName}-py: Launch IPython REPL")
(pkgs.lib.optionalString config.enabledLanguages.python " - ${config.defaultPackageName}-initPython: Init python project")
" " " "
"To adjust options run: ${config.defaultPackageName} flake.nix" "To adjust options run: ${config.defaultPackageName} flake.nix"
]); ]);
@ -481,7 +518,6 @@
inputsFrom = []; inputsFrom = [];
shellHook = '' shellHook = ''
echo "" echo ""
${pkgs.lib.optionalString config.enabledLanguages.python "${config.defaultPackageName}-initPython"}
echo "==========================================================================" echo "=========================================================================="
echo "🎯 ${config.defaultPackageName} Development Environment" echo "🎯 ${config.defaultPackageName} Development Environment"
echo "---" echo "---"