   def executable do
     nix = System.find_executable("nix")
 
-    if nil === nix do
+    if nix == nil do
       raise RuntimeError, message: "missing executable for 'nix'"
     end
 

    |> handle_eval
  end

  def handle_eval({eval_result, 0}) do
    case eval_result do
      "" -> eval_result
      _ -> Poison.Parser.parse!(eval_result, %{})
    end
  end

  def handle_eval({eval_result, _}) do
    IO.puts("Error running nix eval: #{eval_result}")
  end

  def attribute_exists?(attribute) do
    eval!("(with import <nixpkgs> {}; lib.isDerivation #{attribute})")
  end

  def update_source_version(attribute, version) do

  end

  def get_url_attr(attribute) do
    case attribute_exists?("#{attribute}.src.fetchSubmodules") do
      true -> "url"
      false -> "urls"
    end
  end

