Merge branch 'master' of github.com:Lissy93/dotfiles

This commit is contained in:
Alicia Sykes 2022-09-25 23:17:56 +01:00
commit 01bb38c203
2 changed files with 46 additions and 8 deletions

23
.github/README.md vendored
View File

@ -20,6 +20,7 @@
- [Aliases](#aliases) - [Aliases](#aliases)
- [Utilities](#utilities) - [Utilities](#utilities)
- [Packages](#packages) - [Packages](#packages)
- [System Preferences](#system-preferences)
- [ZSH](#zsh) - [ZSH](#zsh)
- [Vim](#vim) - [Vim](#vim)
- [Tmux](#tmux) - [Tmux](#tmux)
@ -636,6 +637,28 @@ You will be prompted before anything is installed. Be sure to remove / comment o
--- ---
### System Preferences
The installation script can also prompt you to confiture system settings and user preferences. This is useful for setting up a completely fresh system in just a few seconds.
#### MacOS
MacOS includes a utility named [`defaults`](https://real-world-systems.com/docs/defaults.1.html), which lets you configure all system and app preferences programatically through the command line. This is very powerful, as you can write a script that configures every aspect of your system enabling you to setup a brand new machine in seconds.
All settings are then updated in the `.plist` files stored in `~/Library/Preferences`. This can also be used to configure preferences for any installed app on your system, where the application is specified by its domain identifier - you can view a full list of your configurable apps by running `defaults domains`.
In my dotfiles, the MacOS preferences will configure everything from system security to launchpad layout. The Mac settings are located in [`system-specific/macos/system-settings/`](https://github.com/Lissy93/dotfiles/tree/master/system-specific/macos/system-settings), and are split into three files:
- [`macos-security.sh`](https://github.com/Lissy93/dotfiles/blob/master/system-specific/macos/system-settings/macos-security.sh) - Sets essential security settings, disables telementry, disconnects unused ports, enforces signing, sets logout timeouts, and much more
- [`macos-preferences.sh`](https://github.com/Lissy93/dotfiles/blob/master/system-specific/macos/system-settings/macos-preferences.sh) - Configures all user preferences, including computer name, highlight color, finder options, spotlight settings, hardware preferences and more
- [`macos-apps.sh`](https://github.com/Lissy93/dotfiles/blob/master/system-specific/macos/system-settings/macos-apps.sh) - Applies preferences to any installed desktop apps, such as Terminal, Time Machine, Photos, Spotify, and many others
Upon running each script, a summary of what will be changed will be shown, and you'll be prompted as to weather you'd like to continue. Each script also handles permissions, compatibility checking, and graceful fallbacks. Backup of original settings will be made, and a summary of all changes made will be logged as output when the script is complete.
If you choose to run any of these scripts, take care to read it through first, to ensure you understand what changes will be made, and optionally update or remove anything as you see fit.
---
### ZSH ### ZSH
// TODO // TODO

View File

@ -16,6 +16,7 @@ tap 'homebrew/services'
tap 'espanso/espanso' tap 'espanso/espanso'
tap 'koekeishiya/formulae' tap 'koekeishiya/formulae'
tap 'blacktop/tap' tap 'blacktop/tap'
tap 'jesseduffield/lazygit'
# CLI Essentials # CLI Essentials
brew 'git' brew 'git'
@ -27,23 +28,38 @@ brew 'tmux'
brew 'ctags' # Indexing of file info + headers brew 'ctags' # Indexing of file info + headers
brew 'exa' # Better ls brew 'exa' # Better ls
brew 'fzf' # Fuzzy file finder brew 'fzf' # Fuzzy file finder
brew 'glances' # top app, with web interface + API
brew 'gotop' # Better htop app, resource monitoring
brew 'iproute2mac' # MacOS port of netstat and ifconfig brew 'iproute2mac' # MacOS port of netstat and ifconfig
brew 'jq' # JSON parser brew 'jq' # JSON parser
brew 'lazydocker' # CLI Docker management app
brew 'scc' # Code counter, like cloc brew 'scc' # Code counter, like cloc
brew 'tldr' # Community-maintained man pages brew 'tldr' # Community-maintained man pages
brew 'tree' # Directory listings as tree brew 'tree' # Directory listings as tree
brew 'xsel' # Copy paste access to X clipboard brew 'xsel' # Copy paste access to X clipboard
brew 'thefuck' # Auto-correct miss-typed commands brew 'thefuck' # Auto-correct miss-typed commands
# CLI Monitoring and Performance Apps
brew 'bandwhich' # Bandwidth utilization monitor
brew 'bpytop' # Resource monitoring, like htop
brew 'glances' # Resource monitor, web interface + API
brew 'gping' # Interactive ping tool, with graph
brew 'speedtest-cli'# Command line speed test utility
# CLI Productivity Apps
brew 'buku' # Bookmark manager app
brew 'khal' # Calendar app
brew 'mutt' # Email client app
brew 'task' # Todo and task management app
# CLI Fun # CLI Fun
brew 'cowsay' # Have an ASCII cow say your message
brew 'figlet' # Output text as big ASCII art text
brew 'lolcat' # Make console output raibow colored
brew 'neofetch' # Show system data and ditstro info
brew 'pv' # Pipe viewer, with animation options brew 'pv' # Pipe viewer, with animation options
brew 'neofetch' # Show system data and ditstro info
brew 'lolcat' # Make console output raibow colored
brew 'figlet' # Output text as big ASCII art text
brew 'cowsay' # Have an ASCII cow say your message
# CLI Development Suits
brew 'httpie' # HTTP / API testing testing client
brew 'lazydocker' # Full Docker management app
brew 'lazygit' # Full Git managemtne app
# Development Apps # Development Apps
cask 'android-studio' # IDE for Android development cask 'android-studio' # IDE for Android development
@ -93,7 +109,6 @@ brew 'lynis' # Scan system for common security issues
brew 'clamav' # Open source virus scanning suite brew 'clamav' # Open source virus scanning suite
brew 'rkhunter' # Search / detect potential root kits brew 'rkhunter' # Search / detect potential root kits
# Fonts # Fonts
tap 'homebrew/cask-fonts' tap 'homebrew/cask-fonts'
cask 'font-fira-code' cask 'font-fira-code'