From 2077332b17dfea64265c58e5a17a704ee189df96 Mon Sep 17 00:00:00 2001 From: Peter Harpending Date: Sun, 20 Sep 2026 17:54:17 -0700 Subject: [PATCH] vimrc zshrc --- README.md | 250 +----------------------------------------------------- vimrc | 7 +- zshrc | 18 ++++ 3 files changed, 24 insertions(+), 251 deletions(-) diff --git a/README.md b/README.md index ba76f3a..3bde973 100644 --- a/README.md +++ b/README.md @@ -9,251 +9,5 @@ It essentially contains the minimal set of deviations from "Devuan with LXDE" defaults that I require in order to not find the computer to be an active hindrance to my productivity: -# new system config - -terminology: - -- being-set-up machine = mark -- already-set-up machine = pilot - -## devuan - - -### SSHD config - -- copy `id_rsa.pub` from laptop -- edit `/etc/ssh/sshd_config` to sane defaults - -in particular: - -1. **disable root login** -2. **disable password login** - -### sudo - -- add `pharpend` to `sudo` group: - - ``` - # apt install sudo - # usermod -aG pharpend sudo - ``` - -### firefox - - -``` -% sudo apt install firefox -``` - -- rsync firefox passwords -- add to firefox - -### git - -``` -% sudo apt install git -% git config --global init.defaultBranch master -% git config --global user.name "Peter Harpending" -% git config --global user.email "peter@harpending.org" -``` - -### `git.harpending.org` - -- ssh keygen - - ``` - % ssh-keygen - % cat ~/.ssh/id_ed25519.pub - ``` - -- go to `git.harpending.org` on pilot machine, add ssh key to user - profile - - -### dotfiles - -``` -% mkdir ~/gho -% cd ~/gho -% git clone https://git.harpending.org/pharpend/dotfiles-ii.git -``` - -### tmux - -``` -% sudo apt install tmux -% cp ~/gho/dotfiles-ii/tmux.conf ~/.tmux.conf -``` - -### zsh - -``` -% sudo apt install zsh zsh-syntax-highlighting -% cp ~/gho/dotfiles-ii/zshrc ~/.zshrc -% chsh -s /usr/bin/zsh -``` - - -### vim - -``` -% sudo apt install vim vim-pathogen -``` - -``` -% cp -rv ~/gho/dotfiles-ii/vimrc ~/.vimrc -% cp -rv ~/gho/dotfiles-ii/vim ~/.vim -``` - - -### i3 - -pulls in i3wm, i3lock, i3status, dunst: - -``` -% sudo apt install i3 -% mkdir ~/.i3 -% cp -rv ~/gho/dotfiles-ii/i3/config ~/.i3/config -% cp -rv ~/gho/dotfiles-ii/i3status.conf ~/.i3status.conf -``` - -### fonts - -``` -% sudo apt install fonts-liberation fonts-fantasque-sans font-manager -``` - -to refresh font cache: - -``` -% fc-cache -fv -``` - -### terminator - -``` -% sudo apt install terminator -% rsync -avn ~/gho/dotfiles-ii/config/ ~/.config -``` - -### terminator - -### music - -music - - - dry run (for making sure didn't fuck up confusing af slash syntax): - - ``` - % rsync -avn Music/ pharpend@mark:/home/pharpend/Music - ``` - - - wet run: - - ``` - % rsync -av Music/ pharpend@mark:/home/pharpend/Music - ``` - -### `apt install` shell utilities - -exhaustive-ish - -``` -# apt install\ - build-essential \ - gcc \ - git \ - rsync \ - sudo \ - tmux \ - tree \ - vim \ - vim-pathogen \ - zsh \ - zsh-syntax-highlighting \ -``` - -### `apt install` desktop utilities - - -``` -# apt install\ - blueman \ - emacs \ - firefox \ - i3 \ - gthumb \ - guake \ - kde-spectacle \ - mpc \ - mpd \ - ncmpcpp \ - nitrogen \ - redshift \ - rxvt-unicode \ - terminator \ -``` - - - -## freebsd - -- copy `id_rsa.pub` -- enable ssh sysadmin: - - # pw groupmod wheel -m pharpend - -- basic shell utilities - - # pkg install tmux zsh vim rsync git lynx tree bash - -- basic graphical environment - - # pkg install \ - xorg i3 terminator rxvt-unicode dmenu \ - liberation-fonts-ttf pulseaudio parcellite dunst \ - nitrogen redshift firefox-esr fantasque-sans-mono \ - emacs pcmanfm pavucontrol spectacle plasma6-spectacle \ - scrot vlc viewnior gthumb \ - - linux-brave - chromium - iridium - -- Erlang/zx - - # pkg install \ - erlang erlang-wx - -# context - -- I set up new machines pretty frequently -- This has endowed me with a strong preference for low-maintenance - operating systems with sane defaults -- The idea here is to have the "minimal" set of dotfiles where I can - clone this repo and just copy everything to its location on the new - machine -- I have found that the system of directly symlinking my dotfiles - from the git repo to the local machine is more trouble than it's - worth, due to high volume of per-machine diffs. -- e.g. laptop needs battery charge info in i3status bar config, - desktop machine doesn't; there's a million little things like that - that differ from one machine to another -- like i said, this is the set of things that despite my best efforts - -- In the past I used Gentoo and Arch Linux and and and and... -- That was fun and fulfilling when I was 17 and I had no serious - responsibilities in my life. -- to be clear, the "I use Arch BTW" phase was an extremely valuable - period in which I learned the skills on which I now rely on a day - to day basis. -- However I'm now in my 30s, and, for better or for worse, I have - aged out of finding Arch Linux interesting. -- I just can't bring myself to care about the operating system for - its own sake any more. -- I have converged on "Devuan for everything" because it annoys me - the least -- In the past it was "Ubuntu for everything" but replacing the GNU - coreutils with the Rust coreutils (why?) was the straw that broke - the camel's back for me. -- I don't know why systemd or snaps weren't that straw +For new machine setup see [New Machine +Setup](https://git.harpending.org/pharpend/wiki/wiki/New-Machine-Setup) diff --git a/vimrc b/vimrc index ef92abc..2d66719 100644 --- a/vimrc +++ b/vimrc @@ -92,8 +92,9 @@ augroup foo " +c = autowrap in insert mode only in comments autocmd FileType * setlocal formatoptions-=t formatoptions+=qnjc autocmd FileType * setlocal textwidth=69 - " markdown paragraph wrap - autocmd FileType * setlocal formatoptions+=tn + " markdown: 2 space indent + autocmd FileType markdown setlocal shiftwidth=2 + autocmd FileType markdown setlocal tabstop=2 " python: pep8 says best textwidth is 80 chars but fuck pep8 " but only gently. we'll go with 79 autocmd FileType python setlocal textwidth=79 @@ -101,7 +102,7 @@ augroup foo autocmd FileType xml setlocal formatoptions-=t " Erlang handle comments beginning with %% | %%% etc autocmd FileType erlang setlocal comments=:%%%%%,:%%%%,:%%%,:%%,:% - autocmd FileType erlang setlocal textwidth=55 + "autocmd FileType erlang setlocal textwidth=55 autocmd FileType erlang setlocal formatoptions-=t " handle numbered lists properly in markdown "autocmd FileType markdown setlocal formatoptions+=n diff --git a/zshrc b/zshrc index 80dbfe5..6f611a1 100644 --- a/zshrc +++ b/zshrc @@ -20,6 +20,19 @@ alias ls='ls -F -G' alias l='ls -l' alias la='l -a' alias xv='vim -X' +alias xcl='xclip -sel clip' + +qwerty-nocaps() { + setxkbmap us -option terminate:ctrl_alt_bksp,compose:ralt,ctrl:nocaps +} + +qwerty() { + setxkbmap us -option terminate:ctrl_alt_bksp,compose:ralt +} + +QWERTY() { + setxkbmap us -option terminate:ctrl_alt_bksp,compose:ralt +} genid () { date | sha1sum | sed -e 's/^\([0-9a-z]\{7\}\).\+/\1/' @@ -139,3 +152,8 @@ twoln () { echo '2' } # syntax highlighting source /usr/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh + +# this has multiple purposes: +# 1. sudo -e uses vim by default +# 2. codex/claude/git/etc use vim +export EDITOR='vim'