Skip to content

Commit e93a44a

Browse files
committed
fix: shellcheck SC2010 in finder, SC2259 in spotify, update README stats
- finder: stat -f %Sf instead of ls | grep for ~/Library flags - spotify: remove conflicting /dev/tty redirect on piped curl - readme: 60+ tweaks, 83 packages, updated dev/utils/comm/media lists
1 parent 3bc0a25 commit e93a44a

7 files changed

Lines changed: 22 additions & 19 deletions

File tree

.github/workflows/ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ jobs:
1111
name: Lint & Validate
1212
runs-on: macos-latest
1313
steps:
14-
- uses: actions/checkout@v4
14+
- uses: actions/checkout@v5
1515

1616
- name: Install ShellCheck
1717
run: brew install shellcheck

README.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,8 @@
2828

2929
Fresh Mac → full setup in minutes.
3030

31-
- **See before you touch** — tweak wizard with per-item skip, apply, or reset. 56 tweaks across 7 categories, all audited
32-
- **78 curated packages** — 7 Homebrew bundles + Mac App Store, installed via multi-select
31+
- **See before you touch** — tweak wizard with per-item skip, apply, or reset. 60+ tweaks across 7 categories, all audited
32+
- **83 curated packages** — 7 Homebrew bundles + Mac App Store, installed via multi-select
3333
- **12 bundled configs** — terminal profiles, shell aliases, Catppuccin theme, editor settings, dock layout — ready to apply
3434
- **Profile save/restore** — save your entire setup (Brewfile, macOS defaults, dotfiles, editor settings, iTerm2, dock layout, Raycast) to Desktop, Documents, or iCloud Drive and restore it anywhere
3535

@@ -91,24 +91,24 @@ Tweak wizard with per-item skip, apply, or reset to system default. Batch apply
9191
| Dock | Autohide, tile size, animation speed, minimize effect, Spaces, recents |
9292
| Finder | Show hidden files & extensions, path bar, POSIX title, list view, no .DS_Store, quit menu, spring folders |
9393
| Keyboard & Text | Key repeat speed, press-and-hold, auto-correct, smart substitutions |
94-
| Trackpad & Mouse | Tap to click, tracking speed, right-click, drag windows anywhere |
94+
| Trackpad & Mouse | Tap to click, tracking speed, right-click, three-finger drag, drag windows anywhere |
9595
| Screenshots | Format, save location, shadow, date in filename |
9696
| Hot Corners | Arrow-key menu per corner, no codes to memorize |
97-
| Misc | Boot sound, app open dialog, save/print panels, window animations |
97+
| Misc | Boot sound, app open dialog, save/print panels, window animations, tiled window margins |
9898

9999
### 📦 Apps & Packages
100100

101101
**Homebrew Bundles** — multi-select installer with 7 curated Brewfiles:
102102

103-
- **Development** — bash, git, gh, lazygit, node, python, go, rust, neovim, fzf, ripgrep, bat, eza, fd, fastfetch, macmon, mas, mole, scrcpy, t3-code, android-platform-tools...
104-
- **Utilities** — Raycast, Alfred, HiddenBar, Keka, AltTab, SoundSource, BetterDisplay, Cork, Logi Options+, Macs Fan Control, SuperCorners...
103+
- **Development** — bash, git, gh, lazygit, node, python, go, rust, docker, neovim, tmux, fzf, ripgrep, bat, eza, fd, fastfetch, claude, claude-code, zed, t3-code...
104+
- **Utilities** — Raycast, Alfred, HiddenBar, AltTab, Keka, SoundSource, BetterDisplay, Cork, Keyboard Cowboy, SuperCorners, Logi Options+...
105105
- **Browsers** — Chrome, Arc, Zen, Ungoogled Chromium
106-
- **Communication** — Ayugram, Telegram, Discord, Slack, Zoom
107-
- **Media** — IINA, OBS, Spotify, Figma, ImageOptim, Affinity
106+
- **Communication** — Ayugram, Telegram, Discord, Vesktop, Slack, Zoom
107+
- **Media** — IINA, OBS, Spotify, Figma, Affinity
108108
- **Games** — Steam, Heroic Games Launcher, Modrinth
109109
- **Fonts** — Fira Code, Maple Mono, JetBrains Mono (Nerd Fonts)
110110

111-
**Mac App Store**install apps via `mas` with multiselect.
111+
**Mac App Store**`mas` entries in Brewfiles installed individually with App Store redirect for unpurchased apps.
112112

113113
Export/import your packages with `.brewbak` backup files.
114114

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
26.04.3
1+
26.04.4

apps/brew.sh

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -256,8 +256,7 @@ install_bundle() {
256256
local mas_id="${BASH_REMATCH[2]}"
257257
log_info "Installing $mas_name..."
258258
local mas_out
259-
mas_out=$(mas install "$mas_id" 2>&1)
260-
if [[ $? -eq 0 ]]; then
259+
if mas_out=$(mas install "$mas_id" 2>&1); then
261260
log_ok "$mas_name installed"
262261
elif echo "$mas_out" | grep -qi "Redownload Unavailable"; then
263262
log_warn "$mas_name: not purchased with this account — opening App Store"

apps/spotify.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ install_spicetify() {
7272
local mp_dir="$HOME/.config/spicetify/CustomApps/marketplace"
7373
if [[ ! -d "$mp_dir" ]]; then
7474
log_info "Installing Marketplace..."
75-
curl -fsSL https://raw.githubusercontent.com/spicetify/marketplace/main/resources/install.sh | sh < /dev/tty
75+
curl -fsSL https://raw.githubusercontent.com/spicetify/marketplace/main/resources/install.sh | sh
7676
fi
7777
spicetify config custom_apps marketplace &>/dev/null
7878
spicetify apply &>/dev/null

common.sh

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,13 +38,15 @@ _detect_theme() {
3838
if [[ "${MACRIFT_THEME:-}" == "dark" ]]; then echo "dark"; return; fi
3939

4040
# 2. Query terminal background via OSC 11 (iTerm2, Ghostty, Kitty, WezTerm)
41-
if [[ -t 2 ]]; then
41+
if [[ -t 2 ]] && [[ -r /dev/tty ]]; then
4242
local old_stty response=""
43-
old_stty=$(stty -g 2>/dev/null) || true
44-
stty raw -echo min 0 time 1 2>/dev/null
43+
old_stty=$(stty -g </dev/tty 2>/dev/null) || true
44+
stty raw -echo min 0 time 2 </dev/tty 2>/dev/null
4545
printf '\033]11;?\a' > /dev/tty 2>/dev/null
4646
response=$(dd bs=1 count=30 </dev/tty 2>/dev/null) || true
47-
stty "$old_stty" 2>/dev/null
47+
# Drain any leftover bytes from terminal response
48+
dd bs=1 count=64 </dev/tty >/dev/null 2>&1 || true
49+
stty "$old_stty" </dev/tty 2>/dev/null
4850
if [[ "$response" =~ rgb:([0-9a-fA-F]+)/([0-9a-fA-F]+)/([0-9a-fA-F]+) ]]; then
4951
local r=$((16#${BASH_REMATCH[1]:0:2}))
5052
local g=$((16#${BASH_REMATCH[2]:0:2}))

tweaks/finder.sh

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,9 @@ finder_tweaks() {
3636

3737
# ~/Library visibility: add to audit table
3838
local lib_visible="false"
39-
if ! ls -lOd ~/Library 2>/dev/null | grep -q "hidden"; then
39+
local lib_flags
40+
lib_flags=$(stat -f "%Sf" ~/Library 2>/dev/null || echo "hidden")
41+
if [[ "$lib_flags" != *hidden* ]]; then
4042
lib_visible="true"
4143
fi
4244
AUDIT_ENTRIES+=("Show Library folder|${lib_visible}|true|chflags|nohidden|-bool")

0 commit comments

Comments
 (0)