mirror of
https://github.com/nmasur/dotfiles
synced 2025-12-17 10:42:42 +00:00
Compare commits
5 Commits
a35e758c2f
...
caddy-clou
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b98c3f04ab | ||
|
|
68d8e60b7e | ||
|
|
774773c748 | ||
|
|
c85d292d1a | ||
|
|
78cc3559f6 |
46
flake.nix
46
flake.nix
@@ -247,30 +247,30 @@
|
|||||||
default = lib.pkgsBySystem.${system}.nmasur.dotfiles-devshell;
|
default = lib.pkgsBySystem.${system}.nmasur.dotfiles-devshell;
|
||||||
});
|
});
|
||||||
|
|
||||||
checks = lib.forAllSystems (
|
# checks = lib.forAllSystems (
|
||||||
system:
|
# system:
|
||||||
let
|
# let
|
||||||
pkgs = import nixpkgs {
|
# pkgs = import nixpkgs {
|
||||||
inherit system;
|
# inherit system;
|
||||||
overlays = lib.overlays;
|
# overlays = lib.overlays;
|
||||||
};
|
# };
|
||||||
in
|
# in
|
||||||
{
|
# {
|
||||||
neovim =
|
# neovim =
|
||||||
pkgs.runCommand "neovim-check-health" { buildInputs = [ inputs.self.packages.${system}.neovim ]; }
|
# pkgs.runCommand "neovim-check-health" { buildInputs = [ inputs.self.packages.${system}.neovim ]; }
|
||||||
''
|
# ''
|
||||||
mkdir -p $out
|
# mkdir -p $out
|
||||||
export HOME=$TMPDIR
|
# export HOME=$TMPDIR
|
||||||
nvim -c "checkhealth" -c "write $out/health.log" -c "quitall"
|
# nvim -c "checkhealth" -c "write $out/health.log" -c "quitall"
|
||||||
|
|
||||||
# Check for errors inside the health log
|
# # Check for errors inside the health log
|
||||||
if $(grep "ERROR" $out/health.log); then
|
# if $(grep "ERROR" $out/health.log); then
|
||||||
cat $out/health.log
|
# cat $out/health.log
|
||||||
exit 1
|
# exit 1
|
||||||
fi
|
# fi
|
||||||
'';
|
# '';
|
||||||
}
|
# }
|
||||||
);
|
# );
|
||||||
|
|
||||||
formatter = lib.forAllSystems (
|
formatter = lib.forAllSystems (
|
||||||
system:
|
system:
|
||||||
|
|||||||
22
pkgs/caddy/package.nix
Normal file
22
pkgs/caddy/package.nix
Normal 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=";
|
||||||
|
}
|
||||||
@@ -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"
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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 = [
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ in
|
|||||||
config = lib.mkIf cfg.enable {
|
config = lib.mkIf cfg.enable {
|
||||||
|
|
||||||
# Use power button to sleep instead of poweroff
|
# Use power button to sleep instead of poweroff
|
||||||
services.logind.powerKey = "suspend";
|
services.logind.settings.Login.HandlePowerKey = "suspend";
|
||||||
services.logind.powerKeyLongPress = "poweroff";
|
services.logind.settings.Login.HandlePowerKeyLongPress = "poweroff";
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user