forked from tangled.org/core
this repo has no description

nix: use filesets instead of gitignore.nix

This allows us to easily do things like ignoring Nix source files within our
source tree (also done in this commit), which prevents unnecessary rebuilds.

Signed-off-by: Winter <winter@winter.cafe>

-21
flake.lock
···
"type": "github"
}
},
-
"gitignore": {
-
"inputs": {
-
"nixpkgs": [
-
"nixpkgs"
-
]
-
},
-
"locked": {
-
"lastModified": 1709087332,
-
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
-
"owner": "hercules-ci",
-
"repo": "gitignore.nix",
-
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
-
"type": "github"
-
},
-
"original": {
-
"owner": "hercules-ci",
-
"repo": "gitignore.nix",
-
"type": "github"
-
}
-
},
"gomod2nix": {
"inputs": {
"flake-utils": "flake-utils",
···
},
"root": {
"inputs": {
-
"gitignore": "gitignore",
"gomod2nix": "gomod2nix",
"htmx-src": "htmx-src",
"htmx-ws-src": "htmx-ws-src",
+7 -6
flake.nix
···
url = "https://sqlite.org/2024/sqlite-amalgamation-3450100.zip";
flake = false;
};
-
gitignore = {
-
url = "github:hercules-ci/gitignore.nix";
-
inputs.nixpkgs.follows = "nixpkgs";
-
};
};
outputs = {
···
htmx-src,
htmx-ws-src,
lucide-src,
-
gitignore,
inter-fonts-src,
sqlite-lib-src,
ibm-plex-mono-src,
···
mkPackageSet = pkgs:
pkgs.lib.makeScope pkgs.newScope (self: {
-
inherit (gitignore.lib) gitignoreSource;
+
src = let
+
fs = pkgs.lib.fileset;
+
in
+
fs.toSource {
+
root = ./.;
+
fileset = fs.difference (fs.intersection (fs.gitTracked ./.) (fs.fileFilter (file: !(file.hasExt "nix")) ./.)) (fs.maybeMissing ./.jj);
+
};
buildGoApplication =
(self.callPackage "${gomod2nix}/builder" {
gomod2nix = gomod2nix.legacyPackages.${pkgs.system}.gomod2nix;
+2 -3
nix/pkgs/appview.nix
···
ibm-plex-mono-src,
tailwindcss,
sqlite-lib,
-
gitignoreSource,
+
src,
}:
buildGoApplication {
pname = "appview";
version = "0.1.0";
-
src = gitignoreSource ../..;
-
inherit modules;
+
inherit src modules;
postUnpack = ''
pushd source
+2 -3
nix/pkgs/genjwks.nix
···
{
-
gitignoreSource,
+
src,
buildGoApplication,
modules,
}:
buildGoApplication {
pname = "genjwks";
version = "0.1.0";
-
src = gitignoreSource ../..;
-
inherit modules;
+
inherit src modules;
subPackages = ["cmd/genjwks"];
doCheck = false;
CGO_ENABLED = 0;
+2 -3
nix/pkgs/knot-unwrapped.nix
···
buildGoApplication,
modules,
sqlite-lib,
-
gitignoreSource,
+
src,
}:
buildGoApplication {
pname = "knot";
version = "0.1.0";
-
src = gitignoreSource ../..;
-
inherit modules;
+
inherit src modules;
doCheck = false;
+2 -3
nix/pkgs/spindle.nix
···
buildGoApplication,
modules,
sqlite-lib,
-
gitignoreSource,
+
src,
}:
buildGoApplication {
pname = "spindle";
version = "0.1.0";
-
src = gitignoreSource ../..;
-
inherit modules;
+
inherit src modules;
doCheck = false;