aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Ryder <tom@sanctum.geek.nz>2022-08-14 17:27:01 +1200
committerTom Ryder <tom@sanctum.geek.nz>2022-08-14 17:27:01 +1200
commit1545be2981b6c3736b4a4aee6886a69d08056dcc (patch)
tree637e35336659b56eed4d30bd8c4f5d8e94d0a786
parentMerge branch 'release/v12.21.0' (diff)
parentBump VERSION (diff)
downloaddotfiles-12.22.0.tar.gz (sig)
dotfiles-12.22.0.zip
Merge branch 'release/v12.22.0'v12.22.0
* release/v12.22.0: Restore correct backgrounding for xsession Avoid using wildcards for installing single files Correct profile snippet for Rust cargo Switch back to separate assignment/export Start versioning XFCE4 terminal config Correct parcellite X session subfile install Reorganize X11 startup file again Revert "Refactor X startup to accomodate differ...
-rw-r--r--Makefile97
-rw-r--r--VERSION4
-rw-r--r--cargo/profile.d/cabal.sh2
-rw-r--r--cargo/profile.d/cargo.sh2
-rw-r--r--check/x.sh2
-rw-r--r--check/xsession.sh1
-rw-r--r--lint/x.sh2
-rw-r--r--lint/xsession.sh1
-rw-r--r--parcellite/xsession.d/parcellite.sh (renamed from parcellite/xsession.d/redshift.sh)0
-rw-r--r--sh/profile24
-rw-r--r--systemd/profile.d/systemd.sh3
-rw-r--r--tmux/profile.d/tmux.sh3
-rw-r--r--x/xprofile3
-rw-r--r--x/xsession.sh18
-rw-r--r--x/xsessionrc13
-rw-r--r--xfce/terminalrc40
16 files changed, 141 insertions, 74 deletions
diff --git a/Makefile b/Makefile
index 16e51e4a..81464d18 100644
--- a/Makefile
+++ b/Makefile
@@ -56,6 +56,8 @@
install-vint \
install-wget \
install-x \
+ install-xfce \
+ install-xsession \
install-yt-dlp \
install-zsh \
check \
@@ -69,6 +71,7 @@
check-sh \
check-urxvt \
check-x \
+ check-xsession \
check-zsh \
lint \
lint-bash \
@@ -79,7 +82,8 @@
lint-sh \
lint-urxvt \
lint-vim \
- lint-x
+ lint-x \
+ lint-xsession
.SUFFIXES:
.SUFFIXES: .awk .bash .m4 .mi5 .pl .sed .sh
@@ -405,18 +409,18 @@ install-bin-man:
cp -p -- man/man8/*.8df $(XDG_DATA_HOME)/man/man8
install-cabal:
- cp -p -- cabal/profile.d/*.sh $(HOME)/.profile.d
+ cp -p -- cabal/profile.d/cabal.sh $(HOME)/.profile.d
install-cargo:
- cp -p -- cargo/profile.d/*.sh $(HOME)/.profile.d
+ cp -p -- cargo/profile.d/cargo.sh $(HOME)/.profile.d
install-cpanm:
- cp -p -- cpanm/profile.d/*.sh $(HOME)/.profile.d
+ cp -p -- cpanm/profile.d/cpanm.sh $(HOME)/.profile.d
install-curl:
cp -p -- curl/curlrc $(HOME)/.curlrc
-install-dillo: dillo/dillorc install-x
+install-dillo: dillo/dillorc
mkdir -p -- $(HOME)/.dillo
cp -p -- dillo/dillorc $(HOME)/.dillo/dillorc
@@ -453,18 +457,19 @@ install-git: git/config $(GIT_TEMPLATE_HOOKS)
$(XDG_CONFIG_HOME)/git/template/hooks
install-gnupg: gnupg/profile.d/gnupg.sh install-sh
- cp -p -- gnupg/profile.d/*.sh $(HOME)/.profile.d
+ cp -p -- gnupg/profile.d/gnupg.sh $(HOME)/.profile.d
install-i3: install-x
mkdir -p -- $(XDG_CONFIG_HOME)/i3
- cp -p -- i3/* $(XDG_CONFIG_HOME)/i3
+ cp -p -- i3/config $(XDG_CONFIG_HOME)/i3
+ cp -p -- i3/status $(XDG_CONFIG_HOME)/i3
install-init:
if test -d /run/systemd/system ; then make install-systemd ; fi
install-less: less/less
mkdir -p -- $(HOME)/.profile.d
- cp -p -- less/profile.d/*.sh $(HOME)/.profile.d
+ cp -p -- less/profile.d/less.sh $(HOME)/.profile.d
mkdir -p -- $(XDG_CONFIG_HOME)/less
cp -p -- less/less $(XDG_CONFIG_HOME)/less/key
@@ -487,7 +492,7 @@ install-mpv:
mkdir -p -- \
$(XDG_CONFIG_HOME)/mpv \
$(XDG_DATA_HOME)/mpv/screenshots
- cp -p -- mpv/* $(XDG_CONFIG_HOME)/mpv
+ cp -p -- mpv/mpv.conf $(XDG_CONFIG_HOME)/mpv
install-mutt: install-gnupg install-mail mutt/filters/markdown-to-html
mkdir -p -- \
@@ -522,7 +527,7 @@ install-mysql:
install-ksh: check-ksh install-sh
mkdir -p -- $(HOME)/.kshrc.d
- cp -p -- ksh/shrc.d/*.sh $(HOME)/.shrc.d
+ cp -p -- ksh/shrc.d/ksh.sh $(HOME)/.shrc.d
cp -p -- ksh/kshrc $(HOME)/.kshrc
cp -p -- ksh/kshrc.d/*.ksh $(HOME)/.kshrc.d
@@ -531,39 +536,39 @@ install-login-shell: check-login-shell
install-parcellite: install-x
cp -p -- parcellite/parcelliterc $(XDG_CONFIG_HOME)
- cp -p -- redshift/xsession.d/* $(HOME)/.xsession.d
+ cp -p -- parcellite/xsession.d/parcellite.sh $(HOME)/.xsession.d
install-perlcritic: install-sh
- cp -p -- perlcritic/profile.d/*.sh $(HOME)/.profile.d
+ cp -p -- perlcritic/profile.d/perlcritic.sh $(HOME)/.profile.d
mkdir -p -- $(XDG_CONFIG_HOME)/perlcritic
cp -p -- perlcritic/perlcriticrc $(XDG_CONFIG_HOME)/perlcritic/perlcriticrc
install-perltidy: install-sh
- cp -p -- perltidy/profile.d/*.sh $(HOME)/.profile.d
+ cp -p -- perltidy/profile.d/perltidy.sh $(HOME)/.profile.d
mkdir -p -- $(XDG_CONFIG_HOME)/perltidy
cp -p -- perltidy/perltidyrc $(XDG_CONFIG_HOME)/perltidy/perltidyrc
install-plenv: install-sh install-cpanm
- cp -p -- plenv/profile.d/*.sh $(HOME)/.profile.d
- cp -p -- plenv/shrc.d/*.sh $(HOME)/.shrc.d
+ cp -p -- plenv/profile.d/plenv.sh $(HOME)/.profile.d
+ cp -p -- plenv/shrc.d/plenv.sh $(HOME)/.shrc.d
install-psql:
cp -p -- psql/psqlrc $(HOME)/.psqlrc
install-pyenv: install-sh
- cp -p -- pyenv/profile.d/*.sh $(HOME)/.profile.d
- cp -p -- pyenv/shrc.d/*.sh $(HOME)/.shrc.d
+ cp -p -- pyenv/profile.d/pyenv.sh $(HOME)/.profile.d
+ cp -p -- pyenv/shrc.d/pyenv.sh $(HOME)/.shrc.d
install-rbenv: install-sh
- cp -p -- rbenv/profile.d/*.sh $(HOME)/.profile.d
- cp -p -- rbenv/shrc.d/*.sh $(HOME)/.shrc.d
+ cp -p -- rbenv/profile.d/rbenv.sh $(HOME)/.profile.d
+ cp -p -- rbenv/shrc.d/rbenv.sh $(HOME)/.shrc.d
install-readline:
cp -p -- readline/inputrc $(HOME)/.inputrc
install-redshift: install-x
cp -p -- redshift/redshift.conf $(XDG_CONFIG_HOME)
- cp -p -- redshift/xsession.d/* $(HOME)/.xsession.d
+ cp -p -- redshift/xsession.d/redshift.sh $(HOME)/.xsession.d
install-scrot:
mkdir -p -- $(XDG_DATA_HOME)/scrot/screenshots
@@ -583,21 +588,21 @@ install-subversion:
install-sxhkd: install-scrot install-x
mkdir -p -- $(XDG_CONFIG_HOME)/sxhkd
cp -p -- sxhkd/sxhkdrc $(XDG_CONFIG_HOME)/sxhkd
- cp -p -- sxhkd/xsession.d/* $(HOME)/.xsession.d
+ cp -p -- sxhkd/xsession.d/sxhkd.sh $(HOME)/.xsession.d
install-systemd: install-sh
- cp -p -- systemd/profile.d/*.sh $(HOME)/.profile.d
+ cp -p -- systemd/profile.d/systemd.sh $(HOME)/.profile.d
mkdir -p -- $(XDG_DATA_HOME)/systemd/user
- cp -p -- systemd/user/*.service \
+ cp -p -- systemd/user/notify-email@.service \
$(XDG_DATA_HOME)/systemd/user
mkdir -p -- $(XDG_DATA_HOME)/systemd/user/service.d
- cp -p -- systemd/user/service.d/*.conf \
+ cp -p -- systemd/user/service.d/50-notify-email.conf \
$(XDG_DATA_HOME)/systemd/user/service.d
mkdir -p -- $(XDG_DATA_HOME)/systemd/user/notify-email@.service.d
- cp -p -- systemd/user/notify-email@.service.d/*.conf \
+ cp -p -- systemd/user/notify-email@.service.d/50-notify-email.conf \
$(XDG_DATA_HOME)/systemd/user/notify-email@.service.d
mkdir -p -- $(XDG_DATA_HOME)/systemd/user/run-.service.d
- cp -p -- systemd/user/run-.service.d/*.conf \
+ cp -p -- systemd/user/run-.service.d/50-notify-email.conf \
$(XDG_DATA_HOME)/systemd/user/run-.service.d
# Need to install these in appropriate order to meet dependencies; could trust
@@ -613,7 +618,7 @@ install-terminfo:
tic terminfo/screen-256color.ti
install-tidy: install-sh
- cp -p -- tidy/profile.d/*.sh $(HOME)/.profile.d
+ cp -p -- tidy/profile.d/tidy.sh $(HOME)/.profile.d
mkdir -p -- $(XDG_CONFIG_HOME)/tidy
cp -p -- tidy/tidyrc $(XDG_CONFIG_HOME)/tidy/tidyrc
@@ -627,8 +632,7 @@ install-tmux: tmux/bin/tmux tmux/tmux.conf install-systemd install-terminfo
install-urxvt: urxvt/ext/select install-x
mkdir -p -- $(HOME)/.urxvt/ext
cp -p -- urxvt/ext/select $(HOME)/.urxvt/ext
- cp -p -- urxvt/Xresources.d/* $(HOME)/.Xresources.d
- cp -p -- urxvt/xsession.d/* $(HOME)/.xsession.d
+ cp -p -- urxvt/xsession.d/urxvt.sh $(HOME)/.xsession.d
VIM = vim
VIMDIR = $(HOME)/.vim
@@ -663,22 +667,23 @@ install-vint:
cp -p -- vint/vintrc.yaml $(HOME)/.vintrc.yaml
install-wget: install-sh
- cp -p -- wget/profile.d/*.sh $(HOME)/.profile.d
+ cp -p -- wget/profile.d/wget.sh $(HOME)/.profile.d
mkdir -p -- $(XDG_CACHE_HOME)/wget $(XDG_CONFIG_HOME)/wget
cp -p -- wget/wgetrc $(XDG_CONFIG_HOME)/wget/wgetrc
-install-x: x/xsession check-x install-logrotate install-sh
- mkdir -p -- \
- $(HOME)/.xsession.d \
- $(HOME)/.Xresources.d \
- $(XDG_CONFIG_HOME)/log/xsession
- cp -p -- x/xprofile $(HOME)/.xprofile
- cp -p -- x/xsession $(HOME)/.xsession
- cp -p -- x/xsessionrc $(HOME)/.xsessionrc
+install-x: check-x install-logrotate install-sh
cp -p -- x/Xresources $(HOME)/.Xresources
- cp -p -- x/Xresources.d/* $(HOME)/.Xresources.d
- cp -p -- x/logrotate/config.d/* $(XDG_CONFIG_HOME)/logrotate/config.d
- cp -p -- x/shrc.d/*.sh $(HOME)/.shrc.d
+ mkdir -p -- $(HOME)/.xsession.d
+ cp -p -- x/shrc.d/x.sh $(HOME)/.shrc.d
+ mkdir -p -- $(XDG_CONFIG_HOME)/log/xsession
+ cp -p -- x/logrotate/config.d/xsession $(XDG_CONFIG_HOME)/logrotate/config.d
+
+install-xfce: install-x
+ mkdir -p $(XDG_CONFIG_HOME)/xfce4/terminal
+ cp -p -- xfce/terminalrc $(XDG_CONFIG_HOME)/xfce4/terminal/
+
+install-xsession: x/xsession check-xsession install-x
+ cp -p -- x/xsession $(HOME)/.xsession
install-yt-dlp install-youtube-dl:
mkdir -p -- $(XDG_CONFIG_HOME)/yt-dlp
@@ -686,7 +691,7 @@ install-yt-dlp install-youtube-dl:
install-zsh: check-zsh install-sh
mkdir -p -- $(HOME)/.zshrc.d
- cp -p -- zsh/profile.d/*.sh $(HOME)/.profile.d
+ cp -p -- zsh/profile.d/zsh.sh $(HOME)/.profile.d
cp -p -- zsh/zprofile $(HOME)/.zprofile
cp -p -- zsh/zshrc $(HOME)/.zshrc
cp -p -- zsh/zshrc.d/*.zsh $(HOME)/.zshrc.d
@@ -724,9 +729,12 @@ check-sh:
check-urxvt: urxvt/ext/select
sh check/urxvt.sh
-check-x: x/xsession
+check-x:
sh check/x.sh
+check-xsession: x/xsession
+ sh check/xsession.sh
+
check-zsh:
sh check/zsh.sh
@@ -766,3 +774,6 @@ lint-vim:
lint-x: check-x
sh lint/x.sh
+
+lint-xsession: x/xsession check-xsession
+ sh lint/xsession.sh
diff --git a/VERSION b/VERSION
index a28d9aa4..e55b9021 100644
--- a/VERSION
+++ b/VERSION
@@ -1,2 +1,2 @@
-tejr dotfiles v12.21.0
-Sat, 13 Aug 2022 11:34:34 +0000
+tejr dotfiles v12.22.0
+Sun, 14 Aug 2022 05:26:54 +0000
diff --git a/cargo/profile.d/cabal.sh b/cargo/profile.d/cabal.sh
deleted file mode 100644
index 638f8d04..00000000
--- a/cargo/profile.d/cabal.sh
+++ /dev/null
@@ -1,2 +0,0 @@
-# Include user-built Haskell programs
-PATH=$HOME/.cabal/bin:$PATH
diff --git a/cargo/profile.d/cargo.sh b/cargo/profile.d/cargo.sh
new file mode 100644
index 00000000..89bcd524
--- /dev/null
+++ b/cargo/profile.d/cargo.sh
@@ -0,0 +1,2 @@
+# Include user-built Rust programs
+PATH=$HOME/.cargo/bin:$PATH
diff --git a/check/x.sh b/check/x.sh
index b3ed21ef..f88f11a1 100644
--- a/check/x.sh
+++ b/check/x.sh
@@ -1 +1 @@
-sh -n -- x/xprofile x/xsession x/shrc.d/*.sh
+sh -n -- x/xsessionrc x/shrc.d/*.sh
diff --git a/check/xsession.sh b/check/xsession.sh
new file mode 100644
index 00000000..0b72d8a6
--- /dev/null
+++ b/check/xsession.sh
@@ -0,0 +1 @@
+sh -n -- x/xsession
diff --git a/lint/x.sh b/lint/x.sh
index 25fdf58d..0625369b 100644
--- a/lint/x.sh
+++ b/lint/x.sh
@@ -1 +1 @@
-shellcheck -e SC1090 -e SC1091 -s sh -- x/xprofile x/xsession x/shrc.d/*.sh
+shellcheck -e SC1090 -e SC1091 -s sh -- x/xsessionrc x/shrc.d/*.sh
diff --git a/lint/xsession.sh b/lint/xsession.sh
new file mode 100644
index 00000000..5544e1be
--- /dev/null
+++ b/lint/xsession.sh
@@ -0,0 +1 @@
+shellcheck -e SC1090 -e SC1091 -s sh -- x/xsession
diff --git a/parcellite/xsession.d/redshift.sh b/parcellite/xsession.d/parcellite.sh
index 39fb6c4e..39fb6c4e 100644
--- a/parcellite/xsession.d/redshift.sh
+++ b/parcellite/xsession.d/parcellite.sh
diff --git a/sh/profile b/sh/profile
index 61122076..5b835458 100644
--- a/sh/profile
+++ b/sh/profile
@@ -1,23 +1,29 @@
# Use lynx as our terminal browser
-export BROWSER=lynx
+BROWSER=lynx
+export BROWSER
# Use ed as our line editor and vi as our visual editor
-export EDITOR=ed
-export VISUAL=vi
+EDITOR=ed
+VISUAL=vi
+export EDITOR VISUAL
# Set the POSIX interactive startup file to ~/.shinit
-export ENV=$HOME/.shinit
+ENV=$HOME/.shinit
+export ENV
# Use NZ English, but bytewise sorting
-export LANG=en_NZ.UTF-8
-export LANGUAGE=en_NZ:en
-export LC_COLLATE=C
+LANG=en_NZ.UTF-8
+LANGUAGE=en_NZ:en
+LC_COLLATE=C
+export LANG LANGUAGE LC_COLLATE
# Use less as my pager
-export PAGER=less
+PAGER=less
+export PAGER
# Assume I'm at home unless something overrides it
-export TZ=Pacific/Auckland
+TZ=Pacific/Auckland
+export TZ
# Source all scripts in ~/.profile.d; many of them will be modifying $PATH, so
# we'll get that sorted out first
diff --git a/systemd/profile.d/systemd.sh b/systemd/profile.d/systemd.sh
index 1f305f65..b5f05c24 100644
--- a/systemd/profile.d/systemd.sh
+++ b/systemd/profile.d/systemd.sh
@@ -1,2 +1,3 @@
# Use $VISUAL for editing systemd unit files, not $EDITOR
-export SYSTEMD_EDITOR=$VISUAL
+SYSTEMD_EDITOR=$VISUAL
+export SYSTEMD_EDITOR
diff --git a/tmux/profile.d/tmux.sh b/tmux/profile.d/tmux.sh
index 2a936da5..15ba00ff 100644
--- a/tmux/profile.d/tmux.sh
+++ b/tmux/profile.d/tmux.sh
@@ -1,3 +1,4 @@
# Encourage tmux to put its sockets into XDG_RUNTIME_DIR rather than /tmp
[ -n "$XDG_RUNTIME_DIR" ] || return
-export TMUX_TMPDIR=$XDG_RUNTIME_DIR
+TMUX_TMPDIR=$XDG_RUNTIME_DIR
+export TMUX_TMPDIR
diff --git a/x/xprofile b/x/xprofile
deleted file mode 100644
index 1750c70b..00000000
--- a/x/xprofile
+++ /dev/null
@@ -1,3 +0,0 @@
-# Read ~/.profile to set up environment when starting X with a display manager
-# like LightDM, since we didn't have a TTY login arrange that already
-. "$HOME"/.profile
diff --git a/x/xsession.sh b/x/xsession.sh
index e0552315..3e2e468d 100644
--- a/x/xsession.sh
+++ b/x/xsession.sh
@@ -46,16 +46,14 @@ xset \
# log the failed attempt to start them to the errors file, as a hint that
# I might want to install them.
#
-(
- # Display compositor
- compton
- # Message display (libnotify)
- dunst
- # PulseAudio system tray tool
- pasystray
- # Hide mouse after inactivity
- unclutter
-) &
+## Display compositor
+compton &
+## Message display (libnotify)
+dunst &
+## PulseAudio system tray tool
+pasystray &
+## Hide mouse after inactivity
+unclutter &
# Load all supplementary scripts in ~/.xsession.d
for sh in "$HOME"/.xsession.d/*.sh ; do
diff --git a/x/xsessionrc b/x/xsessionrc
index 48f2a725..8d46ed0b 100644
--- a/x/xsessionrc
+++ b/x/xsessionrc
@@ -1,5 +1,16 @@
# X startup commands go in here if they should run on every X session, whether
-# classic `startx` or a modern DE like LightDM
+# classic `startx` or a modern DE like LightDM. xsessionrc is a dpkg-specific
+# file.
+#
+
+# If $ENV isn't set, then this X startup process wasn't started from somewhere
+# beneath a login shell that sources ~/.profile to set up environment variables
+# yet, most likely because it's being opened by a display manager, so we'll do
+# it here.
+#
+if [ -z "$ENV" ] ; then
+ . "$HOME"/.profile
+fi
# Update BROWSER, since .profile has already set this to a curses browser
# shellcheck disable=SC2034
diff --git a/xfce/terminalrc b/xfce/terminalrc
new file mode 100644
index 00000000..a260309b
--- /dev/null
+++ b/xfce/terminalrc
@@ -0,0 +1,40 @@
+[Configuration]
+BackgroundDarkness=0.950000
+BackgroundMode=TERMINAL_BACKGROUND_TRANSPARENT
+ColorPalette=#000000;#cc0000;#4e9a06;#c4a000;#3465a4;#75507b;#06989a;#d3d7cf;#555753;#ef2929;#8ae234;#fce94f;#739fcf;#ad7fa8;#34e2e2;#eeeeec
+FontName=Monospace 9
+MiscAlwaysShowTabs=FALSE
+MiscBell=FALSE
+MiscBellUrgent=FALSE
+MiscBordersDefault=TRUE
+MiscConfirmClose=FALSE
+MiscCopyOnSelect=TRUE
+MiscCursorBlinks=FALSE
+MiscCursorShape=TERMINAL_CURSOR_SHAPE_BLOCK
+MiscCycleTabs=TRUE
+MiscDefaultGeometry=80x24
+MiscHighlightUrls=TRUE
+MiscInheritGeometry=FALSE
+MiscMenubarDefault=TRUE
+MiscMiddleClickOpensUri=FALSE
+MiscMouseAutohide=TRUE
+MiscMouseWheelZoom=TRUE
+MiscNewTabAdjacent=FALSE
+MiscRewrapOnResize=TRUE
+MiscRightClickAction=TERMINAL_RIGHT_CLICK_ACTION_CONTEXT_MENU
+MiscSearchDialogOpacity=100
+MiscShowRelaunchDialog=TRUE
+MiscShowUnsafePasteDialog=FALSE
+MiscSlimTabs=FALSE
+MiscTabCloseButtons=TRUE
+MiscTabCloseMiddleClick=TRUE
+MiscTabPosition=GTK_POS_TOP
+MiscToolbarDefault=FALSE
+MiscUseShiftArrowsToScroll=FALSE
+ScrollingBar=TERMINAL_SCROLLBAR_NONE
+ScrollingOnKeystroke=FALSE
+ShortcutsNoHelpkey=TRUE
+ShortcutsNoMenukey=TRUE
+ShortcutsNoMnemonics=TRUE
+TextBlinkMode=TERMINAL_TEXT_BLINK_MODE_FOCUSED
+TitleMode=TERMINAL_TITLE_HIDE