Файлы пользователя сохраняются, если выделяешь каталог /home отдельной партицией и при повторной установке его не форматируешь. Я делаю обычно:
/boot - загрузка 50-200мб (здесь лежит загрузчик и файлы ядер, если регулярно стирать старые достаточно 50мб, если никогда об этом не задумываться тогда 200, как у меня.)
/swap - подкачка 1-2 размера оперативной памяти. У меня 8гб (две моей оперативки)
/ - корень (система) 20гб с большим запасом хватает для записи больших видео роликов, если не пишешь видеоуроки, можно выделить гораздо меньше.
/home - файлы пользователей - всё оставшееся место.
Что касается переустановки программ, то по всей видимости, нужно выделить /usr. Они складываются туда, некоторые в /opt. Я с программами не заморачиваюсь. Выписал себе в файл все свои программы и парой команд все устанавливаю вместе с системой за 20 минут.