adds some work scripts

This commit is contained in:
Dennis 2025-08-25 10:43:19 +02:00
parent 9dad162a5a
commit e56a6ed33f

View file

@ -1,105 +1,125 @@
{ config, pkgs, ... }: { config, pkgs, ... }:
{ programs.fish = { {
programs.fish = {
enable = true; enable = true;
functions = { functions = {
cdr = '' cdr = ''
set folder (begin set folder (begin
fd . ~/dev/ride/apps/backend/edge-services -t d -d 1; fd . ~/dev/ride/apps/backend/edge-services -t d -d 1;
fd . ~/dev/ride/apps/backend/backend-services -t d -d 1; fd . ~/dev/ride/apps/backend/backend-services -t d -d 1;
fd . ~/dev/ride/apps/frontend/projects -t d -d 1; fd . ~/dev/ride/apps/frontend/projects -t d -d 1;
fd . ~/dev/ride/apps/native -t d -d 1; fd . ~/dev/ride/apps/native -t d -d 1;
# fd . ~/dev/ride/packages -t d -d 1; fd . ~/dev/ride/packages -t d -d 1;
echo "$HOME/dev/ride/apps/frontend"; echo "$HOME/dev/ride/apps/frontend";
echo "$HOME/dev/ride/apps/lib"; echo "$HOME/dev/ride/apps/lib";
echo "$HOME/dev/ride"; echo "$HOME/dev/ride";
end | fzf); end | fzf);
set service (basename $folder) set service (basename $folder)
cd $folder cd $folder
'';
cdn = ''
set folder (begin
fd . ~/dev/ride/apps/backend/edge-services -t d -d 1;
fd . ~/dev/ride/apps/backend/backend-services -t d -d 1;
fd . ~/dev/ride/apps/frontend/projects -t d -d 1;
fd . ~/dev/ride/apps/native -t d -d 1;
fd . ~/dev/ride/packages -t d -d 1;
echo "$HOME/dev/ride/apps/frontend";
echo "$HOME/dev/ride/apps/lib";
echo "$HOME/dev/ride";
end | fzf);
set service (basename $folder)
cd $folder
nvim .
''; '';
rr = '' rr = ''
set folder (begin set folder (begin
fd . ~/dev/ride/apps/backend/edge-services -t d -d 1; fd . ~/dev/ride/apps/backend/edge-services -t d -d 1;
fd . ~/dev/ride/apps/backend/backend-services -t d -d 1; fd . ~/dev/ride/apps/backend/backend-services -t d -d 1;
fd . ~/dev/ride/apps/frontend/projects -t d -d 1; fd . ~/dev/ride/apps/frontend/projects -t d -d 1;
fd . ~/dev/ride/apps/native -t d -d 1; fd . ~/dev/ride/apps/native -t d -d 1;
echo "$HOME/dev/ride/apps/frontend"; echo "$HOME/dev/ride/apps/frontend";
echo "$HOME/dev/ride/apps/lib"; echo "$HOME/dev/ride/apps/lib";
echo "$HOME/dev/ride"; echo "$HOME/dev/ride";
end | fzf); end | fzf);
if test -n "$folder" if test -n "$folder"
set service (basename $folder) set service (basename $folder)
cd $folder cd $folder
# Check if package.json exists # Check if package.json exists
if test -f "package.json" if test -f "package.json"
# Extract and format npm scripts for fzf # Extract and format npm scripts for fzf
set script_cmd (jq -r '.scripts | to_entries | .[] | "\(.key): \(.value)"' package.json | fzf) set script_cmd (jq -r '.scripts | to_entries | .[] | "\(.key): \(.value)"' package.json | fzf)
if test -n "$script_cmd" if test -n "$script_cmd"
# Extract just the script name before the colon # Extract just the script name before the colon
set script_name (string split ": " $script_cmd)[1] set script_name (string split ": " $script_cmd)[1]
if test -n "$script_name" if test -n "$script_name"
echo "Running: npm run $script_name" echo "Running: npm run $script_name"
npm run $script_name npm run $script_name
end end
end end
end end
end end
''; '';
ff = '' ff = ''
set RG_PREFIX "rg --column --line-number --no-heading --color=always --smart-case " set RG_PREFIX "rg --column --line-number --no-heading --color=always --smart-case "
set INITIAL_QUERY "$argv" set INITIAL_QUERY "$argv"
fzf --ansi --disabled --query "$INITIAL_QUERY" \ fzf --ansi --disabled --query "$INITIAL_QUERY" \
--bind "start:reload:$RG_PREFIX {q}" \ --bind "start:reload:$RG_PREFIX {q}" \
--bind "change:reload:sleep 0.1; $RG_PREFIX {q} || true" \ --bind "change:reload:sleep 0.1; $RG_PREFIX {q} || true" \
--delimiter : \ --bind "alt-enter:unbind(change,alt-enter)+change-prompt(2. fzf> )+enable-search+clear-query" \
--preview 'bat --color=always {1} --highlight-line {2}' \ --color "hl:-1:underline,hl+:-1:underline:reverse" \
--preview-window 'up,60%,border-bottom,+{2}+3/3,~3' \ --prompt '1. ripgrep> ' \
--bind 'enter:become(nvim {1} +{2})' --delimiter : \
--preview 'bat --color=always {1} --highlight-line {2}' \
--preview-window 'up,60%,border-bottom,+{2}+3/3,~3' \
--bind 'enter:become(nvim {1} +{2})'
''; '';
envsource = '' envsource = ''
for line in (cat $argv | grep -v '^#') for line in (cat $argv | grep -v '^#')
set item (string split -m 1 '=' $line) set item (string split -m 1 '=' $line)
set -gx $item[1] $item[2] set -gx $item[1] $item[2]
end end
''; '';
fish_greeting = "fortune -a"; fish_greeting = "fortune -a";
resize_images = '' resize_images = ''
# Resize all JPG images in the current directory and its subdirectories # Resize all JPG images in the current directory and its subdirectories
# Usage: resize_images [percentage] # Usage: resize_images [percentage]
# Example: resize_images 20 - resizes all images to 20% of original size # Example: resize_images 20 - resizes all images to 20% of original size
# If no percentage is provided, defaults to 40% # If no percentage is provided, defaults to 40%
set -l percentage $argv[1] set -l percentage $argv[1]
if test -z "$percentage" if test -z "$percentage"
set percentage 40 set percentage 40
end end
for img in (find . -type f -name "*.JPG") for img in (find . -type f -name "*.JPG")
set original_size (stat -f %z "$img") set original_size (stat -f %z "$img")
magick convert "$img" -resize "$percentage%" "$img" magick convert "$img" -resize "$percentage%" "$img"
set new_size (stat -f %z "$img") set new_size (stat -f %z "$img")
echo "Processed $img" echo "Processed $img"
echo "Original size: $original_size bytes" echo "Original size: $original_size bytes"
echo "New size: $new_size bytes" echo "New size: $new_size bytes"
echo "---" echo "---"
end end
''; '';
localip = "ifconfig | grep \"inet \" | grep -v 127.0.0.1 | awk '{print $2}' | head -n 1"; localip = "ifconfig | grep \"inet \" | grep -v 127.0.0.1 | awk '{print $2}' | head -n 1";
publicip = "curl -4 ifconfig.me"; publicip = "curl -4 ifconfig.me";
fzf = '' fzf = ''
set -Ux FZF_DEFAULT_OPTS " set -Ux FZF_DEFAULT_OPTS "
--color=fg:#908caa,bg:#191724,hl:#ebbcba --color=fg:#908caa,bg:#191724,hl:#ebbcba
--color=fg+:#e0def4,bg+:#26233a,hl+:#ebbcba --color=fg+:#e0def4,bg+:#26233a,hl+:#ebbcba
--color=border:#403d52,header:#31748f,gutter:#191724 --color=border:#403d52,header:#31748f,gutter:#191724
--color=spinner:#f6c177,info:#9ccfd8 --color=spinner:#f6c177,info:#9ccfd8
--color=pointer:#c4a7e7,marker:#eb6f92,prompt:#908caa" --color=pointer:#c4a7e7,marker:#eb6f92,prompt:#908caa"
command fzf command fzf
''; '';
}; };