While the three programs discussed in Part 1 ( https://pacosf.com/ubuntu-root-partition-slowly-filling-up/ ) helped keep the root partition as small as possible, software updates and new software installations continued to slowly eat up the available space and we needed to come up with a long term solution.
To buy some time to come up with a long term solution, I reduced the Swap partition down from 30GB to 20GB and then increased the root partition from 28GB to 38GB. Eventually that would also fill up so for a long term solution I purchased a 1TB NVMe Drive to replace the 500GB NVMe that came with the laptop. I guess the 500GB was not the ideal storage space for a dual boot laptop, should have gone with 1TB from the start.
Before:

After:

1TB NVMe:
https://smile.amazon.com/dp/B098WL46RS?ref=ppx_yo2ov_dt_b_product_details&th=1
M.2 NVMe SATA SSD Enclosure Adapter, USB C 3.1 Gen 2:
https://smile.amazon.com/dp/B094QMCVJV?psc=1&ref=ppx_yo2ov_dt_b_product_details
Step 1: Backup existing 500GB NVMe to my Synology NAS as a backup file using Clonezilla. In case something went wrong I would have a file to restore the 500GB NVMe.
How to save a Clonezilla full disk image to a server/NAS over SSH:
Step 2: Clone existing 500GB NVMe drive to the new 1TB NVMe using an external enclosure:
Clonezilla Disk to Disk Clone – In this example: Clone small disk to larger disk:
https://clonezilla.org/show-live-doc-content.php?topic=clonezilla-live/doc/03_Disk_to_disk_clone
Step 3: Remove 500GB NVMe and installed the 1TB NVMe
Boot up the computer and everything was there on the new 1TB.
While running Ubuntu used installed GParted and moved partitions nvme0n1p4, 1p5 & 1P6 to the end of the new drive to make room for moving and expanding some of the other partitions.
Expanded 1p9 partition (home) to 410GB, however when I tried to move it up to end just before 1p4 it would not move since it was mounted as long as I was running Ubuntu.
I had to create a GParted Live bootable USB to boot off of.
How to create a GParted live USB drive in Ubuntu, Linux Mint:
Using the GParted USB, I Moved 1p9 to be just before 1p4
Then:
Expanded 1p8, my swap, to 40GB
Moved 1p8 to be just before 1p9
Expanded 1p7, my root, to 98GB
Moved 1p7 to be just before 1p8
Now we have a large “unallocated” section before 1p7 and 1p3, the Windows partition
Decided to resize the Windows partition by running Windows 11, using [disk manager] expanded 1p3 to 366GB, using up all the space on the 1TB NVMe except for 1MB.
The end result looks like this:

Root increased to 98GB, Swap is back to 40GB, Ubuntu Home increased to 410GB, and Windows 11 increased to 366GB.
Other links I used along the way:
How to clone a Dell Optiplex 7050 M.2 NVME Hard Drive with Clonezilla and an External USB HDD
https://jasoncoltrin.com/2018/02/09/how-to-clone-a-dell-optiplex-7050-m-2-nvme-hard-drive-with-clonezilla-and-an-external-usb-hdd/
*** Also works with a USB SSD or NVMe!!!
How to use Clonezilla to copy an SSD
https://www.youtube.com/watch?v=NK6HGa_-B94&list=PLNhEB4FxSRS-_DIzMV0EAZqA2ICpm3Ai1&index=7
Clonezilla Live on USB
https://clonezilla.org/liveusb.php
Clonezilla Live Download
https://clonezilla.org/downloads.php
For Ubuntu use alternative_stable-xxxxxxx
For Debian use stable-xxxxxx
How to make a Clonezilla Bootable USB – Easiest Method!
https://youtu.be/7Jz18yrzn0s