diff options
author | Matt Singleton <matt@xcolour.net> | 2023-04-02 14:44:20 -0500 |
---|---|---|
committer | Matt Singleton <matt@xcolour.net> | 2023-04-02 14:45:58 -0500 |
commit | dc67ffba604bfb559ab1531009f967a35a849096 (patch) | |
tree | c545b86875832877fa5bc30951c1191e7176b04a | |
parent | 78544fe088f0868e59d85ec4729bc14368fd7eec (diff) |
enable systemd service
-rwxr-xr-x | sway-de/install.sh | 32 |
1 files changed, 26 insertions, 6 deletions
diff --git a/sway-de/install.sh b/sway-de/install.sh index 62ab544..b693941 100755 --- a/sway-de/install.sh +++ b/sway-de/install.sh @@ -6,7 +6,15 @@ # "desktop environment" style session. Relies on systemd for running # services as much as possible. -set -euo pipefail +set -eo pipefail + +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 while [[ $# -gt 0 ]]; do case $1 in @@ -20,6 +28,8 @@ 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 @@ -28,11 +38,11 @@ fi if [ -z "$skip_packages" ]; then # install rpmfusion if it's not already installed - repos_installed=$(dnf --cacheonly repolist | tail -n+2 | cut -f1 -d' ' | egrep -x 'rpmfusion-free|rpmfusion-nonfree' | wc -l) + repos_installed=$(dnf --cacheonly repolist | tail -n+2 | cut -f1 -d' ' | grep -Exc 'rpmfusion-free|rpmfusion-nonfree') if [ "$repos_installed" -lt "2" ]; then sudo dnf install \ - https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm \ - https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm + "https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm" \ + "https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm" fi # install packages @@ -44,13 +54,23 @@ if [ -z "$skip_packages" ]; then fi # use stow to install config files -stow \ +$STOWCMD \ --verbose \ --dir /home/matt/.dotfiles/sway-de \ --target /home/matt/.config \ --stow config -stow \ +$STOWCMD \ --verbose \ --dir /home/matt/.dotfiles/sway-de \ --target /home/matt/.local \ --stow local + +# enable new systemd units and start them if sway is running and +sway_active=$(systemctl --user is-active sway-session.target) +for unit in /home/matt/.dotfiles/sway-de/local/share/systemd/user/*; do + if [ "active" = "$sway_active" ]; then + systemctl --user enable --now "$(basename "$unit")" + else + systemctl --user enable "$(basename "$unit")" + fi +done |