3 Commits

Author SHA1 Message Date
Noah Masur
b98c3f04ab fixes for caddy and adding paperless to local dns 2025-10-12 17:25:50 +00:00
Noah Masur
68d8e60b7e try to statically set caddy to prevent cloudflare hash breaking 2025-10-11 13:27:44 -04:00
Noah Masur
774773c748 fix: ghostty keybinds invalid after update 2025-09-23 15:40:01 -04:00
4 changed files with 26 additions and 6 deletions

22
pkgs/caddy/package.nix Normal file
View File

@@ -0,0 +1,22 @@
# Caddy with Cloudflare DNS
{
pkgs,
fetchFromGitHub,
...
}:
# Maintain a static version so that the plugin hash doesn't keep breaking
(pkgs.caddy.overrideAttrs rec {
version = "2.10.2";
src = fetchFromGitHub {
owner = "caddyserver";
repo = "caddy";
tag = "v${version}";
hash = "sha256-KvikafRYPFZ0xCXqDdji1rxlkThEDEOHycK8GP5e8vk=";
};
}).withPlugins
{
plugins = [ "github.com/caddy-dns/cloudflare@v0.2.1" ];
hash = "sha256-AcWko5513hO8I0lvbCLqVbM1eWegAhoM0J0qXoWL/vI=";
}

View File

@@ -37,8 +37,8 @@ in
fullscreen = if pkgs.stdenv.isDarwin then true else false; fullscreen = if pkgs.stdenv.isDarwin then true else false;
keybind = [ keybind = [
"super+t=unbind" # Pass super-t to underlying tool (e.g. zellij tabs) "super+t=unbind" # Pass super-t to underlying tool (e.g. zellij tabs)
"super+shift+]=unbind" "super+shift+bracket_right=unbind"
"super+shift+[=unbind" "super+shift+bracket_left=unbind"
"ctrl+tab=unbind" "ctrl+tab=unbind"
"ctrl+shift+tab=unbind" "ctrl+shift+tab=unbind"
"ctrl+tab=text:\\x1b[9;5u" "ctrl+tab=text:\\x1b[9;5u"

View File

@@ -24,6 +24,7 @@ let
hostnames.download hostnames.download
hostnames.photos hostnames.photos
hostnames.audiobooks hostnames.audiobooks
hostnames.paperless
]; ];
mkRecord = service: "${service} A ${localIp}"; mkRecord = service: "${service} A ${localIp}";
localRecords = lib.concatLines (map mkRecord localServices); localRecords = lib.concatLines (map mkRecord localServices);

View File

@@ -66,10 +66,7 @@ in
nmasur.presets.services.caddy.cidrAllowlist = cloudflareIpRanges; nmasur.presets.services.caddy.cidrAllowlist = cloudflareIpRanges;
# Tell Caddy to use Cloudflare DNS for ACME challenge validation # Tell Caddy to use Cloudflare DNS for ACME challenge validation
services.caddy.package = pkgs.caddy.withPlugins { services.caddy.package = pkgs.nmasur.caddy;
plugins = [ "github.com/caddy-dns/cloudflare@v0.2.1" ];
hash = "sha256-AcWko5513hO8I0lvbCLqVbM1eWegAhoM0J0qXoWL/vI=";
};
nmasur.presets.services.caddy.tlsPolicies = [ nmasur.presets.services.caddy.tlsPolicies = [
{ {
issuers = [ issuers = [