dotfiles/notes/futher_intallation/further_installation_macos.md
2022-09-07 22:24:18 -06:00

6.2 KiB

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
xRemap Karabiner-Elements
~/.config/sway/config skhd
swhkd skhd
wtype skhd
systemd Launchd
Zathura Skim
Fuzzel 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 and 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. 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