diff --git a/lib/meat.ml b/lib/meat.ml index 8cbe245..5b85988 100644 --- a/lib/meat.ml +++ b/lib/meat.ml @@ -114,12 +114,15 @@ let fresh () = (match (sub_flag (), all_flag ()) with | false, false -> (* no flags, plain flake inputs *) - let flakes = Array.sub argv 2 (argv_len - 2) in - flakes - |> Array.iter (fun f -> - meat_print ("PROCESSING FRESH MEAT " ^ all_caps f ^ ".."); - do_cmd ~args:false - ("nix flake update " ^ all_low f ^ " --flake $NH_FLAKE")) + (if argv_len > 3 then + let flakes = Array.sub argv 2 (argv_len - 2) in + flakes + |> Array.iter (fun f -> + meat_print ("PROCESSING FRESH MEAT " ^ all_caps f ^ ".."); + do_cmd ~args:false + ("nix flake update " ^ all_low f ^ " --flake $NH_FLAKE")); + else + do_cmd ("nix flake update --flake $NH_FLAKE")) | _, true -> (* all flag, update all subflakes and main flake inputs *) walk base_dir |> List.sort compdepth |> List.rev |> submeats;