diff --git a/dotfiles/emacs.d/load.d/org-window-habit.el b/dotfiles/emacs.d/load.d/org-window-habit.el index d4cbb9d0..3562c320 100644 --- a/dotfiles/emacs.d/load.d/org-window-habit.el +++ b/dotfiles/emacs.d/load.d/org-window-habit.el @@ -317,15 +317,15 @@ (defvar org-window-habit-face-fn 'org-window-habit-default-face-fn) (defface org-window-habit-conformed-with-completion-face - '((((background light)) (:background "#007F7F")) - (((background dark)) (:background "cyan"))) + '((((background light)) (:background "#40778f")) + (((background dark)) (:background "#40778f"))) "Face for intervals on which a the user was conforming with their completion but not without it." :group 'org-window-habit :group 'org-faces) (defface org-window-habit-conforming-without-completion-face - '((((background light)) (:background "#8270f9")) - (((background dark)) (:background "blue"))) + '((((background light)) (:background "#40578f")) + (((background dark)) (:background "#40578f"))) "Face for intervals for which the user is conforming without any completions." :group 'org-window-habit :group 'org-faces) @@ -527,19 +527,16 @@ ;; TODO: check for completion WITHIN the current interval (defun org-window-habit-auto-repeat (&rest args) + (interactive) (let* ((required-interval-start (car (org-window-habit-get-next-required-interval (org-window-habit-create-instance-from-heading-at-point)))) (repeat (org-get-repeat)) - (deadline-time-string + (target-time-string (format-time-string (car org-timestamp-formats) required-interval-start))) - (org-deadline nil deadline-time-string)) - ;; Always unschedule - (save-excursion - (let ((scheduled (org-entry-get (point) "SCHEDULED"))) - (when scheduled - (org-remove-timestamp-with-keyword org-scheduled-string))))) + (org-deadline nil target-time-string) + (org-schedule nil target-time-string))) (defun org-window-habit-auto-repeat-maybe-advice (orig &rest args) (apply orig args) diff --git a/dotfiles/emacs.d/org-config.org b/dotfiles/emacs.d/org-config.org index 261bf6c4..1ec977fa 100644 --- a/dotfiles/emacs.d/org-config.org +++ b/dotfiles/emacs.d/org-config.org @@ -711,13 +711,19 @@ alphanumeric characters only." #+end_src ** org-ehtml #+begin_src emacs-lisp +(use-package web-server + :straight (web-server + :repo "eschulte/emacs-web-server" + :host github)) + (use-package org-ehtml - :disabled t + :after web-server :config (progn (setq org-ehtml-allow-agenda t) (setq org-ehtml-editable-headlines t) - (setq org-ehtml-everything-editable t))) + (setq org-ehtml-everything-editable t) + (ws-start org-ehtml-handler 8888))) #+end_src ** org-modern #+begin_src emacs-lisp diff --git a/nixos/flake.lock b/nixos/flake.lock index 7772e11a..1545b7ba 100644 --- a/nixos/flake.lock +++ b/nixos/flake.lock @@ -863,11 +863,11 @@ }, "unstable": { "locked": { - "lastModified": 1693099187, - "narHash": "sha256-FXCc6OIghv9k4xYOhSMZI6bj7o56S8BJKzKtTKzdUVQ=", + "lastModified": 1693158576, + "narHash": "sha256-aRTTXkYvhXosGx535iAFUaoFboUrZSYb1Ooih/auGp0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "cf2004afe4d4b95a295c63c911e949e40915eedb", + "rev": "a999c1cc0c9eb2095729d5aa03e0d8f7ed256780", "type": "github" }, "original": { diff --git a/nixos/machines/biskcomp.nix b/nixos/machines/biskcomp.nix index f5671ae4..7a4425a8 100644 --- a/nixos/machines/biskcomp.nix +++ b/nixos/machines/biskcomp.nix @@ -1,4 +1,7 @@ -{ forEachUser, ... }: { +{ forEachUser, ... }: +let biskcomp-nginx-hostnames = "192.168.1.44 railbird.ai 1896Folsom.duckdns.org biskcomp.local 0.0.0.0 67.162.131.71"; +in +{ imports = [ ../configuration.nix ../raspberry-pi.nix @@ -17,7 +20,7 @@ modules.nixified-ai.enable = false; modules.cache-server = { enable = true; - host-string = "192.168.1.44 railbird.ai 1896Folsom.duckdns.org 0.0.0.0 67.162.131.71"; + host-string = biskcomp-nginx-hostnames; port = 80; path = "/nix-cache"; }; @@ -25,7 +28,7 @@ services.vaultwarden = { enable = true; config = { - ROCKET_ADDRESS = "::"; + ROCKET_ADDRESS = "::1"; ROCKET_PORT = 8222; }; }; @@ -35,14 +38,28 @@ recommendedProxySettings = true; recommendedGzipSettings = true; recommendedTlsSettings = true; - virtualHosts = let conf = { - root = ../railbird.ai; - locations."/" = { - index = "index.html"; + virtualHosts = { + "192.168.1.44 railbird.ai 1896Folsom.duckdns.org 0.0.0.0 67.162.131.71" = { + root = ../railbird.ai; + locations."/" = { + index = "index.html"; + }; + }; + # Server block for Vaultwarden on a different port + "_:8222" = { + listen = [ { addr = "::"; port = 8222; } ]; # Listen on IPv6 and port 8222 + forceSSL = false; # Assuming you're not using HTTPS for this one + locations."/" = { + proxyPass = "http://::1:8222"; + proxySetHeaders = { + Host = "$host"; + X-Real-IP = "$remote_addr"; + X-Forwarded-For = "$proxy_add_x_forwarded_for"; + X-Forwarded-Proto = "$scheme"; + }; + proxyRedirect = "off"; + }; }; - }; - in { - "192.168.1.44 railbird.ai 1896Folsom.duckdns.org 0.0.0.0 67.162.131.71" = conf; }; };