Refactor install logic, use file-based overrides per OS/distro

This commit is contained in:
2026-01-15 00:06:46 -06:00
parent 9f67636472
commit a220886000
38 changed files with 187 additions and 120 deletions

View File

@@ -0,0 +1,3 @@
#!/bin/sh
echo "program not applicable for this OS or distro, skipping build/installation"

View File

@@ -0,0 +1,4 @@
#!/bin/zsh
# use normal package manager for macos install, since default is noop for other OSs
${=BOX_SETUP_INSTALL_COMMAND} --cask nikitabobko/tap/aerospace

View File

@@ -0,0 +1,3 @@
#!/bin/sh
echo "TODO: custom script for bitwig not yet implemented; may just want manual install"

View File

@@ -0,0 +1,3 @@
#!/bin/sh
echo "TODO: custom script for bitwig not yet implemented; may just want manual install"

View File

@@ -0,0 +1,3 @@
#!/bin/sh
echo "intentionally skipping build/installation for macos"

View File

@@ -0,0 +1,3 @@
#!/bin/sh
echo "program not applicable for this OS or distro, skipping build/installation"

View File

@@ -0,0 +1,4 @@
#!/bin/zsh
# use normal package manager for macos install, since default is noop for other OSs
${=BOX_SETUP_INSTALL_COMMAND} coreutils

View File

@@ -0,0 +1,8 @@
#!/bin/sh
# for now, use luke's build; i can make my own fork later if desired
git clone https://github.com/LukeSmithxyz/dmenu.git
pushd dmenu > /dev/null
sudo make clean install
popd > /dev/null

View File

@@ -0,0 +1,3 @@
#!/bin/sh
echo "intentionally skipping build/installation for macos"

View File

@@ -0,0 +1,7 @@
#!/bin/sh
git clone https://git.drinkingtea.net/david/dwm.git
pushd dwm > /dev/null
sudo make clean install
popd > /dev/null

View File

@@ -0,0 +1,3 @@
#!/bin/sh
echo "intentionally skipping build/installation for macos"

View File

@@ -0,0 +1,3 @@
#!/bin/sh
echo "program not applicable for this OS or distro, skipping build/installation"

View File

@@ -0,0 +1,4 @@
#!/bin/zsh
# use normal package manager for macos install, since default is noop for other OSs
${=BOX_SETUP_INSTALL_COMMAND} findutils

View File

@@ -0,0 +1,3 @@
#!/bin/sh
echo "intentionally skipping build/installation for macos"

View File

@@ -0,0 +1,4 @@
#!/bin/zsh
# adjust prefix for package manager before install
${=BOX_SETUP_INSTALL_COMMAND} --cask gimp

View File

@@ -0,0 +1,4 @@
#!/bin/zsh
# adjust prefix for package manager before install
${=BOX_SETUP_INSTALL_COMMAND} --cask kitty

View File

@@ -1,6 +1,7 @@
#!/bin/zsh
git clone https://github.com/ibara/oksh.git
pushd oksh > /dev/null
./configure
make && sudo make install

View File

@@ -1,2 +0,0 @@
echo 'hello from bitwig custom build!'
echo 'custom script for bitwig is not yet implemented, these echos just here for testing'

View File

@@ -0,0 +1,3 @@
#!/bin/sh
echo "intentionally skipping build/installation for macos"

View File

@@ -0,0 +1,4 @@
#!/bin/zsh
# change package name; on arch it is 'pandoc-cli'
${=BOX_SETUP_INSTALL_COMMAND} pandoc-cli

View File

@@ -0,0 +1,4 @@
#!/bin/zsh
# change package name; on artix it is 'pandoc-bin'
${=BOX_SETUP_INSTALL_COMMAND} pandoc-bin

View File

@@ -1,18 +0,0 @@
#!/bin/zsh
# from primeagen's examples and dev repo
# currnetly not used, but keeping for reference in case i need this soon for debian
install_neovim_dir=$HOME/.local/build/neovim
install_neovim_version="v0.10.3"
[ ! -z $NVIM_VERSION ] && install_neovim_version="$NVIM_VERSION"
echo "install_neovim_version: \"$install_neovim_version\""
[ ! -d $install_neovim_dir ] && git clone https://github.com/neovim/neovim.git $install_neovim_dir
git -C $install_neovim_dir fetch --all
git -C $install_neovim_dir checkout $install_neovim_version
make -C $install_neovim_dir clean
make -C $install_neovim_dir CMAKE_BUILD_TYPE=RelWithDebInfo
sudo make -C $install_neovim_dir install

View File

@@ -0,0 +1,3 @@
#!/bin/sh
echo "intentionally skipping build/installation for macos"

View File

@@ -0,0 +1,3 @@
#!/bin/sh
echo "program not applicable for this OS or distro, skipping build/installation"

View File

@@ -0,0 +1,4 @@
#!/bin/zsh
# use normal package manager for macos install, since default is noop for other OSs
${=BOX_SETUP_INSTALL_COMMAND} koekeishiya/formulae/skhd

View File

@@ -0,0 +1,9 @@
#!/bin/sh
# git clone https://git.drinkingtea.net/david/st.git
# pushd st > /dev/null
# sudo make clean install
# popd > /dev/null
echo "TODO: st build not yet done, skipping this install for now"

View File

@@ -0,0 +1,3 @@
#!/bin/sh
echo "intentionally skipping build/installation for macos"

View File

@@ -0,0 +1,4 @@
#!/bin/zsh
# tenacity is not readily available on macos, so just use audacity for now
${=BOX_SETUP_INSTALL_COMMAND} --cask audacity

View File

@@ -0,0 +1,3 @@
#!/bin/sh
echo "intentionally skipping build/installation for macos"

View File

@@ -1,38 +0,0 @@
name,kind,os_overrides,distro_overrides,system_type_overrides,notes
gcc,package_manager,macos: name='',,,
clang,package_manager,macos: name='',,,
musl,package_manager,macos: name='',,,
coreutils,package_manager,linux: name='',,,
findutils,package_manager,linux: name='',,,
make,package_manager,,,,
cmake,package_manager,,,,
mise,build_custom,,,,TODO implement the build_custom script for this
mpv,package_manager,,,,
kitty,package_manager,macos: name='--cask kitty',,,
zsh,package_manager,,,,
ksh,build_custom,,,,
tmux,package_manager,,,,
neovim,package_manager,,,,
mutt,package_manager,,,,
podman,package_manager,,,,
curl,package_manager,,,,
grep,package_manager,,,,
ripgrep,package_manager,,,,
sed,package_manager,macos: name='',,,
fzf,package_manager,,,,
jq,package_manager,,,,
parallel,package_manager,,,,
gettext,package_manager,,,,
htop,package_manager,,,,
ffmpeg,package_manager,,,work: name='',
mpd,package_manager,,,,
ncmpcpp,package_manager,,,,
git,package_manager,,,,
calcurse,package_manager,,,,
zathura,package_manager,macos: name='',,,
tenacity,package_manager,macos: name='--cask audacity',,work: name='',tenacity not available via homebrew; use audacity in macos
bitwig-studio,package_manager,macos: name='--cask bitwig-studio',artix: kind='aur'; arch: kind='aur'; debian: kind='build_custom';,work: name='',
gimp,package_manager,macos: name='--cask gimp',,,
--cask nikitabobko/tap/aerospace,package_manager,linux: name='',,,
koekeishiya/formulae/skhd,package_manager,linux: name='',,,
pandoc,package_manager,,arch: name='pandoc-cli'; artix: name='pandoc-bin';,work: name='',
1 name kind os_overrides distro_overrides system_type_overrides notes
2 gcc package_manager macos: name=''
3 clang package_manager macos: name=''
4 musl package_manager macos: name=''
5 coreutils package_manager linux: name=''
6 findutils package_manager linux: name=''
7 make package_manager
8 cmake package_manager
9 mise build_custom TODO implement the build_custom script for this
10 mpv package_manager
11 kitty package_manager macos: name='--cask kitty'
12 zsh package_manager
13 ksh build_custom
14 tmux package_manager
15 neovim package_manager
16 mutt package_manager
17 podman package_manager
18 curl package_manager
19 grep package_manager
20 ripgrep package_manager
21 sed package_manager macos: name=''
22 fzf package_manager
23 jq package_manager
24 parallel package_manager
25 gettext package_manager
26 htop package_manager
27 ffmpeg package_manager work: name=''
28 mpd package_manager
29 ncmpcpp package_manager
30 git package_manager
31 calcurse package_manager
32 zathura package_manager macos: name=''
33 tenacity package_manager macos: name='--cask audacity' work: name='' tenacity not available via homebrew; use audacity in macos
34 bitwig-studio package_manager macos: name='--cask bitwig-studio' artix: kind='aur'; arch: kind='aur'; debian: kind='build_custom'; work: name=''
35 gimp package_manager macos: name='--cask gimp'
36 --cask nikitabobko/tap/aerospace package_manager linux: name=''
37 koekeishiya/formulae/skhd package_manager linux: name=''
38 pandoc package_manager arch: name='pandoc-cli'; artix: name='pandoc-bin'; work: name=''

View File

@@ -0,0 +1,30 @@
gcc
musl
coreutils
findutils
make
mpv
kitty
zsh
ksh
tmux
neovim
neomutt
curl
grep
ripgrep
sed
fzf
jq
parallel
gettext
htop
ffmpeg
mpd
ncmpcpp
git
calcurse
zathura
gimp
aerospace
skhd

View File

@@ -0,0 +1,2 @@
tenacity
bitwig-studio

View File

@@ -0,0 +1,5 @@
clang
cmake
mise
podman
pandoc