diff --git a/README.md b/README.md
index 6679eef..b76844d 100644
--- a/README.md
+++ b/README.md
@@ -13,6 +13,66 @@ list of all tasks running on ECS.
## Installation
+
+Nix users
+
+### devenv
+
+Add the project input into the `devenv.yaml` file:
+
+```yml
+inputs:
+ iecs:
+ url: github:sestrella/iecs
+ overlays:
+ - default
+```
+
+To install the binary, add it to the `packages` section in the `devenv.nix`
+file:
+
+```nix
+packages = [ pkgs.iecs ];
+```
+
+### flake
+
+Add the project input into the `flake.nix` file:
+
+```nix
+inputs.iecs.url = "github:sestrella/iecs/nix_templates";
+```
+
+#### Using it as an overlay
+
+Add the project overlay to `nixpkgs`:
+
+```nix
+pkgs = import nixpkgs {
+ inherit system;
+ overlays = [ iecs.overlays.default ];
+};
+```
+
+Use the binary as derivation input for creating packages or shells:
+
+```nix
+buildInputs = [ pkgs.iecs ];
+```
+
+#### Using it as a package
+
+Use the binary as derivation input for creating packages or shells:
+
+```nix
+buildInputs = [ iecs.packages.${system}.default ];
+```
+
+
+
+
+Non-Nix users
+
Clone the repository:
```
@@ -39,6 +99,8 @@ cp iecs ~/.local/bin/iecs
> Check that the path where the binary is copied exists in the `PATH`
> environment variable.
+
+
## References
- https://aws.github.io/aws-sdk-go-v2/docs/getting-started/
diff --git a/flake.nix b/flake.nix
index 8e434dc..11e2b62 100644
--- a/flake.nix
+++ b/flake.nix
@@ -17,7 +17,7 @@
systems = import systems;
- perSystem = { config, system, pkgs, ... }: {
+ perSystem = { self', pkgs, system, ... }: {
_module.args.pkgs = import nixpkgs {
inherit system;
overlays = [ gomod2nix.overlays.default ];
@@ -31,7 +31,7 @@
};
overlayAttrs = {
- iecs = config.packages.default;
+ iecs = self'.packages.default;
};
};
};
diff --git a/templates/.gitignore b/templates/.gitignore
new file mode 100644
index 0000000..cb28342
--- /dev/null
+++ b/templates/.gitignore
@@ -0,0 +1,2 @@
+devenv.lock
+flake.lock
diff --git a/templates/devenv/.envrc b/templates/devenv/.envrc
new file mode 100644
index 0000000..894571b
--- /dev/null
+++ b/templates/devenv/.envrc
@@ -0,0 +1,3 @@
+source_url "https://raw.githubusercontent.com/cachix/devenv/82c0147677e510b247d8b9165c54f73d32dfd899/direnvrc" "sha256-7u4iDd1nZpxL4tCzmPG0dQgC5V+/44Ba+tHkPob1v2k="
+
+use devenv
diff --git a/templates/devenv/.gitignore b/templates/devenv/.gitignore
new file mode 100644
index 0000000..4d058db
--- /dev/null
+++ b/templates/devenv/.gitignore
@@ -0,0 +1,9 @@
+# Devenv
+.devenv*
+devenv.local.nix
+
+# direnv
+.direnv
+
+# pre-commit
+.pre-commit-config.yaml
diff --git a/templates/devenv/devenv.nix b/templates/devenv/devenv.nix
new file mode 100644
index 0000000..6243b86
--- /dev/null
+++ b/templates/devenv/devenv.nix
@@ -0,0 +1,5 @@
+{ pkgs, ... }:
+
+{
+ packages = [ pkgs.iecs ];
+}
diff --git a/templates/devenv/devenv.yaml b/templates/devenv/devenv.yaml
new file mode 100644
index 0000000..ac34342
--- /dev/null
+++ b/templates/devenv/devenv.yaml
@@ -0,0 +1,8 @@
+# yaml-language-server: $schema=https://devenv.sh/devenv.schema.json
+inputs:
+ iecs:
+ url: github:sestrella/iecs
+ overlays:
+ - default
+ nixpkgs:
+ url: github:cachix/devenv-nixpkgs/rolling
diff --git a/templates/flake-overlay/.envrc b/templates/flake-overlay/.envrc
new file mode 100644
index 0000000..3550a30
--- /dev/null
+++ b/templates/flake-overlay/.envrc
@@ -0,0 +1 @@
+use flake
diff --git a/templates/flake-overlay/flake.nix b/templates/flake-overlay/flake.nix
new file mode 100644
index 0000000..469e43a
--- /dev/null
+++ b/templates/flake-overlay/flake.nix
@@ -0,0 +1,26 @@
+{
+ inputs = {
+ iecs.url = "github:sestrella/iecs";
+ nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
+ systems.url = "github:nix-systems/default";
+ };
+
+ outputs = { iecs, nixpkgs, systems, ... }:
+ let
+ eachSystem = nixpkgs.lib.genAttrs (import systems);
+ in
+ {
+ devShells = eachSystem (system:
+ let
+ pkgs = import nixpkgs {
+ inherit system;
+ overlays = [ iecs.overlays.default ];
+ };
+ in
+ {
+ default = pkgs.mkShell {
+ buildInputs = [ pkgs.iecs ];
+ };
+ });
+ };
+}
diff --git a/templates/flake/.envrc b/templates/flake/.envrc
new file mode 100644
index 0000000..3550a30
--- /dev/null
+++ b/templates/flake/.envrc
@@ -0,0 +1 @@
+use flake
diff --git a/templates/flake/flake.nix b/templates/flake/flake.nix
new file mode 100644
index 0000000..bf25c3a
--- /dev/null
+++ b/templates/flake/flake.nix
@@ -0,0 +1,24 @@
+{
+ inputs = {
+ iecs.url = "github:sestrella/iecs";
+ nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
+ systems.url = "github:nix-systems/default";
+ };
+
+ outputs = { iecs, nixpkgs, systems, ... }:
+ let
+ eachSystem = nixpkgs.lib.genAttrs (import systems);
+ in
+ {
+ devShells = eachSystem (system:
+ let
+ iecsPkgs = iecs.packages.${system};
+ pkgs = nixpkgs.legacyPackages.${system};
+ in
+ {
+ default = pkgs.mkShell {
+ buildInputs = [ iecsPkgs.default ];
+ };
+ });
+ };
+}