Compare commits

..

No commits in common. "d158ef134f7c4957756a9235feb206762ba248f1" and "a304c7eb0e0e02543575552f622906c06a7c3f2d" have entirely different histories.

8 changed files with 78 additions and 180 deletions

137
flake.lock generated
View file

@ -43,30 +43,6 @@
"type": "github" "type": "github"
} }
}, },
"atuin": {
"inputs": {
"flake-compat": "flake-compat_2",
"flake-utils": [
"flake-utils"
],
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1712668887,
"narHash": "sha256-tcGPDWrfUuo3d5OpXyg9veJeYIatzFLRjcZSp+0SFxI=",
"owner": "atuinsh",
"repo": "atuin",
"rev": "0ab9f4d9ff545d83dc664b494ecf450750c0f184",
"type": "github"
},
"original": {
"owner": "atuinsh",
"repo": "atuin",
"type": "github"
}
},
"caddy-with-plugins": { "caddy-with-plugins": {
"inputs": { "inputs": {
"flake-parts": [ "flake-parts": [
@ -92,7 +68,7 @@
}, },
"colmena": { "colmena": {
"inputs": { "inputs": {
"flake-compat": "flake-compat_3", "flake-compat": "flake-compat_2",
"flake-utils": "flake-utils_2", "flake-utils": "flake-utils_2",
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
@ -157,7 +133,7 @@
}, },
"crane_3": { "crane_3": {
"inputs": { "inputs": {
"flake-compat": "flake-compat_5", "flake-compat": "flake-compat_4",
"flake-utils": [ "flake-utils": [
"ha-now-playing", "ha-now-playing",
"flake-utils" "flake-utils"
@ -192,11 +168,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1712612224, "lastModified": 1711934712,
"narHash": "sha256-Tv4C8OSPVmm4LbpJGLFSODyvJy6DqrisEGPCQdNVOeY=", "narHash": "sha256-sBDe+QmX/QohlnKeSEzrftcXyZL5FY09OMjZ59Rpyy4=",
"owner": "nix-community", "owner": "nix-community",
"repo": "disko", "repo": "disko",
"rev": "79eab0e82cb126bf4ac170f44af82479f0895ab5", "rev": "611c9ea53250f7bb22286b3d26872280a0e608f9",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -216,11 +192,11 @@
"nixpkgs-stable": "nixpkgs-stable_2" "nixpkgs-stable": "nixpkgs-stable_2"
}, },
"locked": { "locked": {
"lastModified": 1712713563, "lastModified": 1712108714,
"narHash": "sha256-y703Dcj6RS51iO5xFDorkyIGZD8/hQDkwaHJsB6uI80=", "narHash": "sha256-QzrcwGuuAP1octIcUw/d+Yi5BEXYt1NOwNLpeUrqKTk=",
"owner": "nix-community", "owner": "nix-community",
"repo": "emacs-overlay", "repo": "emacs-overlay",
"rev": "d08457d425b0a1f15f44f6d9faa17240f2bd29a6", "rev": "5d0a10938c32f3cb95d1f1f18127948d239c6720",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -231,7 +207,7 @@
}, },
"eww": { "eww": {
"inputs": { "inputs": {
"flake-compat": "flake-compat_4", "flake-compat": "flake-compat_3",
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
], ],
@ -240,11 +216,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1712401919, "lastModified": 1711884036,
"narHash": "sha256-WcAWIvIdGE0tcS7WJ6JlbRlUnKvpvut500NozUmJ6jY=", "narHash": "sha256-DkJBMFUG8GLCoZ5yEXRDb4iWQjH+V6hrB4QQuRrn2F8=",
"owner": "elkowar", "owner": "elkowar",
"repo": "eww", "repo": "eww",
"rev": "ebe5f349d184e79edc33199d064d9ec5f1e4dd9b", "rev": "149727ce1f7dd4f461ab1d61d560546f3d1f32a1",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -270,22 +246,6 @@
} }
}, },
"flake-compat_2": { "flake-compat_2": {
"flake": false,
"locked": {
"lastModified": 1696426674,
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"flake-compat_3": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1650374568, "lastModified": 1650374568,
@ -301,7 +261,7 @@
"type": "github" "type": "github"
} }
}, },
"flake-compat_4": { "flake-compat_3": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1696426674, "lastModified": 1696426674,
@ -317,7 +277,7 @@
"type": "github" "type": "github"
} }
}, },
"flake-compat_5": { "flake-compat_4": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1696267196, "lastModified": 1696267196,
@ -333,7 +293,7 @@
"type": "github" "type": "github"
} }
}, },
"flake-compat_6": { "flake-compat_5": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1696426674, "lastModified": 1696426674,
@ -349,7 +309,7 @@
"type": "github" "type": "github"
} }
}, },
"flake-compat_7": { "flake-compat_6": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1696426674, "lastModified": 1696426674,
@ -560,11 +520,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1712688495, "lastModified": 1712093955,
"narHash": "sha256-NrVLXkpT9ZigiI8md6NIzHS+3lE4QTj30IgXG57O9iM=", "narHash": "sha256-94I0sXz6fiVBvUAk2tg6t3UpM5rOImj4JTSTNFbg64s=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "b00d0e4fe9cba0047f54e77418ddda5f17e6ef2c", "rev": "80546b220e95a575c66c213af1b09fe255299438",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -584,11 +544,11 @@
"spectrum": "spectrum" "spectrum": "spectrum"
}, },
"locked": { "locked": {
"lastModified": 1712654305, "lastModified": 1711753492,
"narHash": "sha256-CNdpLnGOUZfIhBanAFVF7t1xstaQGL4w6sQPrVeLlus=", "narHash": "sha256-lLlXQBebD6wd2m7vjXg2zQ8tfJF2a70RL+zXdbaQqn0=",
"owner": "astro", "owner": "astro",
"repo": "microvm.nix", "repo": "microvm.nix",
"rev": "ee0068ca87bdabbde3cc39b7af807c0302d0304c", "rev": "1b7c70b198554d0f0306ec153c94906623437aed",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -645,18 +605,18 @@
}, },
"nix-ld-rs": { "nix-ld-rs": {
"inputs": { "inputs": {
"flake-compat": "flake-compat_6", "flake-compat": "flake-compat_5",
"flake-utils": "flake-utils_4", "flake-utils": "flake-utils_4",
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
] ]
}, },
"locked": { "locked": {
"lastModified": 1712668238, "lastModified": 1711333167,
"narHash": "sha256-99MkjQdZlEJ4292bUtHx7C07pDSbU9syEb3lc+FrPkw=", "narHash": "sha256-j0yUDFX7cyoM5r9afQ45tfu8wqUk0dRicOb79+K81JI=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nix-ld-rs", "repo": "nix-ld-rs",
"rev": "f1c82bda746815f2162a9cc959296bfa0fc50499", "rev": "76999cac5abefc7862b19daeef0ef91d4270fb17",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -667,11 +627,11 @@
}, },
"nixos-hardware": { "nixos-hardware": {
"locked": { "locked": {
"lastModified": 1712695607, "lastModified": 1711352745,
"narHash": "sha256-rXb3onsPMiv00FrGSpIJyYa8x53W0dlbJ5Ka3xvje/c=", "narHash": "sha256-luvqik+i3HTvCbXQZgB6uggvEcxI9uae0nmrgtXJ17U=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixos-hardware", "repo": "nixos-hardware",
"rev": "05aa46a1f3b5ac92bfe84807868ba9670d48b031", "rev": "9a763a7acc4cfbb8603bb0231fec3eda864f81c0",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -732,11 +692,11 @@
}, },
"nixpkgs-stable_2": { "nixpkgs-stable_2": {
"locked": { "locked": {
"lastModified": 1712588820, "lastModified": 1711668574,
"narHash": "sha256-y31s5idk3jMJMAVE4Ud9AdI7HT3CgTAeMTJ0StqKN7Y=", "narHash": "sha256-u1dfs0ASQIEr1icTVrsKwg2xToIpn7ZXxW3RHfHxshg=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "d272ca50d1f7424fbfcd1e6f1c9e01d92f6da167", "rev": "219951b495fc2eac67b1456824cc1ec1fd2ee659",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -764,11 +724,11 @@
}, },
"nixpkgs-stable_4": { "nixpkgs-stable_4": {
"locked": { "locked": {
"lastModified": 1712437997, "lastModified": 1711819797,
"narHash": "sha256-g0whLLwRvgO2FsyhY8fNk+TWenS3jg5UdlWL4uqgFeo=", "narHash": "sha256-tNeB6emxj74Y6ctwmsjtMlzUMn458sBmwnD35U5KIM4=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "e38d7cb66ea4f7a0eb6681920615dfcc30fc2920", "rev": "2b4e3ca0091049c6fbb4908c66b05b77eaef9f0c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -780,11 +740,11 @@
}, },
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1712608508, "lastModified": 1711703276,
"narHash": "sha256-vMZ5603yU0wxgyQeHJryOI+O61yrX2AHwY6LOFyV1gM=", "narHash": "sha256-iMUFArF0WCatKK6RzfUJknjem0H9m4KgorO/p3Dopkk=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "4cba8b53da471aea2ab2b0c1f30a81e7c451f4b6", "rev": "d8fe5e6c92d0d190646fb9f1056741a229980089",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -824,7 +784,7 @@
}, },
"pre-commit-hooks": { "pre-commit-hooks": {
"inputs": { "inputs": {
"flake-compat": "flake-compat_7", "flake-compat": "flake-compat_6",
"flake-utils": [ "flake-utils": [
"flake-utils" "flake-utils"
], ],
@ -835,11 +795,11 @@
"nixpkgs-stable": "nixpkgs-stable_3" "nixpkgs-stable": "nixpkgs-stable_3"
}, },
"locked": { "locked": {
"lastModified": 1712579741, "lastModified": 1712055707,
"narHash": "sha256-igpsH+pa6yFwYOdah3cFciCk8gw+ytniG9quf5f/q84=", "narHash": "sha256-4XLvuSIDZJGS17xEwSrNuJLL7UjDYKGJSbK1WWX2AK8=",
"owner": "cachix", "owner": "cachix",
"repo": "pre-commit-hooks.nix", "repo": "pre-commit-hooks.nix",
"rev": "70f504012f0a132ac33e56988e1028d88a48855c", "rev": "e35aed5fda3cc79f88ed7f1795021e559582093a",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -852,7 +812,6 @@
"inputs": { "inputs": {
"anyrun": "anyrun", "anyrun": "anyrun",
"attic": "attic", "attic": "attic",
"atuin": "atuin",
"caddy-with-plugins": "caddy-with-plugins", "caddy-with-plugins": "caddy-with-plugins",
"colmena": "colmena", "colmena": "colmena",
"disko": "disko", "disko": "disko",
@ -911,11 +870,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1712715149, "lastModified": 1712110341,
"narHash": "sha256-uOx7GaLV+5hekAYtm/CBr627Pi7+d1Yh70hwKmVjYYo=", "narHash": "sha256-8LU2IM4ctHz043hlzoFUwQS1QIdhiMGEH/oIfPCxoWU=",
"owner": "oxalica", "owner": "oxalica",
"repo": "rust-overlay", "repo": "rust-overlay",
"rev": "9ef1eca23bee5fb8080863909af3802130b2ee57", "rev": "74deb67494783168f5b6d2071d73177e6bccab65",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -932,11 +891,11 @@
"nixpkgs-stable": "nixpkgs-stable_4" "nixpkgs-stable": "nixpkgs-stable_4"
}, },
"locked": { "locked": {
"lastModified": 1712617241, "lastModified": 1711855048,
"narHash": "sha256-a4hbls4vlLRMciv62YrYT/Xs/3Cubce8WFHPUDWwzf8=", "narHash": "sha256-HxegAPnQJSC4cbEbF4Iq3YTlFHZKLiNTk8147EbLdGg=",
"owner": "Mic92", "owner": "Mic92",
"repo": "sops-nix", "repo": "sops-nix",
"rev": "538c114cfdf1f0458f507087b1dcf018ce1c0c4c", "rev": "99b1e37f9fc0960d064a7862eb7adfb92e64fa10",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -101,14 +101,6 @@
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
atuin = {
url = "github:atuinsh/atuin";
inputs = {
nixpkgs.follows = "nixpkgs";
flake-utils.follows = "flake-utils";
};
};
caddy-with-plugins = { caddy-with-plugins = {
url = "github:eboskma/caddy-with-plugins"; url = "github:eboskma/caddy-with-plugins";
inputs = { inputs = {

View file

@ -1357,15 +1357,17 @@ Configure [[https://rust-analyzer.github.io][rust-analyzer]]
:imports (:granularity (:enforce :json-false :group "crate") :imports (:granularity (:enforce :json-false :group "crate")
:group t :merge :group t :merge
(:glob t) (:glob t)
:preferPrelude t
:prefix "plain") :prefix "plain")
:lruCapacity nil
:checkOnSave (:enable t :checkOnSave (:enable t
:command "clippy" :command "clippy"
:allTargets t) :allTargets t)
:inlayHints (:bindingModeHints t :inlayHints (:bindingModeHints t
:chainingHints t :chainingHints t
:lifetimeElisionHints (:enable "always" :useParameterNames t) :lifetimeElisionHints (:enable "always" :useParameterNames :json-false)
:maxLength nil :maxLength nil
:parameterHints :json-false
:renderColons t
:typeHints (:enable t :typeHints (:enable t
:hideClosureInitialization :json-false :hideClosureInitialization :json-false
:hideNamedConstructor :json-false)) :hideNamedConstructor :json-false))

View file

@ -104,10 +104,12 @@ in
config = mkIf cfg.enable { config = mkIf cfg.enable {
programs.firefox = { programs.firefox = {
enable = true; enable = true;
package = pkgs.wrapFirefox (pkgs.firefox-unwrapped.override { package = pkgs.firefox.override {
pipewireSupport = true; cfg = {
ffmpegSupport = true; enableGnomeExtensions = true;
}) { }; enableSpeechSynthesisSupport = true;
};
};
profiles = { profiles = {
private = { private = {

View file

@ -29,7 +29,6 @@ rec {
inputs.nil.overlays.default inputs.nil.overlays.default
inputs.pamedia.overlays.${system} inputs.pamedia.overlays.${system}
inputs.rust-overlay.overlays.default inputs.rust-overlay.overlays.default
inputs.atuin.overlays.default
] ]
++ nixpkgs.lib.optional (system == "aarch64-linux") ( ++ nixpkgs.lib.optional (system == "aarch64-linux") (
_final: super: { makeModulesClosure = x: super.makeModulesClosure (x // { allowMissing = true; }); } _final: super: { makeModulesClosure = x: super.makeModulesClosure (x // { allowMissing = true; }); }

View file

@ -23,39 +23,6 @@
plugins = [ "github.com/caddy-dns/cloudflare@74f004e1c1ab9056288f0baf3cd4b0039d6c77f3" ]; plugins = [ "github.com/caddy-dns/cloudflare@74f004e1c1ab9056288f0baf3cd4b0039d6c77f3" ];
vendorHash = "sha256-UYNFkGK4A7DJSmin4nCo9rUD60gx80e9YZodn7uEcUM="; vendorHash = "sha256-UYNFkGK4A7DJSmin4nCo9rUD60gx80e9YZodn7uEcUM=";
}; };
proxyHosts = [
{
externalHostname = "home.datarift.nl";
proxyAddress = "homeassistant.barn-beaver.ts.net:8123";
external = true;
}
{
externalHostname = "frigate.datarift.nl";
proxyAddress = "frigate.barn-beaver.ts.net:5000";
}
{
externalHostname = "git.datarift.nl";
proxyAddress = "gitea.barn-beaver.ts.net:3000";
external = true;
}
{
externalHostname = "minio.datarift.nl";
proxyAddress = "minio.barn-beaver.ts.net:9000";
external = true;
}
{
externalHostname = "minio-admin.datarift.nl";
proxyAddress = "minio.barn-beaver.ts.net:9001";
}
{
externalHostname = "saga.datarift.nl";
proxyAddress = "saga.barn-beaver.ts.net:3000";
}
{
externalHostname = "unifi.datarift.nl";
proxyAddress = "unifi.barn-beaver.ts.net:8443";
}
];
}; };
tailscale.enable = true; tailscale.enable = true;
}; };

View file

@ -8,25 +8,14 @@ with lib;
let let
cfg = config.eboskma.caddy-proxy; cfg = config.eboskma.caddy-proxy;
proxyHost = types.submodule {
options = {
externalHostname = mkOption {
description = "Hostname where this service should be reached";
type = types.str;
};
proxyAddress = mkOption {
description = "Internal address where this service is reachable";
type = types.str;
};
external = mkEnableOption "Make this host externally reachable.";
};
};
mkProxyHost = target: { mkProxyHost = target: {
extraConfig = '' extraConfig = ''
reverse_proxy ${target} reverse_proxy ${target}
import cloudflare-tls tls {
dns cloudflare {env.CF_API_TOKEN}
propagation_timeout -1
}
''; '';
}; };
@ -42,7 +31,10 @@ let
error "Nope." 403 error "Nope." 403
} }
import cloudflare-tls tls {
dns cloudflare {env.CF_API_TOKEN}
propagation_timeout -1
}
''; '';
}; };
in in
@ -50,10 +42,6 @@ in
options.eboskma.caddy-proxy = { options.eboskma.caddy-proxy = {
enable = mkEnableOption "Caddy proxy"; enable = mkEnableOption "Caddy proxy";
package = mkPackageOption pkgs "caddy" { }; package = mkPackageOption pkgs "caddy" { };
proxyHosts = mkOption {
description = "Proxy hosts";
type = types.listOf proxyHost;
};
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
@ -65,27 +53,16 @@ in
acmeCA = "https://acme-v02.api.letsencrypt.org/directory"; acmeCA = "https://acme-v02.api.letsencrypt.org/directory";
extraConfig = '' virtualHosts = {
(cloudflare-tls) { "home.datarift.nl" = mkProxyHost "homeassistant.barn-beaver.ts.net:8123";
tls { "ci.datarift.nl" = mkProxyHost "ci.barn-beaver.ts.net:8100";
dns cloudflare {env.CF_API_TOKEN} "frigate.datarift.nl" = mkLocalProxyHost "frigate.barn-beaver.ts.net:5000";
propagation_timeout -1 "git.datarift.nl" = mkProxyHost "gitea.barn-beaver.ts.net:3000";
} "minio.datarift.nl" = mkProxyHost "minio.barn-beaver.ts.net:9000";
} "minio-admin.datarift.nl" = mkLocalProxyHost "minio.barn-beaver.ts.net:9001";
''; "saga.datarift.nl" = mkLocalProxyHost "saga.barn-beaver.ts.net:3000";
"unifi.datarift.nl" = mkLocalProxyHost "unifi.barn-beaver.ts.net:8443";
virtualHosts = builtins.listToAttrs ( };
map (
host:
let
mkProxy = if host ? external && host.external then mkProxyHost else mkLocalProxyHost;
in
{
name = host.externalHostname;
value = mkProxy host.proxyAddress;
}
) cfg.proxyHosts
);
}; };
systemd.services.caddy.serviceConfig.EnvironmentFile = [ config.sops.secrets.caddy-env.path ]; systemd.services.caddy.serviceConfig.EnvironmentFile = [ config.sops.secrets.caddy-env.path ];

View file

@ -185,8 +185,7 @@ in
ardour ardour
atool atool
inputs.attic.packages.${pkgs.system}.attic-client inputs.attic.packages.${pkgs.system}.attic-client
# bitwarden bitwarden
bitwarden-cli
blink1-tool blink1-tool
bottom bottom
dconf dconf
@ -219,6 +218,7 @@ in
minio-client minio-client
mpv mpv
nheko nheko
nomachine-client
nordzy-cursor-theme nordzy-cursor-theme
(noson.overrideAttrs (_: { (noson.overrideAttrs (_: {
qtWrapperArgs = "--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ pkgs.libpulseaudio ]}"; qtWrapperArgs = "--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ pkgs.libpulseaudio ]}";