Skip to content

Commit 9af04fb

Browse files
committed
Major sync
1 parent 9b5bcdf commit 9af04fb

23 files changed

+280
-47
lines changed

.gitmodules

+7-4
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,7 @@
66
url = https://github.com/scopatz/nanorc.git
77
[submodule "scripts/log"]
88
path = scripts/log
9-
url = https://github.com/bownie/bashlog
10-
[submodule "less/lesspipe"]
11-
path = less/lesspipe
12-
url = https://github.com/wofr06/lesspipe.git
9+
url = https://github.com/bownie/bashlogS
1310
[submodule "demos/_pipes"]
1411
path = demos/_pipes
1512
url = https://github.com/pipeseroni/pipes.sh
@@ -31,3 +28,9 @@
3128
[submodule ".dotbot-plugins/git"]
3229
path = .dotbot-plugins/git
3330
url = https://github.com/DrDynamic/dotbot-git.git
31+
[submodule ".dotbot-plugins/sync"]
32+
path = .dotbot-plugins/sync
33+
url = https://github.com/j1r1k/dotbot-sync.git
34+
[submodule ".dotbot-plugins/if"]
35+
path = .dotbot-plugins/if
36+
url = https://github.com/wonderbeyond/dotbot-if.git

.install.yaml

+31-7
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,13 @@
11
- defaults:
2-
link:
3-
create: true
4-
relink: true
52
aptget:
6-
upgrade: true
3+
upgrade: true
4+
link:
5+
create: true
6+
relink: true
7+
sync:
8+
stdout: true
9+
stderr: true
10+
create: true
711

812
- link:
913
~/.gitignore: git/ignore
@@ -25,6 +29,17 @@
2529
~/.ansiweatherrc:
2630

2731

32+
- if:
33+
cond: hostname | grep -q 'whiterig'
34+
met:
35+
- sudo:
36+
- sync:
37+
/etc/modprobe.d:
38+
path: '@whiterig/system/modprobe.d'
39+
owner: root
40+
group: root
41+
42+
2843
- git:
2944
~/.fonts/nerd-fonts:
3045
description: Nerd Fonts
@@ -36,16 +51,24 @@
3651
url: https://github.com/nvm-sh/nvm.git
3752
branch: v0.39.4
3853
method: clone-or-pull
54+
3955
~/.zplug:
4056
description: Zsh Plugin Manager
4157
url: https://github.com/zplug/zplug.git
4258
branch: 2.4.2
4359
method: clone-or-pull
4460

61+
~/.local/lesspipe:
62+
description: lesspipe
63+
url: https://github.com/wofr06/lesspipe.git
64+
method: clone-or-pull
65+
4566
- sudo:
46-
- link:
47-
/etc/apt/preferences.d/disallow-games.pref: system/apt/preferences.d/disallow-games.pref
48-
/etc/apt/preferences.d/disallow-grub.pref: system/apt/preferences.d/disallow-grub.pref
67+
- sync:
68+
/etc/apt/preferences.d:
69+
path: system/apt/preferences.d
70+
owner: root
71+
group: root
4972

5073
- snap:
5174
# syseng
@@ -79,6 +102,7 @@
79102
fd-find:
80103
shfmt:
81104
bat:
105+
command-not-found:
82106

83107
# prefer python3
84108
python-is-python3:

@sprinter/system/banner

+33
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
2+
'
3+
' '
4+
5+
'
6+
''''' '
7+
'' '''""'' ''
8+
''"' """"""''' ''
9+
' '''' ''"""""'' ''
10+
''' ''"""""""''' '''
11+
'''' ''"""""""''''''''''''' '''
12+
'''"""'' '""'''""""""''""'' ''''
13+
''"""'''''''''"""""''''''"""""' ''''
14+
'""'''''' '''''"""""""""""""""""' ''''""'''
15+
'''''""""""""""""""""""''"''''''''
16+
''''"'""""""""""""'"""""''"""'''
17+
'''"""""""""""""""'"'""""'' ''''
18+
''""""""""""' """''''"""""
19+
''"""""""'' """""""''''"
20+
'"""""'' '"''"""'"'
21+
'"""""''"
22+
'"""'
23+
''"'
24+
John P. Lettman '''
25+
26+
Machine: sprinter '''
27+
'"'' '
28+
Found me on a port scan during a sprint? ''' '""""""""""
29+
Let's chat! '"' '""""""""'
30+
'"' '""""""""""
31+
'' '"""""""""'
32+
'''''"""""""""
33+
''''''""""""''
File renamed without changes.

install

+14-12
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,27 @@
11
#!/usr/bin/env bash
2-
set -e;
3-
source "$(dirname "${BASH_SOURCE[0]}")/scripts/_utils.sh";
2+
set -e
3+
source "$(dirname "${BASH_SOURCE[0]}")/scripts/_utils.sh"
44

5-
config="${repo_dir}/.install.yaml";
6-
dotbot_dir="${repo_dir}/.dotbot";
7-
dotbot_plugins_dir="${repo_dir}/.dotbot-plugins";
8-
dotbot_bin="${dotbot_dir}/bin/dotbot";
5+
config="${repo_dir}/.install.yaml"
6+
dotbot_dir="${repo_dir}/.dotbot"
7+
dotbot_plugins_dir="${repo_dir}/.dotbot-plugins"
8+
dotbot_bin="${dotbot_dir}/bin/dotbot"
99

1010
dotbot_plugins=(
1111
"aptget/aptget.py"
1212
"git/git.py"
13+
"../../repos/dotbot-if/if.py"
1314
"snap/snap.py"
14-
"sudo/sudo.py"
15-
);
15+
"../../repos/dotbot-sudo/sudo.py"
16+
"sync/sync.py"
17+
)
1618

17-
git -C "${dotbot_dir}" submodule sync --quiet --recursive;
18-
git submodule update --init --recursive "${dotbot_dir}";
19+
git -C "${dotbot_dir}" submodule sync --quiet --recursive
20+
git submodule update --init --recursive "${dotbot_dir}"
1921

2022
# shellcheck disable=SC2068,SC2046
21-
"${dotbot_bin}" \
23+
"${dotbot_bin}" -vv \
2224
$(join "-p ${dotbot_plugins_dir}/" ${dotbot_plugins[@]}) \
2325
-d "${repo_dir}" \
2426
-c "${config}" \
25-
"${@}";
27+
"${@}"
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
11
#!/bin/sh
2-
export LANG=en_US.UTF-8
3-
export LC_CTYPE="${LANG}"
2+
if [ -z "${LANG}" ]; then
3+
export LANG="en_US.UTF-8"
4+
fi
5+
46
export LC_ALL="${LANG}"
7+
export LC_CTYPE="${LANG}"

shell/profile.d/env-xdg

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
#!/bin/sh
2+
# Set XDG base dirs
3+
# https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html
4+
export XDG_CONFIG_HOME="${XDG_CONFIG_HOME:-${HOME}/.config}"
5+
export XDG_CACHE_HOME="${XDG_CACHE_HOME:-${HOME}/.cache}"
6+
export XDG_DATA_HOME="${XDG_DATA_HOME:-${HOME}/.local/share}"
7+
export XDG_STATE_HOME="${XDG_STATE_HOME:-${HOME}/.local/state}"
8+
export XDG_RUNTIME_DIR="${XDG_RUNTIME_DIR:-${HOME}/.xdg}"
9+
10+
# Ensure XDG dirs exist
11+
for dir in \
12+
"${XDG_CONFIG_HOME}" \
13+
"${XDG_CACHE_HOME}" \
14+
"${XDG_DATA_HOME}" \
15+
"${XDG_STATE_HOME}" \
16+
"${XDG_RUNTIME_DIR}" \
17+
"${XDG_RUNTIME_DIR}"; do
18+
[ -e "${dir}" ] || mkdir -p "${dir}"
19+
done

shell/profile.d/tool-batcat

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
#!/bin/sh
2+
if program_exists batcat; then
3+
# Fix Ubuntu `bat` utility naming
4+
alias bat=batcat
5+
fi

shell/profile.d/tool-fzf

+10-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,11 @@
11
#!/bin/sh
2-
export FZF_DEFAULT_COMMAND="fd --type f --hidden --exclude .git";
3-
export FZF_CTRL_T_COMMAND="${FZF_DEFAULT_COMMAND}";
4-
export FZF_ALT_C_COMMAND="fd --type d --hidden --exclude .git";
2+
if program_exists fd; then
3+
export FZF_DEFAULT_COMMAND="fd --type f --hidden --exclude .git"
4+
export FZF_CTRL_T_COMMAND="${FZF_DEFAULT_COMMAND}"
5+
export FZF_ALT_C_COMMAND="fd --type d --hidden --exclude .git"
6+
elif program_exists fdfind; then
7+
alias fd=fdfind
8+
export FZF_DEFAULT_COMMAND="fdfind --type f --hidden --exclude .git"
9+
export FZF_CTRL_T_COMMAND="${FZF_DEFAULT_COMMAND}"
10+
export FZF_ALT_C_COMMAND="fdfind --type d --hidden --exclude .git"
11+
fi

shell/profile.d/tool-less

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
#!/bin/sh
2+
# Install lesspipe.
3+
if [ -r "${HOME}/.local/lesspipe/lesspipe.sh" ]; then
4+
export LESSPIPE="${HOME}/.local/lesspipe/lesspipe.sh"
5+
6+
append_path "${HOME}/.local/lesspipe/"
7+
append_manpath "${HOME}/.local/lesspipe/"
8+
9+
if [ -f "${LESSPIPE}" ]; then
10+
eval "$(SHELL=/bin/sh "${LESSPIPE}")"
11+
fi
12+
fi
13+
14+
# Set the default Less options.
15+
# Mouse-wheel scrolling can be disabled with -X (disable screen clearing).
16+
# Add -X to disable it.
17+
if [ -z "${LESS}" ]; then
18+
export LESS='-g -i -M -R -S -w -z-4'
19+
fi

shell/profile.d/tweak-keybinds

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
#!/bin/sh
2+
# Set emacs keybindings on shells that support them.
3+
# shellcheck disable=SC2009
4+
if (ps -o comm= $$ | grep -Eq '^(z|ba)sh'); then
5+
# shellcheck disable=SC3040
6+
set -o emacs
7+
fi

shell/profile.d/ui-lesspipe

-5
This file was deleted.

shell/zsh/config/aliases.zsh

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+

shell/zsh/config/bindkey.zsh

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
### ctrl+arrows
2+
bindkey "\e[1;5C" forward-word
3+
bindkey "\e[1;5D" backward-word
4+
# urxvt
5+
bindkey "\eOc" forward-word
6+
bindkey "\eOd" backward-word
7+
8+
### ctrl+delete
9+
bindkey "\e[3;5~" kill-word
10+
# urxvt
11+
bindkey "\e[3^" kill-word
12+
13+
### ctrl+backspace
14+
bindkey '^H' backward-kill-word
15+
16+
### ctrl+shift+delete
17+
bindkey "\e[3;6~" kill-line
18+
# urxvt
19+
bindkey "\e[3@" kill-line

shell/zsh/config/options.zsh

+42-7
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,47 @@
1-
# Movement options
2-
setopt autocd autopushd pushdminus pushdsilent pushdtohome cdablevars pushd_ignore_dups
1+
zplug "willghatch/zsh-saneopt"
2+
3+
# 16.2.1 Changing Directories
4+
setopt auto_cd # If a command isn't valid, but is a directory, cd to that dir.
5+
setopt auto_pushd # Make cd push the old directory onto the dirstack.
6+
setopt cdable_vars # Change directory to a path stored in a variable.
7+
setopt pushd_ignore_dups # Don't push multiple copies of the same directory onto the dirstack.
8+
setopt pushd_minus # Exchanges meanings of +/- when navigating the dirstack.
9+
setopt pushd_silent # Do not print the directory stack after pushd or popd.
10+
setopt pushd_to_home # Push to home directory when no argument is given.
311
DIRSTACKSIZE=5
412

5-
# Enable extended globbing
6-
setopt extendedglob
13+
# General options
14+
setopt combining_chars # Combine 0-len chars with the base character (eg: accents).
15+
setopt interactive_comments # Enable comments in interactive shell.
16+
setopt rc_quotes # Allow 'Hitchhikers''s Guide' instead of 'Hitchhikers'\''s Guide'.
17+
setopt NO_mail_warning # Don't print a warning message if a mail file has been accessed.
18+
setopt NO_beep # Don't Beep on error in line editor.
19+
20+
# Expansion and Globbing
21+
setopt extended_glob # Use extended globbing syntax.
22+
setopt glob_dots # Don't hide dotfiles from glob patterns.
23+
setopt no_rm_star_silent # Ask for confirmation for `rm *' or `rm path/*'
24+
25+
# Input/Output
26+
setopt NO_clobber # Don't overwrite files with >. Use >| to bypass.
27+
28+
# Scripts and Functions
29+
setopt multios # Write to multiple descriptors.
30+
31+
# Job options
32+
setopt long_list_jobs # List jobs in the long format by default.
33+
setopt auto_resume # Attempt to resume existing job before creating a new process.
34+
setopt notify # Report status of background jobs immediately.
35+
setopt NO_bg_nice # Don't run all background jobs at a lower priority.
36+
setopt NO_hup # Don't kill jobs on shell exit.
37+
setopt NO_check_jobs # Don't report on jobs when shell exit.
38+
setopt no_auto_menu # Require an extra TAB press to open the completion menu
39+
40+
# Use built-in paste magic.
41+
autoload -Uz bracketed-paste-url-magic
42+
zle -N bracketed-paste bracketed-paste-url-magic
43+
autoload -Uz url-quote-magic
44+
zle -N self-insert url-quote-magic
745

846
# Allow [ or ] whereever you want
947
unsetopt nomatch
10-
11-
setopt interactive_comments
12-
setopt no_flow_control

shell/zsh/config/plugins.zsh

+13
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22
zplug "zap-zsh/supercharge"
33
zplug "zap-zsh/exa"
44

5+
# bat
6+
zplug "johnlettman/zsh-bat", at:feature/batcat
7+
58
# ASCIIDoctor Plugin
69
# https://github.com/sparsick/asciidoctor-zsh
710
zplug "sparsick/asciidoctor-zsh", defer:2
@@ -30,3 +33,13 @@ favorite-directories:get() {
3033

3134
zplug "seletskiy/zsh-favorite-directories"
3235
bindkey -v '^_' "favorite-directories:cd"
36+
37+
# Terminal utilities, e.g. setting window name
38+
zplug "modules/terminal", from:prezto
39+
40+
# Integration for `command-not-found`
41+
zplug "modules/command-not-found", from:prezto
42+
43+
# systemd plugin
44+
# https://github.com/le0me55i/zsh-systemd
45+
zplug "le0me55i/zsh-systemd"

shell/zsh/zshrc.zsh

+4-1
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,8 @@ alias -g S='| sort'
6464
alias -g G='| grep'
6565

6666
# Tips
67-
zplug "djui/alias-tips"
67+
# zplug "djui/alias-tips"
68+
zplug "akash329d/zsh-alias-finder"
6869

6970
#
7071
# Git
@@ -122,3 +123,5 @@ if ! zplug check --verbose; then
122123
fi
123124

124125
zplug load
126+
127+
set -o emacs
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
Explanation: Disallow the Dell recovery bootloader (we never use this).
2+
Package: dell-recovery-bootloader
3+
Pin: release *
4+
Pin-Priority: -1
+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
Explanation: Disallow the KDE games metapackage.
2+
Package: kdegames
3+
Pin: release *
4+
Pin-Priority: -1
5+
6+
Explanation: Disallow KDE games and data.
7+
Package:
8+
bomber bovo granatier kajongg kapman katomic kblackbox kblocks kbounce
9+
kbreakout kdiamond kfourinline kgeography kgoldrunner kigo killbots kiriki
10+
kjumpingcube klickety klines kmahjongg kmines knavalbattle knetwalk kolf
11+
kollision konquest kpat kreversi kshisen ksirk ksnakeduel kspaceduel
12+
ksquares ksudoku ktuberling ktuberling-data kubrick libkf5kdegames-data
13+
libkf5kdegames7 libkf5kdegamesprivate7 libkf5kmahjongglib5 lskat palapeli
14+
palapeli-data picmi qml-module-org-kde-games-core kdegames-card-data-kf5
15+
kdegames-mahjongg-data-kf5
16+
Pin: release *
17+
Pin-Priority: -1

system/apt/preferences.d/disallow-games.pref

-3
This file was deleted.

0 commit comments

Comments
 (0)