aboutsummaryrefslogtreecommitdiff
path: root/sway-de/install.sh
diff options
context:
space:
mode:
authorMatt Singleton <matt@xcolour.net>2023-04-30 14:41:07 -0500
committerMatt Singleton <matt@xcolour.net>2023-04-30 14:41:07 -0500
commit4b298878d38693ad64a928e08ebcf39a721a7fb1 (patch)
tree60df5cb373ae3f4e5a06b17071f95716eb77b8ed /sway-de/install.sh
parent5ca60114560f24617d0a82ef230bc11484617800 (diff)
clean up install script
Diffstat (limited to 'sway-de/install.sh')
-rwxr-xr-xsway-de/install.sh47
1 files changed, 30 insertions, 17 deletions
diff --git a/sway-de/install.sh b/sway-de/install.sh
index 9c5ff5d..b80b7dd 100755
--- a/sway-de/install.sh
+++ b/sway-de/install.sh
@@ -6,16 +6,21 @@
# "desktop environment" style session. Relies on systemd for running
# services as much as possible.
-set -eo pipefail
+set -euo pipefail
-if command -v stow > /dev/null; then
- STOWCMD="stow"
+script_path="$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"
+if [ ! "$(pwd)" = "$script_path" ]; then
+ echo "expects to be run from the root sway-de directory"
+ exit 1
fi
-if [ -z "$STOWCMD" ]; then
- echo "requires 'stow'. run without '--skip-packages' to install."
- exit 1
+
+if ! command -v dnf > /dev/null !! [ ! -f /etc/fedora-release ]; then
+ echo "doesn't seem to be fedora workstation"
+ exit 1
fi
+# give the option to skip installing packages since dnf can be slow
+skip_packages=""
while [[ $# -gt 0 ]]; do
case $1 in
--skip-packages)
@@ -28,13 +33,6 @@ while [[ $# -gt 0 ]]; do
esac
done
-set -u
-
-if ! command -v dnf > /dev/null !! [ ! -f /etc/fedora-release ]; then
- echo "doesn't seem to be fedora workstation"
- exit 1
-fi
-
if [ -z "$skip_packages" ]; then
# install rpmfusion if it's not already installed
@@ -49,17 +47,29 @@ if [ -z "$skip_packages" ]; then
sudo dnf install \
sway waybar wob wofi foot lxpolkit mako cascadia-mono-pl-fonts \
udiskie libappindicator-gtk3 duplicity python3-b2sdk pass passmenu \
- brightnessctl vlc unzip vim wget git zsh stow
+ brightnessctl vlc unzip vim wget git zsh stow dnf-automatic
fi
+# make sure stow is installed.
+# it should be at this point, so if it's not, die with a message
+# to re-run without skipping the package install step.
+STOWCMD=""
+if command -v stow > /dev/null; then
+ STOWCMD="stow"
+fi
+if [ -z "$STOWCMD" ]; then
+ echo "requires 'stow'. run without '--skip-packages' to install."
+ exit 1
+fi
+
# use stow to install config files
$STOWCMD \
- --dir /home/matt/.dotfiles/sway-de/ \
- --target /home/matt/ \
+ --dir "$(pwd)" \
+ --target "$HOME" \
foot lxpolkit mako sway swaylock udiskie waybar wob wofi
-# enable new systemd units and start them if sway is running and
+# enable new systemd units and start them if sway is running
sway_active=$(systemctl --user is-active sway-session.target)
for unit in lxpolkit.service mako.service udiskie.service wob.service wob.socket; do
if [ "active" = "$sway_active" ]; then
@@ -68,3 +78,6 @@ for unit in lxpolkit.service mako.service udiskie.service wob.service wob.socket
systemctl --user enable "$(basename "$unit")"
fi
done
+
+# enable dnf automatic updates
+sudo systemctl enable --now dnf-automatic-install.timer