diff --git a/flake.nix b/flake.nix index 84819a8..80b8c8a 100644 --- a/flake.nix +++ b/flake.nix @@ -47,7 +47,16 @@ cd_root = "cd $DEVENV_ROOT;"; - control4_env = self.lib.forAllSystems ( + mdtohtml-src = self.lib.forAllSystems ( + pkgs: pkgs.fetchFromGitHub { + owner = "gomarkdown"; + repo = "mdtohtml"; + rev = "d773061d1585e9a85aded292f65459b2cb8b2131"; + sha256 = "sha256-GzYiiLL0yjGK70haRjoXT1QmvAjl+N/Z8H0EBhVOhRY="; + } + ); + + control4-env = self.lib.forAllSystems ( pkgs: pkgs.buildEnv { name = "control4_env"; @@ -56,6 +65,14 @@ lua51Packages.busted stylua nodejs_22 + (pkgs.buildGoModule { + name = "mdtohtml"; + CGO_ENABLED = 0; + src = self.lib.${pkgs.system}.mdtohtml-src; + subPackages = [ "." ]; + ldflags = [ "-s" "-w" ]; + vendorHash = "sha256-HzHwB0XoVjmqucqyDn44NlIG2ASPzZOKv0POiOyBxrY="; + }) ]; } ); @@ -76,6 +93,15 @@ modules = [ { scripts = { + menu = { + description = "Print this menu"; + exec = '' + echo "Commands:" + echo -n '${builtins.toJSON (builtins.mapAttrs (s: value: value.description) self.devShells.${pkgs.system}.default.config.scripts)}' | \ + ${pkgs.jq}/bin/jq -r 'to_entries | map(" \(.key)\n" + " - \(if .value == "" then "no description provided" else .value end)") | "" + .[]' + ''; + }; + fix = { exec = '' ${self.lib.cd_root}