You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

95 lines
2.0 KiB

  1. home ?= $(HOME)
  2. dotfiles_dir ?= $(home)/10sr_dotfiles
  3. dotfiles_url_base=https://raw.githubusercontent.com/10sr/dotfiles/master/
  4. localdir = $(home)/.local
  5. vardir = $(home)/.var
  6. bindir = $(localdir)/bin
  7. current = $(shell date)
  8. ostype = $(shell uname)
  9. shrc_loadables = sh bash zsh
  10. shrc_common_tpl =
  11. emacs ?= emacs
  12. all: default
  13. tests = test_el test_sh
  14. test: $(tests)
  15. setups = setup_darwin setup_directories setup_emacs
  16. setup: $(setups)
  17. .PHONY: all default test $(tests) setup $(setups)
  18. # setups
  19. # ======
  20. # create directories
  21. # ------------------
  22. setup_directories = $(localdir) $(vardir) $(bindir)
  23. setup_directory: $(setup_directories)
  24. $(localdir) $(vardir) $(bindir):
  25. mkdir -vp $@
  26. # darwin
  27. # ------
  28. setup_darwins = setup_darwin_defaults setup_darwin_daemon
  29. setup_darwin: $(setup_darwins)
  30. .PHONY: $(setup_darwins)
  31. setup_darwin_defaults:
  32. # http://appdrill.net/60641/mac-boot-mute.html
  33. #sudo nvram SystemAudioVolume=%80
  34. # add quit entry in menu
  35. defaults write com.apple.finder QuitMenuItem -bool YES
  36. # show full path on titlebar
  37. defaults write com.apple.finder _FXShowPosixPathInTitle -bool YES
  38. # do not show desktop icons
  39. defaults write com.apple.finder CreateDesktop -boolean false
  40. killall Finder
  41. # disable dashboard
  42. #defaults write com.apple.dashboard mcx-disabled -bool YES
  43. setup_darwin_daemon:
  44. test "`launchctl getenv LC_ALL`" = C || sudo launchctl setenv LC_ALL C
  45. if ! (launchctl list | grep com.apple.locate) >/dev/null ;\
  46. then \
  47. sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.locate.plist ;\
  48. fi
  49. # emacs setup
  50. # -----------
  51. setup_emacs: emacs.el
  52. $(emacs) -q --debug-init --batch --load $< -f my-auto-install-package
  53. # test
  54. # ====
  55. test_shs = test_shrc test_profile test_setup.sh test_xinitrc test_xprograms
  56. test_sh: $(test_shs)
  57. .PHONY: $(test_shs)
  58. $(test_shs): test_%: %
  59. sh -exc 'for sh in $(shrc_loadables); do $$sh -n $<; done'
  60. test_el: emacs.el
  61. EMACS_EL_DRY_RUN=t $(emacs) -q --debug-init --batch \
  62. --eval "(setq debug-on-error t)" --load $< --kill