From 07b3bfefad2e5ea8f0188d0deb81170ef8f0cd95 Mon Sep 17 00:00:00 2001 From: fe5hua Date: Mon, 14 Sep 2026 07:49:16 +0200 Subject: [PATCH] fish dev function 2 --- dot_config/private_fish/functions/dev.fish | 70 +++++++++++++--------- 1 file changed, 43 insertions(+), 27 deletions(-) diff --git a/dot_config/private_fish/functions/dev.fish b/dot_config/private_fish/functions/dev.fish index b08136c..c81fbf1 100644 --- a/dot_config/private_fish/functions/dev.fish +++ b/dot_config/private_fish/functions/dev.fish @@ -2,7 +2,6 @@ function dev set -l name dev set -l image fedora:44 - # Packages for a general-purpose development environment. set -l packages \ git \ gcc \ @@ -19,7 +18,16 @@ function dev curl \ which \ file \ - jq + jq \ + zoxide \ + fzf \ + eza \ + ripgrep \ + du-dust \ + tldr \ + cheat \ + pv \ + age if distrobox list --no-color | string match -q "*| $name *" distrobox enter $name @@ -28,35 +36,43 @@ function dev echo "Creating Distrobox container '$name'..." + set -l init_hook ' + set -e + + echo "Initializing development environment..." + + sudo mkdir -p /opt/rustup /opt/cargo + sudo chown -R $USER:$USER /opt/rustup /opt/cargo + + sudo mkdir -p /etc/fish/conf.d /etc/fish/completions + + printf "%s\n" \ + "set -gx RUSTUP_HOME /opt/rustup" \ + "set -gx CARGO_HOME /opt/cargo" \ + "fish_add_path \$CARGO_HOME/bin /home/user/.local/bin" \ + | sudo tee /etc/fish/conf.d/rust.fish >/dev/null + + export RUSTUP_HOME=/opt/rustup + export CARGO_HOME=/opt/cargo + + curl --proto "=https" \ + --tlsv1.2 \ + -sSf https://sh.rustup.rs \ + | sh -s -- -y --no-modify-path + + /opt/cargo/bin/rustup default stable + + /opt/cargo/bin/rustup completions fish \ + | sudo tee /etc/fish/completions/rustup.fish >/dev/null + + echo "Development environment initialized successfully." + ' + distrobox create \ --name $name \ --image $image --yes \ --additional-packages (string join ' ' $packages) \ - --init-hooks ' - sudo mkdir -p /opt/rustup /opt/cargo - sudo chown -R $USER:$USER /opt/rustup /opt/cargo - - sudo mkdir -p /etc/fish/conf.d - - printf "%s\n" \ - "set -gx RUSTUP_HOME /opt/rustup" \ - "set -gx CARGO_HOME /opt/cargo" \ - "fish_add_path \$CARGO_HOME/bin" \ - | sudo tee /etc/fish/conf.d/rust.fish >/dev/null - - export RUSTUP_HOME=/opt/rustup - export CARGO_HOME=/opt/cargo - - curl --proto "=https" \ - --tlsv1.2 \ - -sSf https://sh.rustup.rs \ - | sh -s -- -y --no-modify-path - - # Install rustup Fish completion system-wide. - mkdir -p /etc/fish/completions - /opt/cargo/bin/rustup completions fish \ - | sudo tee /etc/fish/completions/rustup.fish >/dev/null - ' + --init-hooks "$init_hook" if test $status -ne 0 echo "Failed to create container '$name'." >&2