Further recommendations to set your system, after having already run the `install.sh` script. A package manager is the cleanest way to install any of the apps listed here. Unless specified, these are all open source # Mac OS ## Shell Non-graphic open source applications. Use `brew install --formula` unless otherwise specified `pbpaste` except for images. Redirect output to file with `pngpaste - > img.png` ``` pngpaste ``` GNU's `coreutils`. Apple has most by default, though they're very outdated ``` coreutils ``` File manager for quickly jumping around directories. Not essential ``` vifm ``` Quickly search stackoverflow for answers to any query ``` so ``` Checks your shell scripts and suggests fixes to potential errors ``` shellcheck ``` Non-graphic image manipulator. Very useful in scripts and often a dependency ``` imagemagick ``` A much better python REPL and integrates nicely with vim's IPython plugin ``` ipython ``` The largest support converting documents types, such as markdown to pdf ``` pandoc ``` `ctags` with a lot more language support ``` universal-ctags ``` `cut`, `sed`, `grep`, `xargs`, `printf`, etc, for all your stream editing needs ``` gawk ``` Foreign filesystems on mac. `sshfs` from `brew install gromgit/fuse/sshfs-mac` ``` sshfs macfuse ``` A javascript runtime for servers. It's also useful for shell scripts ``` node ``` ### Applications Applications that should be considered for installation on any mac. Everything listed here is open source. Use `brew install --cask` unless otherwise specified Hotkey daemon for MacOS. Config files can be set up with the install script. Either `brew services` or launchd can be used to start `skhd` automatically ``` skhd ✔️ ``` The most widely used media player capable of decoding almost any format ``` vlc ✔️ ``` Pairs with `vlc` to watch videos with others remotely ``` syncplay ``` Really powerful flashcard memorization software ``` anki ``` Pdf reader with contents lists and double display ``` skim ``` Installs both a gui version of vim and a more featured non-graphic version too ``` [nvchad] [VapourNvim] macvim ``` Best torrent client. No-nonsense and a nice interface ``` qbittorrent ``` Output or capture system-audio by providing a virtual output device ``` blackhole-2ch ``` ### Power tools Heavier applications that should be installed only on capable systems. Use `brew install --cask` unless otherwise specified. These are all open source Full video editor that puts iMovie to shame. Exports require a lot of cpu power ``` shotcut ``` Emulator for any operating system. Configuration is complicated. See examples in `shell/qemu/` ``` qemu ✔️ ``` Linux subsystem for mac. Essentially qemu + sshfs automated ``` lima ``` Image editing similar to Photoshop, except free and with wider platform support ``` gimp ``` Full latex support. Vim configuration and snippets are already setup. Takes almost 10G for a base installation and runs hot ``` mactex ✔️ ``` ### Proprietary Screenshot tool to fill the gap between Mac OS's screenshots and gimp ``` brew install --cask skitch ``` Alternative screenshot tool, with a few more markup options ``` brew install --cask flameshot ``` ### Extra nonsense Make banners for titles ``` figlet ``` ## Mapping from linux Macs aren't even close to Linux in virtualisation capabilities, window managers, and customizability in general. However, if you're unfortunate enough to find yourself with a macbook, all is not lost. Here's a rough porting guide: | sWayland | MacOS | | --------------------- | -------- | | SwayWM | [Yabai](https://github.com/koekeishiya/yabai) | | xRemap | [Karabiner-Elements](https://karabiner-elements.pqrs.org/) | | ~/.config/sway/config | [skhd](https://github.com/koekeishiya/skhd) | | swhkd | [skhd](https://github.com/koekeishiya/skhd) | | wtype | [skhd](https://github.com/koekeishiya/skhd) | | systemd | Launchd | | Zathura | [Skim](https://skim-app.sourceforge.io/) | | Fuzzel | [Choose](https://github.com/chipsenkbeil/choose) or Spotlight | | udisksctl | `diskutil` | ~/.local/share/fonts | FontBook | | wl-clipboard | `pbcopy` `pbpaste` | | sshd | System Preference -> Sharing -> Remote Login | | Super/Ctrl | Command | | Alt | Opt | For Xorg users, `yabai` is to `skhd` what `bspwm` is to `sxhkd`. Also `launchd` is wayyy less capable than `systemd` and rarely gets used. The `launchd` script in `./bin` wraps around all the commands you'll ever need To use open source apps, run `sudo spctl --master-disable`, then head to System Preferences -> Security & Privacy -> General and select Anywhere at the bottom. You can check it's working with `spctl --status` While you're here, you can go under Software Updates and uncheck everything ## Window managers MacOS only allows the default Quartz Compositor, a floating window manager with too many animations and almost no keyboard controls. There are two open source tiling window managers, which are just scripts overtop Quartz Compositor as alternatives. [Amethyst](https://github.com/ianyh/Amethyst) and [Yabai](https://github.com/koekeishiya/yabai) Amethyst provides basic tiling of windows and basic keyboard controls. Yabai is effectively a port of bspwm to MacOS and has much more extensive configuration than Amethyst, notably controlling workspaces. Unfortunately they don't hold a candle to Linux managers. Both can be very laggy and Yabai specifically often freezes up for a few seconds, though these are the only options. To use Yabai, boot into recovery mode, and disable SIP [as explained here](https://github.com/koekeishiya/yabai/wiki/Disabling-System-Integrity-Protection). Despite what apple says, this doesn't make the system immediately explode. Actually there's no difference at all, except being able to use Yabai