{ description = "singh5 discord bot"; inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable"; utils.url = "github:numtide/flake-utils"; }; outputs = inputs@{ self, nixpkgs, utils, }: utils.lib.eachDefaultSystem ( system: let pkgs = import nixpkgs { inherit system; }; src = pkgs.lib.sourceFilesBySuffices ./. [ ".hh" ".cc" ".build" ".options" ]; llvm = pkgs.llvmPackages_21; package = { stdenv }: stdenv.mkDerivation { name = "singh5"; version = "0.1"; inherit src; outputs = [ "out" ]; nativeBuildInputs = with pkgs; [ meson ninja pkg-config ]; buildInputs = with pkgs; [ (dpp.override { inherit stdenv; }) (ffmpeg.overrideAttrs (_: { inherit stdenv; makeFlags = [ "HOSTCC=$\{CC}" "HOSTLD=$\{LD}" ]; })) ]; }; shell = { stdenv }: pkgs.mkShell.override { inherit stdenv; } { name = "singh5"; inputsFrom = [ (package { inherit stdenv; }) ]; packages = with pkgs; [ llvm.clang-tools ]; }; in { packages = rec { singh5 = package { stdenv = pkgs.gcc15Stdenv; }; singh5-clang = package { stdenv = llvm.libcxxStdenv; }; default = singh5-clang; }; devShells = rec { singh5 = shell { stdenv = pkgs.gcc15Stdenv; }; singh5-clang = shell { stdenv = llvm.libcxxStdenv; }; default = singh5-clang; }; formatter = pkgs.nixfmt-tree; } ); }