repo containing configs and scripts to set up a box

script run

  • [prerequisites below are fulfilled]
  • git clone this repo
  • from the repo's root directory, run ./box_setup

prerequisites

  • package manager is configured (i.e. source repos, mirrors, etc. configured)
  • zsh is installed (scripts are written for zsh)
  • sudo access is configured for current user (2025-01-27, not needed on macos)
  • export the env var BOX_SETUP_OS to indicate the operating system
    • options defined in set_script_env_vars file
  • system-specific items below are fulfilled
prereqs, os specific, linux-placeholder
  • (currently none)
prereqs, os specific, macos
  • install the package manager, homebrew
  • for yabai window manager (so as to not mess with SIP settings)
    • create 9 spaces/desktops
    • system settings > keyboard shortcuts: set keys to switch between spaces/desktops
    • system settings > desktop/dock/mission-control:
      • click wallpaper to reveal desktop: set to "only in stage manager"
      • all drag windows to corner/edge/place types of options: disabled
      • rearrange spaces based on recent use: disabled
      • when switch to app... switch to space with open windows of app: disabled
      • displays have separate spaces: enabled
      • show files on desktop: enabled

todo items

  • add logic to the main run script to handle cloning of this repo
  • add logic to the main run script to set BOX_SETUP_OS var, either input param or detect
  • config for nvim
  • config for mpd, mpc, ncmpcpp
  • config for ghostty
  • config for mpv
    • also, on macos, get it to open within terminal or just don't install it
  • config for gimp, src_files/.config/GIMP (dir)
    • set things in gtkrc only? still need to nest that within a sub dir?
    • or maybe just configure in gimp's gui, copy the whole resulting dir into src_files/.config/GIMP (edit out and delete what i don't need) and call it a day
  • for whatever is causing it, editor/terminal/other, git rid of ligatures/name?
    • for example, >= is two chars (> then =), not one char/symbol
  • decide on window manager for linux, then do config
  • look into xquartz for macos (x/xorg emulation or something?)
  • build in flags/logic for skipping certain installs/builds (and maybe configs?) on a given system (i.e. don't install on a company box, on a server, etc.)
  • decide on and implement approach for languages and versioning
    • docker? or alternatives like podman? any license concerns?
    • asdf, or language-specific version managers?
    • hybrid of the above?
Description
No description provided
Readme 267 KiB
Languages
Shell 80.6%
Vim Script 19.2%
Lua 0.2%