Hacker News new | ask | show | jobs
by zck 3875 days ago
I don't use customize either, but there are very few things^1 that will be put in it without you explicitly customizing the variable and choosing to save it. So rather than typing elisp code out by hand, you can use the more user-friendly interface to set a variable. If you're -- for example -- version controlling your init file and you use customize, you want to have your customize block version controlled.

[1] The only one I know about is `package-selected-variables`, which are "packages installed explicitly by user". It's used to make sure those packages are not considered unneeded if they aren't a dependency of anything.

1 comments

Customize.el is not only about saving on keystrokes from elisp code, but it is highly discoverable, and importantly, type safe. If you need to put some wacky cons shenanigans to define your font locking rules or whatever, all that is taken care of you in customize.

I don't put the output customize.el under version control since I vary my settings somewhat from machine to machine, and I use version control to sync my emacs configuration. However the output is easy to mechanically transform into (setq-default) for things that I do want to synchronize.

Customize is also fast. A few years ago I converted 15 years of elisp cruft over to customize and sped my emacs start up by roughly 10x (used to take about 10 seconds).