Modules for Elvish Shell

Updating flake.nix

Changed files
+40 -9
+7 -2
README.md
···
## NixOS
-
`/etc/nixos/flake.nix`
+
`flake.nix` supplies a NixOS module that lets you import in the same manner as `epm`
+
```nix
{
inputs = {
mellon.url = "github:ejrichards/mellon";
};
+
outputs = {
mellon,
...
···
```
# Usage
+
## TODO
-
TODO
+
```elvish
+
use github.com/ejrichards/mellon/<module>
+
```
+33 -7
flake.nix
···
{
-
outputs = _: {
-
nixosModules.default = _: {
-
environment.etc."mellon/elvish/lib/github.com/ejrichards/mellon/fzf.elv".source = ./fzf.elv;
+
inputs = {
+
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
+
flake-utils.url = "github:numtide/flake-utils";
+
};
-
environment.variables = {
-
XDG_DATA_DIRS = "/etc/mellon";
-
};
+
outputs =
+
{
+
self,
+
nixpkgs,
+
flake-utils,
+
}:
+
flake-utils.lib.eachDefaultSystem (
+
system:
+
let
+
pkgs = nixpkgs.legacyPackages.${system};
+
in
+
{
+
packages.default = pkgs.stdenv.mkDerivation {
+
name = "mellon";
+
src = ./.;
+
installPhase = ''
+
mkdir -p $out/share/elvish/lib/github.com/ejrichards/mellon
+
cp *.elv $out/share/elvish/lib/github.com/ejrichards/mellon
+
'';
+
};
+
}
+
)
+
// {
+
nixosModules.default =
+
{ pkgs, ... }:
+
{
+
environment.systemPackages = [ self.packages.${pkgs.system}.default ];
+
environment.pathsToLink = [ "/share/elvish/lib/github.com/ejrichards" ];
+
};
};
-
};
}