├── docker-compose └── .gitkeep ├── nginx ├── conf.d │ └── .gitkeep ├── jp.sorah.launchagent.nginx.plist ├── local.80.conf └── local.conf ├── linux ├── alacritty.yml ├── x │ ├── dot.Xmodmap │ ├── dot.xbindkeysrc │ ├── dot.xinitrc │ ├── dot.Xresources │ ├── i3 │ │ ├── status.conf │ │ └── config │ └── dot.config │ │ ├── fontconfig │ │ └── fonts.conf │ │ └── dunst │ │ └── dunstrc ├── dot.local │ └── share │ │ └── applications │ │ └── sorah-browser.desktop └── memo.txt ├── vim ├── dot.vim │ ├── autoload │ │ └── plug.vim │ ├── colors │ │ ├── mrkn256.vim │ │ └── hybrid.vim │ ├── ftplugin │ │ └── objc.vim │ ├── spell │ │ ├── en.utf-8.add.spl │ │ └── en.utf-8.add │ ├── snippets │ │ └── _.snippets │ └── doc │ │ └── tags-ja └── coc-settings.json ├── bin ├── ring-ssh ├── sorah-autossh ├── heroku ├── loadavg.sh ├── sorah-yaml2json ├── tmux-backtick-sync-pane.sh ├── update_ruby ├── sorah-wakeuper ├── kashisearch ├── sorah-is-powered ├── sorah-i3lock ├── sorah-browser ├── sorah-i3lock-publish ├── sorah-nw-simple-locate ├── sorah-gyazo ├── sorah-ruby-ensure-gems ├── sorah-autosshport ├── glitch_word.rb ├── sorah-ip2asn ├── sorah-aws-ec2-get-console-output ├── sorah-rsa-pem-to-jwk ├── sorah-aws-ecr-public-cleanup ├── sorah-aws-ec2-get-password-data ├── sorah-apt-keyring-pull ├── ssh-proxy-home ├── sorah-zsh-history-time-stats ├── update-ruby-trunk ├── np_itunes_mac.sh ├── sorah-aws-ec2-running-instances ├── sorah-ruby-configure ├── train.rb ├── bf01d_status.rb ├── sorah-fig-start ├── sorah-dns-sight ├── sorah-is-network-stable ├── sorah-ecdsa-pem-to-jwk ├── sorah-gpg-agent-status ├── sorah-cargo-checksum ├── sorah-vault-cert-issue ├── pdsql ├── sorah-as-set-routes ├── sorah-ruby-build ├── tmux-nested-cssh ├── sorah-aws-assume-role ├── 256colors2.pl ├── weather.rb ├── sorah-debsign ├── sorah-i3lock-prepare ├── sorah-aws-ec2-remove-ami ├── sorah-playing ├── sorah-debuild-auto ├── sorah-ec2-swap-root ├── sorah-aws-ec2-peer-vpc ├── sorah-maintain-bastion-host-pubkey ├── sorah-debuild ├── sorah-debuild-codebuild └── sorah-aws-ec2-run-instance ├── misc ├── snmp.conf ├── dot.smirc ├── ubol.txt ├── dot.gemrc ├── ubol.yml ├── dot.irbrc ├── dot.gitconfig └── nkmi-s3.cyberduckprofile ├── zsh ├── dot.zshenv ├── gentoo.zshrc_global_env └── mac.zshrc_global_env ├── docker ├── Dockerfile.eix-ubuntu ├── Dockerfile.devscripts └── Dockerfile.gbp ├── memo ├── avsystem.pdf ├── avsystem.png └── avsystem.dot ├── script ├── wakeup │ ├── Gemfile │ ├── Gemfile.lock │ └── wakeup.rb ├── cdd_title.rb └── ghq-migration.rb ├── README.md ├── ssh └── ssh_config.d │ ├── 10-ring.conf │ ├── 10-github.conf │ ├── 10-isucon.conf │ ├── 99-default.conf │ ├── 10-rubykaigi.conf │ ├── 10-kmc.conf │ └── 10-nkmi.conf ├── .gitignore ├── tmux ├── overmind.conf └── tmux.conf ├── systemd └── user │ └── homeproxy.service ├── claude ├── cargo-fmt.rb ├── ensure-newline.rb ├── ruby.md ├── terraform.md └── CLAUDE.md ├── .gitmodules ├── circus ├── nginx.ini ├── wakeup.ini ├── circus.ini └── homeproxy.ini ├── debuild-docker ├── Dockerfile.buster ├── Dockerfile.trusty ├── Dockerfile.stretch ├── Dockerfile.bookworm ├── Dockerfile.bullseye ├── Dockerfile.xenial ├── Dockerfile.jammy ├── Dockerfile.noble ├── Dockerfile.bionic ├── Dockerfile.focal └── buildspec.yml ├── etc ├── curl-timing.txt └── debian-packages.txt ├── Brewfile ├── mac └── dot.config │ ├── karabiner │ └── karabiner.json │ └── linearmouse │ └── linearmouse.json ├── LICENSE.txt ├── setup-x.sh ├── percol └── rc.py ├── wezterm.lua ├── win ├── terminal-profiles.json └── fontcss.rb ├── setup.sh └── third_party └── mrkn256.vim /docker-compose/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /nginx/conf.d/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /linux/alacritty.yml: -------------------------------------------------------------------------------- 1 | ../win/alacritty.yml -------------------------------------------------------------------------------- /vim/dot.vim/autoload/plug.vim: -------------------------------------------------------------------------------- 1 | ../vim-plug/plug.vim -------------------------------------------------------------------------------- /bin/ring-ssh: -------------------------------------------------------------------------------- 1 | ../third_party/nlnog-ring/scripts/ring-ssh -------------------------------------------------------------------------------- /misc/snmp.conf: -------------------------------------------------------------------------------- 1 | mibdirs +$HOME/local/share/snmp/mibs 2 | -------------------------------------------------------------------------------- /vim/dot.vim/colors/mrkn256.vim: -------------------------------------------------------------------------------- 1 | ../../../third_party/mrkn256.vim -------------------------------------------------------------------------------- /zsh/dot.zshenv: -------------------------------------------------------------------------------- 1 | # vim: ft=zsh 2 | alias scp='noglob scp' 3 | -------------------------------------------------------------------------------- /misc/dot.smirc: -------------------------------------------------------------------------------- 1 | path :/home/sorah/local/share/snmp/mibs 2 | 3 | 4 | -------------------------------------------------------------------------------- /vim/dot.vim/colors/hybrid.vim: -------------------------------------------------------------------------------- 1 | ../../../third_party/hybrid/hybrid.vim -------------------------------------------------------------------------------- /docker/Dockerfile.eix-ubuntu: -------------------------------------------------------------------------------- 1 | FROM ubuntu:16.04 2 | RUN apt-get update 3 | -------------------------------------------------------------------------------- /bin/sorah-autossh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | exec autossh -M $(sorah-autosshport) "$@" 3 | -------------------------------------------------------------------------------- /memo/avsystem.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sorah/config/HEAD/memo/avsystem.pdf -------------------------------------------------------------------------------- /memo/avsystem.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sorah/config/HEAD/memo/avsystem.png -------------------------------------------------------------------------------- /bin/heroku: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | export PATH=$HOME/local/opt/heroku/bin:$PATH 3 | exec heroku "$@" 4 | -------------------------------------------------------------------------------- /bin/loadavg.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | uptime | sed -e's/^.*load averages\{0,1\}: //g' -e's/, / /g' 3 | -------------------------------------------------------------------------------- /vim/dot.vim/ftplugin/objc.vim: -------------------------------------------------------------------------------- 1 | let g:clang_auto_user_options = 'path, .clang_complete, ios' 2 | -------------------------------------------------------------------------------- /misc/ubol.txt: -------------------------------------------------------------------------------- 1 | www.eki-net.com##div.myTop_carhotelW 2 | www.city.koto.lg.jp###tmp_redirect_modal 3 | -------------------------------------------------------------------------------- /bin/sorah-yaml2json: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | ruby -ryaml -rjson -e 'YAML.load_stream($stdin) {|_| puts _.to_json }' | jq . 3 | -------------------------------------------------------------------------------- /vim/dot.vim/spell/en.utf-8.add.spl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sorah/config/HEAD/vim/dot.vim/spell/en.utf-8.add.spl -------------------------------------------------------------------------------- /docker/Dockerfile.devscripts: -------------------------------------------------------------------------------- 1 | FROM debian:trixie 2 | RUN apt-get update && apt-get install -y devscripts vim gnupg2 sudo 3 | -------------------------------------------------------------------------------- /script/wakeup/Gemfile: -------------------------------------------------------------------------------- 1 | # A sample Gemfile 2 | source "https://rubygems.org" 3 | 4 | gem "aws-sdk" 5 | gem "fluent-logger" 6 | -------------------------------------------------------------------------------- /zsh/gentoo.zshrc_global_env: -------------------------------------------------------------------------------- 1 | unset RUBYOPT 2 | export EDITOR=/usr/bin/vim 3 | export QMAKE=/usr/lib64/qt5/bin/qmake 4 | alias gsed=sed 5 | -------------------------------------------------------------------------------- /bin/tmux-backtick-sync-pane.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | [ "_$(tmux show-window-options synchronize-panes)" = "_synchronize-panes on" ] && echo " SYNC " 3 | -------------------------------------------------------------------------------- /bin/update_ruby: -------------------------------------------------------------------------------- 1 | #!/bin/zsh 2 | cd ~sorah/local/src/ruby/build 3 | make up main install-nodoc|& tee /tmp/ruby.log 4 | cp /tmp/ruby.log ./ruby.log 5 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # sorah config 2 | 3 | ## License 4 | 5 | Copyright (c) 2020 Sorah Fukumori 6 | 7 | Available under the MIT License unless otherwise noted. 8 | -------------------------------------------------------------------------------- /bin/sorah-wakeuper: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | cd ~/git/config/script/wakeup 4 | 5 | bundle check || bundle install --jobs 30 --retry 3 6 | exec bundle exec ruby wakeup.rb 7 | -------------------------------------------------------------------------------- /ssh/ssh_config.d/10-ring.conf: -------------------------------------------------------------------------------- 1 | # vim: ft=sshconfig 2 | Host *.ring.nlnog.net 3 | User kmc 4 | IdentityFile ~/.ssh/ring.nlnog.net 5 | IdentitiesOnly yes 6 | 7 | 8 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | vim/dot.vim/other/private.vim 2 | vim/dot.vim/autoload/*.so 3 | .DS_Store 4 | vim/dot.vim/.netrwhist 5 | vim/dot.vim/other/private.vim 6 | .bundle/ 7 | vim/dot.vim/view 8 | -------------------------------------------------------------------------------- /bin/kashisearch: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | curl -s -d "id=$1" -H 'X-Requested-With: XMLHttpRequest' http://kashisearch.jp/api/lyrics | ruby -rjson -e 'puts JSON.parse(STDIN.read)["words"]' 4 | -------------------------------------------------------------------------------- /linux/x/dot.Xmodmap: -------------------------------------------------------------------------------- 1 | remove Lock = Caps_Lock 2 | add Control = Caps_Lock 3 | keysym Caps_Lock = Control_L 4 | 5 | keysym Shift_R = Escape 6 | 7 | pointer = 1 2 3 5 4 7 6 8 9 10 11 12 8 | -------------------------------------------------------------------------------- /ssh/ssh_config.d/10-github.conf: -------------------------------------------------------------------------------- 1 | # vim: ft=sshconfig 2 | Host github.com 3 | User git 4 | ControlMaster auto 5 | ControlPath ~/.ssh/master-%h.%C 6 | ControlPersist 1h 7 | 8 | 9 | -------------------------------------------------------------------------------- /docker/Dockerfile.gbp: -------------------------------------------------------------------------------- 1 | FROM debian:buster 2 | ENV DEBIAN_FRONTEND=noninteractive 3 | RUN apt-get update && apt-get install -y git-buildpackage git-core 4 | RUN mkdir /home/sorah 5 | RUN chmod 755 /home/sorah 6 | -------------------------------------------------------------------------------- /ssh/ssh_config.d/10-isucon.conf: -------------------------------------------------------------------------------- 1 | # isucon13 2 | Host isu1 3 | HostName 52.69.112.84 4 | Host isu2 5 | HostName 18.178.255.184 6 | Host isu3 7 | HostName 57.180.97.87 8 | Host isu1 isu2 isu3 9 | Port 22 10 | User isucon 11 | 12 | 13 | -------------------------------------------------------------------------------- /tmux/overmind.conf: -------------------------------------------------------------------------------- 1 | # vim: ft=tmux 2 | source-file ~/.tmux.conf 3 | set -g prefix ^A 4 | set -g status-left '#[bg=colour162,fg=white]#(tmux-backtick-sync-pane.sh)#[bg=colour255,fg=black]OVERMIND' 5 | set -g status-right "#[bg=colour166,fg=white] " 6 | -------------------------------------------------------------------------------- /ssh/ssh_config.d/99-default.conf: -------------------------------------------------------------------------------- 1 | # vim: ft=sshconfig 2 | Host vps-iso*.sakura.ad.jp 3 | PreferredAuthentications password,keyboard-interactive 4 | 5 | Host * 6 | TCPKeepalive yes 7 | ServerAliveInterval 60 8 | IPQoS 0 9 | AddKeysToAgent yes 10 | -------------------------------------------------------------------------------- /bin/sorah-is-powered: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | if [ "$(uname)" = "Darwin" ];then 4 | ioreg -rc "AppleSmartBattery" |grep ExternalConnected|awk '{print $3}' | grep -q '^Yes$' 5 | elif [ "$(uname)" = "Linux" ]; then 6 | acpi -a | grep -q on-line 7 | else 8 | exit 0 9 | fi 10 | -------------------------------------------------------------------------------- /systemd/user/homeproxy.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=homeproxy 3 | 4 | [Service] 5 | Type=simple 6 | WorkingDirectory=/home/sorah 7 | ExecStart=/home/sorah/git/config/bin/sorah-autossh -N homeproxy 8 | Restart=always 9 | RestartSec=3 10 | 11 | [Install] 12 | WantedBy=default.target 13 | -------------------------------------------------------------------------------- /misc/dot.gemrc: -------------------------------------------------------------------------------- 1 | --- 2 | :backtrace: false 3 | :benchmark: false 4 | :bulk_threshold: 1000 5 | #:sources: 6 | #- https://rubygems.org 7 | :update_sources: true 8 | #install: --no-ri --no-rdoc 9 | #update: --no-ri --no-rdoc 10 | :gemsrc_use_ghq: true 11 | :verbose: :really 12 | :backtrace: true 13 | -------------------------------------------------------------------------------- /linux/dot.local/share/applications/sorah-browser.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Version=1.0 3 | Name=sorah-browser 4 | Exec=sorah-browser %u 5 | Type=Application 6 | Terminal=false 7 | X-MultipleArgs=false 8 | Categories=Network;WebBrowser; 9 | MimeType=x-scheme-handler/http;x-scheme-handler/https 10 | -------------------------------------------------------------------------------- /bin/sorah-i3lock: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | image_path=/tmp/sorah-i3lock.png 3 | if [ ! -e "${image_path}" ]; then 4 | sorah-i3lock-prepare > /tmp/sorah-i3lock-prepare.log 2>&1 5 | fi 6 | i3lock "$@" -d -i $image_path 7 | 8 | timeout 20 sorah-i3lock-prepare > /tmp/sorah-i3lock-prepare.log 2>&1 & 9 | disown %1 10 | -------------------------------------------------------------------------------- /claude/cargo-fmt.rb: -------------------------------------------------------------------------------- 1 | require 'json' 2 | paths = [*JSON.parse($stdin.read).dig('tool_input', 'file_path')].compact 3 | if paths.empty? 4 | puts "No file path provided" 5 | exit 1 6 | end 7 | paths.each do |path| 8 | next unless path.end_with?('.rs') 9 | IO.popen(["cargo", "locate-project"]) 10 | end 11 | -------------------------------------------------------------------------------- /bin/sorah-browser: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | file="${XDG_RUNTIME_DIR:-$HOME/tmp}/sorah-browser.txt" 3 | 4 | if [[ -z "$1" ]]; then 5 | cat "${file}" 6 | exit 7 | fi 8 | 9 | cat >$file <<-EOF 10 | $1 11 | EOF 12 | 13 | if [[ -n "$TMUX" ]]; then 14 | echo -n "$1" | tmux load-buffer -w - 15 | tmux display-message -d 30000 "$1" 16 | fi 17 | -------------------------------------------------------------------------------- /bin/sorah-i3lock-publish: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | exit 0 3 | ( 4 | echo "