diff options
author | Tom Ryder <tom@sanctum.geek.nz> | 2022-08-14 17:27:01 +1200 |
---|---|---|
committer | Tom Ryder <tom@sanctum.geek.nz> | 2022-08-14 17:27:01 +1200 |
commit | 1545be2981b6c3736b4a4aee6886a69d08056dcc (patch) | |
tree | 637e35336659b56eed4d30bd8c4f5d8e94d0a786 | |
parent | Merge branch 'release/v12.21.0' (diff) | |
parent | Bump VERSION (diff) | |
download | dotfiles-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-- | Makefile | 97 | ||||
-rw-r--r-- | VERSION | 4 | ||||
-rw-r--r-- | cargo/profile.d/cabal.sh | 2 | ||||
-rw-r--r-- | cargo/profile.d/cargo.sh | 2 | ||||
-rw-r--r-- | check/x.sh | 2 | ||||
-rw-r--r-- | check/xsession.sh | 1 | ||||
-rw-r--r-- | lint/x.sh | 2 | ||||
-rw-r--r-- | lint/xsession.sh | 1 | ||||
-rw-r--r-- | parcellite/xsession.d/parcellite.sh (renamed from parcellite/xsession.d/redshift.sh) | 0 | ||||
-rw-r--r-- | sh/profile | 24 | ||||
-rw-r--r-- | systemd/profile.d/systemd.sh | 3 | ||||
-rw-r--r-- | tmux/profile.d/tmux.sh | 3 | ||||
-rw-r--r-- | x/xprofile | 3 | ||||
-rw-r--r-- | x/xsession.sh | 18 | ||||
-rw-r--r-- | x/xsessionrc | 13 | ||||
-rw-r--r-- | xfce/terminalrc | 40 |
16 files changed, 141 insertions, 74 deletions
@@ -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 @@ -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 @@ -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 @@ -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 @@ -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 |