* Fix tags (again?) * Make tag names more consistent * Remove prefix commands (not implemented well and not worth fixing) * Allow '-'s in tags * Fix /joke * Fix /members * Fix intel_hd issue match * Fix log analysis reply * Clearer log analysis messages It's weird to say the process failed when no issues were found. * Clippy * Final doc cleanup * Fix link expanding * Fix duplicate event filtering The other code simply does not work. ChannelId does have a method to grab members but I'm not sure whether it would work either. * Remove message resolution It's surprisingly hard to create an bug-free implementation. * Fix pluralkit detection * simplify tag codegen * commands: improve error handling in members unwrap() bad!!!11!! * events: use debug logs for pk checks * Revert "Remove message resolution" This reverts commit 0d9f224a81917212adafdeb2213f3cc11b44cf88. * Bring back prefix commands with "." (it's easier to type) * Add help * Fix messsage resolution * utils: factor out message resolution * Improve tag message * Disable VC support for message resolution for now * Improve prefix command usage Update on edit, display additional tip with wrong usage. * Check invoke_on_edit to display tip * Add defer in commands which make http requests * Apply tag sorting to slash commands too * handlers::error: `+=` -> `writeln!` * handlers::event: ignore own new messages * help: remove unneeded format! * optimize for size in release builds * nix: cleanup deployment expressions * nix: use treefmt * nix: update flake.lock Flake lock file updates: • Updated input 'fenix': 'github:nix-community/fenix/eb683549b7d76b12d1a009f888b91b70ed34485f' (2024-01-27) → 'github:nix-community/fenix/c53bb4a32f2fce7acf4e8e160a54779c4460ffdb' (2024-03-17) • Updated input 'fenix/rust-analyzer-src': 'github:rust-lang/rust-analyzer/596e5c77cf5b2b660b3ac2ce732fa0596c246d9b' (2024-01-26) → 'github:rust-lang/rust-analyzer/5ecace48f693afaa6adf8cb23086b651db3aec96' (2024-03-16) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/4fddc9be4eaf195d631333908f2a454b03628ee5' (2024-01-25) → 'github:nixos/nixpkgs/34ad8c9f29a18b4dd97a9ad40ceb16954f24afe7' (2024-03-17) • Updated input 'pre-commit-hooks': 'github:cachix/pre-commit-hooks.nix/f56597d53fd174f796b5a7d3ee0b494f9e2285cc' (2024-01-20) → 'github:cachix/pre-commit-hooks.nix/5df5a70ad7575f6601d91f0efec95dd9bc619431' (2024-02-15) • Updated input 'procfile-nix': 'github:getchoo/procfile-nix/31a33e4264e5c6214844993c5b508fb3500ef5cd' (2024-01-27) → 'github:getchoo/procfile-nix/7a0ab379a4ab71c9deccaca9fb463e9aaea363d8' (2024-03-14) --------- Co-authored-by: seth <getchoo@tuta.io>
92 lines
2.2 KiB
Nix
92 lines
2.2 KiB
Nix
{
|
|
inputs,
|
|
flake-parts-lib,
|
|
withSystem,
|
|
...
|
|
}: {
|
|
flake.nixosModules.default = flake-parts-lib.importApply ./module.nix {
|
|
inherit withSystem;
|
|
};
|
|
|
|
perSystem = {
|
|
lib,
|
|
pkgs,
|
|
system,
|
|
self',
|
|
inputs',
|
|
...
|
|
}: let
|
|
crossPkgs =
|
|
rec {
|
|
x86_64-linux = {
|
|
x86_64 = pkgs.pkgsStatic;
|
|
aarch64 = pkgs.pkgsCross.aarch64-multiplatform.pkgsStatic;
|
|
};
|
|
|
|
aarch64-linux = {
|
|
x86_64 = pkgs.pkgsCross.musl64;
|
|
aarch64 = pkgs.pkgsStatic;
|
|
};
|
|
|
|
x86_64-darwin = {
|
|
x86_64 = pkgs.pkgsCross.musl64;
|
|
aarch64 = pkgs.pkgsCross.aarch64-multiplatform.pkgsStatic;
|
|
};
|
|
|
|
aarch64-darwin = x86_64-darwin;
|
|
}
|
|
.${system};
|
|
|
|
refractionFor = arch: let
|
|
inherit (crossPkgs.${arch}.stdenv) cc;
|
|
|
|
target = "${arch}-unknown-linux-musl";
|
|
target' = builtins.replaceStrings ["-"] ["_"] target;
|
|
targetUpper = lib.toUpper target';
|
|
|
|
toolchain = with inputs'.fenix.packages;
|
|
combine [
|
|
minimal.cargo
|
|
minimal.rustc
|
|
targets.${target}.latest.rust-std
|
|
];
|
|
|
|
naersk' = inputs.naersk.lib.${system}.override {
|
|
cargo = toolchain;
|
|
rustc = toolchain;
|
|
};
|
|
|
|
refraction = self'.packages.refraction.override {
|
|
lto = true;
|
|
naersk = naersk';
|
|
};
|
|
|
|
newAttrs = {
|
|
CARGO_BUILD_TARGET = target;
|
|
"CC_${target'}" = "${cc}/bin/${cc.targetPrefix}cc";
|
|
"CARGO_TARGET_${targetUpper}_RUSTFLAGS" = "-C target-feature=+crt-static";
|
|
"CARGO_TARGET_${targetUpper}_LINKER" = newAttrs."CC_${target'}";
|
|
};
|
|
in
|
|
refraction.overrideAttrs newAttrs;
|
|
|
|
containerFor = arch:
|
|
pkgs.dockerTools.buildLayeredImage {
|
|
name = "refraction";
|
|
tag = "latest-${arch}";
|
|
contents = [pkgs.dockerTools.caCertificates];
|
|
config.Cmd = [
|
|
(lib.getExe (refractionFor arch))
|
|
];
|
|
|
|
architecture = crossPkgs.${arch}.go.GOARCH;
|
|
};
|
|
|
|
mkPackagesFor = arch: {
|
|
"refraction-static-${arch}" = refractionFor arch;
|
|
"container-${arch}" = containerFor arch;
|
|
};
|
|
in {
|
|
legacyPackages = lib.attrsets.mergeAttrsList (map mkPackagesFor ["x86_64" "aarch64"]);
|
|
};
|
|
}
|