Compare commits
6 commits
9cee7f22d7
...
e83c09f904
Author | SHA1 | Date | |
---|---|---|---|
chayleaf | e83c09f904 | ||
chayleaf | 4b76486c6f | ||
chayleaf | d11d57aba5 | ||
chayleaf | f0c596aaf1 | ||
chayleaf | 9bb6a87b92 | ||
chayleaf | 3ddc4e3eb5 |
59
flake.lock
59
flake.lock
|
@ -205,11 +205,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1717550333,
|
||||
"narHash": "sha256-QebVpP3Z0zVBTSqExNQRg3FLOi2h0bPML6urBbUPzLY=",
|
||||
"lastModified": 1717896375,
|
||||
"narHash": "sha256-qI8f1XSFo1X29+RSVmYo5hDAMKKULnpmIZbRl77u21A=",
|
||||
"owner": "fufexan",
|
||||
"repo": "nix-gaming",
|
||||
"rev": "de70cdf224bd40928fe2af7fa558e1bdb7d8d619",
|
||||
"rev": "6ed58348c20bab127555a3645e832591d2611f0c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -225,11 +225,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1717297675,
|
||||
"narHash": "sha256-43UmlS1Ifx17y93/Vc258U7bOlAAIZbu8dsGDHOIIr0=",
|
||||
"lastModified": 1717919703,
|
||||
"narHash": "sha256-4i/c31+dnpv6KdUA3BhbMDS9Lvg/CDin78caYJlq0bY=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nix-index-database",
|
||||
"rev": "972a52bee3991ae1f1899e6452e0d7c01ee566d9",
|
||||
"rev": "a157a81d0a4bc909b2b6666dd71909bcdc8cd0d6",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -240,11 +240,11 @@
|
|||
},
|
||||
"nixos-hardware": {
|
||||
"locked": {
|
||||
"lastModified": 1717574423,
|
||||
"narHash": "sha256-cz3P5MZffAHwL2IQaNzsqUBsJS+u0J/AAwArHMAcCa0=",
|
||||
"lastModified": 1717828156,
|
||||
"narHash": "sha256-YvstO0lobf3JWQuAfZCLYRTROC2ZDEgtWeQtWbO49p4=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixos-hardware",
|
||||
"rev": "d6c6cf6f5fead4057d8fb2d5f30aa8ac1727f177",
|
||||
"rev": "057a7996d012f342a38a26261ee529cebb1755ef",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -298,11 +298,11 @@
|
|||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1717670534,
|
||||
"narHash": "sha256-pzkVew3wK8RIa8tQMzU3kd8Cf+u9g1XDfNpBT+k5lyo=",
|
||||
"lastModified": 1717922286,
|
||||
"narHash": "sha256-RsV7rNWYceglPDVgVukwYfoYK2fuAgyvyvSE/Gyah+Y=",
|
||||
"owner": "chayleaf",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "b4313b98b86d588375cdad46f75279b7aa45bd41",
|
||||
"rev": "47c40a60d0952cd6b86c171898870142b0747602",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -312,6 +312,22 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-kernel": {
|
||||
"locked": {
|
||||
"lastModified": 1712608508,
|
||||
"narHash": "sha256-vMZ5603yU0wxgyQeHJryOI+O61yrX2AHwY6LOFyV1gM=",
|
||||
"owner": "chayleaf",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "4cba8b53da471aea2ab2b0c1f30a81e7c451f4b6",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "chayleaf",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "4cba8b53da471aea2ab2b0c1f30a81e7c451f4b6",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-lib": {
|
||||
"locked": {
|
||||
"lastModified": 1717284937,
|
||||
|
@ -331,11 +347,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1697413333,
|
||||
"narHash": "sha256-2nmu/+QhR/VhxFFr54l0Ok/yVhLCrrYVuTgeD4LHEhE=",
|
||||
"lastModified": 1718058511,
|
||||
"narHash": "sha256-OjkGD9v9hfgIkToZXoXFzvBlXQg5Dp4+dmpZUATGYdA=",
|
||||
"owner": "chayleaf",
|
||||
"repo": "notlua",
|
||||
"rev": "ef7cdb7a883fe87238c9fff13bc14ad1fd06f4ba",
|
||||
"rev": "a8e09538d284f35aad88e1adc9c044f4163eadf8",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -366,11 +382,11 @@
|
|||
},
|
||||
"nur": {
|
||||
"locked": {
|
||||
"lastModified": 1717590062,
|
||||
"narHash": "sha256-Xw9yQ3KttiV/t9ClwC2Eo6EX1IEEONw4jCe9s794zhg=",
|
||||
"lastModified": 1717921035,
|
||||
"narHash": "sha256-TxZv3M3M2EromaaJCbRKWWjrnk9DSeJ139K4DkJlhAg=",
|
||||
"owner": "nix-community",
|
||||
"repo": "NUR",
|
||||
"rev": "a364b6de0f2bd5ed5614ee3827f2ad135c69c73d",
|
||||
"rev": "02f829e2432d4204370445272084ce22761ba4bc",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -392,6 +408,7 @@
|
|||
"nixos-mailserver": "nixos-mailserver",
|
||||
"nixos-router": "nixos-router",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"nixpkgs-kernel": "nixpkgs-kernel",
|
||||
"notlua": "notlua",
|
||||
"notnft": "notnft",
|
||||
"nur": "nur",
|
||||
|
@ -406,11 +423,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1717553884,
|
||||
"narHash": "sha256-+t3XaYEvlMo5BUJ/6C6RZcEfBTWFVUdMHpNoqUU+pSE=",
|
||||
"lastModified": 1717899611,
|
||||
"narHash": "sha256-9Z95F8lnY/5sOf7Z4IdABKz1ulB0ueNrZU864rQj280=",
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"rev": "8795c817dfab19243a33387a16c98d2df4075bb3",
|
||||
"rev": "1f536afad5c18ea4ae6bb592c3fef038e1e33568",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
inputs = {
|
||||
#nixpkgs.url = "github:NixOS/nixpkgs/3dc2b4f8166f744c3b3e9ff8224e7c5d74a5424f";
|
||||
# nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||
nixpkgs-kernel.url = "github:chayleaf/nixpkgs/4cba8b53da471aea2ab2b0c1f30a81e7c451f4b6";
|
||||
nixpkgs.url = "github:chayleaf/nixpkgs/ci";
|
||||
nixos-hardware.url = "github:NixOS/nixos-hardware";
|
||||
nix-index-database = {
|
||||
|
@ -107,9 +108,12 @@
|
|||
});
|
||||
# this is actual config, it gets processed below
|
||||
config = let
|
||||
mkBpiR3 = args: config: config // {
|
||||
mkBpiR3 = args: config: config // rec {
|
||||
system = "aarch64-linux";
|
||||
modules = config.modules or [ ] ++ [ (import ./system/devices/bpi-r3-router.nix args) ];
|
||||
modules = config.modules or [ ] ++ [
|
||||
({ _module.args.pkgs-kernel = import inputs.nixpkgs-kernel { inherit system; overlays = [ overlay ]; }; })
|
||||
(import ./system/devices/bpi-r3-router.nix args)
|
||||
];
|
||||
};
|
||||
routerConfig = rec {
|
||||
system = "aarch64-linux";
|
||||
|
|
|
@ -190,7 +190,7 @@
|
|||
text/html; ${pkgs.w3m}/bin/w3m -dump -o document_charset=%{charset} -o display_link_number=1 '%s'; nametemplate=%s.html; copiousoutput
|
||||
'';
|
||||
|
||||
home.file.".cache/nix-index/files".source = assert config.xdg.cacheHome == "${config.home.homeDirectory}/.cache"; inputs.nix-index-database.legacyPackages.${pkgs.system}.database;
|
||||
home.file.".cache/nix-index/files".source = assert config.xdg.cacheHome == "${config.home.homeDirectory}/.cache"; inputs.nix-index-database.packages.${pkgs.system}.nix-index-database;
|
||||
|
||||
systemd.user.tmpfiles.rules = builtins.map (file: "r! \"/home/${config.home.username}/${file}\"") [
|
||||
".local/share/clipman.json"
|
||||
|
|
|
@ -22,24 +22,24 @@
|
|||
"pinned": false,
|
||||
"src": {
|
||||
"name": null,
|
||||
"sha256": "sha256-gHNrozbSBlTFY5VzRyhdiv3YkS+rXTekRJWSXlMalLY=",
|
||||
"sha256": "sha256-4jh3mDm1GpR9tQBkzx9BRsJ5awNrBgRzylyRB04LqIE=",
|
||||
"type": "url",
|
||||
"url": "https://github.com/GloriousEggroll/proton-ge-custom/releases/download/GE-Proton9-6/GE-Proton9-6.tar.gz"
|
||||
"url": "https://github.com/GloriousEggroll/proton-ge-custom/releases/download/GE-Proton9-7/GE-Proton9-7.tar.gz"
|
||||
},
|
||||
"version": "GE-Proton9-6"
|
||||
"version": "GE-Proton9-7"
|
||||
},
|
||||
"searxng": {
|
||||
"cargoLocks": null,
|
||||
"date": "2024-05-31",
|
||||
"date": "2024-06-07",
|
||||
"extract": null,
|
||||
"name": "searxng",
|
||||
"passthru": null,
|
||||
"pinned": false,
|
||||
"src": {
|
||||
"sha256": "sha256-okE/Uxl7YqcM99kLJ4KAlMQi50x5m0bPfYp5bv62WEw=",
|
||||
"sha256": "sha256-WWbpfZZei3kOdN607/J2M1oSzbPZKaLbsU5gO2kIc90=",
|
||||
"type": "tarball",
|
||||
"url": "https://github.com/searxng/searxng/archive/18fb701be225560b3fb1011cc533f785823f26a4.tar.gz"
|
||||
"url": "https://github.com/searxng/searxng/archive/f5eb56b63f250c7804e5e1cf4426e550bc933906.tar.gz"
|
||||
},
|
||||
"version": "18fb701be225560b3fb1011cc533f785823f26a4"
|
||||
"version": "f5eb56b63f250c7804e5e1cf4426e550bc933906"
|
||||
}
|
||||
}
|
|
@ -12,19 +12,19 @@
|
|||
};
|
||||
proton-ge = {
|
||||
pname = "proton-ge";
|
||||
version = "GE-Proton9-6";
|
||||
version = "GE-Proton9-7";
|
||||
src = fetchurl {
|
||||
url = "https://github.com/GloriousEggroll/proton-ge-custom/releases/download/GE-Proton9-6/GE-Proton9-6.tar.gz";
|
||||
sha256 = "sha256-gHNrozbSBlTFY5VzRyhdiv3YkS+rXTekRJWSXlMalLY=";
|
||||
url = "https://github.com/GloriousEggroll/proton-ge-custom/releases/download/GE-Proton9-7/GE-Proton9-7.tar.gz";
|
||||
sha256 = "sha256-4jh3mDm1GpR9tQBkzx9BRsJ5awNrBgRzylyRB04LqIE=";
|
||||
};
|
||||
};
|
||||
searxng = {
|
||||
pname = "searxng";
|
||||
version = "18fb701be225560b3fb1011cc533f785823f26a4";
|
||||
version = "f5eb56b63f250c7804e5e1cf4426e550bc933906";
|
||||
src = fetchTarball {
|
||||
url = "https://github.com/searxng/searxng/archive/18fb701be225560b3fb1011cc533f785823f26a4.tar.gz";
|
||||
sha256 = "sha256-okE/Uxl7YqcM99kLJ4KAlMQi50x5m0bPfYp5bv62WEw=";
|
||||
url = "https://github.com/searxng/searxng/archive/f5eb56b63f250c7804e5e1cf4426e550bc933906.tar.gz";
|
||||
sha256 = "sha256-WWbpfZZei3kOdN607/J2M1oSzbPZKaLbsU5gO2kIc90=";
|
||||
};
|
||||
date = "2024-05-31";
|
||||
date = "2024-06-07";
|
||||
};
|
||||
}
|
||||
|
|
103
pkgs/default.nix
103
pkgs/default.nix
|
@ -20,66 +20,7 @@ in
|
|||
|
||||
{
|
||||
inherit (inputs.nix-gaming.packages.${pkgs.system}) faf-client osu-lazer-bin;
|
||||
inherit nixForNixPlugins;
|
||||
nix = nixForNixPlugins;
|
||||
nixVersions = pkgs.nixVersions // {
|
||||
stable = nixForNixPlugins;
|
||||
unstable = nixForNixPlugins;
|
||||
};
|
||||
matrix-appservice-discord = pkgs.matrix-appservice-discord.overrideAttrs (old: {
|
||||
patches = (old.patches or []) ++ [
|
||||
(pkgs.fetchpatch {
|
||||
url = "https://github.com/matrix-org/matrix-appservice-discord/commit/eb989fa710e8db4ebc8f2ce36c6679ee6cbc1a44.patch";
|
||||
hash = "sha256-GPeFDw3XujqXHJveHSsBHwHuG51vad50p55FX1Esq58=";
|
||||
})
|
||||
(pkgs.fetchpatch {
|
||||
url = "https://github.com/matrix-org/matrix-appservice-discord/commit/a4cd5e3a6a2d544adac2a263e164671c8a9009d9.patch";
|
||||
hash = "sha256-qQJ4V6/Ns2Msu8+X8JoEycuQ2Jc90TXulsuLLmPecGU=";
|
||||
})
|
||||
(pkgs.fetchpatch {
|
||||
url = "https://github.com/matrix-org/matrix-appservice-discord/commit/fc850ba2473973e28858449ec4020380470d78b2.patch";
|
||||
hash = "sha256-Lq0FWmR08wLsoq4APRTokZzb7U2po98pgyxH4UR/9/M=";
|
||||
})
|
||||
(pkgs.fetchpatch {
|
||||
url = "https://github.com/matrix-org/matrix-appservice-discord/commit/7f3d41d86ebce057cfdc82ce3aaab64b533e8f0b.patch";
|
||||
hash = "sha256-HmQ1KASZS+a78fe5yOCVXAnXLRmJUglzc6OxNJazOSk=";
|
||||
})
|
||||
];
|
||||
});
|
||||
# Various patches to change Nix version of existing packages so they don't error out because of nix-plugins in nix.conf
|
||||
/*nix-plugins = (pkgs.nix-plugins.override { nix = nixForNixPlugins; }).overrideAttrs (old: {
|
||||
version = "13.0.0";
|
||||
patches = [
|
||||
(pkgs.fetchpatch {
|
||||
# pull 16
|
||||
url = "https://github.com/chayleaf/nix-plugins/commit/8f945cadad7f2e60e8f308b2f498ec5e16961ede.patch";
|
||||
hash = "sha256-pOogMtjXYkSDtXW12TmBpGr/plnizJtud2nP3q2UldQ=";
|
||||
})
|
||||
];
|
||||
});*/
|
||||
harmonia = (pkgs.harmonia.override { nixVersions.nix_2_21 = nixForNixPlugins; }).overrideAttrs (old: rec {
|
||||
version = "0.7.3";
|
||||
src = old.src.override {
|
||||
rev = "refs/tags/${old.pname}-v${version}";
|
||||
hash = "sha256-XtnK54HvZMKZGSCrVD0FO5PQLMo3Vkj8ezUlsfqStq0=";
|
||||
};
|
||||
cargoDeps = pkgs.rustPlatform.importCargoLock { lockFile = "${src}/Cargo.lock"; };
|
||||
});
|
||||
nix-init = pkgs.nix-init.override { nix = nixForNixPlugins; };
|
||||
nix-serve = pkgs.nix-serve.override { nix = nixForNixPlugins; };
|
||||
nix-serve-ng = pkgs.nix-serve-ng.override { nix = nixForNixPlugins; };
|
||||
hydra_unstable = (pkgs.hydra_unstable.override {
|
||||
nix = nixForNixPlugins;
|
||||
}).overrideAttrs (old: {
|
||||
version = "2023-12-01";
|
||||
# who cares about tests amirite
|
||||
doCheck = false;
|
||||
src = old.src.override {
|
||||
rev = "4d1c8505120961f10897b8fe9a070d4e193c9a13";
|
||||
hash = "sha256-vXTuE83GL15mgZHegbllVAsVdDFcWWSayPfZxTJN5ys=";
|
||||
};
|
||||
});
|
||||
nurl = pkgs.nurl.override { nix = nixForNixPlugins; };
|
||||
matrix-appservice-discord = pkgs.callPackage ./matrix-appservice-discord { inherit (pkgs) matrix-appservice-discord; };
|
||||
|
||||
buffyboard = pkgs.callPackage ./buffyboard { };
|
||||
clang-tools_latest = pkgs.clang-tools_16;
|
||||
|
@ -154,6 +95,48 @@ in
|
|||
stdenv = pkgs'.ccacheStdenv;
|
||||
};
|
||||
}
|
||||
// lib.optionalAttrs isOverlay {
|
||||
inherit nixForNixPlugins;
|
||||
nix = nixForNixPlugins;
|
||||
nixVersions = pkgs.nixVersions // {
|
||||
stable = nixForNixPlugins;
|
||||
unstable = nixForNixPlugins;
|
||||
};
|
||||
# Various patches to change Nix version of existing packages so they don't error out because of nix-plugins in nix.conf
|
||||
/*nix-plugins = (pkgs.nix-plugins.override { nix = nixForNixPlugins; }).overrideAttrs (old: {
|
||||
version = "13.0.0";
|
||||
patches = [
|
||||
(pkgs.fetchpatch {
|
||||
# pull 16
|
||||
url = "https://github.com/chayleaf/nix-plugins/commit/8f945cadad7f2e60e8f308b2f498ec5e16961ede.patch";
|
||||
hash = "sha256-pOogMtjXYkSDtXW12TmBpGr/plnizJtud2nP3q2UldQ=";
|
||||
})
|
||||
];
|
||||
});*/
|
||||
harmonia = (pkgs.harmonia.override { nixVersions.nix_2_21 = nixForNixPlugins; }).overrideAttrs (old: rec {
|
||||
version = "0.7.3";
|
||||
src = old.src.override {
|
||||
rev = "refs/tags/${old.pname}-v${version}";
|
||||
hash = "sha256-XtnK54HvZMKZGSCrVD0FO5PQLMo3Vkj8ezUlsfqStq0=";
|
||||
};
|
||||
cargoDeps = pkgs.rustPlatform.importCargoLock { lockFile = "${src}/Cargo.lock"; };
|
||||
});
|
||||
nix-init = pkgs.nix-init.override { nix = nixForNixPlugins; };
|
||||
nix-serve = pkgs.nix-serve.override { nix = nixForNixPlugins; };
|
||||
nix-serve-ng = pkgs.nix-serve-ng.override { nix = nixForNixPlugins; };
|
||||
hydra_unstable = (pkgs.hydra_unstable.override {
|
||||
nix = nixForNixPlugins;
|
||||
}).overrideAttrs (old: {
|
||||
version = "2023-12-01";
|
||||
# who cares about tests amirite
|
||||
doCheck = false;
|
||||
src = old.src.override {
|
||||
rev = "4d1c8505120961f10897b8fe9a070d4e193c9a13";
|
||||
hash = "sha256-vXTuE83GL15mgZHegbllVAsVdDFcWWSayPfZxTJN5ys=";
|
||||
};
|
||||
});
|
||||
nurl = pkgs.nurl.override { nix = nixForNixPlugins; };
|
||||
}
|
||||
// import ./ccache.nix { inherit pkgs pkgs' lib sources; }
|
||||
// import ../system/hardware/bpi-r3/pkgs.nix { inherit pkgs pkgs' lib sources; }
|
||||
// import ../system/hardware/oneplus-enchilada/pkgs.nix { inherit inputs pkgs pkgs' lib sources; }
|
||||
|
|
|
@ -1,8 +1,16 @@
|
|||
diff --git a/kvmfr.c b/kvmfr.c
|
||||
index 121aae5b..2f4c9e1a 100644
|
||||
index 121aae5b..4c386f98 100644
|
||||
--- a/kvmfr.c
|
||||
+++ b/kvmfr.c
|
||||
@@ -539,7 +539,11 @@ static int __init kvmfr_module_init(void)
|
||||
@@ -30,6 +30,7 @@
|
||||
#include <linux/highmem.h>
|
||||
#include <linux/memremap.h>
|
||||
#include <linux/version.h>
|
||||
+#include <linux/vmalloc.h>
|
||||
|
||||
#include <asm/io.h>
|
||||
|
||||
@@ -539,7 +540,11 @@ static int __init kvmfr_module_init(void)
|
||||
if (kvmfr->major < 0)
|
||||
goto out_free;
|
||||
|
||||
|
|
47
pkgs/matrix-appservice-discord/default.nix
Normal file
47
pkgs/matrix-appservice-discord/default.nix
Normal file
|
@ -0,0 +1,47 @@
|
|||
{ matrix-appservice-discord, fetchpatch }:
|
||||
|
||||
matrix-appservice-discord.overrideAttrs (old: {
|
||||
doCheck = false;
|
||||
patches = (old.patches or []) ++ [
|
||||
# https://github.com/matrix-org/matrix-appservice-discord/pull/917
|
||||
(fetchpatch {
|
||||
url = "https://github.com/matrix-org/matrix-appservice-discord/commit/eb989fa710e8db4ebc8f2ce36c6679ee6cbc1a44.patch";
|
||||
hash = "sha256-GPeFDw3XujqXHJveHSsBHwHuG51vad50p55FX1Esq58=";
|
||||
name = "set-missing-config-defaults.patch";
|
||||
})
|
||||
# https://github.com/matrix-org/matrix-appservice-discord/pull/918
|
||||
(fetchpatch {
|
||||
url = "https://github.com/matrix-org/matrix-appservice-discord/commit/a4cd5e3a6a2d544adac2a263e164671c8a9009d9.patch";
|
||||
hash = "sha256-qQJ4V6/Ns2Msu8+X8JoEycuQ2Jc90TXulsuLLmPecGU=";
|
||||
name = "dont-send-filenames.patch";
|
||||
})
|
||||
# https://github.com/matrix-org/matrix-appservice-discord/pull/878/
|
||||
(fetchpatch {
|
||||
url = "https://github.com/matrix-org/matrix-appservice-discord/commit/fc850ba2473973e28858449ec4020380470d78b2.patch";
|
||||
hash = "sha256-Lq0FWmR08wLsoq4APRTokZzb7U2po98pgyxH4UR/9/M=";
|
||||
name = "bridge-discord-replies-1.patch";
|
||||
})
|
||||
(fetchpatch {
|
||||
url = "https://github.com/matrix-org/matrix-appservice-discord/commit/86388901fa44d5d0f9d3dec8727c18cc00d613e7.patch";
|
||||
hash = "sha256-XcLbKJPmFZElzwU4YS8Md8dNLajddJPKmau0U65bp00=";
|
||||
name = "bridge-discord-replies-2.patch";
|
||||
})
|
||||
(fetchpatch {
|
||||
url = "https://github.com/matrix-org/matrix-appservice-discord/commit/8299c626188e676723a708e49635d2c4afa26ffa.patch";
|
||||
hash = "sha256-ZfUwpJ21/m3QbktbxxHyO8Lcl/IuDhaSKQRXBEPeJBo=";
|
||||
name = "bridge-discord-replies-3.patch";
|
||||
})
|
||||
# https://github.com/matrix-org/matrix-appservice-discord/pull/819
|
||||
(fetchpatch {
|
||||
url = "https://github.com/matrix-org/matrix-appservice-discord/commit/1c3223387aaf78ba5637f58ca57bd8206ad0446c.patch";
|
||||
hash = "sha256-3hxyqjI9F4j/XBq/59b7c2PorYRN2mR4XZJjpygs9dI=";
|
||||
name = "bridge-matrix-edits-1.patch";
|
||||
})
|
||||
(fetchpatch {
|
||||
url = "https://github.com/matrix-org/matrix-appservice-discord/commit/f8e9449908b332d97f11932fb835552adca0aa5b.patch";
|
||||
hash = "sha256-1qb4Zah1XKzxTpVJqOOqz+TiXMFmnsIMZeuqJQdqSIA=";
|
||||
name = "bridge-matrix-edits-2.patch";
|
||||
})
|
||||
./disable-attachment-forwarding-to-matrix.patch
|
||||
];
|
||||
})
|
|
@ -0,0 +1,25 @@
|
|||
diff --git a/src/bot.ts b/src/bot.ts
|
||||
index fc575cd..b0b2624 100644
|
||||
--- a/src/bot.ts
|
||||
+++ b/src/bot.ts
|
||||
@@ -1042,7 +1042,7 @@ export class DiscordBot {
|
||||
try {
|
||||
const intent = this.GetIntentFromDiscordMember(msg.author, msg.webhookID);
|
||||
// Check Attachements
|
||||
- if (!editEventId) {
|
||||
+ if (false && !editEventId) {
|
||||
// on discord you can't edit in images, you can only edit text
|
||||
// so it is safe to only check image upload stuff if we don't have
|
||||
// an edit
|
||||
@@ -1093,6 +1093,11 @@ export class DiscordBot {
|
||||
});
|
||||
});
|
||||
}
|
||||
+ for (let attachment of msg.attachments.array()) {
|
||||
+ // this will be a temporary URL, which I don't care about, it's fine
|
||||
+ if (!msg.content) msg.content = "";
|
||||
+ msg.content += "\n" + attachment.url;
|
||||
+ }
|
||||
if (!msg.content && msg.embeds.length === 0) {
|
||||
return;
|
||||
}
|
|
@ -1,4 +1,5 @@
|
|||
{ pkgs
|
||||
, pkgs-kernel
|
||||
, config
|
||||
, ... }:
|
||||
|
||||
|
@ -8,7 +9,7 @@
|
|||
generic-extlinux-compatible.enable = true;
|
||||
};
|
||||
|
||||
boot.kernelPackages = pkgs.linuxPackagesFor (pkgs.buildLinuxWithCcache pkgs.linux_bpiR3);
|
||||
boot.kernelPackages = pkgs-kernel.linuxPackagesFor (pkgs-kernel.buildLinuxWithCcache pkgs-kernel.linux_bpiR3);
|
||||
|
||||
hardware.deviceTree.enable = true;
|
||||
hardware.deviceTree.filter = "mt7986a-bananapi-bpi-r3.dtb";
|
||||
|
|
|
@ -206,7 +206,7 @@ IF_UNSPEC = -1
|
|||
PROTO_UNSPEC = -1
|
||||
|
||||
|
||||
Domains = dict[str, dict]
|
||||
Domains = dict[str, "Domains | bool"]
|
||||
|
||||
|
||||
class NftQuery(TypedDict):
|
||||
|
@ -591,15 +591,22 @@ def add_ips(set: str, ipv6: bool, ips: list[str], flush: bool = False):
|
|||
traceback.print_exc(file=f)
|
||||
|
||||
|
||||
def add_split_domain(domains: Domains, split_domain):
|
||||
domains1: dict = domains
|
||||
while split_domain:
|
||||
def add_split_domain(domains: Domains, split_domain: list[str]):
|
||||
if not split_domain:
|
||||
return
|
||||
split_domain = split_domain[:]
|
||||
while len(split_domain) > 1:
|
||||
key = split_domain[-1]
|
||||
if key not in domains1.keys():
|
||||
domains1[key] = {}
|
||||
domains = domains1[key]
|
||||
split_domain = split_domain[:-1]
|
||||
domains1["__IsTrue__"] = True
|
||||
if key in domains.keys():
|
||||
domains1 = domains[key]
|
||||
if isinstance(domains1, bool):
|
||||
return
|
||||
else:
|
||||
domains1 = {}
|
||||
domains[key] = domains1
|
||||
domains = domains1
|
||||
split_domain.pop()
|
||||
domains[split_domain[-1]] = True
|
||||
|
||||
|
||||
def build_domains(domains: list[str]) -> Domains:
|
||||
|
@ -611,20 +618,14 @@ def build_domains(domains: list[str]) -> Domains:
|
|||
|
||||
def lookup_domain(domains: Domains, domain: str) -> bool:
|
||||
split_domain: list[str] = domain.split(".")
|
||||
domains1: dict = domains
|
||||
while len(split_domain):
|
||||
key: str = split_domain[-1]
|
||||
split_domain = split_domain[:-1]
|
||||
star: Optional[dict] = domains1.get("*", None)
|
||||
if star is not None and star.get("__IsTrue__", False):
|
||||
return True
|
||||
domains1 = domains1.get(key, None)
|
||||
if domains1 is None:
|
||||
return False
|
||||
star = domains.get("*", None)
|
||||
if star is not None and star.get("__IsTrue__", False):
|
||||
return True
|
||||
return bool(domains.get("__IsTrue__", False))
|
||||
domains1 = domains.get(key, False)
|
||||
if isinstance(domains1, bool):
|
||||
return domains1
|
||||
domains = domains1
|
||||
return False
|
||||
|
||||
|
||||
class DpiInfo(TypedDict):
|
||||
|
@ -827,7 +828,7 @@ def operate(id, event, qstate, qdata) -> bool:
|
|||
n4 = n3.removesuffix(f".{k}")
|
||||
qdomains = v["domains"]
|
||||
if not lookup_domain(qdomains, n4):
|
||||
add_split_domain(qdomains, ["*"] + n4.split("."))
|
||||
add_split_domain(qdomains, n4.split("."))
|
||||
old = []
|
||||
if os.path.exists(f"/var/lib/unbound/{k}_domains.json"):
|
||||
with open(f"/var/lib/unbound/{k}_domains.json", "rt") as f:
|
||||
|
@ -836,7 +837,7 @@ def operate(id, event, qstate, qdata) -> bool:
|
|||
f"/var/lib/unbound/{k}_domains.json",
|
||||
f"/var/lib/unbound/{k}_domains.json.bak",
|
||||
)
|
||||
old.append("*." + n4)
|
||||
old.append(n4)
|
||||
with open(f"/var/lib/unbound/{k}_domains.json", "wt") as f:
|
||||
json.dump(old, f)
|
||||
elif n2.endswith(f".tmp{NFT_TOKEN}"):
|
||||
|
@ -846,7 +847,7 @@ def operate(id, event, qstate, qdata) -> bool:
|
|||
n4 = n3.removesuffix(f".{k}")
|
||||
qdomains = v["domains"]
|
||||
if not lookup_domain(qdomains, n4):
|
||||
add_split_domain(qdomains, ["*"] + n4.split("."))
|
||||
add_split_domain(qdomains, n4.split("."))
|
||||
return True
|
||||
qnames: list[str] = []
|
||||
for k, v in NFT_QUERIES.items():
|
||||
|
|
|
@ -72,7 +72,7 @@ in {
|
|||
};
|
||||
services.nextcloud = {
|
||||
enable = true;
|
||||
package = pkgs.nextcloud28;
|
||||
package = pkgs.nextcloud29;
|
||||
autoUpdateApps.enable = true;
|
||||
# TODO: use socket auth and remove the next line
|
||||
database.createLocally = false;
|
||||
|
|
|
@ -133,7 +133,7 @@ in {
|
|||
extraGroups = [ "wheel" ];
|
||||
};
|
||||
# nixos-hardware uses mkDefault here, so we use slightly higher priority
|
||||
services.xserver.libinput.enable = mkForceDefault (!cfg.minimal);
|
||||
services.libinput.enable = mkForceDefault (!cfg.minimal);
|
||||
programs.fuse.userAllowOther = true;
|
||||
# autologin once after boot
|
||||
# --skip-login means directly call login instead of first asking for username
|
||||
|
@ -190,6 +190,9 @@ in {
|
|||
})
|
||||
|
||||
(lib.mkIf (!cfg.minimal) {
|
||||
environment.systemPackages = with pkgs; [
|
||||
unixtools.xxd
|
||||
];
|
||||
hardware.pulseaudio.enable = false;
|
||||
services.pipewire = {
|
||||
enable = lib.mkDefault true;
|
||||
|
|
|
@ -95,6 +95,8 @@ in {
|
|||
{ directory = /var/lib/hydra; user = "hydra"; group = "hydra"; mode = "0755"; }
|
||||
] ++ lib.optionals config.services.jellyfin.enable [
|
||||
{ directory = /var/lib/jellyfin; user = "jellyfin"; group = "jellyfin"; mode = "0750"; }
|
||||
] ++ lib.optionals config.services.matrix-appservice-discord.enable [
|
||||
{ directory = /var/lib/private/matrix-appservice-discord; mode = "0750"; defaultPerms.mode = "0700"; }
|
||||
] ++ lib.optionals config.services.matrix-synapse.enable [
|
||||
{ directory = /var/lib/matrix-synapse; user = "matrix-synapse"; group = "matrix-synapse"; mode = "0700"; }
|
||||
] ++ lib.optionals (config.services.maubot.enable or false) [
|
||||
|
|
Loading…
Reference in a new issue