feat: Syncthing GUI

This commit is contained in:
Madeleine Sydney
2025-02-02 14:51:04 -07:00
parent 672cc6cc8c
commit c128e31687
3 changed files with 67 additions and 3 deletions

View File

@@ -179,6 +179,46 @@ sydnix-cli is a command-line utility written in Clojure wrapping various sydnix-
** Emacs from scratch
*** TODO Many editing commands should re-indent after use
Particularly in Lisps where indentation is reliable.
- ~evil-join~
*** TODO ~(lambda (x) ...)~ → ~(λ (x) ...)~
*** TODO Ligatures
*** TODO ~SPC i u~
*** TODO ~syd-open-sexp-above~ should understand comments
If a comment immediately proceeds a sexp, open the new sexp /before/ the comment. Transpose/drag commands should probably have the same behaviour.
*** TODO ESC should ~:nohl~
*** TODO Implement ~evil-cleverparens~'s ~evil-cp--guard-point~
- Emacs and Vim have differing views on where the point is w.r.t. the on-screen cursor. The ~evil-cp--guard-point~ macro is used to adapt Emacsy expectations to Vimmy ones.
*** TODO Fix ~syd-get-enclosing-sexp~
- Undesireable behaviour when point is in a comment.
*** TODO Scratch buffer: ~SPC x~ to open as popup, ~SPC u SPC x~ to not
*** IDEA A new popup system that uses popup /windows/ rather than popup /buffers/
- Would allow you to open arbitrary buffers in a popup view.
*** DONE Evil operators like ~=~ should not move point
*** TODO Fix ~syd-forward-up-sexp~
*** TODO Fix defun text object
*** TODO ESC should immediately close minibuffer, even whilst in insert state
*** DONE Daemon
CLOSED: [2025-01-03 Fri 20:00]
@@ -217,7 +257,7 @@ CLOSED: [2025-02-02 Sun 14:06]
*** TODO Lisp editing
**** TODO [[https://github.com/promethial/paxedit][Paxedit]]
**** KILL [[https://github.com/promethial/paxedit][Paxedit]]
Seems old and broken?
@@ -225,7 +265,7 @@ Seems old and broken?
**** TODO Text objects
**** TODO [[https://github.com/Malabarba/speed-of-thought-lisp][speed-of-thought]]
**** DONE [[https://github.com/Malabarba/speed-of-thought-lisp][speed-of-thought]]
**** TODO [[https://github.com/Lindydancer/lisp-extra-font-lock][lisp-extra-font-lock]]
@@ -582,7 +622,7 @@ List persistent files per user, and show their mount strategy.
* References
Following is a subset of the many places I've learnt from. Most important of all are Doom Emacs and Faye's Wishsys. Doom Emacs was my gateway drug to Emacs, as well as continually supportive parent as I've begun to move out — of course, that's a flowerism obfuscating the more direct statement "I've stolen a great deal of their code" }:). Beloved Faye's Wishsys is an incredibly impressive 3-kloc NixOS config with several hosts, users, and a beautiful level of modularity. Her system has a number of quirks that initially raise eyebrows, but the questioning turns to awe once you understand she really knows what she's doing }:). Faye and her config are entirely responsible for inspiring and motivating my effort expent here, as well as being a wonderful reference as I re-learnt Nix from the ground up.
Following is a subset of the many places I've learnt from. Most important of all are Doom Emacs and Faye's Wishsys. Doom Emacs was my gateway drug to Emacs, as well as continually supportive parent as I've begun to move out — of course, that's a flowerism obfuscating the more direct statement "I've stolen a great deal of their code" }:). Beloved Faye's Wishsys is an incredibly impressive 3-kloc NixOS config with several hosts, users, and a beautiful level of modularity. Her system has a number of quirks that initially raise eyebrows, but the questioning turns to awe once you understand she really knows what she's doing }:). Faye and her config are entirely responsible for inspiring and motivating my effort expent here, as well as being a wonderful reference as I re-learnt Nix from the ground up. In the most nerdy moment of my life, I've genuinely /swooned/ over this damn config.
- My darling dearest Faye's =wishsys= }:D
- [[https://github.com/rasendubi/dotfiles][rasendubi/dotfiles]]
@@ -599,3 +639,4 @@ Following is a subset of the many places I've learnt from. Most important of all
- [cite:@wünsch2024setting]
- [[https://github.com/neeasade/emacs.d][neeasade/emacs.d]] — Has an interesting 'module' system.
- [[https://github.com/oantolin/emacs-config][oantolin/emacs-config]] — Has some internal packages.
- [[https://github.com/noctuid/evil-guide][noctuid/evil-guide]]

View File

@@ -83,6 +83,11 @@
devices = [ "guix-rebound" ];
ignorePerms = true;
};
"org" = {
path = "/persist/deertopia.net/dav/org";
devices = [ "guix-rebound" ];
ignorePerms = true;
};
};
};

View File

@@ -17,14 +17,32 @@ in {
};
config = lib.mkIf cfg.enable {
# HACK: I don't understand the idioms of Unix file permissions.
# TODO: Consult molly for this shit TwT.
users.users.${config.services.syncthing.user}.extraGroups = [
"jellyfin"
"nginx"
];
sydnix.deertopia.nginx.vhosts."syncthing".vhost = {
forceSSL = true;
enableACME = true;
locations."/" = {
# TODO: This should work if guiAddress already specifies a protocol.
proxyPass = "http://" + config.services.syncthing.guiAddress;
};
};
services.syncthing = {
enable = true;
openDefaultPorts = true;
settings = {
gui = {
# TODO: Figure out how to read credentials from a file.
# tls = true;
user = "lain";
password = "my-awesome-password";
};
overrideDevices = true;
overrideFolders = true;
devices = cfg.devices;