all repos — scriptura @ d44a244ce399b14732847725ba9b192539bb9fe1

a corner in $HOME for your scripts

flake.nix (view raw)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
{
  description = "A Nix-flake-based Shell development environment";

  inputs = {
    nixpkgs.url = "https://channels.nixos.org/nixpkgs-unstable/nixexprs.tar.zst";
  };

  outputs =
    { self, ... }@inputs:

    let
      supportedSystems = [
        "x86_64-linux"
        "aarch64-linux"
        "aarch64-darwin"
      ];
      forEachSupportedSystem =
        f:
        inputs.nixpkgs.lib.genAttrs supportedSystems (
          system:
          f {
            pkgs = import inputs.nixpkgs { inherit system; };
          }
        );
    in
    {
      devShells = forEachSupportedSystem (
        { pkgs }:
        {
          default = pkgs.mkShellNoCC {
            packages = with pkgs; [
              (pkgs.wrapFish {
                pluginPkgs = with fishPlugins; [
                  fishtape_3
                ];
                completionDirs = [ ];
                functionDirs = [ ./functions ];
                confDirs = [ ];
              })
              script-directory # for comparison purposes
            ];
          };
        }
      );
      packages = forEachSupportedSystem (
        { pkgs }:
        rec {
          scriptura = pkgs.callPackage ./default.nix {
            inherit (pkgs.fishPlugins) buildFishPlugin fishtape_3;
          };
          default = scriptura;
        }
      );

      homeModules = {
        default = self.homeModules.scriptura;
        scriptura = import ./nix/home-manager;
      };

      overlays = {
        default = final: prev: {
          scriptura = self.packages.${prev.system}.scriptura;
        };
      };
    };
}