ATproto Nix User Repo
1{
2 description = "ATproto NUR repository";
3 inputs = {
4 nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
5 flake-utils.url = "github:numtide/flake-utils";
6 crane.url = "github:ipetkov/crane";
7 rust-overlay.url = "github:oxalica/rust-overlay";
8 search.url = "github:NuschtOS/search";
9 };
10
11 outputs =
12 {
13 self,
14 nixpkgs,
15 flake-utils,
16 crane,
17 rust-overlay,
18 search,
19 ...
20 }:
21 flake-utils.lib.eachDefaultSystem (
22 system:
23 let
24 overlays = [ (import rust-overlay) ];
25 pkgs = import nixpkgs {
26 inherit system overlays;
27 };
28 rustVersion = pkgs.rust-bin.stable.latest.default;
29 craneLib = ((crane.mkLib pkgs).overrideToolchain rustVersion).overrideScope (import ./overlays/cfg-if-fix.nix);
30
31 nurPackages = import ./default.nix {
32 inherit pkgs craneLib;
33 };
34 in
35 {
36 packages = nurPackages // {
37 default = nurPackages.microcosm.default;
38 search = search.packages.${system}.default;
39 };
40 legacyPackages = nurPackages;
41 nixosModules = {
42 nur-atproto = import ./modules;
43 search = search.nixosModules.default;
44 };
45 devShells.default = pkgs.mkShell {
46 # todo
47 };
48 }
49 );
50}