+7
-2
README.md
+7
-2
README.md
···
13
13
14
14
## NixOS
15
15
16
-
`/etc/nixos/flake.nix`
16
+
`flake.nix` supplies a NixOS module that lets you import in the same manner as `epm`
17
+
17
18
```nix
18
19
{
19
20
inputs = {
20
21
mellon.url = "github:ejrichards/mellon";
21
22
};
23
+
22
24
outputs = {
23
25
mellon,
24
26
...
···
34
36
```
35
37
36
38
# Usage
39
+
## TODO
37
40
38
-
TODO
41
+
```elvish
42
+
use github.com/ejrichards/mellon/<module>
43
+
```
+33
-7
flake.nix
+33
-7
flake.nix
···
1
1
{
2
-
outputs = _: {
3
-
nixosModules.default = _: {
4
-
environment.etc."mellon/elvish/lib/github.com/ejrichards/mellon/fzf.elv".source = ./fzf.elv;
2
+
inputs = {
3
+
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
4
+
flake-utils.url = "github:numtide/flake-utils";
5
+
};
5
6
6
-
environment.variables = {
7
-
XDG_DATA_DIRS = "/etc/mellon";
8
-
};
7
+
outputs =
8
+
{
9
+
self,
10
+
nixpkgs,
11
+
flake-utils,
12
+
}:
13
+
flake-utils.lib.eachDefaultSystem (
14
+
system:
15
+
let
16
+
pkgs = nixpkgs.legacyPackages.${system};
17
+
in
18
+
{
19
+
packages.default = pkgs.stdenv.mkDerivation {
20
+
name = "mellon";
21
+
src = ./.;
22
+
installPhase = ''
23
+
mkdir -p $out/share/elvish/lib/github.com/ejrichards/mellon
24
+
cp *.elv $out/share/elvish/lib/github.com/ejrichards/mellon
25
+
'';
26
+
};
27
+
}
28
+
)
29
+
// {
30
+
nixosModules.default =
31
+
{ pkgs, ... }:
32
+
{
33
+
environment.systemPackages = [ self.packages.${pkgs.system}.default ];
34
+
environment.pathsToLink = [ "/share/elvish/lib/github.com/ejrichards" ];
35
+
};
9
36
};
10
-
};
11
37
}