install.fairie/home/.chezmoiscripts/linux/run_onchange_before_11-configure-swap.tmpl
Brian Zalewski 6c95c870b0 Update 28 files
- /home/.chezmoiscripts/universal/run_onchange_before_91-configure-gpg.tmpl
- /home/.chezmoiscripts/universal/run_before_01-decrypt-age-key.tmpl
- /home/.chezmoiscripts/ubuntu/run_onchange_before_10-install-ubuntu-dependencies.tmpl
- /home/.chezmoiscripts/qubes/run_onchange_before_12-update-dom0.tmpl
- /home/.chezmoiscripts/opensuse/run_onchange_before_11-install-opensuse-software.tmpl
- /home/.chezmoiscripts/linux/run_onchange_before_10-system-tweaks.tmpl
- /home/.chezmoiscripts/linux/run_onchange_before_11-configure-swap.tmpl
- /home/.chezmoiscripts/freebsd/run_onchange_before_11-install-freebsd-packages.tmpl
- /home/.chezmoiscripts/fedora/run_onchange_before_10-install-fedora-dependencies.tmpl
- /home/.chezmoiscripts/debian/run_onchange_before_10-install-debian-dependencies.tmpl
- /home/.chezmoiscripts/darwin/run_onchange_before_10-install-darwin-dependencies.tmpl
- /home/.chezmoiscripts/darwin/run_onchange_before_20-ensure-user-group.tmpl
- /home/.chezmoiscripts/centos/run_onchange_before_10-install-centos-dependencies.tmpl
- /home/.chezmoiscripts/archlinux/run_onchange_before_10-install-archlinux-dependencies.tmpl
- /home/.chezmoiscripts/_universal/run_onchange_before_08-install-zx.tmpl
- /home/.chezmoiscripts/_universal/run_onchange_before_09-ensure-node-version.tmpl
- /home/.chezmoiscripts/_universal/run_onchange_before_10-remove-bloatware.tmpl
- /home/.chezmoiscripts/_universal/run_onchange_before_11-install-docker.tmpl
- /home/.chezmoiscripts/_universal/run_onchange_before_05-install-homebrew.tmpl
- /home/.chezmoiscripts/_universal/run_before_01-add-temporary-includes.tmpl
- /home/.chezmoitemplates/universal/logg
- /home/.chezmoitemplates/universal/profile
- /home/.chezmoitemplates/universal/profile-before
- /home/.chezmoitemplates/universal/logg-before
- /home/.chezmoitemplates/universal/logg-compat
- /home/.chezmoitemplates/universal/logg-inline
- /home/.chezmoitemplates/universal/profile-inline
- /home/.chezmoidata.yaml
2023-01-25 04:31:32 +00:00

31 lines
1 KiB
Bash

#!/usr/bin/env bash
# TODO - make equivalent to https://gitlab.com/megabyte-labs/gas-station/-/blob/master/roles/system/common/tasks/linux/swap.yml
{{ includeTemplate "universal/profile-bundle" }}
{{ includeTemplate "universal/logg-bundle" }}
if [ ! -f /swapfile ]; then
MEMORY_IN_KB="$(grep MemTotal /proc/meminfo | sed 's/.* \(.*\) kB/\1/')"
MEMORY_IN_GB="$((MEMORY_IN_KB / 1024 / 1024))"
if [ "$MEMORY_IN_GB" -gt 64 ]; then
SWAP_SPACE="$((MEMORY_IN_GB / 10))"
elif [ "$MEMORY_IN_GB" -gt 32 ]; then
SWAP_SPACE="$((MEMORY_IN_GB / 8))"
elif [ "$MEMORY_IN_GB" -gt 8 ]; then
SWAP_SPACE="$((MEMORY_IN_GB / 4))"
else
SWAP_SPACE="$MEMORY_IN_GB"
fi
logg info "Creating a $SWAP_SPACE GB /swapfile"
sudo fallocate -l "$SWAP_SPACE" /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
if cat /etc/fstab | grep "/swapfile"; then
sudo sed -i '/\/swapfile/\/swapfile none swap sw 0 0/' /etc/fstab
else
echo "/swapfile none swap sw 0 0" | sudo tee -a /etc/fstab
fi
fi