I have been using it for a few months but @dalto post reminded me i haven’t shared it yet, so :
A nice little tool that allow you to set commands/scripts in advance for specific folders.
This has saved me so much time with repetitive commands.
Example
Here is a part of the justfile i use to make my life easier while creating hyprland themes :
cwd := `pwd`
theme := "Polar_Gleam"
init:
#!/usr/bin/env bash
mkdir -p "Configs/.config/themes/{{theme}}/wallpapers"
mkdir -p "Source/arcs"
mkdir -p "screenshots"
mkdir -p "refs"
gen-hypr:
#!/usr/bin/env bash
mkdir -p {{cwd}}/refs
cp $HOME/.config/hypr/themes/theme.conf {{cwd}}/refs/hypr.theme
echo '$HOME/.config/hypr/themes/theme.conf|> $HOME/.config/hypr/themes/colors.conf' | cat - {{cwd}}/refs/hypr.theme > temp && mv temp {{cwd}}/refs/hypr.theme
gen-waybar:
#!/usr/bin/env bash
mkdir -p {{cwd}}/refs
cp $HOME/.config/waybar/theme.css {{cwd}}/refs/waybar.theme
echo '$HOME/.config/waybar/theme.css|${scrDir}/wbarconfgen.sh' | cat - {{cwd}}/refs/waybar.theme > temp && mv temp {{cwd}}/refs/waybar.theme
gen-rofi:
#!/usr/bin/env bash
mkdir -p {{cwd}}/refs
cp $HOME/.config/rofi/theme.rasi {{cwd}}/refs/rofi.theme
echo '$HOME/.config/rofi/theme.rasi' | cat - {{cwd}}/refs/rofi.theme > temp && mv temp {{cwd}}/refs/rofi.theme
gen-kitty:
#!/usr/bin/env bash
mkdir -p {{cwd}}/refs
cp $HOME/.config/kitty/theme.conf {{cwd}}/refs/kitty.theme
echo '$HOME/.config/kitty/theme.conf|killall -SIGUSR1 kitty' | cat - {{cwd}}/refs/kitty.theme > temp && mv temp {{cwd}}/refs/kitty.theme
gen-all:
just gen-hypr
just gen-waybar
just gen-rofi
just gen-kvantum
just gen-kitty
I just have to place this file in any new theme folder i create and while i’m in this folder i can use any of the commands/scripts set above simply by calling it with just :
ex : just gen-waybar or just init
This is kinda in between making aliases and using make, simple yet really powerful.
It also allow you to have the same alias perform different action depending on where you are working. For me just convert will call ffmpeg and convert a video into audio if i am in my Youtube folder and the same command will convert a .pnj into a .jpeg if i am in my Pictures folder.