My preference would be to not have a million different kinds of food - if I suddenly have to worry about the difference between what happens if we eat a roasted pig vs a chicken vs a pile of cabbage, then the resource management part of this is going to get really onerous. I'd rather keep it simple - either you have enough food or you don't. To that end, I'd get rid of all of the individual kinds of food and just have rations; the choice of whether or not to rest at any given moment should be interesting, but I don't want to micro-manage my supplies to make sure that my character is getting enough fiber in their diet.
I really like the rest system in Pillars of Eternity. If you aren't at an inn and paying for a room, you just need generic camping supplies. These are readily available from nearly every vendor in the game (plus you can find them lying around), but you can only carry a limited number of them at a time. So if you're planning to be away from civilization for a while, you need to be a little bit careful about how often you rest while you're away or you might have to stop mid-journey to go resupply. The limit on how many you can carry is high enough that it's not really a concern that you're going to run out unless you're resting after every single battle. The system is pretty unobtrusive and doesn't detract from the fun parts of the game.
For people who are wary of having any hard restriction against long resting, another option would be to make long resting always possible, but if you don't have enough food on you it means that someone has to go out and find some (I imagine this part being entirely abstracted - you don't actually have to play out going to look for food). In this case, having people go out and hunt/forage for food creates a chance of a random encounter - this could be monsters spotting your forager, following them back to camp, and attacking or something more like getting confused about what is safe to eat and accidentally making a meal out of poisonous berries (make a con save or take a level of exhaustion or some other temporary debuff). This incentivizes you to make sure that you have enough food at any given time, but isn't a hard lock against long rests if you run out. It also creates opportunities for the environment where you are camping to matter more (e.g. types or likelihood of random encounters as well as rangers in their favored terrain have no problem finding food for the party).