mirror of
https://git.oat.zone/dark-firepit/dotfiles
synced 2024-05-08 21:36:10 +02:00
Compare commits
8 Commits
588c8fe993
...
5a8966ee20
Author | SHA1 | Date | |
---|---|---|---|
Jill "oatmealine" Monoids | 5a8966ee20 | ||
Jill "oatmealine" Monoids | ba741af134 | ||
Jill "oatmealine" Monoids | 5f047aeca6 | ||
Jill "oatmealine" Monoids | 11c7016bcf | ||
Jill "oatmealine" Monoids | cc0cf5d6b3 | ||
Jill "oatmealine" Monoids | 6dbe0e7df6 | ||
Jill "oatmealine" Monoids | 09502ea7a3 | ||
Jill "oatmealine" Monoids | 5186976ead |
142
flake.lock
142
flake.lock
|
@ -7,11 +7,11 @@
|
|||
"nixpkgs": "nixpkgs"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1689334118,
|
||||
"narHash": "sha256-djk5AZv1yU84xlKFaVHqFWvH73U7kIRstXwUAnDJPsk=",
|
||||
"lastModified": 1695384796,
|
||||
"narHash": "sha256-TYlE4B0ktPtlJJF9IFxTWrEeq+XKG8Ny0gc2FGEAdj0=",
|
||||
"owner": "ryantm",
|
||||
"repo": "agenix",
|
||||
"rev": "0d8c5325fc81daf00532e3e26c6752f7bcde1143",
|
||||
"rev": "1f677b3e161d3bdbfd08a939e8f25de2568e0ef4",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -26,11 +26,11 @@
|
|||
"nixpkgs": "nixpkgs_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1685653986,
|
||||
"narHash": "sha256-6NTJpW9CAGHUuijiFby4SZszv/DWjOOtXWhjsB42mlI=",
|
||||
"lastModified": 1692493363,
|
||||
"narHash": "sha256-Y/nefO52W64AtXdEGFVMMBwXw+3m1SswOaO7Dq8b5UA=",
|
||||
"ref": "refs/heads/main",
|
||||
"rev": "abe288a9b6ef0823be30f24c4b8b5f7f3de90dc1",
|
||||
"revCount": 17,
|
||||
"rev": "5fd335bbf5026e81e9dd3b4dacc13e93eb980112",
|
||||
"revCount": 21,
|
||||
"type": "git",
|
||||
"url": "https://git.oat.zone/oat/cohost-blogger"
|
||||
},
|
||||
|
@ -68,11 +68,11 @@
|
|||
"nixpkgs-stable": "nixpkgs-stable"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1689877766,
|
||||
"narHash": "sha256-IsPJIX7wmdC8m+dDhdoFELv/lX24gqelcsCHVmyyluM=",
|
||||
"lastModified": 1695437639,
|
||||
"narHash": "sha256-OfXNnHxfJ01cnrdgvQ0fSJiUDH+L5OcJb1nVlRP28uE=",
|
||||
"owner": "nix-community",
|
||||
"repo": "emacs-overlay",
|
||||
"rev": "fe2035cc0ddf11231d440a59268ccb4e778d3c94",
|
||||
"rev": "8c25f71493cef83a6d41d8f46dc93bf3b5791c34",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -120,11 +120,11 @@
|
|||
"systems": "systems_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1689068808,
|
||||
"narHash": "sha256-6ixXo3wt24N/melDWjq70UuHQLxGV8jZvooRanIHXw0=",
|
||||
"lastModified": 1694529238,
|
||||
"narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "919d646de7be200f3bf08cb76ae1f09402b6f9b4",
|
||||
"rev": "ff7b65b44d01cf9ba6a71320833626af21126384",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -135,7 +135,7 @@
|
|||
},
|
||||
"flake-utils_3": {
|
||||
"inputs": {
|
||||
"systems": "systems_3"
|
||||
"systems": "systems_4"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1681202837,
|
||||
|
@ -153,7 +153,7 @@
|
|||
},
|
||||
"flake-utils_4": {
|
||||
"inputs": {
|
||||
"systems": "systems_4"
|
||||
"systems": "systems_5"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1681202837,
|
||||
|
@ -195,11 +195,11 @@
|
|||
"nixpkgs": "nixpkgs_4"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1687871164,
|
||||
"narHash": "sha256-bBFlPthuYX322xOlpJvkjUBz0C+MOBjZdDOOJJ+G2jU=",
|
||||
"lastModified": 1695108154,
|
||||
"narHash": "sha256-gSg7UTVtls2yO9lKtP0yb66XBHT1Fx5qZSZbGMpSn2c=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "07c347bb50994691d7b0095f45ebd8838cf6bc38",
|
||||
"rev": "07682fff75d41f18327a871088d20af2710d4744",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -213,15 +213,16 @@
|
|||
"inputs": {
|
||||
"hyprland-protocols": "hyprland-protocols",
|
||||
"nixpkgs": "nixpkgs_5",
|
||||
"systems": "systems_3",
|
||||
"wlroots": "wlroots",
|
||||
"xdph": "xdph"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1689882897,
|
||||
"narHash": "sha256-FusW6tuB/xfzpiyKXjKCY7mE92kk9S61THHSx9MQFIA=",
|
||||
"lastModified": 1695428925,
|
||||
"narHash": "sha256-6sboXstaA0j1JpKshbe2zQtRY+LygOUBd+kJ4URscSg=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "Hyprland",
|
||||
"rev": "1ec0b7b59a84a07f97c3ebee9f6694bc4a1b1dcd",
|
||||
"rev": "fb80cbe415835a7e0c64e2038d0fc56e8aba0ab4",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -235,14 +236,18 @@
|
|||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprland",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1684265364,
|
||||
"narHash": "sha256-AxNnWbthsuNx73HDQr0eBxrcE3+yfl/WsaXZqUFmkpQ=",
|
||||
"lastModified": 1691753796,
|
||||
"narHash": "sha256-zOEwiWoXk3j3+EoF3ySUJmberFewWlagvewDRuWYAso=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprland-protocols",
|
||||
"rev": "8c279b9fb0f2b031427dc5ef4eab53f2ed835530",
|
||||
"rev": "0c2ce70625cb30aef199cb388f99e19a61a6ce03",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -256,11 +261,11 @@
|
|||
"nixpkgs": "nixpkgs_6"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1689547456,
|
||||
"narHash": "sha256-jZQ377LqcazitvH2fVXKiL8kvmpGT3fuqev+yQqvuRw=",
|
||||
"lastModified": 1694600309,
|
||||
"narHash": "sha256-d9LcB+D0bfMu+8UhnUVJ/DX5OVTX6o5dIntdVqEeQDA=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprpaper",
|
||||
"rev": "ac5f7b038d5ac589d32f5ae18f9745bfe5200618",
|
||||
"rev": "e5a18a171d5d6e7c6b9ffdfb9e86fb09055964a1",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -274,11 +279,11 @@
|
|||
"nixpkgs": "nixpkgs_7"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1687865626,
|
||||
"narHash": "sha256-loVzVNxrWwRKSqya2Ucfn8zcPgl19Li6q6Px4nDqpW4=",
|
||||
"lastModified": 1691427524,
|
||||
"narHash": "sha256-3n0HJgo+3YCuo56a+efzcrh5UsfXi5jPU4tjqzJVm7g=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprpicker",
|
||||
"rev": "0889bd5f6f47847de50be021437775542ef2e91c",
|
||||
"rev": "5ba32686943f839d072426d9ffd172decaee0e3e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -294,11 +299,11 @@
|
|||
"nixpkgs": "nixpkgs_8"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1689817027,
|
||||
"narHash": "sha256-9TGqXbvJYVOuRQKPMAeC4V1IghdFNPNttSiWdp6Ifb8=",
|
||||
"lastModified": 1695345426,
|
||||
"narHash": "sha256-Ao6KWjPCQAIBIfY8WWiA/IHWJXCsFP3BNEane8eC5eU=",
|
||||
"owner": "Infinidoge",
|
||||
"repo": "nix-minecraft",
|
||||
"rev": "d296099e2c68e7ebe4b017e0e79f7e142bc7aac5",
|
||||
"rev": "430bcf03cdb5dacf2925ab6b62dac1b9d948af2d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -309,11 +314,11 @@
|
|||
},
|
||||
"nixos-hardware": {
|
||||
"locked": {
|
||||
"lastModified": 1689320556,
|
||||
"narHash": "sha256-vODUkZLWFVCvo1KPK3dC2CbXjxa9antEn5ozwlcTr48=",
|
||||
"lastModified": 1695109627,
|
||||
"narHash": "sha256-4rpyoVzmunIG6xWA/EonnSSqC69bDBzciFi6SjBze/0=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixos-hardware",
|
||||
"rev": "d4ea64f2063820120c05f6ba93ee02e6d4671d6b",
|
||||
"rev": "cb4dc98f776ddb6af165e6f06b2902efe31ca67a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -340,11 +345,11 @@
|
|||
},
|
||||
"nixpkgs-stable": {
|
||||
"locked": {
|
||||
"lastModified": 1689680872,
|
||||
"narHash": "sha256-brNix2+ihJSzCiKwLafbyejrHJZUP0Fy6z5+xMOC27M=",
|
||||
"lastModified": 1695272228,
|
||||
"narHash": "sha256-4uw2OdJPVyjdB+xcDst9SecrNIpxKXJ2usN3M5HVa7o=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "08700de174bc6235043cb4263b643b721d936bdb",
|
||||
"rev": "55ac2a9d2024f15c56adf20da505b29659911da8",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -356,11 +361,11 @@
|
|||
},
|
||||
"nixpkgs-unstable": {
|
||||
"locked": {
|
||||
"lastModified": 1689679375,
|
||||
"narHash": "sha256-LHUC52WvyVDi9PwyL1QCpaxYWBqp4ir4iL6zgOkmcb8=",
|
||||
"lastModified": 1695145219,
|
||||
"narHash": "sha256-Eoe9IHbvmo5wEDeJXKFOpKUwxYJIOxKUesounVccNYk=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "684c17c429c42515bafb3ad775d2a710947f3d67",
|
||||
"rev": "5ba549eafcf3e33405e5f66decd1a72356632b96",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -401,11 +406,11 @@
|
|||
},
|
||||
"nixpkgs_3": {
|
||||
"locked": {
|
||||
"lastModified": 1689679375,
|
||||
"narHash": "sha256-LHUC52WvyVDi9PwyL1QCpaxYWBqp4ir4iL6zgOkmcb8=",
|
||||
"lastModified": 1695145219,
|
||||
"narHash": "sha256-Eoe9IHbvmo5wEDeJXKFOpKUwxYJIOxKUesounVccNYk=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "684c17c429c42515bafb3ad775d2a710947f3d67",
|
||||
"rev": "5ba549eafcf3e33405e5f66decd1a72356632b96",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -433,11 +438,11 @@
|
|||
},
|
||||
"nixpkgs_5": {
|
||||
"locked": {
|
||||
"lastModified": 1688500189,
|
||||
"narHash": "sha256-djYYiY4lzJOlXOnTHytH6BUugrxHDZjuGxTSrU4gt4M=",
|
||||
"lastModified": 1694767346,
|
||||
"narHash": "sha256-5uH27SiVFUwsTsqC5rs3kS7pBoNhtoy9QfTP9BmknGk=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "78419edadf0fabbe5618643bd850b2f2198ed060",
|
||||
"rev": "ace5093e36ab1e95cb9463863491bee90d5a4183",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -497,11 +502,11 @@
|
|||
},
|
||||
"nixpkgs_9": {
|
||||
"locked": {
|
||||
"lastModified": 1689680872,
|
||||
"narHash": "sha256-brNix2+ihJSzCiKwLafbyejrHJZUP0Fy6z5+xMOC27M=",
|
||||
"lastModified": 1695272228,
|
||||
"narHash": "sha256-4uw2OdJPVyjdB+xcDst9SecrNIpxKXJ2usN3M5HVa7o=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "08700de174bc6235043cb4263b643b721d936bdb",
|
||||
"rev": "55ac2a9d2024f15c56adf20da505b29659911da8",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -557,6 +562,21 @@
|
|||
}
|
||||
},
|
||||
"systems_3": {
|
||||
"locked": {
|
||||
"lastModified": 1689347949,
|
||||
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default-linux",
|
||||
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default-linux",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_4": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
|
@ -571,7 +591,7 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_4": {
|
||||
"systems_5": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
|
@ -609,18 +629,18 @@
|
|||
"flake": false,
|
||||
"locked": {
|
||||
"host": "gitlab.freedesktop.org",
|
||||
"lastModified": 1689611045,
|
||||
"narHash": "sha256-3RTOlQabkNetQ4O4UzSf57JPco9VGVHhSU1ls5uKBeE=",
|
||||
"lastModified": 1695277534,
|
||||
"narHash": "sha256-LEIUGXvKR5DYFQUTavC3yifcObvG4XZUUHfxXmu8nEM=",
|
||||
"owner": "wlroots",
|
||||
"repo": "wlroots",
|
||||
"rev": "7791ffe0584c4ac13c170e1661ce33bdbd4a9b9e",
|
||||
"rev": "98a745d926d8048bc30aef11b421df207a01c279",
|
||||
"type": "gitlab"
|
||||
},
|
||||
"original": {
|
||||
"host": "gitlab.freedesktop.org",
|
||||
"owner": "wlroots",
|
||||
"repo": "wlroots",
|
||||
"rev": "7791ffe0584c4ac13c170e1661ce33bdbd4a9b9e",
|
||||
"rev": "98a745d926d8048bc30aef11b421df207a01c279",
|
||||
"type": "gitlab"
|
||||
}
|
||||
},
|
||||
|
@ -633,14 +653,18 @@
|
|||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprland",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1685385764,
|
||||
"narHash": "sha256-r+XMyOoRXq+hlfjayb+fyi9kq2JK48TrwuNIAXqlj7U=",
|
||||
"lastModified": 1694628480,
|
||||
"narHash": "sha256-Qg9hstRw0pvjGu5hStkr2UX1D73RYcQ9Ns/KnZMIm9w=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "xdg-desktop-portal-hyprland",
|
||||
"rev": "4d9ff0c17716936e0b5ca577a39e263633901ed1",
|
||||
"rev": "8f45a6435069b9e24ebd3160eda736d7a391cbf2",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
|
@ -158,6 +158,11 @@ in {
|
|||
interfaces."wg0" = import ./wireguardInterface.nix;
|
||||
};
|
||||
|
||||
dendrite = {
|
||||
enable = true;
|
||||
hostDomain = "dark-firepit.cloud";
|
||||
};
|
||||
|
||||
terraria = {
|
||||
enable = false;
|
||||
port = 7777; # port-forwarded
|
||||
|
|
|
@ -0,0 +1,102 @@
|
|||
{ pkgs, config, lib, options, ... }:
|
||||
|
||||
with lib;
|
||||
let
|
||||
cfg = config.modules.services.dendrite;
|
||||
fullDomain = "matrix." + cfg.hostDomain;
|
||||
maxUploadMegabytes = 600;
|
||||
in {
|
||||
options.modules.services.dendrite = {
|
||||
enable = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
};
|
||||
|
||||
hostDomain = mkOption {
|
||||
type = types.str;
|
||||
default = null;
|
||||
};
|
||||
|
||||
port = mkOption {
|
||||
type = types.port;
|
||||
default = 8008;
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
assertions = [
|
||||
{ assertion = cfg.hostDomain != null;
|
||||
description = "@config.modules.services.dendrite.hostDomain@ must not equal null";
|
||||
}
|
||||
];
|
||||
|
||||
services.dendrite = {
|
||||
enable = true;
|
||||
httpPort = cfg.port;
|
||||
# httpsPort = cfg.port;
|
||||
tlsCert = "/var/lib/dendrite_keys/server.cert";
|
||||
tlsKey = "/var/lib/dendrite_keys/server.key";
|
||||
loadCredential = [ "private_key:/var/lib/dendrite_keys/private/private_key.pem" ];
|
||||
environmentFile = "/var/lib/dendrite_keys/registration_secret";
|
||||
settings = {
|
||||
global = {
|
||||
server_name = cfg.hostDomain;
|
||||
private_key = "/var/lib/dendrite_keys/private/private_key.pem";
|
||||
presence = {
|
||||
enable_inbound = true;
|
||||
enable_outbound = true;
|
||||
};
|
||||
};
|
||||
client_api = {
|
||||
registration_shared_secret = "$REGISTRATION_SHARED_SECRET";
|
||||
};
|
||||
media_api = {
|
||||
max_file_size_bytes = maxUploadMegabytes;
|
||||
dynamic_thumbnails = true;
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
services.nginx.virtualHosts."${fullDomain}" = {
|
||||
forceSSL = true;
|
||||
enableACME = true;
|
||||
|
||||
listen = [
|
||||
{ addr = "0.0.0.0";
|
||||
port = 443;
|
||||
ssl = true;
|
||||
}
|
||||
{ addr = "[::]";
|
||||
port = 443;
|
||||
ssl = true;
|
||||
}
|
||||
];
|
||||
|
||||
locations."/_matrix".proxyPass = "http://127.0.0.1:${toString cfg.port}";
|
||||
|
||||
extraConfig = ''
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-RealIP $remote_addr;
|
||||
proxy_read_timeout 600;
|
||||
client_max_body_size ${toString maxUploadMegabytes}M;
|
||||
'';
|
||||
};
|
||||
|
||||
services.nginx.virtualHosts."${cfg.hostDomain}" = {
|
||||
forceSSL = true;
|
||||
enableACME = true;
|
||||
|
||||
locations."/.well-known/matrix/server".return = "200 '{ \"m.server\": \"${fullDomain}:443\"}'";
|
||||
|
||||
# locations."/.well-known/matrix/client".return = "200 '{ \"m.homserver\": { \"base_url\": \"https://${cfg.hostDomain}\"} }'";
|
||||
locations."/.well-known/matrix/client".extraConfig = ''
|
||||
add_header Access-Control-Allow-Origin '*';
|
||||
return 200 '{ \"m.homserver\": { \"base_url\": \"https://${cfg.hostDomain}\"} }';
|
||||
'';
|
||||
};
|
||||
|
||||
networking.firewall.allowedTCPPorts = [ 80 443 ];
|
||||
networking.firewall.allowedUDPPorts = [ 80 443 ];
|
||||
};
|
||||
}
|
Loading…
Reference in New Issue