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 67 | {
description = "A Nix-flake-based Shell development environment";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
};
outputs =
{ self, ... }@inputs:
let
supportedSystems = [
"x86_64-linux"
"aarch64-linux"
"x86_64-darwin"
"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;
};
};
};
}
|