Skip to content

mikey-/macosxpressionism

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

macOS Expressionism

Expressions of subjective perspectives on macOS preferences, which distort a default environment, for emotional suitability :P

Expressionism for macOS

I use this system of scripts to adapt, adopt, create, enable and store, a variety of macOS configurations. With it, I can produce an enjoyable environment for myself, while I use my computer.

It's cute, it's fun, it's nice :)

Acknowledgments

A lot of the commands to used to set macOS preferences come from:

🙏🏽 Thank you so much for sharing 🙏🏽

Expressions

Below describes how this system subjective perspectives are used to distort Here's how I use this system.

Preferences

This system can configure the following preferences:

  • Audio
    • Disable audio on system boot
  • Dock
    • Various (details to come)
  • Finder and Files
    • Various (details to come)
  • General
    • Disable crash reporter
    • Disable hibernation
    • Enable scrollbar when scrolling
    • Install X Code CTL
    • Quit Printer App when printing is finished
    • Reveal admin host info on login
    • Set screen capture file type to PNG
  • Internationalisation and Localisation
    • Set language and text formats
  • Inputs
    • Various (details to come)
  • Security
    • Allow unsigned apps to be run
    • Require password after display turns off
  • Spotlight
    • Customise indexing order
    • Disable indexing for volumes
  • Terminal App
    • Disable line marks
    • Enable 'Focus Follows Mouse'
    • Enable secure keyboard entry
    • Set encoding to UTF-8

Helpers

This system provides access to a variety of helper functions and variables.

To make use of such variables and functions, include the following line within a script: source ../lib/helpers/init.sh

The helper script: init.sh uses the source command to load other functions, such as:

init.sh simply ensures helper files are loaded in a specific order.

Automations

This system provides access to a variety of functions which wrap AppleScript commands. So far, this is used to

Todo

There's a lot of work to do here, I hope to improve this repo significantly in due time. Here are some quick notes I jotted down a long time ago:

  • Rather than loading all expressions from a static list in the macos.sh file, load linked files from an enabled or expression.d directory, or something like that
  • Don't assume this system always runs on a laptop
    • Maybe use $(sysctl -n hw.model)
  • Consider the following alternative to mapping capslock to control:
# Set ProductID of Internal Keyboard
ProductID="$(ioreg -r -c AppleEmbeddedKeyboard | grep ProductID | tr -d '| "')"
VendorID="$( ioreg -r -c AppleEmbeddedKeyboard | grep VendorID  | tr -d '| "')"
defaults -currentHost write \
    -g com.apple.keyboard.modifiermapping.${VendorID}-${ProductID}-0 \
    -array-add
      '<dict>'\
        '<key>HIDKeyboardModifierMappingDst</key>'\
        '<integer>-1</integer>'\
        '<key>HIDKeyboardModifierMappingSrc</key>'\
        '<integer>0</integer>'\
      '<dict>';

Wasting Time

All of the Expressionism stuff aside, I do feel as though system and environment customisation is a medium for self expression, as is the automation of such customisation. Furthermore, the description of the automation (such as this README), is also medium for self expression. To me, it's not a waste of time :) It's just a cool, fun and human thing to do :)

About

macOS(e)Xpressionism

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages