From 1af49a883cd1d6f0bd7735ea5201de594c489085 Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Sun, 5 Oct 2025 13:39:23 -0500 Subject: add environment + systemd configs to improve session and app startup - Add environment variable file for PATH including custom script locations - Add user systemd service for Emacs daemon with restart on failure - Add geoclue-agent systemd service for redshift location hints - Add environment override for xdg-desktop-portal-gtk service (DISPLAY, XAUTHORITY) - Update .profile to use emacsclient for EDITOR and VISUAL - Comment out auto-startx on tty1 --- dotfiles/system/.config/environment.d/envvars.conf | 1 + dotfiles/system/.config/systemd/user/emacs.service | 19 +++++++++++++++++++ .../system/.config/systemd/user/geoclue-agent.service | 8 ++++++++ .../xdg-desktop-portal-gtk.service.d/environment.conf | 3 +++ dotfiles/system/.profile | 10 +++++----- 5 files changed, 36 insertions(+), 5 deletions(-) create mode 100644 dotfiles/system/.config/environment.d/envvars.conf create mode 100644 dotfiles/system/.config/systemd/user/emacs.service create mode 100644 dotfiles/system/.config/systemd/user/geoclue-agent.service create mode 100644 dotfiles/system/.config/systemd/user/xdg-desktop-portal-gtk.service.d/environment.conf (limited to 'dotfiles') diff --git a/dotfiles/system/.config/environment.d/envvars.conf b/dotfiles/system/.config/environment.d/envvars.conf new file mode 100644 index 0000000..f937aab --- /dev/null +++ b/dotfiles/system/.config/environment.d/envvars.conf @@ -0,0 +1 @@ +PATH=/usr/local/bin:/usr/bin:/bin:$HOME/.local/bin:/usr/sbin:$HOME/.config/rofi/scripts diff --git a/dotfiles/system/.config/systemd/user/emacs.service b/dotfiles/system/.config/systemd/user/emacs.service new file mode 100644 index 0000000..0e3a102 --- /dev/null +++ b/dotfiles/system/.config/systemd/user/emacs.service @@ -0,0 +1,19 @@ +[Unit] +Description=Emacs text editor +Documentation=info:emacs man:emacs(1) https://gnu.org/software/emacs/ + +[Service] +Type=notify +ExecStart=/home/cjennings/.local/bin/emacs --fg-daemon + +# Emacs will exit with status 15 after having received SIGTERM, which +# is the default "KillSignal" value systemd uses to stop services. +SuccessExitStatus=15 + +# The location of the SSH auth socket varies by distribution, and some +# set it from PAM, so don't override by default. +# Environment=SSH_AUTH_SOCK=%t/keyring/ssh +Restart=on-failure + +[Install] +WantedBy=default.target diff --git a/dotfiles/system/.config/systemd/user/geoclue-agent.service b/dotfiles/system/.config/systemd/user/geoclue-agent.service new file mode 100644 index 0000000..9f2adc0 --- /dev/null +++ b/dotfiles/system/.config/systemd/user/geoclue-agent.service @@ -0,0 +1,8 @@ +[Unit] +Description=redshift needs to get a (geo)clue + +[Service] +ExecStart=/usr/lib/geoclue-2.0/demos/agent + +[Install] +WantedBy=default.target diff --git a/dotfiles/system/.config/systemd/user/xdg-desktop-portal-gtk.service.d/environment.conf b/dotfiles/system/.config/systemd/user/xdg-desktop-portal-gtk.service.d/environment.conf new file mode 100644 index 0000000..e8c5e8f --- /dev/null +++ b/dotfiles/system/.config/systemd/user/xdg-desktop-portal-gtk.service.d/environment.conf @@ -0,0 +1,3 @@ +[Service] +Environment="DISPLAY=:0" +Environment="XAUTHORITY=/home/cjennings/.Xauthority" \ No newline at end of file diff --git a/dotfiles/system/.profile b/dotfiles/system/.profile index f4560d2..0539774 100644 --- a/dotfiles/system/.profile +++ b/dotfiles/system/.profile @@ -28,7 +28,7 @@ export PATH="$PATH:$HOME/.local/bin:/usr/sbin:$HOME/.config/rofi/scripts" # Editor export ALTERNATE_EDITOR="" -export EDITOR="$(which emacs)" +export EDITOR="emacsclient -c -a ''" export SUDO_EDITOR="$(which vi)" # Browser @@ -41,7 +41,7 @@ export COLORTERM=truecolor #export TERM="vt100" export TERM="st-256color" export TERMINAL="$(which st)" -export VISUAL="$(which em)" +export VISUAL="emacsclient -c -a ''" # XDG export XDG_CONFIG_HOME="$HOME/.config/" @@ -123,6 +123,6 @@ if [ -d "$PROFILE_D" ]; then fi # launch x automatically -if [ -z "$DISPLAY" ] && [ "$(tty)" = /dev/tty1 ]; then - startx -fi +# if [ -z "$DISPLAY" ] && [ "$(tty)" = /dev/tty1 ]; then +# startx +# fi -- cgit v1.2.3