repo containing configs and scripts to set up a box

prerequisites

  • when running on a fresh system, ensure package manager is configured
    • i.e. source repos, mirrors, etc. are configured
  • zsh is installed (scripts are written for zsh)
  • ensure sudo access is configured for the 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
prereqs, os specific, linux-placeholder
  • (currently none)
prereqs, os specific, macos
  • have to first install the package manager, homebrew
  • for yabai window manager (at least for now, so as to not mess with SIP settings)
    • create 9 spaces/desktops
    • in system settings, manually set keyboard shortcuts to switch between spaces
    • in system settings, for desktop/dock/mission-ctrl:
      • 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

script run

  • git clone this repo (TODO: consider adding logic to handle automatically)
  • from the repo's root directory, run ./box_setup

todo items

  • 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%