Compare commits
10 commits
9ae31dc4be
...
9f8e6edf23
| Author | SHA1 | Date | |
|---|---|---|---|
| 9f8e6edf23 | |||
| e0c33b01b7 | |||
| 8ca04dec25 | |||
| c349ad7738 | |||
| ea09e028d4 | |||
| cf4e828b1b | |||
| 137fcd6e77 | |||
| 7099263341 | |||
| 23f1ca1ada | |||
| 8b0ac14305 |
37 changed files with 198 additions and 80 deletions
|
|
@ -8,6 +8,11 @@
|
|||
(zerop (call-process "git" nil nil nil
|
||||
"-C" dirname "ls-files" "--error-unmatch" filename))))
|
||||
|
||||
(defun should-auto-save-current-buffer-p ()
|
||||
"Check whether the current buffer should be autosaved."
|
||||
(when buffer-file-name
|
||||
(git-tracked-file-p buffer-file-name)))
|
||||
|
||||
(defun find-init-file ()
|
||||
"Find the user's init file"
|
||||
(interactive)
|
||||
|
|
@ -42,7 +47,7 @@
|
|||
; keep-sorted start
|
||||
(auto-save-interval 20)
|
||||
(auto-save-visited-mode t)
|
||||
(auto-save-visited-predicate (lambda () (git-tracked-file-p buffer-file-name)))
|
||||
(auto-save-visited-predicate #'should-auto-save-current-buffer)
|
||||
(column-number-mode t)
|
||||
(dired-dwim-target 'dired-dwim-target-next)
|
||||
(display-time-24hr-format t)
|
||||
|
|
|
|||
10
.config/setup/02-install-debian-testing.sh
Executable file
10
.config/setup/02-install-debian-testing.sh
Executable file
|
|
@ -0,0 +1,10 @@
|
|||
#! /usr/bin/bash
|
||||
|
||||
set -euo pipefail
|
||||
IFS=$'\n\t'
|
||||
|
||||
sudo cp "$(systemd-path user-configuration)"/setup/sources.list.d/debian.sources /etc/apt/sources.list.d/
|
||||
sudo rm /etc/apt/sources.list
|
||||
|
||||
sudo apt update
|
||||
sudo apt --yes full-upgrade
|
||||
|
|
@ -10,6 +10,7 @@ DEB_PKGS=(
|
|||
audacity
|
||||
avahi-daemon
|
||||
awscli
|
||||
blueman
|
||||
bluez
|
||||
borgbackup
|
||||
build-essential
|
||||
|
|
@ -53,6 +54,7 @@ DEB_PKGS=(
|
|||
mesa-utils
|
||||
minicom
|
||||
mpv
|
||||
network-manager-applet
|
||||
network-manager-openvpn
|
||||
nmap
|
||||
ntfs-3g
|
||||
|
|
@ -104,33 +106,5 @@ META_PKGS=(
|
|||
# keep-sorted end
|
||||
)
|
||||
|
||||
PIPX_PKGS=(
|
||||
# keep-sorted start
|
||||
python-lsp-server
|
||||
rshell
|
||||
ruff
|
||||
# keep-sorted end
|
||||
)
|
||||
|
||||
sudo DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends --yes "${DEB_PKGS[@]}"
|
||||
sudo DEBIAN_FRONTEND=noninteractive apt-get install --install-recommends --yes "${META_PKGS[@]}"
|
||||
|
||||
echo 'kernel.perf_event_paranoid=1' | sudo tee '/etc/sysctl.d/51-enable-perf-events.conf'
|
||||
|
||||
if (( "${#PIPX_PKGS[@]}" != 0 )); then
|
||||
pipx install "${PIPX_PKGS[@]}"
|
||||
fi
|
||||
|
||||
PYLSP_PLUGINS=(
|
||||
# keep-sorted start
|
||||
fs
|
||||
podman
|
||||
pydantic
|
||||
pylsp-mypy
|
||||
pylsp-rope
|
||||
pytest
|
||||
types-pyxdg
|
||||
# keep-sorted end
|
||||
)
|
||||
|
||||
pipx inject python-lsp-server "${PYLSP_PLUGINS[@]}"
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
#! /usr/bin/sh
|
||||
|
||||
resync-git-sync
|
||||
30
.config/setup/06-install-pipx-packages.sh
Executable file
30
.config/setup/06-install-pipx-packages.sh
Executable file
|
|
@ -0,0 +1,30 @@
|
|||
#! /usr/bin/bash
|
||||
|
||||
set -euo pipefail
|
||||
IFS=$'\n\t'
|
||||
|
||||
PIPX_PKGS=(
|
||||
# keep-sorted start
|
||||
python-lsp-server
|
||||
rshell
|
||||
ruff
|
||||
# keep-sorted end
|
||||
)
|
||||
|
||||
if (( "${#PIPX_PKGS[@]}" != 0 )); then
|
||||
pipx install "${PIPX_PKGS[@]}"
|
||||
fi
|
||||
|
||||
PYLSP_PLUGINS=(
|
||||
# keep-sorted start
|
||||
fs
|
||||
podman
|
||||
pydantic
|
||||
pylsp-mypy
|
||||
pylsp-rope
|
||||
pytest
|
||||
types-pyxdg
|
||||
# keep-sorted end
|
||||
)
|
||||
|
||||
pipx inject python-lsp-server "${PYLSP_PLUGINS[@]}"
|
||||
|
|
@ -1,4 +1,7 @@
|
|||
#! /usr/bin/sh
|
||||
#! /usr/bin/bash
|
||||
|
||||
set -euo pipefail
|
||||
IFS=$'\n\t'
|
||||
|
||||
systemctl --user enable --now syncthing.service
|
||||
|
||||
|
|
@ -7,3 +10,5 @@ mkdir --parents ~/Pictures/screenshots
|
|||
pre-commit install
|
||||
|
||||
sudo usermod --append --groups dialout "${USER}"
|
||||
|
||||
echo 'kernel.perf_event_paranoid=1' | sudo tee '/etc/sysctl.d/51-enable-perf-events.conf'
|
||||
|
|
@ -1,4 +1,7 @@
|
|||
#! /usr/bin/sh
|
||||
#! /usr/bin/bash
|
||||
|
||||
set -euo pipefail
|
||||
IFS=$'\n\t'
|
||||
|
||||
# keep-sorted start
|
||||
systemctl --user enable --now backup.timer
|
||||
|
|
@ -1,4 +1,7 @@
|
|||
#! /usr/bin/sh
|
||||
#! /usr/bin/bash
|
||||
|
||||
set -euo pipefail
|
||||
IFS=$'\n\t'
|
||||
|
||||
sudo cp "$(systemd-path user-configuration)"/setup/sources.list.d/tor.sources /etc/apt/sources.list.d/
|
||||
sudo chmod 644 /etc/apt/sources.list.d/tor.sources
|
||||
6
.config/setup/18-install-git-sync.sh
Executable file
6
.config/setup/18-install-git-sync.sh
Executable file
|
|
@ -0,0 +1,6 @@
|
|||
#! /usr/bin/bash
|
||||
|
||||
set -euo pipefail
|
||||
IFS=$'\n\t'
|
||||
|
||||
resync-git-sync
|
||||
|
|
@ -1,4 +1,7 @@
|
|||
#! /usr/bin/sh
|
||||
#! /usr/bin/bash
|
||||
|
||||
set -euo pipefail
|
||||
IFS=$'\n\t'
|
||||
|
||||
curl --location --output-dir /tmp --remote-name https://zoom.us/client/latest/zoom_amd64.deb
|
||||
sudo apt-get install --no-install-recommends --yes /tmp/zoom_amd64.deb
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
#! /usr/bin/sh
|
||||
|
||||
ghup
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
#! /usr/bin/sh
|
||||
|
||||
cargo install zellij
|
||||
|
|
@ -1,6 +1,9 @@
|
|||
#! /usr/bin/sh
|
||||
#! /usr/bin/bash
|
||||
|
||||
sudo mkdir -p "${BORG_REPO}"
|
||||
set -euo pipefail
|
||||
IFS=$'\n\t'
|
||||
|
||||
sudo mkdir --parents "${BORG_REPO}"
|
||||
sudo chown "${USER}":"${USER}" "${BORG_REPO}"
|
||||
sudo chmod 700 "${BORG_REPO}"
|
||||
|
||||
6
.config/setup/42-install-github-packages.sh
Executable file
6
.config/setup/42-install-github-packages.sh
Executable file
|
|
@ -0,0 +1,6 @@
|
|||
#! /usr/bin/bash
|
||||
|
||||
set -euo pipefail
|
||||
IFS=$'\n\t'
|
||||
|
||||
ghup
|
||||
|
|
@ -1,8 +1,11 @@
|
|||
#! /usr/bin/sh
|
||||
#! /usr/bin/bash
|
||||
|
||||
set -euo pipefail
|
||||
IFS=$'\n\t'
|
||||
|
||||
projdir="$(systemd-path user)"/Projects
|
||||
mkdir -p "${projdir}"
|
||||
rm -rf "${projdir}/lilypond"
|
||||
mkdir --parents "${projdir}"
|
||||
rm --force --recursive "${projdir}/lilypond"
|
||||
cd "${projdir}" || exit
|
||||
git clone --depth=1 https://github.com/lilypond/lilypond
|
||||
cd lilypond || exit
|
||||
6
.config/setup/50-install-cargo-packages.sh
Executable file
6
.config/setup/50-install-cargo-packages.sh
Executable file
|
|
@ -0,0 +1,6 @@
|
|||
#! /usr/bin/bash
|
||||
|
||||
set -euo pipefail
|
||||
IFS=$'\n\t'
|
||||
|
||||
cargo install zellij
|
||||
|
|
@ -294,6 +294,9 @@ bar {
|
|||
}
|
||||
}
|
||||
|
||||
exec blueman-applet
|
||||
exec nm-applet
|
||||
|
||||
workspace_layout tabbed
|
||||
for_window [class="."] inhibit_idle fullscreen
|
||||
for_window [app_id="."] inhibit_idle fullscreen
|
||||
|
|
|
|||
|
|
@ -1,7 +1,10 @@
|
|||
#! /usr/bin/sh
|
||||
#! /usr/bin/bash
|
||||
|
||||
set -euo pipefail
|
||||
IFS=$'\n\t'
|
||||
|
||||
STATE_DIR="$(systemd-path user-state-private)"/github-versions
|
||||
mkdir -p "${STATE_DIR}"
|
||||
mkdir --parents "${STATE_DIR}"
|
||||
|
||||
github_update() {
|
||||
package="$1"
|
||||
|
|
|
|||
|
|
@ -1,4 +1,7 @@
|
|||
#! /usr/bin/sh
|
||||
#! /usr/bin/bash
|
||||
|
||||
set -euo pipefail
|
||||
IFS=$'\n\t'
|
||||
|
||||
rebase_marker="$(git rev-parse --show-toplevel)/.git/rebase-merge/done"
|
||||
while [ -f "${rebase_marker}" ]
|
||||
|
|
|
|||
|
|
@ -1,3 +1,6 @@
|
|||
#! /usr/bin/sh
|
||||
#! /usr/bin/bash
|
||||
|
||||
set -euo pipefail
|
||||
IFS=$'\n\t'
|
||||
|
||||
zellij delete-session --force "${ZELLIJ_SESSION_NAME}"
|
||||
|
|
|
|||
|
|
@ -1,4 +1,7 @@
|
|||
#! /usr/bin/sh
|
||||
#! /usr/bin/bash
|
||||
|
||||
set -euo pipefail
|
||||
IFS=$'\n\t'
|
||||
|
||||
listopts() {
|
||||
echo "⏼ Shut down"
|
||||
|
|
|
|||
|
|
@ -1,8 +1,11 @@
|
|||
#! /usr/bin/sh
|
||||
#! /usr/bin/bash
|
||||
|
||||
set -euo pipefail
|
||||
IFS=$'\n\t'
|
||||
|
||||
TS_DIR="$(systemd-path user-state-private)"/backup
|
||||
|
||||
mkdir -p "${TS_DIR}"
|
||||
mkdir --parents "${TS_DIR}"
|
||||
|
||||
backup () {
|
||||
target=$1
|
||||
|
|
|
|||
|
|
@ -1,4 +1,7 @@
|
|||
#! /usr/bin/sh
|
||||
#! /usr/bin/bash
|
||||
|
||||
set -euo pipefail
|
||||
IFS=$'\n\t'
|
||||
|
||||
sudo sysctl net.ipv6.conf.all.disable_ipv6=1
|
||||
"$@"
|
||||
|
|
|
|||
|
|
@ -1,4 +1,7 @@
|
|||
#! /usr/bin/sh
|
||||
#! /usr/bin/bash
|
||||
|
||||
set -euo pipefail
|
||||
IFS=$'\n\t'
|
||||
|
||||
WATCHLIST="$(systemd-path user-shared)"/package-alert/watchlist
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,7 @@
|
|||
#! /usr/bin/sh
|
||||
#! /usr/bin/bash
|
||||
|
||||
set -euo pipefail
|
||||
IFS=$'\n\t'
|
||||
|
||||
podman run \
|
||||
--rm \
|
||||
|
|
|
|||
|
|
@ -1,4 +1,7 @@
|
|||
#! /usr/bin/sh
|
||||
#! /usr/bin/bash
|
||||
|
||||
set -euo pipefail
|
||||
IFS=$'\n\t'
|
||||
|
||||
REPO_DIR="$(systemd-path user-state-private)"/git-sync
|
||||
if [ -d "${REPO_DIR}" ]
|
||||
|
|
|
|||
|
|
@ -1,4 +1,7 @@
|
|||
#! /usr/bin/sh
|
||||
#! /usr/bin/bash
|
||||
|
||||
set -euo pipefail
|
||||
IFS=$'\n\t'
|
||||
|
||||
export BORG_REPO="/media/backup/"
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,7 @@
|
|||
#! /usr/bin/sh
|
||||
#! /usr/bin/bash
|
||||
|
||||
set -euo pipefail
|
||||
IFS=$'\n\t'
|
||||
|
||||
REPO_ROOT_FILE="$(systemd-path user-state-private)"/repo-roots/repo-roots
|
||||
|
||||
|
|
@ -16,14 +19,21 @@ sync_repo () {
|
|||
echo
|
||||
}
|
||||
|
||||
if [ "list" = "$1" ]; then
|
||||
case "${1:-sync}" in
|
||||
"list")
|
||||
while read -r repo_root; do
|
||||
list_repos "${repo_root}"
|
||||
done < "${REPO_ROOT_FILE}"
|
||||
else
|
||||
;;
|
||||
"sync")
|
||||
while read -r repo_root; do
|
||||
for repo in $(list_repos "${repo_root}"); do
|
||||
sync_repo "${repo}"
|
||||
done
|
||||
done < "${REPO_ROOT_FILE}"
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
echo Unknown option \""$1"\"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
|
|
|||
|
|
@ -1,4 +1,7 @@
|
|||
#! /usr/bin/sh
|
||||
#! /usr/bin/bash
|
||||
|
||||
set -euo pipefail
|
||||
IFS=$'\n\t'
|
||||
|
||||
listopts() {
|
||||
echo "📷 Focused monitor"
|
||||
|
|
|
|||
|
|
@ -1,4 +1,7 @@
|
|||
#! /usr/bin/sh
|
||||
#! /usr/bin/bash
|
||||
|
||||
set -euo pipefail
|
||||
IFS=$'\n\t'
|
||||
|
||||
# Documentation available in https://github.com/chubin/wttr.in
|
||||
curl --http1.1 --show-error --silent 'https://wttr.in/?0&m&q&T&format=3' > /tmp/weather-report.txt
|
||||
|
|
|
|||
|
|
@ -1,4 +1,7 @@
|
|||
#! /usr/bin/sh
|
||||
#! /usr/bin/bash
|
||||
|
||||
set -euo pipefail
|
||||
IFS=$'\n\t'
|
||||
|
||||
apt_update() {
|
||||
sudo --reset-timestamp
|
||||
|
|
|
|||
|
|
@ -1,4 +1,7 @@
|
|||
#! /usr/bin/sh
|
||||
#! /usr/bin/bash
|
||||
|
||||
set -euo pipefail
|
||||
IFS=$'\n\t'
|
||||
|
||||
podman --transient-store run --rm -ti \
|
||||
--env WAYLAND_DISPLAY \
|
||||
|
|
|
|||
|
|
@ -1,4 +1,7 @@
|
|||
#! /usr/bin/sh
|
||||
#! /usr/bin/bash
|
||||
|
||||
set -euo pipefail
|
||||
IFS=$'\n\t'
|
||||
|
||||
package=dolt
|
||||
repo=dolthub/dolt
|
||||
|
|
|
|||
|
|
@ -1,4 +1,7 @@
|
|||
#! /usr/bin/sh
|
||||
#! /usr/bin/bash
|
||||
|
||||
set -euo pipefail
|
||||
IFS=$'\n\t'
|
||||
|
||||
package=kingfisher
|
||||
repo=mongodb/kingfisher
|
||||
|
|
|
|||
|
|
@ -1,4 +1,7 @@
|
|||
#! /usr/bin/sh
|
||||
#! /usr/bin/bash
|
||||
|
||||
set -euo pipefail
|
||||
IFS=$'\n\t'
|
||||
|
||||
package=minikube
|
||||
repo=kubernetes/minikube
|
||||
|
|
|
|||
|
|
@ -1,4 +1,7 @@
|
|||
#! /usr/bin/sh
|
||||
#! /usr/bin/bash
|
||||
|
||||
set -euo pipefail
|
||||
IFS=$'\n\t'
|
||||
|
||||
package=rust-analyzer
|
||||
repo=rust-lang/rust-analyzer
|
||||
|
|
|
|||
|
|
@ -1,4 +1,7 @@
|
|||
#! /usr/bin/sh
|
||||
#! /usr/bin/bash
|
||||
|
||||
set -euo pipefail
|
||||
IFS=$'\n\t'
|
||||
|
||||
package=uv
|
||||
repo=astral-sh/uv
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue