This adds a small menu which lets you call useful customize options and also manipulate file and directory local variables.
​
[Entry point to custom.el functionality](https://preview.redd.it/pgzjlptd89l81.png?width=520&format=png&auto=webp&s=ba309497b8e3f64f00b1b79bd9a802d58ea0e58e)
​
[Menu to add\/delete\/change file and directory local variables and property line](https://preview.redd.it/0ku1fx7g89l81.png?width=648&format=png&auto=webp&s=151453073cae1a60b39df6d33cb41d23f43f565b)
This is from my personal config. I thought it might be useful for others as well but too simple to be it's own package.
Here is the code:
(transient-define-prefix shk-customize-locals-menu ()
"A menu to manipulate file/dir local variables"
["Local variables"
["File"
("fa" "add" add-file-local-variable)
("fd" "delete" delete-file-local-variable)
("*a" "add prop" add-file-local-variable-prop-line)
("*d" "delete prop" delete-file-local-variable-prop-line)]
["Dir"
("da" "add" add-dir-local-variable)
("dd" "delete" delete-dir-local-variable)]
["Move"
("df" "dir → file" copy-dir-locals-to-file-locals)
("d*" "dir → prop" copy-dir-locals-to-file-locals-prop-line)
("fd" "file → dir" copy-file-locals-to-dir-locals)]])
(transient-define-prefix shk-customize-menu ()
"A menu to open customize options"
[["Custom"
("," "List groups" customize)
("/" "Search" customize-apropos)
("r" "Rogue" customize-rogue)
("s" "Saved" customize-saved)
("S" "Unsaved" customize-unsaved)]
["Settings"
("o" "Option" customize-option)
("g" "Group" customize-group)
("f" "Face" customize-face)
("l" "Local variables" shk-customize-locals-menu)]])
(global-set-key (kbd "A-,") 'shk-customize-menu)
(global-set-key (kbd "C-c ,") 'shk-customize-menu)