Przeglądaj źródła

Cleanup org-babel whitespace on non emacs files

master
Mitch Tishmack 6 lat temu
rodzic
commit
0b6a04b7df
6 zmienionych plików z 473 dodań i 472 usunięć
  1. +77
    -75
      bin.org
  2. +58
    -58
      dotprofile.org
  3. +130
    -130
      git.org
  4. +88
    -88
      nix.org
  5. +119
    -120
      tmux.org
  6. +1
    -1
      zsh.org

+ 77
- 75
bin.org Wyświetl plik

@@ -652,25 +652,25 @@ Mostly because I use iso8601 timestamps and its nice to use them
generally without depending on gnu date. generally without depending on gnu date.


#+BEGIN_SRC perl :padline no :tangle tmp/bin/iso8601 #+BEGIN_SRC perl :padline no :tangle tmp/bin/iso8601
#!/usr/bin/env perl
#-*-mode: Perl; coding: utf-8;-*-
use strict;
use warnings;
use POSIX qw(strftime);
use Getopt::Long;

my $short = 0;
GetOptions('short' => \$short,
's' => \$short
);
#!/usr/bin/env perl
#-*-mode: Perl; coding: utf-8;-*-
use strict;
use warnings;
use POSIX qw(strftime);
use Getopt::Long;


my $now = time;
if ($short) {
print strftime('%Y%m%dT%H%M%SZ', (gmtime $now)) . "\n";
} else {
print strftime('%Y-%m-%dT%H:%M:%SZ', (gmtime $now)) . "\n";
}
exit 0;
my $short = 0;
GetOptions('short' => \$short,
's' => \$short
);

my $now = time;
if ($short) {
print strftime('%Y%m%dT%H%M%SZ', (gmtime $now)) . "\n";
} else {
print strftime('%Y-%m-%dT%H:%M:%SZ', (gmtime $now)) . "\n";
}
exit 0;
#+END_SRC #+END_SRC


* ~/bin/whoson * ~/bin/whoson
@@ -1004,49 +1004,51 @@ foreach my $input (@ARGV){


* ~/bin/nix-update * ~/bin/nix-update


FIXME: still needed?

More for nix on macos, but just merges NixOS/nipkgs origin/master to the current branch in a tmux window and watches it. More for nix on macos, but just merges NixOS/nipkgs origin/master to the current branch in a tmux window and watches it.


#+BEGIN_SRC sh :padline no :tangle (tangle/file "bin/nix-update" (bound-and-true-p nix-p)) :mkdirp t #+BEGIN_SRC sh :padline no :tangle (tangle/file "bin/nix-update" (bound-and-true-p nix-p)) :mkdirp t
#!/usr/bin/env sh
#-*-mode: Shell-script; coding: utf-8;-*-
# File: tmux-nix.sh
# Copyright: 2017 Mitch Tishmack
# Description: instantiate tmux nix session
export script=$(basename "$0")
export dir=$(cd "$(dirname "$0")"; pwd)
export iam=${dir}/${script}
set -e
session=nix
PKGS=${PKGS:-nixpkgs}
if "${PKGS}" != "nixpkgs"; then
cd ~/src/github.com/NixOS/nixpkgs/${PKGS}
else
cd ~/src/github.com/NixOS/nixpkgs
fi
if ! tmux has-session -t ${session}; then
tmux new-session -d -s ${session} -n nix
tmux send-keys -t ${session}:0 'sleep 30
while true; do
blah=$(nix-env -f "<${PKGS}>" -iA --dry-run stdboth default | grep /nix); echo "${blah}" | head -n $(echo "$LINES - 2" | bc); echo "${blah}" | grep -c /nix | ts
echo "${blah}" | grep /nix > /dev/null 2>&1
if [ $? -eq 0 ]; then
sleep 60
clear
else
exit 0
fi
done
' C-m
tmux split-window -v -t ${session}:0
tmux send-keys -t ${session}:0.1 'git fetch --all && git short HEAD > last-$(iso8601) && git rebase --autostash origin/staging &&
time nix-env -f "<${PKGS}>" -iA default && nix-env -f "<${PKGS}>" -u --leq && exit 0
' C-m
tmux select-window -t ${session}:0
fi
tmux attach -t ${session}
#!/usr/bin/env sh
#-*-mode: Shell-script; coding: utf-8;-*-
# File: tmux-nix.sh
# Copyright: 2017 Mitch Tishmack
# Description: instantiate tmux nix session
export script=$(basename "$0")
export dir=$(cd "$(dirname "$0")"; pwd)
export iam=${dir}/${script}
set -e
session=nix
PKGS=${PKGS:-nixpkgs}
if "${PKGS}" != "nixpkgs"; then
cd ~/src/github.com/NixOS/nixpkgs/${PKGS}
else
cd ~/src/github.com/NixOS/nixpkgs
fi
if ! tmux has-session -t ${session}; then
tmux new-session -d -s ${session} -n nix
tmux send-keys -t ${session}:0 'sleep 30
while true; do
blah=$(nix-env -f "<${PKGS}>" -iA --dry-run stdboth default | grep /nix); echo "${blah}" | head -n $(echo "$LINES - 2" | bc); echo "${blah}" | grep -c /nix | ts
echo "${blah}" | grep /nix > /dev/null 2>&1
if [ $? -eq 0 ]; then
sleep 60
clear
else
exit 0
fi
done
' C-m
tmux split-window -v -t ${session}:0
tmux send-keys -t ${session}:0.1 'git fetch --all && git short HEAD > last-$(iso8601) && git rebase --autostash origin/staging &&
time nix-env -f "<${PKGS}>" -iA default && nix-env -f "<${PKGS}>" -u --leq && exit 0
' C-m
tmux select-window -t ${session}:0
fi
tmux attach -t ${session}
#+END_SRC #+END_SRC
* ~/bin/notify * ~/bin/notify


@@ -1077,24 +1079,24 @@ Stupid ruby script I wrote to highlight the week/day in a calendar. I don't reme
TODO: why the hell is :mkdirp yes needed here but nowhere else? TODO: why the hell is :mkdirp yes needed here but nowhere else?


#+BEGIN_SRC ruby :padline no :tangle tmp/bin/today :mkdirp t #+BEGIN_SRC ruby :padline no :tangle tmp/bin/today :mkdirp t
#!/usr/bin/env ruby
cal, today, week_color, day_color, reset = %x(cal).split(%r(\n)), Time.now.day, %x(tput sgr0;tput setab 4;tput setaf 7), %x(tput sgr0; tput setab 0;tput setaf 7;tput bold), %x(tput sgr0)
done=false
cal.each do |line|
if done then
puts line
next
end
if(line =~ /^(.*\s+?)#{today}(\s+?.*)$/ or
line =~ /^(.*\s+?)#{today}$/ or
line =~ /^()#{today}(\s+?.*)$/ or
line =~ /^#{today}$/ ) then
puts "#{week_color}#{$1}#{day_color}#{today}#{week_color}#{$2}#{reset}"
done=true
else
puts line
end
#!/usr/bin/env ruby
cal, today, week_color, day_color, reset = %x(cal).split(%r(\n)), Time.now.day, %x(tput sgr0;tput setab 4;tput setaf 7), %x(tput sgr0; tput setab 0;tput setaf 7;tput bold), %x(tput sgr0)
done=false
cal.each do |line|
if done then
puts line
next
end
if(line =~ /^(.*\s+?)#{today}(\s+?.*)$/ or
line =~ /^(.*\s+?)#{today}$/ or
line =~ /^()#{today}(\s+?.*)$/ or
line =~ /^#{today}$/ ) then
puts "#{week_color}#{$1}#{day_color}#{today}#{week_color}#{$2}#{reset}"
done=true
else
puts line
end end
end
#+END_SRC #+END_SRC
* ~/bin/close * ~/bin/close




+ 58
- 58
dotprofile.org Wyświetl plik

@@ -15,14 +15,14 @@
* PS1 * PS1


#+BEGIN_SRC sh #+BEGIN_SRC sh
# -*- mode: Shell-script; -*-
# Common .profile
#
# DO NOT EDIT, managed by org mode
_uname=$(uname)
_uname_n=$(uname -n)
_hostname=$(hostname)
export _uname _uname_n _hostname
# -*- mode: Shell-script; -*-
# Common .profile
#
# DO NOT EDIT, managed by org mode
_uname=$(uname)
_uname_n=$(uname -n)
_hostname=$(hostname)
export _uname _uname_n _hostname
#+END_SRC #+END_SRC


OSX uses hostname -s for getting hostname OSX uses hostname -s for getting hostname
@@ -221,63 +221,63 @@ try_git git://example.tld/some/random/path.git checks out to
~/src/example.tld/some/random/path ~/src/example.tld/some/random/path


#+BEGIN_SRC sh :tangle (tangle/file ".profile" (bound-and-true-p git-p)) #+BEGIN_SRC sh :tangle (tangle/file ".profile" (bound-and-true-p git-p))
try_git()
{
# assume https if input doesn't contain a protocol
proto=https
destination=${HOME}/src
branch="${2:-master}"

echo "${1}" | grep '://' > /dev/null 2>&1
[ $? = 0 ] && proto=$(echo "${1}" | sed -e 's|[:]\/\/.*||g')
git_dir=$(echo "${1}" | sed -e 's|.*[:]\/\/||g')
rrepo="${proto}://${git_dir}"

# strip user@, :NNN, and .git from input uri's
repo="${destination}/"$(echo "${git_dir}" |
sed -e 's/\.git$//g' |
sed -e 's|.*\@||g' |
sed -e 's|\:[[:digit:]]\{1,\}\/|/|g' |
tr -d '~')

if [ ! -d "${repo}" ]; then
if git ls-remote "${rrepo}" > /dev/null 2>&1; then
mkdir -p "${repo}"
echo "git clone ${rrepo} ${repo}"
git clone --recursive "${rrepo}" "${repo}"
else
echo "${rrepo} doesn't look to be a git repository"
fi
try_git()
{
# assume https if input doesn't contain a protocol
proto=https
destination=${HOME}/src
branch="${2:-master}"

echo "${1}" | grep '://' > /dev/null 2>&1
[ $? = 0 ] && proto=$(echo "${1}" | sed -e 's|[:]\/\/.*||g')
git_dir=$(echo "${1}" | sed -e 's|.*[:]\/\/||g')
rrepo="${proto}://${git_dir}"

# strip user@, :NNN, and .git from input uri's
repo="${destination}/"$(echo "${git_dir}" |
sed -e 's/\.git$//g' |
sed -e 's|.*\@||g' |
sed -e 's|\:[[:digit:]]\{1,\}\/|/|g' |
tr -d '~')

if [ ! -d "${repo}" ]; then
if git ls-remote "${rrepo}" > /dev/null 2>&1; then
mkdir -p "${repo}"
echo "git clone ${rrepo} ${repo}"
git clone --recursive "${rrepo}" "${repo}"
else
echo "${rrepo} doesn't look to be a git repository"
fi fi
fi


if [ "${branch}" != "master" ]; then
wtdir="${repo}@${branch}"
if [ -d "${wtdir}" ]; then
cd "${wtdir}"
else
if git branch -r --list 'origin/*' | grep -E "^\s+origin/${branch}$" > /dev/null 2>&1; then
git worktree add ${repo}@${branch} ${branch} && cd "${wtdir}"
fi
fi
if [ "${branch}" != "master" ]; then
wtdir="${repo}@${branch}"
if [ -d "${wtdir}" ]; then
cd "${wtdir}"
else else
[ -d "${repo}" ] && cd "${repo}"
if git branch -r --list 'origin/*' | grep -E "^\s+origin/${branch}$" > /dev/null 2>&1; then
git worktree add ${repo}@${branch} ${branch} && cd "${wtdir}"
fi
fi fi
}
else
[ -d "${repo}" ] && cd "${repo}"
fi
}


mt()
{
try_git "ssh://gitea@git.functionalidiot.com:2222/${1}" "${2:-master}"
}
mt()
{
try_git "ssh://gitea@git.functionalidiot.com:2222/${1}" "${2:-master}"
}


gh()
{
try_git "https://github.com/${1}" "${2:-master}"
}
gh()
{
try_git "https://github.com/${1}" "${2:-master}"
}


bb()
{
try_git "https://bitbucket.org/${1}" "${2:-master}"
}
bb()
{
try_git "https://bitbucket.org/${1}" "${2:-master}"
}
#+END_SRC #+END_SRC
** haskell ** haskell
#+BEGIN_SRC sh :tangle (tangle/file ".profile" (bound-and-true-p haskell-p)) #+BEGIN_SRC sh :tangle (tangle/file ".profile" (bound-and-true-p haskell-p))


+ 130
- 130
git.org Wyświetl plik

@@ -17,129 +17,129 @@ General git configuration split out into sections mostly.
All pager, all the time, always use color with it too. All pager, all the time, always use color with it too.


#+BEGIN_SRC conf :tangle (tangle/file ".gitconfig" (bound-and-true-p git-p)) #+BEGIN_SRC conf :tangle (tangle/file ".gitconfig" (bound-and-true-p git-p))
[pager]
color = true
[pager]
color = true
#+END_SRC #+END_SRC


** color ** color


#+BEGIN_SRC conf :tangle (tangle/file ".gitconfig" (bound-and-true-p git-p)) #+BEGIN_SRC conf :tangle (tangle/file ".gitconfig" (bound-and-true-p git-p))
[color]
status = auto
diff = auto
branch = auto
[color "status"]
added = green
changed = blue
untracked = red
[color "branch"]
current = green
local = blue
remote = red
[color "diff"]
meta = blue bold
frag = black reverse
old = red reverse
new = green reverse
[color]
status = auto
diff = auto
branch = auto
[color "status"]
added = green
changed = blue
untracked = red
[color "branch"]
current = green
local = blue
remote = red
[color "diff"]
meta = blue bold
frag = black reverse
old = red reverse
new = green reverse
#+END_SRC #+END_SRC
** alias ** alias


Aliases so I can be lay zee. Aliases so I can be lay zee.


#+BEGIN_SRC conf :tangle (tangle/file ".gitconfig" (bound-and-true-p git-p)) #+BEGIN_SRC conf :tangle (tangle/file ".gitconfig" (bound-and-true-p git-p))
[alias]
begin = !git init && git commit --allow-empty -m 'Initial empty commit'
up = !git pull --rebase && git push
wsd = diff --color-words --ignore-space-at-eol --ignore-space-change --ignore-all-space
wd = diff --color-words
fa = fetch --all
ci = commit
cia = commit --all
co = checkout
ds = diff --stat
ba = branch --all
b = branch
st = status --short --branch
s = status --short --branch --untracked-files=no
unstage = reset HEAD
tlog = log --graph --color=always --abbrev-commit --date=relative --pretty=oneline
hist = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative
slog = log --oneline --decorate
fixup = commit --fixup
squash = commit --squash
ri = rebase --interactive --autosquash
ra = rebase --abort
effit = reset --hard
bn = rev-parse --abbrev-ref HEAD
cp = log --no-merges --cherry --graph --oneline
short = rev-parse --short
# git clone with submodules
sc = !git clone --recursive $1
# git update with submodule update
sup = !git pull --rebase && git submodule update --init --recursive
wtl = worktree list
wtp = worktree prune
wta = worktree add
wtr = "!git worktree list --porcelain | grep -B2 \"branch refs/heads/$1\" | head -n1 | sed -e 's|worktree ||' #"
nwt = "!git worktree add $(git gr)@$1 $1 #"
bwt = "!git branch $1 ${2:-HEAD} && git nwt $1 #"
gr = "!git rev-parse --absolute-git-dir | sed -e 's|/[.]git.*||' #"
# Pull all the commits missed from a git pull --depth N clone
unshallow = pull --unshallow
# Set the origin to not allow pushing, to be on the safe side.
nopush = remote set-url --push origin no_push
# default remote, note depends on the repo having been git cloned
defremote = !git branch -rvv | egrep 'HEAD' | awk '{print $1}' | sed -e 's|/HEAD||g'
# push branch while setting the upstream to the default remote
pbr = !git push --set-upstream $(git defremote) $(git bn)
# ^ but forcefully
fpbr = !git push --set-upstream --force $(git defremote) $(git bn)
# what files are getting updated a lot descending output
churn = !git log --all -M -C --name-only --format='format:' "$@" | sort | grep -v '^$' | uniq -c | sort -r | awk 'BEGIN {print "count,file"} {print $1 "," $2}' | grep -Ev '^\\s+$'
# My defremote hack depends on $remote/HEAD to point to somewhere
# which it may not if the git repo wasn't cloned
fixhead = !sh -c "rem=${0:-origin} && branch=${1:-master} && git symbolic-ref refs/remotes/$rem/HEAD refs/remotes/$rem/${branch}"
[alias]
begin = !git init && git commit --allow-empty -m 'Initial empty commit'
up = !git pull --rebase && git push
wsd = diff --color-words --ignore-space-at-eol --ignore-space-change --ignore-all-space
wd = diff --color-words
fa = fetch --all
ci = commit
cia = commit --all
co = checkout
ds = diff --stat
ba = branch --all
b = branch
st = status --short --branch
s = status --short --branch --untracked-files=no
unstage = reset HEAD
tlog = log --graph --color=always --abbrev-commit --date=relative --pretty=oneline
hist = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative
slog = log --oneline --decorate
fixup = commit --fixup
squash = commit --squash
ri = rebase --interactive --autosquash
ra = rebase --abort
effit = reset --hard
bn = rev-parse --abbrev-ref HEAD
cp = log --no-merges --cherry --graph --oneline
short = rev-parse --short
# git clone with submodules
sc = !git clone --recursive $1
# git update with submodule update
sup = !git pull --rebase && git submodule update --init --recursive
wtl = worktree list
wtp = worktree prune
wta = worktree add
wtr = "!git worktree list --porcelain | grep -B2 \"branch refs/heads/$1\" | head -n1 | sed -e 's|worktree ||' #"
nwt = "!git worktree add $(git gr)@$1 $1 #"
bwt = "!git branch $1 ${2:-HEAD} && git nwt $1 #"
gr = "!git rev-parse --absolute-git-dir | sed -e 's|/[.]git.*||' #"
# Pull all the commits missed from a git pull --depth N clone
unshallow = pull --unshallow
# Set the origin to not allow pushing, to be on the safe side.
nopush = remote set-url --push origin no_push
# default remote, note depends on the repo having been git cloned
defremote = !git branch -rvv | egrep 'HEAD' | awk '{print $1}' | sed -e 's|/HEAD||g'
# push branch while setting the upstream to the default remote
pbr = !git push --set-upstream $(git defremote) $(git bn)
# ^ but forcefully
fpbr = !git push --set-upstream --force $(git defremote) $(git bn)
# what files are getting updated a lot descending output
churn = !git log --all -M -C --name-only --format='format:' "$@" | sort | grep -v '^$' | uniq -c | sort -r | awk 'BEGIN {print "count,file"} {print $1 "," $2}' | grep -Ev '^\\s+$'
# My defremote hack depends on $remote/HEAD to point to somewhere
# which it may not if the git repo wasn't cloned
fixhead = !sh -c "rem=${0:-origin} && branch=${1:-master} && git symbolic-ref refs/remotes/$rem/HEAD refs/remotes/$rem/${branch}"
#+END_SRC #+END_SRC


Some aliases to help with determining which commit(s) are(n't) present in the Some aliases to help with determining which commit(s) are(n't) present in the
left/right hand branch. left/right hand branch.


#+BEGIN_SRC conf :tangle (tangle/file ".gitconfig" (bound-and-true-p git-p)) #+BEGIN_SRC conf :tangle (tangle/file ".gitconfig" (bound-and-true-p git-p))
[alias]
cpd = log --no-merges --left-right --graph --cherry-pick --oneline
cmd = log --no-merges --left-right --graph --cherry-mark --oneline
bcs = log --pretty="%H" --first-parent --no-merges
[alias]
cpd = log --no-merges --left-right --graph --cherry-pick --oneline
cmd = log --no-merges --left-right --graph --cherry-mark --oneline
bcs = log --pretty="%H" --first-parent --no-merges
#+END_SRC #+END_SRC


Some helpers for pruning a git repo or maintentance of things that has come in Some helpers for pruning a git repo or maintentance of things that has come in
handy over the years. handy over the years.


#+BEGIN_SRC conf :tangle (tangle/file ".gitconfig" (bound-and-true-p git-p)) #+BEGIN_SRC conf :tangle (tangle/file ".gitconfig" (bound-and-true-p git-p))
[alias]
# kinda/sorta git pull -r without the git pull nonsense
# cleanmerged = !sh -c "git branch --merged | grep -Ev '^(. master|\*)' | xargs -n1 git branch -d"
# help the gc a bit and get a bit more space back for a local clone
trim = !git reflog expire --expire=now --all && git gc --prune=now
prune = !sh -c 'git cleanmerged; git fetch -p; git trim'
# I don't remember what I used these for tbh, future mitch figure it out.
find-merge = !sh -c "commit=$0 && branch=${1:-HEAD} && (git rev-list $commit..$branch --ancestry-path | cat -n; git rev-list $commit..$branch --first-parent | cat -n) | sort -k2 | uniq -f1 -d | sort -n | tail -1 | cut -f2"
show-merge = !sh -c "merge=$(git find-merge $0 $1) && [ -n \"$merge\" ] && git show $merge"
[alias]
# kinda/sorta git pull -r without the git pull nonsense
# cleanmerged = !sh -c "git branch --merged | grep -Ev '^(. master|\*)' | xargs -n1 git branch -d"
# help the gc a bit and get a bit more space back for a local clone
trim = !git reflog expire --expire=now --all && git gc --prune=now
prune = !sh -c 'git cleanmerged; git fetch -p; git trim'
# I don't remember what I used these for tbh, future mitch figure it out.
find-merge = !sh -c "commit=$0 && branch=${1:-HEAD} && (git rev-list $commit..$branch --ancestry-path | cat -n; git rev-list $commit..$branch --first-parent | cat -n) | sort -k2 | uniq -f1 -d | sort -n | tail -1 | cut -f2"
show-merge = !sh -c "merge=$(git find-merge $0 $1) && [ -n \"$merge\" ] && git show $merge"
#+END_SRC #+END_SRC


#+BEGIN_SRC conf :tangle (tangle/file ".gitconfig" (bound-and-true-p git-p)) #+BEGIN_SRC conf :tangle (tangle/file ".gitconfig" (bound-and-true-p git-p))
[alias]
# create a pull request branch based off a pull request, lets you git diff
# even if someone rebases a pull request.
p = !sh -c 'git branch ${1:-$(git defremote)}pr$0@$(iso8601 -s) $(git ls-remote -q ${1:-$(git defremote)} | grep refs/pull-requests/$0/from | cut -c1-8)'
rvers = !sh -c 'commitish=${0:-HEAD} && git describe --first-parent --tags --long --match="cray-*" $commitish | sed -e "s/^cray-//" -e "s/-/./" -e "s/-g.*//"'
[alias]
# create a pull request branch based off a pull request, lets you git diff
# even if someone rebases a pull request.
p = !sh -c 'git branch ${1:-$(git defremote)}pr$0@$(iso8601 -s) $(git ls-remote -q ${1:-$(git defremote)} | grep refs/pull-requests/$0/from | cut -c1-8)'
rvers = !sh -c 'commitish=${0:-HEAD} && git describe --first-parent --tags --long --match="cray-*" $commitish | sed -e "s/^cray-//" -e "s/-/./" -e "s/-g.*//"'
#+END_SRC #+END_SRC


#+BEGIN_SRC conf :tangle (tangle/file ".gitconfig" (bound-and-true-p git-p)) #+BEGIN_SRC conf :tangle (tangle/file ".gitconfig" (bound-and-true-p git-p))
[alias]
rembranch = !sh -xc "remote=${1:-origin} && git ls-remote --symref -q $remote HEAD | head -n1 | awk '{print $2}' | sed -e 's|refs/heads/||'"
merged-remote = !sh -c 'remote=${0:-origin} && git branch --all --merged remotes/$remote/master | grep remotes/$remote | grep -E --invert-match \"(master|HEAD)\" | cut -d \"/\" -f 3-'
merged-local = !sh -c 'git branch --all --merged master | grep -E --invert-match \"(master|HEAD|remotes/)\" | cut -b 3-'
merged = !sh -c "remote=${0:-origin}; printf 'remote branches: %s\n' $remote >&2; git merged-remote $remote; printf 'local branches\n' >&2 && git merged-local"
[alias]
rembranch = !sh -xc "remote=${1:-origin} && git ls-remote --symref -q $remote HEAD | head -n1 | awk '{print $2}' | sed -e 's|refs/heads/||'"
merged-remote = !sh -c 'remote=${0:-origin} && git branch --all --merged remotes/$remote/master | grep remotes/$remote | grep -E --invert-match \"(master|HEAD)\" | cut -d \"/\" -f 3-'
merged-local = !sh -c 'git branch --all --merged master | grep -E --invert-match \"(master|HEAD|remotes/)\" | cut -b 3-'
merged = !sh -c "remote=${0:-origin}; printf 'remote branches: %s\n' $remote >&2; git merged-remote $remote; printf 'local branches\n' >&2 && git merged-local"
#+END_SRC #+END_SRC


** github ** github
@@ -147,8 +147,8 @@ handy over the years.
My username for github. My username for github.


#+BEGIN_SRC conf :tangle (tangle/file ".gitconfig" (bound-and-true-p git-p)) #+BEGIN_SRC conf :tangle (tangle/file ".gitconfig" (bound-and-true-p git-p))
[github]
user = mitchty
[github]
user = mitchty
#+END_SRC #+END_SRC


** credential ** credential
@@ -156,8 +156,8 @@ My username for github.
Use a gpg encrypted .netrc file. Use a gpg encrypted .netrc file.


#+BEGIN_SRC conf :tangle (tangle/file ".gitconfig" (bound-and-true-p git-p)) #+BEGIN_SRC conf :tangle (tangle/file ".gitconfig" (bound-and-true-p git-p))
[credential]
helper = netrc -v -f ~/.netrc.gpg -f ~/.netrc
[credential]
helper = netrc -v -f ~/.netrc.gpg -f ~/.netrc
#+END_SRC #+END_SRC


** advice ** advice
@@ -165,8 +165,8 @@ Use a gpg encrypted .netrc file.
Shut up already, I don't need hints. Shut up already, I don't need hints.


#+BEGIN_SRC conf :tangle (tangle/file ".gitconfig" (bound-and-true-p git-p)) #+BEGIN_SRC conf :tangle (tangle/file ".gitconfig" (bound-and-true-p git-p))
[advice]
statushints = false
[advice]
statushints = false
#+END_SRC #+END_SRC


** gui ** gui
@@ -174,9 +174,9 @@ Shut up already, I don't need hints.
If I ever use the stupid gui, make it a little less derp. If I ever use the stupid gui, make it a little less derp.


#+BEGIN_SRC conf :tangle (tangle/file ".gitconfig" (bound-and-true-p git-p)) #+BEGIN_SRC conf :tangle (tangle/file ".gitconfig" (bound-and-true-p git-p))
[gui]
fontui = -family Monaco -size 8 -weight normal -slant roman -underline 0 -overstrike 0
fontdiff = -family Monaco -size 8 -weight normal -slant roman -underline 0 -overstrike 0
[gui]
fontui = -family Monaco -size 8 -weight normal -slant roman -underline 0 -overstrike 0
fontdiff = -family Monaco -size 8 -weight normal -slant roman -underline 0 -overstrike 0
#+END_SRC #+END_SRC


** http ** http
@@ -184,8 +184,8 @@ If I ever use the stupid gui, make it a little less derp.
Make large git repos work better by increasing the post buffer. Make large git repos work better by increasing the post buffer.


#+BEGIN_SRC conf :tangle (tangle/file ".gitconfig" (bound-and-true-p git-p)) #+BEGIN_SRC conf :tangle (tangle/file ".gitconfig" (bound-and-true-p git-p))
[http]
postBuffer = 209715200
[http]
postBuffer = 209715200
#+END_SRC #+END_SRC


** push ** push
@@ -193,8 +193,8 @@ Make large git repos work better by increasing the post buffer.
Forgot why this was here, some version git changed the default push behavior. Forgot why this was here, some version git changed the default push behavior.


#+BEGIN_SRC conf :tangle (tangle/file ".gitconfig" (bound-and-true-p git-p)) #+BEGIN_SRC conf :tangle (tangle/file ".gitconfig" (bound-and-true-p git-p))
[push]
default = simple
[push]
default = simple
#+END_SRC #+END_SRC


** lfs ** lfs
@@ -202,11 +202,11 @@ Forgot why this was here, some version git changed the default push behavior.
So much junk is using it, so... just make it a default bit of the gitconfig. So much junk is using it, so... just make it a default bit of the gitconfig.


#+BEGIN_SRC conf :tangle (tangle/file ".gitconfig" (bound-and-true-p git-p)) #+BEGIN_SRC conf :tangle (tangle/file ".gitconfig" (bound-and-true-p git-p))
[filter "lfs"]
clean = git-lfs clean -- %f
smudge = git-lfs smudge -- %f
process = git-lfs filter-process
required = true
[filter "lfs"]
clean = git-lfs clean -- %f
smudge = git-lfs smudge -- %f
process = git-lfs filter-process
required = true
#+END_SRC #+END_SRC


** url rewrites ** url rewrites
@@ -214,8 +214,8 @@ So much junk is using it, so... just make it a default bit of the gitconfig.
Don't use git:// (ssh) to connect to github. Don't use git:// (ssh) to connect to github.


#+BEGIN_SRC conf :tangle (tangle/file ".gitconfig" (bound-and-true-p git-p)) #+BEGIN_SRC conf :tangle (tangle/file ".gitconfig" (bound-and-true-p git-p))
[url "https://github.com/"]
insteadOf = git://github.com/
[url "https://github.com/"]
insteadOf = git://github.com/
#+END_SRC #+END_SRC


** username/email ** username/email
@@ -230,9 +230,9 @@ related stuff.
TODO: Switch to my domain from google garbage for email. TODO: Switch to my domain from google garbage for email.


#+BEGIN_SRC conf :tangle (tangle/file ".gitconfig" (bound-and-true-p git-p)) #+BEGIN_SRC conf :tangle (tangle/file ".gitconfig" (bound-and-true-p git-p))
[user]
name = Mitch Tishmack
email = mitch.tishmack@gmail.com
[user]
name = Mitch Tishmack
email = mitch.tishmack@gmail.com
#+END_SRC #+END_SRC


This silly text is here to make git merges easier for private branches. I got This silly text is here to make git merges easier for private branches. I got
@@ -251,17 +251,17 @@ END HUNK PADDING
Common crap/build artifacts that git should always ignore. Common crap/build artifacts that git should always ignore.


#+BEGIN_SRC conf :tangle (tangle/file ".gitignore" (bound-and-true-p git-p)) #+BEGIN_SRC conf :tangle (tangle/file ".gitignore" (bound-and-true-p git-p))
.*~
,*~
.\#*
\#*
\#*\#
.\#*\#
.DS_Store
,*.pyc
,*.rbc
,*.elc
,*.swp
,*.[oa]
,*.hi
.*~
,*~
.\#*
\#*
\#*\#
.\#*\#
.DS_Store
,*.pyc
,*.rbc
,*.elc
,*.swp
,*.[oa]
,*.hi
#+END_SRC #+END_SRC

+ 88
- 88
nix.org Wyświetl plik

@@ -12,94 +12,94 @@
Nix user config.nix setup. Nix user config.nix setup.


#+BEGIN_SRC conf :padline no :mkdirp yes :tangle (tangle/file ".nixpkgs/config.nix" (bound-and-true-p nix-p)) #+BEGIN_SRC conf :padline no :mkdirp yes :tangle (tangle/file ".nixpkgs/config.nix" (bound-and-true-p nix-p))
{
packageOverrides = pkgs: with pkgs;
let in rec {
custom-pinentry = pinentry.override { gtk2 = null; ncurses = null; };
custom-youtube-dl = python27Packages.youtube-dl.override { pandoc = null; };
{
packageOverrides = pkgs: with pkgs;
let in rec {
# custom-pinentry = pinentry.override { gtk2 = null; ncurses = null; };
custom-youtube-dl = python27Packages.youtube-dl.override { pandoc = null; };


default = buildEnv {
name = "default";
ignoreCollisions = true;
paths = [
aria
aspell
aspellDicts.en
cacert
clang
cloc
cscope
ctags
curl
custom-pinentry
custom-youtube-dl
diffutils
docbook5
emacs
entr
gist
gitAndTools.git-extras
gitAndTools.gitFull
gmp
gnumake
gnutar
gnutls
googler
graphviz-nox
haskellPackages.ShellCheck
haskellPackages.pandoc
htop
imagemagick
iperf
jq
keychain
less
llvm
mercurial
moreutils
mosh
mr
ncdu
openssl
p7zip
patchutils
pbzip2
pkg-config
ponysay
pv
python27Packages.flake8
python27Packages.howdoi
python27Packages.pip
python27Packages.pyflakes
python27Packages.pylint
python27Packages.virtualenv
restic
ripgrep
rlwrap
rsync
rtags
shfmt
silver-searcher
sloccount
sshpass
texlive.combined.scheme-basic
tmux
transcrypt
tree
unzip
upx
wakelan
watch
wget
xz
yq
# If I ever come up with some linux only stuff or figure out xhyve
# ] ++ stdenv.lib.optionals stdenv.isLinux [
# ] ++ stdenv.lib.optionals stdenv.isDarwin [
# xhyve
];
};
default = buildEnv {
name = "default";
ignoreCollisions = true;
paths = [
aria
aspell
aspellDicts.en
cacert
clang
cloc
cscope
ctags
curl
# custom-pinentry
custom-youtube-dl
diffutils
docbook5
emacs
entr
gist
gitAndTools.git-extras
gitAndTools.gitFull
gmp
gnumake
gnutar
gnutls
googler
graphviz-nox
haskellPackages.ShellCheck
haskellPackages.pandoc
htop
imagemagick
iperf
jq
keychain
less
llvm
mercurial
moreutils
mosh
mr
ncdu
openssl
p7zip
patchutils
pbzip2
pkg-config
ponysay
pv
python27Packages.flake8
python27Packages.howdoi
python27Packages.pip
python27Packages.pyflakes
python27Packages.pylint
python27Packages.virtualenv
restic
ripgrep
rlwrap
rsync
rtags
shfmt
silver-searcher
sloccount
sshpass
texlive.combined.scheme-basic
tmux
transcrypt
tree
unzip
upx
wakelan
watch
wget
xz
yq
# If I ever come up with some linux only stuff or figure out xhyve
# ] ++ stdenv.lib.optionals stdenv.isLinux [
# ] ++ stdenv.lib.optionals stdenv.isDarwin [
# xhyve
];
}; };
allowUnfree = true;
}
};
allowUnfree = true;
}
#+END_SRC #+END_SRC

+ 119
- 120
tmux.org Wyświetl plik

@@ -15,16 +15,16 @@ keybinds. Also set aggressive resize so our panes resize somewhat sanely with
multiple clients. multiple clients.


#+BEGIN_SRC conf :tangle (tangle/file ".tmux.conf" (bound-and-true-p tmux-p)) #+BEGIN_SRC conf :tangle (tangle/file ".tmux.conf" (bound-and-true-p tmux-p))
set-window-option -g mode-keys vi
set-window-option -g aggressive-resize on
set-window-option -g mode-keys vi
set-window-option -g aggressive-resize on
#+END_SRC #+END_SRC


Use the only shell that matters for our login shell. Set our TERM to Use the only shell that matters for our login shell. Set our TERM to
xterm-256color as well. xterm-256color as well.


#+BEGIN_SRC conf :tangle (tangle/file ".tmux.conf" (bound-and-true-p tmux-p)) #+BEGIN_SRC conf :tangle (tangle/file ".tmux.conf" (bound-and-true-p tmux-p))
set-option -g default-command 'zsh -l'
set-option -g default-terminal 'xterm-256color'
set-option -g default-command 'zsh -l'
set-option -g default-terminal 'xterm-256color'
#+END_SRC #+END_SRC


Status line options. For the status line we want the selected window tabish Status line options. For the status line we want the selected window tabish
@@ -41,43 +41,43 @@ ensures that any skew on waking up/updating isn't visible. Yes I'm weird in that
if I specify 5 and don't get things updated every 0-4 seconds it annoys me. if I specify 5 and don't get things updated every 0-4 seconds it annoys me.


#+BEGIN_SRC conf :tangle (tangle/file ".tmux.conf" (bound-and-true-p tmux-p)) #+BEGIN_SRC conf :tangle (tangle/file ".tmux.conf" (bound-and-true-p tmux-p))
set-window-option -g window-status-current-style bg=white,fg=black
set-window-option -g window-status-style default
set-option -g window-status-format '#I #W#F'
set-option -g window-status-current-format '#I:#W#{?window_zoomed_flag, 🔍,}'
set-option -g status-style bg=black,fg=colour7
set-option -g status-interval 7
set-option -g status-left-length 24
set-option -g status-left ''
set-window-option -g window-status-current-style bg=white,fg=black
set-window-option -g window-status-style default
set-option -g window-status-format '#I #W#F'
set-option -g window-status-current-format '#I:#W#{?window_zoomed_flag, 🔍,}'
set-option -g status-style bg=black,fg=colour7
set-option -g status-interval 7
set-option -g status-left-length 24
set-option -g status-left ''
#+END_SRC #+END_SRC


Right status just with Day HH:MM:SS to the right. Right status just with Day HH:MM:SS to the right.


#+BEGIN_SRC conf :tangle (tangle/file ".tmux.conf" (bound-and-true-p tmux-p)) #+BEGIN_SRC conf :tangle (tangle/file ".tmux.conf" (bound-and-true-p tmux-p))
set-option -g status-right-length 13
set-option -g status-right "%a %H:%M:%S"
set-option -g status-right-length 13
set-option -g status-right "%a %H:%M:%S"
#+END_SRC #+END_SRC


Right status with battery shenanigans. Only present on macos for now. Right status with battery shenanigans. Only present on macos for now.


#+BEGIN_SRC conf :tangle (tangle/file ".tmux.conf" (bound-and-true-p tmux-p)) #+BEGIN_SRC conf :tangle (tangle/file ".tmux.conf" (bound-and-true-p tmux-p))
set-option -g status-right-length 20
set-option -g @batt_remain_minimal true
set-option -g @batt_icon_status_charged ' '
set-option -g @batt_icon_status_charging '↑'
set-option -g @batt_icon_status_discharging '↓'
set-option -g @batt_icon_status_unknown '?'
set-option -g @batt_color_status_primary_discharging colour9
set-option -g status-right "#{battery_color_fg}#{battery_icon_status}#[default] #{battery_color_charge_bg}#{battery_remain}#[default] %a %H:%M:%S"
run-shell ~/src/github.com/tmux-plugins/tmux-battery/battery.tmux
set-option -g status-right-length 20
set-option -g @batt_remain_minimal true
set-option -g @batt_icon_status_charged ' '
set-option -g @batt_icon_status_charging '↑'
set-option -g @batt_icon_status_discharging '↓'
set-option -g @batt_icon_status_unknown '?'
set-option -g @batt_color_status_primary_discharging colour9
set-option -g status-right "#{battery_color_fg}#{battery_icon_status}#[default] #{battery_color_charge_bg}#{battery_remain}#[default] %a %H:%M:%S"
run-shell ~/src/github.com/tmux-plugins/tmux-battery/battery.tmux
#+END_SRC #+END_SRC


The highlight style is how tmux renders selected text. Black on red is what I The highlight style is how tmux renders selected text. Black on red is what I
use to make it obvious what is being selected. use to make it obvious what is being selected.


#+BEGIN_SRC conf :tangle (tangle/file ".tmux.conf" (bound-and-true-p tmux-p)) #+BEGIN_SRC conf :tangle (tangle/file ".tmux.conf" (bound-and-true-p tmux-p))
set-window-option -g mode-style bg=red,fg=black
set-window-option -g mode-style bg=red,fg=black
#+END_SRC #+END_SRC


Pane border options, mostly an attempt to mimic/ape the status line setup. Pane border options, mostly an attempt to mimic/ape the status line setup.
@@ -87,8 +87,8 @@ foreground so that if we are on a white on black, or black on white or some
other scheme we don't have a gaudy background for the panes. other scheme we don't have a gaudy background for the panes.


#+BEGIN_SRC conf :tangle (tangle/file ".tmux.conf" (bound-and-true-p tmux-p)) #+BEGIN_SRC conf :tangle (tangle/file ".tmux.conf" (bound-and-true-p tmux-p))
set-option -g pane-border-style fg=colour7
set-option -g pane-active-border-style fg=colour2
set-option -g pane-border-style fg=colour7
set-option -g pane-active-border-style fg=colour2
#+END_SRC #+END_SRC


TTY alert character stuff. Much like a phone, don't make a sound. Leave that TTY alert character stuff. Much like a phone, don't make a sound. Leave that
@@ -97,9 +97,9 @@ kinda gaudy sound beeps to boomers.
Basically flash the message/status bar with a black on white message. Basically flash the message/status bar with a black on white message.


#+BEGIN_SRC conf :tangle (tangle/file ".tmux.conf" (bound-and-true-p tmux-p)) #+BEGIN_SRC conf :tangle (tangle/file ".tmux.conf" (bound-and-true-p tmux-p))
set-option -g visual-activity on
set-option -g visual-bell on
set-option -g message-style bg=colour7,fg=black
set-option -g visual-activity on
set-option -g visual-bell on
set-option -g message-style bg=colour7,fg=black
#+END_SRC #+END_SRC


Use the window title if available and update it if it changes. Aka, in Use the window title if available and update it if it changes. Aka, in
@@ -109,9 +109,9 @@ shell.
Can rename it to something else if we want as well. Can rename it to something else if we want as well.


#+BEGIN_SRC conf :tangle (tangle/file ".tmux.conf" (bound-and-true-p tmux-p)) #+BEGIN_SRC conf :tangle (tangle/file ".tmux.conf" (bound-and-true-p tmux-p))
set-option -g set-titles on
set-option -g set-titles-string '#T'
set-window-option -g automatic-rename on
set-option -g set-titles on
set-option -g set-titles-string '#T'
set-window-option -g automatic-rename on
#+END_SRC #+END_SRC


Custom key rebindings. Custom key rebindings.
@@ -119,9 +119,9 @@ Custom key rebindings.
PREFIX + R = Reload tmux configuration. PREFIX + R = Reload tmux configuration.


#+BEGIN_SRC conf :tangle (tangle/file ".tmux.conf" (bound-and-true-p tmux-p)) #+BEGIN_SRC conf :tangle (tangle/file ".tmux.conf" (bound-and-true-p tmux-p))
bind-key R \
source-file ~/.tmux.conf \;\
display 'reloaded ~/.tmux.conf'
bind-key R \
source-file ~/.tmux.conf \;\
display 'reloaded ~/.tmux.conf'
#+END_SRC #+END_SRC


Note, this uses tmux 2.9 syntax now. Which is annoying af, used to be able to Note, this uses tmux 2.9 syntax now. Which is annoying af, used to be able to
@@ -142,103 +142,102 @@ green so we know we're logging.
# FIXME # FIXME


#+BEGIN_SRC conf :tangle no #+BEGIN_SRC conf :tangle no
bind-key o \
pipe-pane -o "cat >> $HOME/tmux-`iso8601`.log" \;\
if-shell \
"tmux show-window-options | grep 'window-status-current-style' | grep fg=green'" \
"set-window-option
"display 'stopping logging pane output'
set-window-option window-status-current-style fg=green
bind-key o \
pipe-pane -o "cat >> $HOME/tmux-`iso8601`.log" \;\
if-shell \
"tmux show-window-options | grep 'window-status-current-style' | grep fg=green'" \
"set-window-option
"display 'stopping logging pane output'
set-window-option window-status-current-style fg=green
#+END_SRC #+END_SRC


PREFIX + O = St*O*p logging pane output. Also reset the fg color back to default. PREFIX + O = St*O*p logging pane output. Also reset the fg color back to default.


#+BEGIN_SRC conf :tangle (tangle/file ".tmux.conf" (bound-and-true-p tmux-p)) #+BEGIN_SRC conf :tangle (tangle/file ".tmux.conf" (bound-and-true-p tmux-p))
bind-key O \
pipe-pane \;\
set-window-option window-status-current-style default \;
bind-key O \
pipe-pane \;\
set-window-option window-status-current-style default \;
#+END_SRC #+END_SRC


#+BEGIN_SRC conf :tangle (tangle/file ".tmux.conf" (bound-and-true-p tmux-p)) #+BEGIN_SRC conf :tangle (tangle/file ".tmux.conf" (bound-and-true-p tmux-p))
bind-key N new-session -t default

# Using s for synchronizing panes, means that s for choosing sessions
# is now e
unbind-key s # interactive select sessions
bind-key e choose-tree


bind-key N new-session -t default

# Using s for synchronizing panes, means that s for choosing sessions
# is now e
unbind-key s # interactive select sessions
bind-key e choose-tree

# (un)synchronize panes with prefix-s
bind-key s \
if-shell \
"tmux show-window-options | grep 'synchronize-panes on'" \
"set-window-option window-status-current-style bg=white,fg=black; \
set-window-option pane-active-border-style bg=colour15,fg=colour2; \
set-window-option synchronize-panes off; \
display 'synchronization off'" \
"set-window-option window-status-current-style bg=red,fg=black; \
set-window-option pane-active-border-style bg=colour15,fg=red; \
set-window-option synchronize-panes on; \
display 'synchronizing'"

# same thing as ^ so it sets up things if we were started with
# something else that set synchronization.
# (un)synchronize panes with prefix-s
bind-key s \
if-shell \
"tmux show-window-options | grep 'synchronize-panes on'" \
"set-window-option window-status-current-style bg=white,fg=black; \
set-window-option pane-active-border-style bg=colour15,fg=colour2; \
set-window-option synchronize-panes off; \
display 'synchronization off'" \
"set-window-option window-status-current-style bg=red,fg=black; \
set-window-option pane-active-border-style bg=colour15,fg=red; \
set-window-option synchronize-panes on; \
display 'synchronizing'"

# same thing as ^ so it sets up things if we were started with
# something else that set synchronization.
if-shell \
"tmux show-window-options | grep 'synchronize-panes on' || /bin/true" \
"set-window-option window-status-current-style bg=red; \
set-window-option pane-active-border-style bg=red,fg=black"

# Setup splits to be less annoying
bind-key \\ split-window -h
bind-key - split-window -v

# vi keybindings for pane navigation
bind-key k select-pane -U
bind-key j select-pane -D
bind-key h select-pane -L
bind-key l select-pane -R

# Make it so that I can detach/etc while holding control down,
# PURE LAZY
bind-key C-d detach
bind-key C-n next-window
bind-key C-p previous-window

bind-key C-k select-pane -U
bind-key C-j select-pane -D
bind-key C-h select-pane -L
bind-key C-l select-pane -R

# Non confirming kill pane plskthxbai
bind-key x kill-pane

# Lets change the prefix key so we don't clobber emacs back one char key
unbind-key C-b

# hacky, but C-\ isn't used by anything overly important in emacs
set-option -g prefix 'C-\'

# two C-\'s == C-\, if i need it, likely not
bind 'C-\' send-prefix

# Delay in sending things is dumb
set-option -s escape-time 1

# so we can scroll the mouse, select panes, etc...
set -g mouse on
bind -n WheelUpPane if-shell -F -t = "#{mouse_any_flag}" "send-keys -M" "if -Ft= '#{pane_in_mode}' 'send-keys -M' 'copy-mode -e'"
bind-key m \
if-shell \ if-shell \
"tmux show-window-options | grep 'synchronize-panes on' || /bin/true" \
"set-window-option window-status-current-style bg=red; \
set-window-option pane-active-border-style bg=red,fg=black"

# Setup splits to be less annoying
bind-key \\ split-window -h
bind-key - split-window -v

# vi keybindings for pane navigation
bind-key k select-pane -U
bind-key j select-pane -D
bind-key h select-pane -L
bind-key l select-pane -R

# Make it so that I can detach/etc while holding control down,
# PURE LAZY
bind-key C-d detach
bind-key C-n next-window
bind-key C-p previous-window

bind-key C-k select-pane -U
bind-key C-j select-pane -D
bind-key C-h select-pane -L
bind-key C-l select-pane -R

# Non confirming kill pane plskthxbai
bind-key x kill-pane

# Lets change the prefix key so we don't clobber emacs back one char key
unbind-key C-b

# hacky, but C-\ isn't used by anything overly important in emacs
set-option -g prefix 'C-\'

# two C-\'s == C-\, if i need it, likely not
bind 'C-\' send-prefix

# Delay in sending things is dumb
set-option -s escape-time 1

# so we can scroll the mouse, select panes, etc...
set -g mouse on
bind -n WheelUpPane if-shell -F -t = "#{mouse_any_flag}" "send-keys -M" "if -Ft= '#{pane_in_mode}' 'send-keys -M' 'copy-mode -e'"
bind-key m \
if-shell \
"tmux show-options -g | grep 'mouse on'" \
"set -g mouse off; \
display 'Mouse modes off'" \
"set -g mouse on; \
display 'Mouse modes on'"
"tmux show-options -g | grep 'mouse on'" \
"set -g mouse off; \
display 'Mouse modes off'" \
"set -g mouse on; \
display 'Mouse modes on'"
#+END_SRC #+END_SRC


Only set xclip for when x is in use Only set xclip for when x is in use


#+BEGIN_SRC conf :tangle (tangle/file ".tmux.conf" (and (bound-and-true-p tmux-p) (bound-and-true-p x-p))) #+BEGIN_SRC conf :tangle (tangle/file ".tmux.conf" (and (bound-and-true-p tmux-p) (bound-and-true-p x-p)))
bind C-p run "tmux set-buffer \"$(xclip -o)\"; tmux paste-buffer"
bind C-y run "tmux save-buffer - | xclip -i"
bind C-p run "tmux set-buffer \"$(xclip -o)\"; tmux paste-buffer"
bind C-y run "tmux save-buffer - | xclip -i"
#+END_SRC #+END_SRC

+ 1
- 1
zsh.org Wyświetl plik

@@ -75,7 +75,7 @@ setopt print_exit_value # I love you zsh for this, print out non zero exits.
other_term() other_term()
{ {
case $TERM in case $TERM in
*xterm*|*rxvt*|(dt|k|e)term)
*xterm*|*rxvt*|dtterm|kterm|eterm)
print -Pn "\e]2;%~\a" print -Pn "\e]2;%~\a"
;; ;;
sun-cmd) sun-cmd)


Ładowanie…
Anuluj
Zapisz