Files
linux-post-install/desktop-env.sh
2026-07-19 16:11:35 -05:00

46 lines
1.9 KiB
Bash

###########################
## DESKTOP ENVIRONMENT ##
###########################
# Designed & tested on Cinnamon 6.4.8
echo "## desktop environment" | tee todo.md -a
# remap caps-lock to escape (more efficient neovim)
gsettings set org.gnome.libgnomekbd.keyboard options "['grp\tgrp:win_space_toggle', 'terminate\tterminate:ctrl_alt_bksp', 'caps\tcaps:escape']"
# fix touchpad scrolling direction (the default is objectively wrong)
gsettings set org.cinnamon.desktop.peripherals.touchpad natural-scroll "false"
# enable slick touchpad gestures
gsettings set org.cinnamon.gestures enabled "true"
gsettings set org.cinnamon.gestures swipe-left-3 "WORKSPACE_NEXT::start" # these by default are x::end
gsettings set org.cinnamon.gestures swipe-right-3 "WORKSPACE_PREVIOUS::start" # now, the workspace starts to move at the start of the gesture
# replace holding <Alt> to move windows with <Super>
gsettings set org.cinnamon.desktop.wm.preferences mouse-button-modifier "'<Super>'"
# hide annoying super menu icons
echo "* hide annoying super menu icons" | tee todo.md -a
# startup programs - artha
mkdir -p "$HOME/.config/autostart"
cp ./utils/artha-autostart.desktop "$HOME/.config/autostart/artha.desktop"
chmod 755 "$HOME/.config/autostart/artha.desktop"
# disable calendar widget showing events too
# 13.json corresponds to the numerical (zero-indexed) position in the
# enabled-applets section of `dconf dump /org/cinnamon/`
FP="$HOME/.config/cinnamon/spices/calendar@cinnamon.org/13.json"
cat $FP | jq '.["show-events"].value = false' | tee tmp.json && mv tmp.json "$FP"
# set up taskbar (grouped-window-list widget)
FP="$HOME/.config/cinnamon/spices/grouped-window-list@cinnamon.org/2.json"
TASKBAR_LAYOUT='[
"nemo.desktop",
"org.gnome.Terminal.desktop",
"brave-browser.desktop",
"discord.desktop",
"code.desktop"
]'
cat $FP | jq --argjson layout "$TASKBAR_LAYOUT" '.["pinned-apps"]["value"] = $layout' | tee tmp.json && mv tmp.json "$FP"