diff --git a/dev/flake-module.nix b/dev/flake-module.nix index ae227e5..95dcb4a 100644 --- a/dev/flake-module.nix +++ b/dev/flake-module.nix @@ -30,5 +30,10 @@ # for repl exploration / debug config.config = config; options.mySystem = lib.mkOption { default = config.allSystems.${builtins.currentSystem}; }; + config.effects = withSystem "x86_64-linux" ({ config, pkgs, hci-effects, ... }: { + tests = { + template = pkgs.callPackage ./tests/template.nix { inherit hci-effects; }; + }; + }); }; } diff --git a/dev/tests/template.nix b/dev/tests/template.nix new file mode 100644 index 0000000..04671fa --- /dev/null +++ b/dev/tests/template.nix @@ -0,0 +1,37 @@ +{ hci-effects, nix, git, path }: + +hci-effects.mkEffect { + inputs = [ nix git ]; + effectScript = '' + ann() { # announce + printf '\n\e[34;1m%s\e[0m\n' "$*" + } + mkdir -p ~/.config/nix + echo 'experimental-features = nix-command flakes' >>~/.config/nix/nix.conf + mkdir clean + cd clean + + ann nix flake init... + nix -v flake init -t ${../..} + + ann pointing to local sources... + sed -i flake.nix -e 's^nixpkgs.url = ".*";^nixpkgs.url = "${path}"; flake-parts.url = "${../..}";^' + # head flake.nix + grep -F ${path} flake.nix >/dev/null + + ann nix flake lock... + nix flake lock + + ann nix flake show... + nix -v flake show + + ann nix build... + nix build . + + ann checking result... + readlink ./result | grep hello + + echo + printf '\n\e[32;1m%s\e[0m\n' 'All good!' + ''; +}