mirror of
https://github.com/nmasur/dotfiles
synced 2024-11-09 23:22:57 +00:00
replace caddy-cloudflare overlay with nixpkgs pr plugin override
This commit is contained in:
parent
ee97213b9f
commit
962515c10e
17
flake.lock
17
flake.lock
@ -402,6 +402,22 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nixpkgs-caddy": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1699107987,
|
||||||
|
"narHash": "sha256-nWXETr4Oqy/vOfzgWyMY04qzEN2iREFJc5ycQ3XNu0A=",
|
||||||
|
"owner": "jpds",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "a33b02fa9d664f31dadc8a874eb1a5dbaa9f4ecf",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "jpds",
|
||||||
|
"ref": "caddy-external-plugins",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nur": {
|
"nur": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1714880338,
|
"lastModified": 1714880338,
|
||||||
@ -537,6 +553,7 @@
|
|||||||
"nix2vim": "nix2vim",
|
"nix2vim": "nix2vim",
|
||||||
"nixos-generators": "nixos-generators",
|
"nixos-generators": "nixos-generators",
|
||||||
"nixpkgs": "nixpkgs",
|
"nixpkgs": "nixpkgs",
|
||||||
|
"nixpkgs-caddy": "nixpkgs-caddy",
|
||||||
"nur": "nur",
|
"nur": "nur",
|
||||||
"nvim-lint-src": "nvim-lint-src",
|
"nvim-lint-src": "nvim-lint-src",
|
||||||
"nvim-lspconfig-src": "nvim-lspconfig-src",
|
"nvim-lspconfig-src": "nvim-lspconfig-src",
|
||||||
|
@ -7,6 +7,9 @@
|
|||||||
# Used for system packages
|
# Used for system packages
|
||||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||||
|
|
||||||
|
# Used for caddy plugins
|
||||||
|
nixpkgs-caddy.url = "github:jpds/nixpkgs/caddy-external-plugins";
|
||||||
|
|
||||||
# Used for MacOS system config
|
# Used for MacOS system config
|
||||||
darwin = {
|
darwin = {
|
||||||
url = "github:lnl7/nix-darwin/master";
|
url = "github:lnl7/nix-darwin/master";
|
||||||
@ -249,7 +252,6 @@
|
|||||||
(import ./overlays/calibre-web.nix)
|
(import ./overlays/calibre-web.nix)
|
||||||
(import ./overlays/disko.nix inputs)
|
(import ./overlays/disko.nix inputs)
|
||||||
(import ./overlays/tree-sitter.nix inputs)
|
(import ./overlays/tree-sitter.nix inputs)
|
||||||
(import ./overlays/caddy.nix inputs)
|
|
||||||
(import ./overlays/mpv-scripts.nix inputs)
|
(import ./overlays/mpv-scripts.nix inputs)
|
||||||
(import ./overlays/nextcloud-apps.nix inputs)
|
(import ./overlays/nextcloud-apps.nix inputs)
|
||||||
(import ./overlays/betterlockscreen.nix)
|
(import ./overlays/betterlockscreen.nix)
|
||||||
@ -328,9 +330,12 @@
|
|||||||
format = "iso";
|
format = "iso";
|
||||||
modules = import ./hosts/arrow/modules.nix { inherit inputs globals overlays; };
|
modules = import ./hosts/arrow/modules.nix { inherit inputs globals overlays; };
|
||||||
};
|
};
|
||||||
x86_64-linux.arrow-aws = inputs.nixos-generators.nixosGenerate {
|
x86_64-linux.arrow-aws = inputs.nixos-generators.nixosGenerate rec {
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
format = "amazon";
|
format = "amazon";
|
||||||
|
specialArgs = {
|
||||||
|
pkgs-caddy = import inputs.nixpkgs-caddy { inherit system; };
|
||||||
|
};
|
||||||
modules = import ./hosts/arrow/modules.nix { inherit inputs globals overlays; } ++ [
|
modules = import ./hosts/arrow/modules.nix { inherit inputs globals overlays; } ++ [
|
||||||
# import
|
# import
|
||||||
# ./modules/aws
|
# ./modules/aws
|
||||||
|
@ -8,9 +8,11 @@
|
|||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
|
|
||||||
inputs.nixpkgs.lib.nixosSystem {
|
inputs.nixpkgs.lib.nixosSystem rec {
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
specialArgs = { };
|
specialArgs = {
|
||||||
|
pkgs-caddy = import inputs.nixpkgs-caddy { inherit system; };
|
||||||
|
};
|
||||||
modules = import ./modules.nix { inherit inputs globals overlays; } ++ [
|
modules = import ./modules.nix { inherit inputs globals overlays; } ++ [
|
||||||
{
|
{
|
||||||
# This is the root filesystem containing NixOS
|
# This is the root filesystem containing NixOS
|
||||||
|
@ -11,6 +11,7 @@
|
|||||||
{
|
{
|
||||||
config,
|
config,
|
||||||
pkgs,
|
pkgs,
|
||||||
|
pkgs-caddy,
|
||||||
lib,
|
lib,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
@ -62,7 +63,16 @@ in
|
|||||||
caddy.cidrAllowlist = cloudflareIpRanges;
|
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-cloudflare; # Patched overlay
|
services.caddy.package = pkgs-caddy.caddy.override {
|
||||||
|
externalPlugins = [
|
||||||
|
{
|
||||||
|
name = "cloudflare";
|
||||||
|
repo = "github.com/caddy-dns/cloudflare";
|
||||||
|
version = "master";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
vendorHash = "sha256-C7JOGd4sXsRZL561oP84V2/pTg7szEgF4OFOw35yS1s=";
|
||||||
|
};
|
||||||
caddy.tlsPolicies = [
|
caddy.tlsPolicies = [
|
||||||
{
|
{
|
||||||
issuers = [
|
issuers = [
|
||||||
|
@ -1,64 +0,0 @@
|
|||||||
# Adds the Cloudflare DNS validation module
|
|
||||||
|
|
||||||
inputs: _final: prev:
|
|
||||||
|
|
||||||
let
|
|
||||||
|
|
||||||
plugins = [ "github.com/caddy-dns/cloudflare" ];
|
|
||||||
goImports = prev.lib.flip prev.lib.concatMapStrings plugins (pkg: " _ \"${pkg}\"\n");
|
|
||||||
goGets = prev.lib.flip prev.lib.concatMapStrings plugins (pkg: "go get ${pkg}\n ");
|
|
||||||
main = ''
|
|
||||||
package main
|
|
||||||
import (
|
|
||||||
caddycmd "github.com/caddyserver/caddy/v2/cmd"
|
|
||||||
_ "github.com/caddyserver/caddy/v2/modules/standard"
|
|
||||||
${goImports}
|
|
||||||
)
|
|
||||||
func main() {
|
|
||||||
caddycmd.Main()
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
in
|
|
||||||
{
|
|
||||||
caddy-cloudflare = prev.buildGoModule {
|
|
||||||
pname = "caddy-cloudflare";
|
|
||||||
version = prev.caddy.version;
|
|
||||||
runVend = true;
|
|
||||||
|
|
||||||
subPackages = [ "cmd/caddy" ];
|
|
||||||
|
|
||||||
src = prev.caddy.src;
|
|
||||||
|
|
||||||
vendorHash = "sha256-zeuvCk7kZa/W/roC12faCQDav4RB8RT1dR2Suh2yjD8=";
|
|
||||||
|
|
||||||
overrideModAttrs = (
|
|
||||||
_: {
|
|
||||||
preBuild = ''
|
|
||||||
echo '${main}' > cmd/caddy/main.go
|
|
||||||
${goGets}
|
|
||||||
'';
|
|
||||||
postInstall = "cp go.sum go.mod $out/ && ls $out/";
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
postPatch = ''
|
|
||||||
echo '${main}' > cmd/caddy/main.go
|
|
||||||
cat cmd/caddy/main.go
|
|
||||||
'';
|
|
||||||
|
|
||||||
postConfigure = ''
|
|
||||||
cp vendor/go.sum ./
|
|
||||||
cp vendor/go.mod ./
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = with prev.lib; {
|
|
||||||
homepage = "https://caddyserver.com";
|
|
||||||
description = "Fast, cross-platform HTTP/2 web server with automatic HTTPS";
|
|
||||||
license = licenses.asl20;
|
|
||||||
maintainers = with maintainers; [
|
|
||||||
Br1ght0ne
|
|
||||||
techknowlogick
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
Loading…
Reference in New Issue
Block a user