pkgs/grow-last-partition-and-filesystem: Add command to easily grow a filesystem on a disk resized by Proxmox
This commit is contained in:
@@ -6,6 +6,7 @@
|
||||
# My system is fucked
|
||||
gptfdisk
|
||||
parted
|
||||
grow-last-partition-and-filesystem
|
||||
|
||||
# Normal usage
|
||||
htop
|
||||
|
17
pkgs/grow-last-partition-and-filesystem/default.nix
Normal file
17
pkgs/grow-last-partition-and-filesystem/default.nix
Normal file
@@ -0,0 +1,17 @@
|
||||
{
|
||||
e2fsprogs,
|
||||
jq,
|
||||
parted,
|
||||
writeShellApplication,
|
||||
}:
|
||||
|
||||
writeShellApplication {
|
||||
name = "grow-last-partition-and-filesystem";
|
||||
text = builtins.readFile ./grow-last-partition-and-filesystem.sh;
|
||||
runtimeInputs = [
|
||||
e2fsprogs
|
||||
jq
|
||||
parted
|
||||
];
|
||||
}
|
||||
|
@@ -0,0 +1,29 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
if [[ $# -ne 1 ]]; then
|
||||
echo "Pass device to grow as first argument:"
|
||||
echo "grow-last-partition-and-filesystem DEVICE"
|
||||
|
||||
exit 1
|
||||
fi
|
||||
|
||||
DEVICE="$1"
|
||||
|
||||
PARTITIONDATA="$(parted --script --json --fix "${DEVICE}" print)"
|
||||
PARTNUMBER="$(echo "${PARTITIONDATA}" | jq -r '.disk.partitions | last | .number')"
|
||||
PARTNAME="$(echo "${PARTITIONDATA}" | jq -r '.disk.partitions | last | .name')"
|
||||
|
||||
echo "Growing partition ${DEVICE}${PARTNUMBER} (${PARTNAME})"
|
||||
echo
|
||||
|
||||
parted "${DEVICE}" resizepart "${PARTNUMBER}" 100%
|
||||
|
||||
echo
|
||||
echo "Resizing filesystem"
|
||||
echo
|
||||
|
||||
resize2fs "${DEVICE}${PARTNUMBER}"
|
||||
|
||||
echo "Done."
|
@@ -19,6 +19,7 @@ final: prev: {
|
||||
git-diff-word = final.callPackage ./git-diff-word {};
|
||||
git-pp = final.callPackage ./git-pp {};
|
||||
git-show-link = final.callPackage ./git-show-link {};
|
||||
grow-last-partition-and-filesystem = final.callPackage ./grow-last-partition-and-filesystem {};
|
||||
nix-remove-result-links = final.callPackage ./nix-remove-result-links {};
|
||||
nixfiles-auto-install = final.callPackage ./nixfiles/nixfiles-auto-install.nix {};
|
||||
nixfiles-generate-config = final.callPackage ./nixfiles/nixfiles-generate-config.nix {};
|
||||
|
Reference in New Issue
Block a user