From c5b1ca05a13505f01854579167b0d2e33b80ce20 Mon Sep 17 00:00:00 2001 From: Keith Gaughan Date: Sun, 7 Jun 2026 23:55:44 +0100 Subject: [PATCH] Initial version --- README.md | 5 ++++ home/.cshrc | 64 ++++++++++++++++++++++++++++++++++++++++++++ home/.exrc | 8 ++++++ home/.gitconfig | 9 +++++++ home/.login | 70 +++++++++++++++++++++++++++++++++++++++++++++++++ home/.muttrc | 68 +++++++++++++++++++++++++++++++++++++++++++++++ home/.tmux.conf | 17 ++++++++++++ home/.vimrc | 22 ++++++++++++++++ 8 files changed, 263 insertions(+) create mode 100644 README.md create mode 100644 home/.cshrc create mode 100644 home/.exrc create mode 100644 home/.gitconfig create mode 100644 home/.login create mode 100644 home/.muttrc create mode 100644 home/.tmux.conf create mode 100644 home/.vimrc diff --git a/README.md b/README.md new file mode 100644 index 0000000..3841925 --- /dev/null +++ b/README.md @@ -0,0 +1,5 @@ +To install: + +```sh +stow -t ~ home +``` diff --git a/home/.cshrc b/home/.cshrc new file mode 100644 index 0000000..c520281 --- /dev/null +++ b/home/.cshrc @@ -0,0 +1,64 @@ +foreach dirname (/sbin /usr/sbin /usr/pkg/sbin ~/bin ~/.local/bin) + if (-e $dirname) set -f path = ($path $dirname) +end + +if (-X vim) then + setenv EDITOR vim +else + setenv EDITOR vi + alias vim vi # Muscle memory. +endif + +foreach PAGER (most less more cat) + if (-X $PAGER) break +end +alias m $PAGER + +if ($?prompt) then + # An interactive shell -- set some stuff up + set prompt = "%{\e[0;33m%}%N%{\e[0m%}@%{\e[34m%}%m %{\033[0;36m%}%~ %B%#%b%{\e[0m%} " + set promptchars = "%#" + + setenv LS_COLORS "di=33;1:fi=37;1:ln=36;1:ex=01;31:pi=40;33:so=01;34:bd=40;33;01:cd=4;33;01:*.o=37:*.log=37" + + set autocorrect # fix misspellings + set autoexpand # auto invokes expand-history before completions + set autolist = ambiguous # use history to aid expansion + set autorehash # remove the need to run hash to rescan PATH + set color # colour display for ls -F + set complete = enhance # ignore case, consider .-_ as word separators + set filec # file completion + set globstar # support '**' globs + set histdup = erase # erase older duplicate entries + set history = 1000 # history contains 1000 entries max + set implicitcd # typing a directory name cd's there + set listlinks # show target file type for symlinks + set noclobber = (notempty ask) # restrict >> to preserve existing non-empty files + set savehist = ($history merge lock) # merge current session into .history + + # files to ignore on completion + set fignore = (.pyc .o .so. pyo .bak. tmp) + + if ($?tcsh) then + bindkey "^W" backward-delete-word + bindkey -k up history-search-backward + bindkey -k down history-search-forward + bindkey "\e[1~" beginning-of-line # Home + bindkey "\e[2~" overwrite-mode # Insert + bindkey "\e[3~" delete-char-or-list-or-eof # Delete + bindkey "\e[4~" end-of-line # End + bindkey "^R" i-search-back + bindkey "\e[1;5D" backward-word + bindkey "\e[1;5C" forward-word + endif + + alias h history 25 + alias j jobs -l + alias la ls -aF + alias lf ls -FA + alias ll ls -lAF + # This is how I wish 'tmux attach' behaved: + alias s "tmux has && tmux attach || tmux" + alias xh "rm -f ~/.history && history -c" +endif +# vim:set ft=tcsh ts=4 sts=4 sw=4: diff --git a/home/.exrc b/home/.exrc new file mode 100644 index 0000000..47f856a --- /dev/null +++ b/home/.exrc @@ -0,0 +1,8 @@ +set autoindent +set fileencoding=utf-8 +set number +set ruler +set showmatch +set showmode +set sw=4 +set ts=4 diff --git a/home/.gitconfig b/home/.gitconfig new file mode 100644 index 0000000..7228187 --- /dev/null +++ b/home/.gitconfig @@ -0,0 +1,9 @@ +[user] + name = Keith Gaughan + email = talideon@tilde.club + +[url "git@github.com:"] + insteadOf = https://github.com/ + +[url "git@tildeforge.dev:"] + insteadOf = https://tildeforge.dev/ diff --git a/home/.login b/home/.login new file mode 100644 index 0000000..ba3c065 --- /dev/null +++ b/home/.login @@ -0,0 +1,70 @@ +# +# .login - csh login script, read by login shell, after `.cshrc' at login. +# +# see also csh(1), environ(7). +# + +setenv TZ /usr/share/zoneinfo/Europe/Dublin + +if ($?TMUX) then + setenv TERM screen-256color +else if ($tty =~ ttyv*) then + setenv TERM cons25 +else + setenv TERM xterm-256color +endif + +# Completions grabbed from various places. +complete cd 'p/1/d/' +complete rmdir 'p/1/d/' +complete fg 'c/%/j/' +complete man 'C/*/c/' +complete service 'c/-/(e l r v)/' 'p/1/`service -l`/' 'n/*/(start stop reload restart status rcvar onestart onestop)/' +complete tmux 'n/*/(attach detach has kill-server kill-session lsc lscm ls lockc locks new refresh rename showmsgs source start suspendc switchc)/' +complete make 'n@*@`make -pn | sed -n -E "/^[#_.\/[:blank:]]+/d; /=/d; s/[[:blank:]]*:.*//gp;"`@' +complete pkill 'c/-/S/' 'n/*/`ps -axc -o command="" | sort -u`/' +complete sudo 'n/-l/u/' 'p/1/c/' +complete chgrp 'p/1/g/' +complete chown 'c/*[.:]/g/' 'p/1/u/:' 'n/*/f/' + +complete git 'p/1/(add merge-recursive add--interactive merge-resolve am \ + merge-subtree annotate merge-tree apply mergetool archimport mktag \ + archive mktree bisect mv bisect--helper name-rev blame notes branch \ + pack-objects bundle pack-redundant cat-file pack-refs check-attr \ + patch-id check-ref-format peek-remote checkout prune checkout-index \ + prune-packed cherry pull cherry-pick push clean quiltimport clone \ + read-tree column rebase commit receive-pack commit-tree reflog config \ + relink count-objects remote credential-cache remote-ext \ + credential-cache--daemon remote-fd credential-store remote-ftp daemon \ + remote-ftps describe remote-http diff remote-https diff-files \ + remote-testgit diff-index repack diff-tree replace difftool \ + repo-config difftool--helper request-pull fast-export rerere \ + fast-import reset fetch rev-list fetch-pack rev-parse filter-branch \ + revert fmt-merge-msg rm for-each-ref send-email format-patch send-pack \ + fsck sh-i18n--envsubst fsck-objects shell gc shortlog \ + get-tar-commit-id show grep show-branch hash-object show-index help \ + show-ref http-backend stage http-fetch stash http-push status \ + imap-send stripspace index-pack submodule init symbolic-ref init-db \ + tag instaweb tar-tree log unpack-file lost-found unpack-objects \ + ls-files update-index ls-remote update-ref ls-tree update-server-info \ + mailinfo upload-archive mailsplit upload-pack merge var merge-base \ + verify-pack merge-file verify-tag merge-index web--browse \ + merge-octopus whatchanged merge-one-file write-tree merge-ours)/' \ + 'n@checkout@`git branch -a | sed -r "s|^[\* ]+(remotes/origin/)?||; /^HEAD/d" | sort -u`@' \ + 'n@co@`git branch -a | sed -r "s|^[\* ]+(remotes/origin/)?||; /^HEAD/d" | sort -u`@' \ + 'n@branch@`git branch -a | sed -r "s|^[\* ]+(remotes/origin/)?||; /^HEAD/d" | sort -u`@' + +complete find 'n/-fstype/"(nfs 4.2)"/' 'n/-name/f/' \ + 'n/-type/(c b d f p l s)/' \ + 'n/-user/u/ n/-group/g/' \ + 'n/-exec/c/' 'n/-ok/c/' \ + 'n/-cpio/f/' \ + 'n/-ncpio/f/' \ + 'n/-newer/f/' \ + 'c/-/(fstype name perm prune type user nouser group nogroup size inum \ + atime mtime ctime exec ok print ls cpio ncpio newer xdev depth \ + daystart follow maxdepth mindepth noleaf version anewer cnewer \ + amin cmin mmin true false uid gid ilname iname ipath iregex \ + links lname empty path regex used xtype fprint fprint0 fprintf \ + print0 printf not a and o or)/' \ + 'n/*/d/' diff --git a/home/.muttrc b/home/.muttrc new file mode 100644 index 0000000..6337212 --- /dev/null +++ b/home/.muttrc @@ -0,0 +1,68 @@ +set realname = "Keith Gaughan" +set wait_key = no +set quit +set pipe_decode +set thorough_search +unset mark_old +unset confirmappend + +# Index View Options +set date_format = "%Y-%m-%d" +set index_format = "%4C %Z %D %-20.20F %s" +set sort = threads # like gmail +set sort_aux = reverse-last-date-received # like gmail +set uncollapse_jump # don't collapse on an unread message +set sort_re # thread based on regex +set reply_regexp = "^(([Rr][Ee]?(\[[0-9]+\])?: *)?(\[[^]]+\] *)?)*" + +# Pager View Options +set pager_index_lines = 10 # number of index lines to show +set pager_context = 3 # number of context lines to show +set pager_stop # don't go to next message automatically +set menu_scroll # scroll in menus +set tilde # show tildes like in vim +unset markers # no ugly plus signs + +set quote_regexp = "^( {0,4}[>|:#%]| {0,4}[a-z0-9]+[>|]+)+" +alternative_order text/plain text/enriched text/html + +# for background in 16 color terminal, valid background colors include: +# base03, bg, black, any of the non brights + +# basic colors --------------------------------------------------------- +color normal default default +color error red default +color tilde default default +color message white default +color markers green default +color attachment white default +color search white blue +color status color8 blue +color indicator color7 color10 +color tree color3 default + +# basic monocolor screen +mono bold bold +mono underline underline +mono indicator reverse +mono error bold + +# Mesage headers +color hdrdefault blue default +color header yellow default "^(From)" +color header yellow default "^(Subject)" + +set spoolfile="imap://imap.tilde.club/INBOX" +set folder="imap://imap.tilde.club/" +set from="talideon@tilde.club" +set imap_user="talideon" + +set record="=Sent" +set postponed="=Drafts" +set trash="=Trash" +set copy=yes +set imap_check_subscribed +set mail_check=60 +set net_inc=5 + +source .muttrc.local diff --git a/home/.tmux.conf b/home/.tmux.conf new file mode 100644 index 0000000..28fec9e --- /dev/null +++ b/home/.tmux.conf @@ -0,0 +1,17 @@ +# Switch from ^B to ^A +set -g prefix C-a +unbind-key C-b +bind-key a send-prefix + +set -g pane-border-style fg=colour8 +set -g pane-active-border-style fg=blue +set -g status-style bg=colour8,fg=blue + +set -g default-terminal screen-256color +setw -g xterm-keys on +set -g set-titles on +set -g set-titles-string '#S:#I.#P #W' + +# Notifying if other windows have activities +setw -g monitor-activity off +set -g visual-activity on diff --git a/home/.vimrc b/home/.vimrc new file mode 100644 index 0000000..8929129 --- /dev/null +++ b/home/.vimrc @@ -0,0 +1,22 @@ +" nvi settings to make it tolerable + +set autoindent +set fileencoding=utf-8 +set number +set ruler +set showmatch +set showmode +set sw=4 +set ts=4 + +au BufNewFile,BufRead,Syntax gophermap,*.gophermap setlocal colorcolumn=67 ft=gopher + +set lazyredraw +set wildmenu +set nocompatible +set tenc=utf-8 +set nolinebreak +set showmode +set wildignore=*.o,*~,*.pyc,*.pyo,*.so,.*.sw*,__pycache__,*.bak,*.a,*.la,*.mo,.git,.svn,*.so + +au BufNewFile,BufRead *.gmi,*.gemini setlocal linebreak ft=gemtext