diff --git a/dotfiles b/dotfiles index 0bc78c1..b8ad9ef 160000 --- a/dotfiles +++ b/dotfiles @@ -1 +1 @@ -Subproject commit 0bc78c17d8ae261c0d53ca24827e654ae2e93fc7 +Subproject commit b8ad9ef33935e58c34bd0c74499069094b2c0784 diff --git a/install-stuff/install-misc.sh b/install-stuff/install-misc.sh index 88d9e7f..599f1af 100755 --- a/install-stuff/install-misc.sh +++ b/install-stuff/install-misc.sh @@ -14,7 +14,7 @@ if command_exists "apt-get"; then sudo apt-get install kitty -y echo "Please install SchildiChat, nvim/neovim" elif command_exists "dnf"; then - sudo dnf install kitty neovim gcc gnome-hexgl drawing make vlc freeglut ncdu gcolor3 rustup clippy p7zip mosh krita podman podman-docker podman-compose gajim progress yt-dlp genisoimage zstd iperf3 keepassxc python3-pip ffmpegthumbnailer linuxconsoletools bind-tools hyfetch fastfetch ffmpeg nmap unrar-free restic gparted bsdtar android-tools httpd-tools digikam edid-decode hexchat htop -y + sudo dnf install kitty neovim gcc gnome-hexgl drawing make vlc freeglut ncdu gcolor3 rustup clippy p7zip mosh krita podman podman-docker podman-compose gajim progress yt-dlp genisoimage zstd iperf3 keepassxc python3-pip -y # Install schildichat-desktop # should be in my repo, but this works as both a fallback, and is faster than downloading from my repo - updates will come from my repo, though @@ -32,7 +32,7 @@ elif command_exists "rpm-ostree"; then flatpak install me.iepure.devtoolbox elif command_exists "yay"; then - yay -S kitty neovim gcc vlc ncdu gcolor3 rustup p7zip mosh krita podman podman-compose gajim progress yt-dlp genisoimage drawing clippy gnome-hexgl zstd iperf3 unzip schildichat-desktop-bin digikam man-db prismlauncher-qt5-bin progress bind-utils --noconfirm --needed + yay -S kitty neovim gcc vlc ncdu gcolor3 rustup p7zip mosh krita podman podman-compose gajim progress yt-dlp genisoimage drawing clippy gnome-hexgl zstd iperf3 unzip schildichat-desktop-bin digikam man-db prismlauncher-qt5-bin progress --noconfirm --needed elif command_exists "zypp"; then # Untested sudo zypper install kitty -y diff --git a/install-stuff/zsh/zsh-files/.oh-my-zsh b/install-stuff/zsh/zsh-files/.oh-my-zsh new file mode 160000 index 0000000..8d03ad1 --- /dev/null +++ b/install-stuff/zsh/zsh-files/.oh-my-zsh @@ -0,0 +1 @@ +Subproject commit 8d03ad1c4799de6815ab943d2c6ac2cd35394e59 diff --git a/install-stuff/zsh/zsh-files/.zkbd/linux-redhat-linux-gnu b/install-stuff/zsh/zsh-files/.zkbd/linux-redhat-linux-gnu new file mode 100755 index 0000000..d121321 --- /dev/null +++ b/install-stuff/zsh/zsh-files/.zkbd/linux-redhat-linux-gnu @@ -0,0 +1,26 @@ +typeset -g -A key + +key[F1]='^[[[A' +key[F2]='^[[[B' +key[F3]='^[[[C' +key[F4]='^[[[D' +key[F5]='^[[[E' +key[F6]='^[[17~' +key[F7]='^[[18~' +key[F8]='^[[19~' +key[F9]='^[[20~' +key[F10]='^[[21~' +key[F11]='^[[23~' +key[F12]='^[[24~' +key[Backspace]='^?' +key[Insert]='^[[2~' +key[Home]='^[[1~' +key[PageUp]='^[[5~' +key[Delete]='^[[3~' +key[End]='^[[4~' +key[PageDown]='^[[6~' +key[Up]='^[[A' +key[Left]='^[[D' +key[Down]='^[[B' +key[Right]='^[[C' +key[Menu]='''' diff --git a/install-stuff/zsh/zsh-files/.zkbd/xterm-256color-:0 b/install-stuff/zsh/zsh-files/.zkbd/xterm-256color-:0 new file mode 100755 index 0000000..0c7ec77 --- /dev/null +++ b/install-stuff/zsh/zsh-files/.zkbd/xterm-256color-:0 @@ -0,0 +1,26 @@ +typeset -g -A key + +key[F1]='''' +key[F2]='^[OQ' +key[F3]='''' +key[F4]='^[OS' +key[F5]='''' +key[F6]='''' +key[F7]='^[[18~' +key[F8]='^[[19~' +key[F9]='^[[20~' +key[F10]='^[[21~' +key[F11]='''' +key[F12]='^[[24~' +key[Backspace]='^?' +key[Insert]='^[[2~' +key[Home]='^[[H' +key[PageUp]='^[[5~' +key[Delete]='^[[3~' +key[End]='^[[F' +key[PageDown]='^[[6~' +key[Up]='^[[A' +key[Left]='^[[D' +key[Down]='^[[B' +key[Right]='^[[C' +key[Menu]='''' diff --git a/install-stuff/zsh/zsh-files/.zkbd/xterm-256color-_0 b/install-stuff/zsh/zsh-files/.zkbd/xterm-256color-_0 new file mode 100755 index 0000000..0c7ec77 --- /dev/null +++ b/install-stuff/zsh/zsh-files/.zkbd/xterm-256color-_0 @@ -0,0 +1,26 @@ +typeset -g -A key + +key[F1]='''' +key[F2]='^[OQ' +key[F3]='''' +key[F4]='^[OS' +key[F5]='''' +key[F6]='''' +key[F7]='^[[18~' +key[F8]='^[[19~' +key[F9]='^[[20~' +key[F10]='^[[21~' +key[F11]='''' +key[F12]='^[[24~' +key[Backspace]='^?' +key[Insert]='^[[2~' +key[Home]='^[[H' +key[PageUp]='^[[5~' +key[Delete]='^[[3~' +key[End]='^[[F' +key[PageDown]='^[[6~' +key[Up]='^[[A' +key[Left]='^[[D' +key[Down]='^[[B' +key[Right]='^[[C' +key[Menu]='''' diff --git a/install-stuff/zsh/zsh-files/.zkbd/xterm-256color-redhat-linux-gnu b/install-stuff/zsh/zsh-files/.zkbd/xterm-256color-redhat-linux-gnu new file mode 100644 index 0000000..0c7ec77 --- /dev/null +++ b/install-stuff/zsh/zsh-files/.zkbd/xterm-256color-redhat-linux-gnu @@ -0,0 +1,26 @@ +typeset -g -A key + +key[F1]='''' +key[F2]='^[OQ' +key[F3]='''' +key[F4]='^[OS' +key[F5]='''' +key[F6]='''' +key[F7]='^[[18~' +key[F8]='^[[19~' +key[F9]='^[[20~' +key[F10]='^[[21~' +key[F11]='''' +key[F12]='^[[24~' +key[Backspace]='^?' +key[Insert]='^[[2~' +key[Home]='^[[H' +key[PageUp]='^[[5~' +key[Delete]='^[[3~' +key[End]='^[[F' +key[PageDown]='^[[6~' +key[Up]='^[[A' +key[Left]='^[[D' +key[Down]='^[[B' +key[Right]='^[[C' +key[Menu]='''' diff --git a/install-stuff/zsh/zsh-files/.zkbd/xterm-kitty-:0 b/install-stuff/zsh/zsh-files/.zkbd/xterm-kitty-:0 new file mode 100644 index 0000000..edd61cd --- /dev/null +++ b/install-stuff/zsh/zsh-files/.zkbd/xterm-kitty-:0 @@ -0,0 +1,26 @@ +typeset -g -A key + +key[F1]='^[OP' +key[F2]='^[OQ' +key[F3]='^[OR' +key[F4]='^[OS' +key[F5]='^[[15~' +key[F6]='^[[17~' +key[F7]='^[[18~' +key[F8]='^[[19~' +key[F9]='^[[20~' +key[F10]='^[[21~' +key[F11]='^[[23~' +key[F12]='^[[24~' +key[Backspace]='^?' +key[Insert]='^[[2~' +key[Home]='^[[H' +key[PageUp]='^[[5~' +key[Delete]='^[[3~' +key[End]='^[[F' +key[PageDown]='^[[6~' +key[Up]='^[[A' +key[Left]='^[[D' +key[Down]='^[[B' +key[Right]='^[[C' +key[Menu]='^[[29~' diff --git a/install-stuff/zsh/zsh-files/.zkbd/xterm-kitty-_0 b/install-stuff/zsh/zsh-files/.zkbd/xterm-kitty-_0 new file mode 100755 index 0000000..edd61cd --- /dev/null +++ b/install-stuff/zsh/zsh-files/.zkbd/xterm-kitty-_0 @@ -0,0 +1,26 @@ +typeset -g -A key + +key[F1]='^[OP' +key[F2]='^[OQ' +key[F3]='^[OR' +key[F4]='^[OS' +key[F5]='^[[15~' +key[F6]='^[[17~' +key[F7]='^[[18~' +key[F8]='^[[19~' +key[F9]='^[[20~' +key[F10]='^[[21~' +key[F11]='^[[23~' +key[F12]='^[[24~' +key[Backspace]='^?' +key[Insert]='^[[2~' +key[Home]='^[[H' +key[PageUp]='^[[5~' +key[Delete]='^[[3~' +key[End]='^[[F' +key[PageDown]='^[[6~' +key[Up]='^[[A' +key[Left]='^[[D' +key[Down]='^[[B' +key[Right]='^[[C' +key[Menu]='^[[29~' diff --git a/install-stuff/zsh/zsh-files/.zkbd/xterm-redhat-linux-gnu b/install-stuff/zsh/zsh-files/.zkbd/xterm-redhat-linux-gnu new file mode 100644 index 0000000..0044f28 --- /dev/null +++ b/install-stuff/zsh/zsh-files/.zkbd/xterm-redhat-linux-gnu @@ -0,0 +1,27 @@ +typeset -g -A key + +key[F1]='^[OP' +key[F2]='^[OQ' +key[F3]='^[OR' +key[F4]='^[OS' +key[F5]='^[[15~' +key[F6]='^[[17~' +key[F7]='^[[18~' +key[F8]='^[[19~' +key[F9]='^[[20~' +key[F10]='^[[21~' +key[F11]='^[[23~' +key[F12]='^[[24~' +key[Backspace]='^?' +key[Insert]='^[[2~' +key[Home]='^[[H' +key[End]='^[[F' +key[PageUp]='^[[5~' +key[Delete]='^[[3~' +key[End]='''' +key[PageDown]='^[[6~' +key[Up]='^[[A' +key[Left]='^[[D' +key[Down]='^[[B' +key[Right]='^[[C' +key[Menu]='^[[29~' diff --git a/install-stuff/zsh/zsh-files/.zshrc b/install-stuff/zsh/zsh-files/.zshrc new file mode 100755 index 0000000..2b617d1 --- /dev/null +++ b/install-stuff/zsh/zsh-files/.zshrc @@ -0,0 +1,168 @@ +# Original zshrc: + +# Lines configured by zsh-newuser-install +HISTFILE=~/.histfile +HISTSIZE=1000 +SAVEHIST=1000 +unsetopt beep +bindkey -e +# End of lines configured by zsh-newuser-install +# The following lines were added by compinstall +zstyle :compinstall filename '/home/ben/.zshrc' + +autoload -Uz compinit +compinit +# End of lines added by compinstall + +# To redo zsh wizard, run these: +# autoload -Uz zsh-newuser-install +# zsh-newuser-install -f + +# User specific aliases and functions + +alias rm='rm -i' +alias cp='cp -i' +alias mv='mv -i' + +# some more ls aliases +alias ll='ls -l' +alias la='ls -A' +alias l='ls -CF' + +# kitty stuff +alias icat="kitty +kitten icat" +#export TERM=xterm + +# docker stuff +alias dcompose='docker compose up -d --remove-orphans' +alias docker='docker' +export DOCKER_HOST=unix:///run/user/1000/docker.sock + +# keyboard fixes +unsetopt MULTIBYTE +source ~/.zkbd/$TERM-${${DISPLAY:t}:-$VENDOR-$OSTYPE} +bindkey "${key[Left]}" backward-char +bindkey "${key[Right]}" forward-char +bindkey "^[[1;5C" forward-word +bindkey "^[[1;5D" backward-word +bindkey "${key[Home]}" beginning-of-line +bindkey "${key[End]}" end-of-line +bindkey "${key[Delete]}" delete-char +bindkey "^[[3;5~" delete-word +bindkey "^H" backward-delete-word +bindkey "${key[Up]}" up-history +bindkey "${key[Down]}" down-history +bindkey "^Z" undo +bindkey "^Y" redo + +export EDITOR="nvim" +export VISUAL=$EDITOR + +# ######################################### +# End of original zshrc +# ######################################### + +# If you come from bash you might have to change your $PATH. +export PATH=/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/home/ben/.local/bin + +# Path to your oh-my-zsh installation. +export ZSH="$HOME/.oh-my-zsh" + +# Set name of the theme to load --- if set to "random", it will +# load a random theme each time oh-my-zsh is loaded, in which case, +# to know which specific one was loaded, run: echo $RANDOM_THEME +# See https://github.com/ohmyzsh/ohmyzsh/wiki/Themes +ZSH_THEME="robbyrussell" + +# Set list of themes to pick from when loading at random +# Setting this variable when ZSH_THEME=random will cause zsh to load +# a theme from this variable instead of looking in $ZSH/themes/ +# If set to an empty array, this variable will have no effect. +# ZSH_THEME_RANDOM_CANDIDATES=( "robbyrussell" "agnoster" ) + +# Uncomment the following line to use case-sensitive completion. +# CASE_SENSITIVE="true" + +# Uncomment the following line to use hyphen-insensitive completion. +# Case-sensitive completion must be off. _ and - will be interchangeable. +# HYPHEN_INSENSITIVE="true" + +# Uncomment one of the following lines to change the auto-update behavior +# zstyle ':omz:update' mode disabled # disable automatic updates +# zstyle ':omz:update' mode auto # update automatically without asking +# zstyle ':omz:update' mode reminder # just remind me to update when it's time + +# Uncomment the following line to change how often to auto-update (in days). +# zstyle ':omz:update' frequency 13 + +# Uncomment the following line if pasting URLs and other text is messed up. +# DISABLE_MAGIC_FUNCTIONS="true" + +# Uncomment the following line to disable colors in ls. +# DISABLE_LS_COLORS="true" + +# Uncomment the following line to disable auto-setting terminal title. +# DISABLE_AUTO_TITLE="true" + +# Uncomment the following line to enable command auto-correction. +# ENABLE_CORRECTION="true" + +# Uncomment the following line to display red dots whilst waiting for completion. +# You can also set it to another string to have that shown instead of the default red dots. +# e.g. COMPLETION_WAITING_DOTS="%F{yellow}waiting...%f" +# Caution: this setting can cause issues with multiline prompts in zsh < 5.7.1 (see #5765) +# COMPLETION_WAITING_DOTS="true" + +# Uncomment the following line if you want to disable marking untracked files +# under VCS as dirty. This makes repository status check for large repositories +# much, much faster. +# DISABLE_UNTRACKED_FILES_DIRTY="true" + +# Uncomment the following line if you want to change the command execution time +# stamp shown in the history command output. +# You can set one of the optional three formats: +# "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd" +# or set a custom format using the strftime function format specifications, +# see 'man strftime' for details. +# HIST_STAMPS="mm/dd/yyyy" + +# Would you like to use another custom folder than $ZSH/custom? +# ZSH_CUSTOM=/path/to/new-custom-folder + +# Which plugins would you like to load? +# Standard plugins can be found in $ZSH/plugins/ +# Custom plugins may be added to $ZSH_CUSTOM/plugins/ +# Example format: plugins=(rails git textmate ruby lighthouse) +# Add wisely, as too many plugins slow down shell startup. +plugins=(git cmdtime) + +source $ZSH/oh-my-zsh.sh + +# User configuration + +# export MANPATH="/usr/local/man:$MANPATH" + +# You may need to manually set your language environment +# export LANG=en_US.UTF-8 + +# Preferred editor for local and remote sessions +# if [[ -n $SSH_CONNECTION ]]; then +# export EDITOR='vim' +# else +# export EDITOR='mvim' +# fi + +# Compilation flags +# export ARCHFLAGS="-arch x86_64" + +# Set personal aliases, overriding those provided by oh-my-zsh libs, +# plugins, and themes. Aliases can be placed here, though oh-my-zsh +# users are encouraged to define aliases within the ZSH_CUSTOM folder. +# For a full list of active aliases, run `alias`. +# +# Example aliases +alias zshconfig="mate ~/.zshrc" +alias ohmyzsh="mate ~/.oh-my-zsh" +alias s="kitty +kitten ssh" + +export GPG_TTY=$(tty) diff --git a/install-stuff/zsh/zsh-setup.bash b/install-stuff/zsh/zsh-setup.bash new file mode 100755 index 0000000..59ae664 --- /dev/null +++ b/install-stuff/zsh/zsh-setup.bash @@ -0,0 +1,38 @@ +#!/usr/bin/env bash +# Exit if there's an error +set -e + +if [ $(whoami) != "root" ]; then + SUDO="sudo" +else + echo "Run as a normal user, not root" + exit 1 +fi + +command_exists() { type "$1" &>/dev/null; } + +if command_exists "apt-get"; then + sudo apt-get install zsh -y +elif command_exists "yum"; then + sudo yum install zsh util-linux-user -y +elif command_exists "pacman"; then + sudo pacman -S zsh --noconfirm --needed +elif command_exists "zypper"; then + sudo zypper install zsh -y +elif command_exists "emerge"; then + sudo emerge app-shells/zsh + sudo emerge app-shells/zsh-completions + sudo emerge app-shells/gentoo-zsh-completions +elif command_exists "apk"; then + sudo apk add zsh -y +else + echo >&2 "Unsupported: unknown package manager and distro" + exit 1 +fi + +git submodule update --init --recursive +cp -r zsh-files/.oh-my-zsh ~/ +cp -r zsh-files/.zkbd ~/ +cp zsh-files/.zshrc ~/ + +chsh -s $(which zsh)