Modules for Elvish Shell

Updating flake.nix

Changed files
+40 -9
+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
··· 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 }