about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--.config/git/config7
-rw-r--r--.config/zsh/.zprofile1
-rw-r--r--.config/zsh/utils.zsh64
-rw-r--r--.config/zsh/zprofile10
-rw-r--r--.config/zsh/zshenv6
-rw-r--r--.ssh/authorized_keys1
-rw-r--r--.vim/vimrc3
-rw-r--r--.xinitrc7
-rw-r--r--README.md229
9 files changed, 45 insertions, 283 deletions
diff --git a/.config/git/config b/.config/git/config
index e1a2122..3848058 100644
--- a/.config/git/config
+++ b/.config/git/config
@@ -1,6 +1,6 @@
 [user]
 	email = us@starfall.systems
-	name = Starfall
+	name = Rabbit Whispers
 	signingkey = 541D770208F350CF2D8050BEBA9A53C969522B56
 [init]
 	defaultBranch = main
@@ -19,12 +19,11 @@
 ; probably also needs to checkout main or develop first
 	clean = !git remote prune origin && git branch | xargs git branch -d
 	force = push --force-with-lease
-	last = !got --no-pager show --abbrev-commit HEAD
+	last = !git --no-pager show --abbrev-commit HEAD
 	oops = commit --all --amend --no-edit
 	rebranch = !git checkout main && git pull && git checkout - && git rebase main
 	stashpull = !git stash && git pull && git stash pop
 	stat = status
 	tree = log --all --graph --oneline
-	unstage = restore --staged
 [gpg]
-	program = gpg2
+	program = gpg
diff --git a/.config/zsh/.zprofile b/.config/zsh/.zprofile
new file mode 100644
index 0000000..5aecf11
--- /dev/null
+++ b/.config/zsh/.zprofile
@@ -0,0 +1 @@
+source $ZDOTDIR/zprofile
diff --git a/.config/zsh/utils.zsh b/.config/zsh/utils.zsh
index bc986d9..abb9e06 100644
--- a/.config/zsh/utils.zsh
+++ b/.config/zsh/utils.zsh
@@ -5,51 +5,39 @@ function has () {
 	command -v "$@" &> /dev/null
 }
 
-# cat
-has bat && alias cat='bat --plain --paging=never'
-# should consider another alias for --show-all (and --number on base cat) but it's not a good default
+alias dd="dd status=progress oflag=direct,sync"
+alias grep="grep -E --color=auto --exclude-dir=.git" # one day i will try ag or rg
+alias mkdir='mkdir -p'
 
-# diff
-alias diff='diff --color'
+if [[ $OSTYPE =~ 'linux' ]]; then
+	# probably breaks for busybox but i don't run alpine anywhere at the moment
+	alias df="df -TH --exclude-type=tmpfs --exclude-type=devtmpfs --exclude-type=squashfs --exclude-type=udev"
+	alias diff='diff --color'
+	alias ls='ls --color=auto'
+	alias ll='ls -l --almost-all --no-group --human-readable --color=auto'
+elif [[ $OSTYPE =~ 'darwin' ]]; then
+	alias df="df -YH -T noautofs,devfs,tmpfs,squashfs"
+	alias ls='ls -G'
+	alias ll='ls -hoAG'
+elif [[ $OSTYPE == 'cygwin' ]]; then
+	alias sudo='cygstart --action=runas'
+fi
 
-# grep
-grep_opts="--color=auto --exclude-dir=.git"
-alias grep="grep $grep_opts"
-alias egrep="egrep $grep_opts"
-alias fgrep="fgrep $grep_opts"
-unset grep_opts
+if has bat; then
+	alias cat='bat --plain --paging=never'
+	# another with --show-all?
+	export MANPAGER="sh -c 'col -bx | bat --plain --language man'"
+	export MANROFFROPT='-c'
+fi
 
-# ls
 if has eza; then
 	alias ls='eza'
 	alias ll='eza --long --header --all'
-elif ls --color &> /dev/null; then
-	alias ls='ls --color=auto'
-	alias ll='ls -l --almost-all --no-group --human-readable'
-else
-	# bsd/mac ls
-	export CLICOLOR='1'
-	alias ll='ls -hoA'
 fi
 
-# tree
-has tree && alias tree='tree -C'
-
-# mkdir
-alias mkdir='mkdir -p'
-
-# dd
-alias dd="dd status=progress oflag=direct,sync"
-
-## df
-alias df="df -TH --exclude-type=tmpfs --exclude-type=devtmpfs --exclude-type=squashfs"
-
-# gpg
-has gpg2 && alias gpg='gpg2'
-
-# cygwin-specific
-if [[ "$OSTYPE" == 'cygwin' ]]; then
-	alias sudo='cygstart --action=runas'
+if has gpg2; then
+	alias gpg='gpg2'
+	export GPG_TTY=$TTY
 fi
 
-unfunction has
+has tree && alias tree='tree -C'
diff --git a/.config/zsh/zprofile b/.config/zsh/zprofile
new file mode 100644
index 0000000..9e6b587
--- /dev/null
+++ b/.config/zsh/zprofile
@@ -0,0 +1,10 @@
+if command -v brew &> /dev/null; then
+	export HOMEBREW_PREFIX="/usr/local"
+	export HOMEBREW_CELLAR="/usr/local/Cellar"
+	export HOMEBREW_REPOSITORY="/usr/local/Homebrew"
+	fpath[1,0]="/usr/local/share/zsh/site-functions"
+	PATH="/usr/local/bin:/usr/local/sbin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:$HOME/.local/bin"
+	export PATH;
+	[ -z "${MANPATH-}" ] || export MANPATH=":${MANPATH#:}"
+	export INFOPATH="/usr/local/share/info:${INFOPATH:-}"
+fi
diff --git a/.config/zsh/zshenv b/.config/zsh/zshenv
index 80ac555..29e10b8 100644
--- a/.config/zsh/zshenv
+++ b/.config/zsh/zshenv
@@ -1,7 +1,6 @@
 export EDITOR='vim'
 export PAGER='less'
 export LESS='--RAW-CONTROL-CHARS'
-export GPG_TTY=$TTY
 
 export PATH=$HOME/.local/bin:$PATH
 
@@ -21,8 +20,3 @@ fi
 if command -v npm &> /dev/null; then
 	export npm_config_prefix="$HOME/.local"
 fi
-
-if command -v bat &> /dev/null; then
-	export MANPAGER="sh -c 'col -bx | bat --plain --language man'"
-	export MANROFFOPT="-c"
-fi
diff --git a/.ssh/authorized_keys b/.ssh/authorized_keys
index 294650f..7adf5aa 100644
--- a/.ssh/authorized_keys
+++ b/.ssh/authorized_keys
@@ -1,3 +1,4 @@
 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHVMEkZQ+dGB/wwc/Mo7Ejp8QXH9XpUWXKf7RixjBsJO minnow@regulus
 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIM6EriCOo9vam/DbqRFdRayMduO1YC2zUz5ziz3gZqai minnow@spica
 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIE+pa4/yTL6M2U4urMXinpcGY5/yHFq5kh5qQv3hjxGQ minnow@dziban
+ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMk+e7oeUzxEe49WKQ2jbCE0VPKBRxsGTXUJ/2k4jLuR minnow@Polaris
diff --git a/.vim/vimrc b/.vim/vimrc
index 869188a..e6cb2da 100644
--- a/.vim/vimrc
+++ b/.vim/vimrc
@@ -12,7 +12,8 @@ set autoindent
 set shiftwidth=4
 set tabstop=4
 
-" enable filetype settings
+" use editorconfig and filetype defaults
+packadd! editorconfig
 filetype plugin indent on
 syntax on 
 set smartindent
diff --git a/.xinitrc b/.xinitrc
index 48bf79b..1f5918b 100644
--- a/.xinitrc
+++ b/.xinitrc
@@ -29,10 +29,7 @@ if [ -d /etc/X11/xinit/xinitrc.d ] ; then
  unset f
 fi
 
-# exec desktop session - KDE or XFCE
-if command -v startplasma-x11 > /dev/null 2>&1; then
-	export DESKTOP_SESSION=plasma
-	exec startplasma-x11
-elif command -v startxfce4 > /dev/null 2>&1; then
+# exec desktop session - XFCE
+if command -v startxfce4 > /dev/null 2>&1; then
 	exec startxfce4
 fi
diff --git a/README.md b/README.md
index d6fd81f..3f4e536 100644
--- a/README.md
+++ b/README.md
@@ -20,232 +20,3 @@ alias config='git --git-dir=$HOME/.dotfiles/ --work-tree=$HOME'
 config checkout
 config config --local status.showUntrackedFiles no
 ```
-
-## Other new machine setup
-
-### minimal
-* base-devel
-* fzf
-* git
-* mandoc
-* openssh
-* pass (needs --asdep xclip)
-* p7zip
-* unzip
-* tree
-* vim
-* zsh (remember to `chsh -s $(which zsh)`)
-
-### paru for AUR
-(pulls down rust)
-```
-git clone https://aur.archlinux.org/paru.git ~/devil/external
-cad !$
-makepkg -si
-```
-
-### monitoring and system info
-* htop
-* neofetch
-
-### tool replacements
-* bat
-* exa
-
-### sshd config
-```zsh
-echo <<END
-PermitRootLogin no
-PasswordAuthentication no
-END >> /etc/ssh/sshd_config
-ssh-keygen -A
-systemctl enable sshd
-```
-
-### network
-* magic-wormhole (pulls down python)
-* ntp (be sure to `systemctl start ntpd`)
-* ufw (if needed)
-
-#### iwd
-```zsh
-systemctl disable systemd-networkd
-
-pacman -S iwd
-echo <<END
-[General]
-EnableNetworkConfiguration=true
-END >> /etc/iwd/main.conf
-systemctl enable iwd
-```
-
-#### manual dns
-```zsh
-systemctl disable systemd-resolved
-
-echo <<END
-nameserver 9.9.9.9
-nameserver 149.112.112.112
-nameserver 2620:fe::fe
-END > /etc/resolv.conf
-```
-
-#### avahi
-per [arch wiki](https://wiki.archlinux.org/title/Avahi):
-```zsh
-pacman -S avahi nss-mdns
-systemctl enable avahi-daemon
-systemctl start avahi-daemon
-# in /etc/nsswitch.conf, add `mdns_minimal [NOTFOUND=return]` before `resolve`
-```
-
-### dev
-* docker
-* docker-buildx
-
-### desktop environment
-* xorg-server
-* xfce4
-* ttf-dejavu
-* wqy-zenhei
-
-AUR:
-* delft-icon-theme
-* ttf-iosevka-term-curly
-
-#### sound
-* pipewire
-* pipewire-alsa
-* pipewire-pulse
-* pavucontrol
-
-#### media
-* inkscape
-* nomacs
-* strawberry
-* vlc
-* yt-dlp
-
-#### web applications
-* element-desktop (need a better client)
-* discord
-* firefox
-* thunderbird
-* mumble
-
-### sound
-* pavucontrol
-* pipewire-alsa
-* pipewire-pulse
-* wireplumber
-* xfce4-pulseaudio-plugin
-
-### to describe
-* gvfs
-* x and xfce
-* fortune
-* autoupdates
-* krita and tablet support
-* gvfs (if still needed)
-* sound: pipewire, wireplumber
-* gpg, gpg-agent
-* turn all of this stuff into an ansible playbook or something else automatable
-* printing with cups
-
-## T430s full setup walkthrough
-Boot into live image
-
-Connect to wifi:
-```
-iwctl
-[iwd] station wlan0 scan
-[iwd] station wlan0 get-networks
-[iwd] station wlan0 connect <SSID>
-[iwd] exit
-```
-
-Encrypted disk setup:
-```bash
-parted /dev/sda
-(parted) mklabel gpt
-(parted) mkpart "EFI" fat32 0% 500M
-(parted) set 1 esp on
-(parted) mkpart "linux" ext4 500M 100%
-(parted) quit
-mkfs.fat -F32 -n EFI /dev/disk/by-partlabel/EFI
-cryptsetup luksFormat /dev/disk/by-partlabel/linux
-cryptsetup luksOpen /dev/disk/by-partlabel/linux root
-mkfs.ext4 -L linux /dev/mapper/root
-```
-
-Install Arch:
-```bash
-mount /dev/mapper/root /mnt
-mount --mkdir /dev/disk/by-partlabel/EFI /mnt/boot
-
-# optimize mirrors list now
-reflector --save /etc/pacman.d/mirrorlist --protocol https --latest 5 --sort rate
-
-# install base system
-pacstrap -K /mnt base linux linux-lts linux-firmware intel-ucode dracut vim
-arch-chroot /mnt
-
-# locale setup
-ln -sf /usr/share/zoneinfo/America/Chicago /etc/localtime
-hwclock --systohc
-echo en_US.UTF-8 UTF-8 >> /etc/locale.gen
-echo en_US.UTF-8 > /etc/locale.conf
-echo dziban > /etc/hostname
-echo <<END
-127.0.0.1 localhost
-::1       localhost
-127.0.0.1 dziban
-END >> /etc/hosts
-locale-gen
-
-# create root password
-[minnow@regulus] pass generate machines/dziban
-[minnow@regulus] pass git push
-passwd
-
-# generate unified kernel images with dracut
-pacman -S --asdeps binutils elfutils
-
-uuid=`cryptsetup luksDump /dev/disk/by-partlabel/linux | grep UUID | awk '{print $2}'`
-echo kernel_cmdline="rd.luks.name=$uuid=root rd.luks.options=no-read-workqueue,no-write-workqueue,discard root=/dev/mapper/root rw" > /etc/dracut.conf.d/luks.conf
-# remove rd.luks.options for a spinning disk
-
-for kernel in /lib/modules/*
-    do dracut --verbose --force --uefi --kver "${kernel##*/}"
-done
-
-# boot loader
-bootctl install
-```
-
-And continue as usual:
-```
-visudo
-# relevant config line is only this, absolutely no env_keep. can consider secure_path in the future:
-# %wheel ALL=(ALL:ALL) ALL
-
-useradd -m -G wheel -s /bin/zsh minnow
-passwd minnow
-
-exit
-umount -R /mnt
-reboot
-
-systemctl enable systemd-timesyncd
-```
-
-## Pinebook Pro specific setup
-
-### Optimize mirrors list
-Default mirrors were really slow for me. `sudo pacman-mirrors --fasttrack && sudo pacman -Syyu` bumped up the download speed from 30 kbps to 300kbps; still not the full connection but livable.
-
-### Flash keyboard firmware
-`git clone https://github.com/jackhumbert/pinebook-pro-keyboard-updater` and follow the instructions. Have an external keyboard handy after step 1.
-
-### Configure ZRAM
-Manjaro 20.06 appears to come with a /dev/zram0 preconfigured.