summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTheSiahxyz <164138827+TheSiahxyz@users.noreply.github.com>2026-06-16 18:22:39 +0900
committerTheSiahxyz <164138827+TheSiahxyz@users.noreply.github.com>2026-06-16 18:22:39 +0900
commit7a3683c4fa07ca83a3d13edb97d6cd2fff47ffa1 (patch)
treeec941a1c635486015416924aa2a264e43e08bef8
parent02472e929fd0ee2ece2ba0825bfecfb93be2a767 (diff)
modified core/options.lua, modified zsh/scripts.zsh
-rw-r--r--ar/.config/TheSiahxyz/lua/TheSiahxyz/core/options.lua1
-rw-r--r--ar/.config/zsh/scripts.zsh46
2 files changed, 31 insertions, 16 deletions
diff --git a/ar/.config/TheSiahxyz/lua/TheSiahxyz/core/options.lua b/ar/.config/TheSiahxyz/lua/TheSiahxyz/core/options.lua
index a4b373f..895f9ee 100644
--- a/ar/.config/TheSiahxyz/lua/TheSiahxyz/core/options.lua
+++ b/ar/.config/TheSiahxyz/lua/TheSiahxyz/core/options.lua
@@ -9,6 +9,7 @@ vim.g.have_nerd_font = true
-- vim.g.loaded_netrwPlugin = 1
vim.g.mapleader = " "
vim.g.maplocalleader = "\\"
+vim.g.python3_host_prog = vim.fn.expand("~/.local/share/venvs/nvim/bin/python")
vim.o.sessionoptions = "blank,buffers,curdir,folds,help,tabpages,winsize,winpos,terminal,localoptions"
vim.opt.backup = false
vim.opt.breakindent = true
diff --git a/ar/.config/zsh/scripts.zsh b/ar/.config/zsh/scripts.zsh
index 4976e88..c97a2d9 100644
--- a/ar/.config/zsh/scripts.zsh
+++ b/ar/.config/zsh/scripts.zsh
@@ -767,25 +767,29 @@ function create_venv() {
local env_dir="${XDG_DATA_HOME:-${HOME}/.local/share}/venvs/${1:-venv}"
local requirements_path="${XDG_DATA_HOME:-${HOME}/.local/share}/venvs"
- # Check if the environment already exists
# Create the virtual environment
echo "Creating new virtual environment in '$env_dir'..."
- python3 -m venv $env_dir
+ python3 -m venv "$env_dir"
# Activate the virtual environment
- source $env_dir/bin/activate
+ source "$env_dir/bin/activate"
# Optional: Install any default packages
pip3 install --upgrade pip >/dev/null 2>&1
if [ -f "$requirements_path/default-requirements.txt" ]; then
echo "Installing packages from '$requirements_path/default-requirements.txt'..."
- pip3 install -r "$requirements_path/default-requirements.txt" >/dev/null 2>&1
+ if ! pip3 install -r "$requirements_path/default-requirements.txt"; then
+ echo "WARNING: pip failed to install some packages from default-requirements.txt (see errors above)" >&2
+ fi
fi
- if [ -f "$requirements_path/captured-requirements.txt" ]; then
- echo "Installing packages from '$requirements_path/captured-requirements.txt'..."
- pip3 install -r "$requirements_path/captured-requirements.txt" >/dev/null 2>&1
+ # Restore this venv's own previously-captured packages, if any (written by deactive_venv)
+ if [ -f "$env_dir/requirements.txt" ]; then
+ echo "Restoring packages from '$env_dir/requirements.txt'..."
+ if ! pip3 install -r "$env_dir/requirements.txt"; then
+ echo "WARNING: pip failed to install some packages from $env_dir/requirements.txt (see errors above)" >&2
+ fi
fi
echo "Virtual environment '${1:-venv}' created and activated!"
@@ -794,21 +798,30 @@ function create_venv() {
# activate or switch venvs
alias actv=active_venv
function active_venv() {
+ local venvs_dir="${XDG_DATA_HOME:-${HOME}/.local/share}/venvs"
local venv="$1"
if [[ -z "$venv" ]]; then
- venv=$(find "$XDG_DATA_HOME/venvs" -mindepth 1 -maxdepth 1 -type d -exec basename {} \; | fzf)
+ venv=$(find "$venvs_dir" -mindepth 1 -maxdepth 1 -type d -exec basename {} \; | fzf)
fi
- source "$XDG_DATA_HOME/venvs/$venv/bin/activate"
+ if [[ -z "$venv" ]]; then
+ echo "No venv selected"
+ return 1
+ fi
+ if [[ ! -f "$venvs_dir/$venv/bin/activate" ]]; then
+ echo "venv '$venv' not found in $venvs_dir"
+ return 1
+ fi
+ source "$venvs_dir/$venv/bin/activate"
python -m ensurepip --upgrade >/dev/null 2>&1
python -m pip install --upgrade pip >/dev/null 2>&1
- jupyter kernel --kernel=$venv
+ jupyter kernel --kernel="$venv"
}
# list venvs
alias listv=list_venv
function list_venv() {
local venvs_dir="${XDG_DATA_HOME:-${HOME}/.local/share}/venvs"
- local venvs=("$venvs_dir"/*)
+ local venvs=("$venvs_dir"/*(N))
if [ ${#venvs[@]} -eq 0 ]; then
echo "No venvs"
@@ -826,12 +839,13 @@ function list_venv() {
# deactivate venv
alias deactv=deactive_venv
function deactive_venv() {
- if [[ "$VIRTUAL_ENV" != "" ]]; then
- if [[ ! -f "${XDG_DATA_HOME:-${HOME}/.local/share}/venvs/requirements.txt" ]]; then
- pip3 freeze > "${XDG_DATA_HOME:-${HOME}/.local/share}/venvs/captured-requirements.txt"
- fi
+ if [[ -n "$VIRTUAL_ENV" ]]; then
+ # Capture this venv's packages into its own folder (not a shared file),
+ # so other venvs are never polluted. create_venv restores from here.
+ pip3 freeze > "$VIRTUAL_ENV/requirements.txt"
+ echo "Captured installed packages to '$VIRTUAL_ENV/requirements.txt'"
deactivate
- echo "Virtual environment deactivated and all installed packages captured"
+ echo "Virtual environment deactivated"
else
echo "No virtual environment is active."
fi