aboutsummaryrefslogtreecommitdiff
path: root/flake.nix
diff options
context:
space:
mode:
Diffstat (limited to 'flake.nix')
-rw-r--r--flake.nix65
1 files changed, 23 insertions, 42 deletions
diff --git a/flake.nix b/flake.nix
index a337aae..0cd8261 100644
--- a/flake.nix
+++ b/flake.nix
@@ -1,21 +1,14 @@
{
inputs = {
- nixpkgs.url = "github:nixos/nixpkgs/nixos-23.11";
+ nixpkgs.url = "github:nixos/nixpkgs/nixos-25.11";
flake-utils.url = "github:numtide/flake-utils/main";
rust-overlay = {
url = "github:oxalica/rust-overlay/master";
-
- inputs = {
- flake-utils.follows = "flake-utils";
- nixpkgs.follows = "nixpkgs";
- };
- };
-
- naersk = {
- url = "github:nmattia/naersk/master";
inputs.nixpkgs.follows = "nixpkgs";
};
+
+ crane.url = "github:ipetkov/crane";
};
description = "thulani discord bot";
@@ -26,7 +19,23 @@
flake-utils,
...
} @ inputs: let
- mkBuildToolchain = pkgs: pkgs.rust-bin.nightly."2024-05-01".minimal;
+ inherit (nixpkgs) lib;
+ mkBuildToolchain = pkgs: pkgs.rust-bin.nightly."2025-12-01".minimal;
+
+ rustsrc = let
+ filter = with lib.fileset; unions [
+ (maybeMissing ./.cargo/config.toml)
+ ./README.md
+ ./Cargo.lock
+ (fileFilter (file: file.hasExt "rs") ./.)
+ (fileFilter (file: file.hasExt "sql") ./.)
+ (fileFilter (file: file.hasExt "pest") ./.)
+ (fileFilter (file: file.name == "Cargo.toml") ./.)
+ ];
+ in lib.fileset.toSource {
+ root = ./.;
+ fileset = filter;
+ };
deps = pkgs: with pkgs; [
openssl
@@ -37,42 +46,14 @@
mkPkg = pkgs: let
buildToolchain = mkBuildToolchain pkgs;
-
- naersk = pkgs.callPackage inputs.naersk {
- cargo = buildToolchain;
- rustc = buildToolchain;
- };
+ crane = (inputs.crane.mkLib pkgs).overrideToolchain mkBuildToolchain;
inherit (pkgs) lib;
- in naersk.buildPackage {
- pname = "thulani";
- version = self.rev or "dirty";
-
- src = lib.cleanSourceWith {
- src = lib.cleanSource ./.;
-
- filter = path: ty: with builtins; with lib; let
- baseName = baseNameOf "${path}";
- extMatch = match "((.*\\.?)*\\.)?(.*)" baseName;
- extension = elemAt extMatch 2;
- parent = baseNameOf (dirOf "${path}");
- isCargoFile = baseName == "Cargo.toml" || baseName == "Cargo.lock";
- isCargoConfig = parent == ".cargo" && baseName == "config.toml";
- in
- ty == "directory" ||
- isCargoFile ||
- isCargoConfig ||
- extension == "rs" ||
- extension == "sql" ||
- extension == "pest";
- };
-
- nativeBuildInputs = deps pkgs;
- remapPathPrefix = true;
+ in pkgs.callPackage ./nix/package.nix {
+ inherit crane rustsrc;
};
-
in (flake-utils.lib.eachDefaultSystem (system:
let
pkgs = import nixpkgs {