AFAIK, you cannot use org-habit without a repeater intervals in date.
for logging DONE state (or other todo keywords)
'((sequence "TODO" "|" "DONE(!)"))) ;mind the !
for more: https://www.gnu.org/software/emacs/manual/html_node/org/Tracking-TODO-state-changes.html
Only way I can think of is to use a function which sets the variable and then calls the dispatcher. Something like:
(defun my/org-agenda-dispatcher-PERSONAL ()
'(("1" "Week Agenda + All Tasks"
((agenda "w" ((org-agenda-span 'week)))