Skip to Content
Defaults macOS

Setelan Default macOS

Dokumen ini adalah tabel lengkap setiap setelan macOS yang dikelola scripts/macos-settings.sh. Satu tabel, satu sumber kebenaran: apply, revert, status, dan check semuanya membaca baris yang sama di dalam script, dan tabel di bawah mencantumkan baris yang sama.

Perbedaan dengan ANIMASI.md: dokumen itu memusatkan diri pada animasi saja, termasuk daftar kunci yang sudah mati. Dokumen ini mencakup semua kelompok setelan, dan tidak mengulang daftar kunci mati sebagai kalau masih berlaku. Perbedaan dengan MACOS.md: dokumen itu merekam hasil pengukuran preferensi di mesin ini, termasuk nilai yang sengaja dibiarkan pada bawaan. Dokumen ini hanya memuat yang benar-benar ditulis script.

Cara memakai

bash scripts/macos-settings.sh apply # tulis semua nilai bash scripts/macos-settings.sh status # tampilkan nilai yang terbaca bash scripts/macos-settings.sh check # kode 0 kalau semua sesuai bash scripts/macos-settings.sh revert # hapus kunci, kembali ke bawaan

Perintah yang setara tersedia lewat Makefile: make macos, make macos-status, make macos-revert. Untuk check, jalankan script langsung; belum ada target Makefile untuk itu.

Pemeriksaan apakah mesin ini benar-benar sesuai dengan tabel di bawah ada di scripts/doctor.sh. Script itu read-only.

Konvensi revert

Semua baris punya revert, dan revert memakai defaults delete, bukan defaults write dengan angka bawaan. Alasannya: menghapus kunci mengembalikan perilaku asli macOS, termasuk kalau Apple mengubah nilai bawaannya di versi berikutnya. Menulis angka tetap hanya meniru mesin ini, bukan sistem.

Efek samping yang disengaja: nilai bawaan macOS setelah revert tidak selalu sama dengan nilai yang tercatat di tabel. Yang dijamin adalah “kunci ini tidak lagi ada, jadi macOS yang menentukan”.

Tabel lengkap

Kelompok animasi

DomainKeyNilaiEfekRevert
com.apple.universalaccessreduceMotiontrueKurangi gerakan sistemya
com.apple.AccessibilityReduceMotionEnabledtrueKunci kembar, lihat catatan di bawahya
com.apple.dockautohide-time-modifier0.15Pengali durasi animasi Dock, makin kecil makin cepatya
com.apple.dockautohide-delay0Hapus jeda sebelum Dock munculya
com.apple.docklaunchanimfalseMatikan animasi pantulan aplikasiya
com.apple.finderDisableAllAnimationstrueMatikan animasi Finderya

Dua kunci Reduce Motion ditulis bersamaan karena Dock membaca status lewat monitor perubahan dan API aksesibilitas, bukan lewat pembacaan domain. Menulis satu domain saja berisiko tidak terbaca. Rinciannya ada di ANIMASI.md.

autohide-time-modifier adalah pengali durasi, bukan durasi. Arah ini sering terbalik di panduan lain: di sana makin besar berarti makin cepat, sedangkan sebenarnya makin kecil yang lebih cepat. 0.15 hampir tanpa animasi.

Kelompok dock

DomainKeyNilaiEfekRevert
com.apple.dockautohidetrueDock tersembunyi sendiriya
com.apple.dockorientationbottomDock di tepi bawah layarya

autohide ditambahkan karena dua kunci animasi di atas tidak pernah dipakai kalau autohide sendiri mati. Sebelum ini ditulis, mesin ini kebetulan sudah memiliki autohide aktif lewat System Settings, jadi nilainya tampak berhasil padahal mesin baru hanya mendapat pengali durasi untuk fitur yang tidak dinyalakan.

orientation dikunci ke tepi bawah supaya Dock tidak pernah menabrak hot corner kiri. Hot corner kiri di MACOS.md diisi Mission Control dan Launchpad, dan posisinya tidak ikut bergeser kalau Dock pindah tepi.

Kelompok finder

DomainKeyNilaiEfekRevert
com.apple.finderShowPathbartruePath bar selalu tampil di bawah nama folderya
com.apple.finderShowStatusBartrueStatus bar selalu tampil di bawah isi folderya
com.apple.finderFXPreferredViewStyleNlsvTampilan bawaan List, bukan Iconya
com.apple.finderFXDefaultSearchScopeSCcfCari di folder yang dibuka, bukan seisi diskya
com.apple.finderDisableExtensionChangeWarningtrueMatikan peringatan saat mengganti ekstensi berkasya

Path bar dan status bar disembunyikan secara bawaan, dan keduanya hilang kalau jendela Finder sempit. Keduanya ditulis supaya informasi lokasi dan jumlah berkas tidak bergantung pada lebar jendela.

Tampilan bawaan adalah Icon, di mana nama berkas sering terpotong sehingga path bar dan status bar jadi tidak berguna. List view dipakai sebagai tampilan bawaan karena itu yang membuat dua baris di atas jadi terbaca.

FXDefaultSearchScope membuat pencarian di Finder berperilaku seperti pencarian di terminal, yaitu terbatas pada folder yang sedang dibuka. Tanpa itu, Cmd-F mencari seluruh disk dan hasilnya membingungkan saat bekerja di satu proyek.

DisableExtensionChangeWarning muncul saat mengganti .txt menjadi .rtf atau sejenisnya. Repo ini memakai teks biasa untuk konfigurasi, jadi peringatan itu hanya mengganggu.

Kelompok screenshot

DomainKeyNilaiEfekRevert
com.apple.screencapturelocation~/Pictures/ScreenshotsFolder tujuan screenshotya
com.apple.screencapturedisable-shadowtrueTangkapan tanpa bayangan windowya

Lokasi dipindah ke folder khusus. Folder ~/Pictures dipakai untuk Photos Library.photoslibrary dan Wallpaper, jadi screenshot tidak lagi bercampur dengan aset foto saat folder itu dibuka dari Finder atau dari yazi. Script juga membuat foldernya, karena defaults tidak punya antarmuka yang membuatkan folder tujuan seperti yang dilakukan System Settings.

disable-shadow menghapus bayangan window yang menambah lapisan semi transparan di sekeliling tangkapan. Di tema AMOLED dengan background hitam pekat, bayangan justru tampak seperti aura gelap, dan menambah tinggi gambar tanpa menambah isi.

Folder ~/Pictures/Screenshots tidak dihapus saat revert, karena isinya milik pengguna. Sama seperti pengaturan screenshot lain di MACOS.md, gaya tangkapan dan format berkas sengaja tidak diubah: style dan target dibiarkan sesuai bawaan yang sudah berjalan di mesin ini.

Kelompok keyboard

DomainKeyNilaiEfekRevert
NSGlobalDomainInitialKeyRepeat2Jeda 30 ms sebelum tombol yang ditahan mulai mengulangya
NSGlobalDomainKeyRepeat1Mengulang tiap 15 msya

Nilai dalam satuan 15 ms. Bawaan macOS adalah 25 (jeda 375 ms) dan 2 (30 ms). Slider di System Settings berhenti di 15 dan 2, jadi nilai di sini berada di bawah batas slider dan hanya bisa dicapai lewat defaults.

Efeknya terasa paling besar saat menekan tombol delete untuk menghapus teks panjang. Peringatan: nilai ini berlaku untuk semua tombol, bukan hanya delete. Menahan tombol huruf sedikit saja bisa langsung menghasilkan pengulangan. Bila itu terjadi, naikkan KeyRepeat ke 2.

Sebagian setelan keyboard baru berlaku penuh setelah logout.

Kelompok percobaan

DomainKeyNilaiEfekRevert
NSGlobalDomainNSAutomaticWindowAnimationsEnabledfalseBelum terbukti dibaca AppKit macOS 27ya

Kunci ini ditulis, tapi check dan doctor.sh melaporkannya sebagai catatan, bukan kegagalan. Alasannya ada di ANIMASI.md: string kuncinya masih ada di AppKit macOS 27, tapi belum ada bukti AppKit masih membacanya. Menyebutnya gagal akan membuat doctor.sh melaporkan masalah yang mungkin tidak pernah ada.

Kunci yang tidak dipakai

Daftar lengkap kunci yang sudah tidak berlaku ada di ANIMASI.md, termasuk com.apple.fx windowAnimationDuration, com.apple.dock expose-animation-duration, NSGlobalDomain QLPanelAnimationDuration, dan lainnya. Kunci-kunci itu tidak ada di tabel di atas, dan tidak boleh dimasukkan kembali.

Butuh sudo, tidak bisa diotomatiskan

Bagian ini sengaja tidak masuk scripts/macos-settings.sh, karena defaults bekerja pada preferensi milik user dan tidak bisa menyentuh lokasi sistem. Menaruhnya di script hanya akan menghasilkan file yang gagal diam-diam.

Yang tidak bisa diotomatiskanKenapaCara manual
Matikan Spotlight di volume eksternalMenyentuh service Spotlight, butuh hak rootsudo mdutil -i off /Volumes/<nama>
Autoindex volume di /etc/fstabBerkas sistemedit /etc/fstab sebagai root
pmset untuk pengaturan baterai dan tidurButuh root, dan klasifikasi default belum terukursudo pmset -b displaysleep 2
FileVaultDikelola level OS, bukan lewat defaultssudo fdesetup enable
SIPHanya bisa diubah dari Recovery Modecsrutil di Recovery
Time MachineButuh volume atau lokasi jaringan yang ditentukantmutil setdestination

Dua batasan yang perlu jujur disebut:

  • Perintah di tabel ini tidak dijalankan oleh script mana pun, dan tidak diuji di mesin ini. Itu disengaja, karena semuanya butuh sudo. Daftar ini dicatat supaya tidak ada yang mengira KE-macOS sudah tercakup penuh.
  • pmset punya batas pengukuran yang nyata. Nilainya di MACOS.md memang terukur, tapi pengukuran itu tidak membandingkan dengan default pabrik, jadi belum bisa dipastikan mana yang non-default. Karena itu pmset tidak dimasukkan ke script, bukan hanya karena butuh root.

Rujukan

BerkasIsi
scripts/macos-settings.shTabel SETTINGS yang jadi sumber kebenaran
ANIMASI.mdSetelan animasi dan kunci yang sudah mati
MACOS.mdPengukuran seluruh preferensi mesin ini
INVENTORY.mdInventaris versi paket dan aplikasi
scripts/doctor.shPemeriksaan read-only apakah mesin sesuai repo
Last updated on