From 5d4be3adaeb1e3d2ff8ca09ddb98e957faa3ca1d Mon Sep 17 00:00:00 2001 From: Juni Kim Date: Fri, 27 Jan 2023 22:29:20 -0500 Subject: [PATCH] first commit --- dots/tmux.conf | 8 +++ dots/zshrc | 140 ++++++++++++++++++++++++++++++++++++++++++++++ install_fedora.sh | 95 +++++++++++++++++++++++++++++++ install_ubuntu.sh | 124 ++++++++++++++++++++++++++++++++++++++++ 4 files changed, 367 insertions(+) create mode 100644 dots/tmux.conf create mode 100644 dots/zshrc create mode 100755 install_fedora.sh create mode 100755 install_ubuntu.sh diff --git a/dots/tmux.conf b/dots/tmux.conf new file mode 100644 index 0000000..09283ae --- /dev/null +++ b/dots/tmux.conf @@ -0,0 +1,8 @@ +set -ga terminal-overrides ",screen-256color*:Tc" +set-option -g default-terminal "screen-256color" +set -s escape-time 0 +set-option -g status-style fg=white,bg=black + +unbind-key C-b +set-option -g prefix C-a +bind-key C-a send-prefix diff --git a/dots/zshrc b/dots/zshrc new file mode 100644 index 0000000..86a9440 --- /dev/null +++ b/dots/zshrc @@ -0,0 +1,140 @@ +# If you come from bash you might have to change your $PATH. +# export PATH=$HOME/bin:/usr/local/bin:$PATH + +# 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="edvardm" + +# 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 zsh-syntax-highlighting) + +source $ZSH/oh-my-zsh.sh + + +# User configuration + +# export MANPATH="/usr/local/man:$MANPATH" + +# You may need to manually set your language environment + +# 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" + +set -o vi +alias gac='git add . && git commit' +alias v='nvim' +alias vn='nvim -u ~/.config/nvim_new/init.lua' +alias s='ls' +#alias sy='systemctl' +#alias j='journalctl' +#alias r='source ranger' +alias c='clear' +alias e='exit' +alias o='xdg-open' +#alias ec='emacsclient' +alias cp='cp -r' +alias vc='nvim ~/.config/nvim' +alias vz='nvim ~/.zshrc' +alias sz='source ~/.zshrc' +alias sy='systemctl' +# ~/.zshrc + +export MT_EDITOR=nvim +export VISUAL=nvim + +f() { + fff "$@" + cd "$(cat "${XDG_CACHE_HOME:=${HOME}/.cache}/fff/.fff_d")" +} + + +#export TERM=linux +export EDITOR=nvim +export PATH=$HOME/.local/bin:$PATH +export PATH=$HOME/go/bin:$PATH + +resetcursor() { + # must be wrapped like this so zsh knows it's zero characters. + echo -e '%{\e]50;CursorShape=1%}' +} +export PS1="$(resetcursor)$PS1" diff --git a/install_fedora.sh b/install_fedora.sh new file mode 100755 index 0000000..6fbb0eb --- /dev/null +++ b/install_fedora.sh @@ -0,0 +1,95 @@ +#!/bin/sh + +DIR="$(realpath "$(dirname "$0")")" + +# script must start at home directory +cd "$HOME" || exit 1; + +dependencies() { + sudo dnf update -y + sudo dnf install -y make curl sudo git zip unzip || exit 1 + sudo dnf install -y nodejs golang cargo tmux g++ gcc || exit 1 +} + +sysinfo() { + echo "Dylan Araps scripts" + cd "$HOME" || exit 1; + mkdir -p repos + git clone https://github.com/dylanaraps/pfetch "$HOME/repos/pfetch" + git clone https://github.com/dylanaraps/neofetch "$HOME/repos/neofetch" + git clone https://github.com/dylanaraps/fff "$HOME/repos/fff" + + cd "$HOME/repos/pfetch" || exit 1; + sudo make install || exit 2; + cd "$HOME" || exit 1; + + cd "$HOME/repos/neofetch" || exit 1; + sudo make install || exit 2; + cd "$HOME" || exit 1; + + cd "$HOME/repos/fff" || exit 1; + sudo make install || exit 2; + cd "$HOME" || exit 1; +} + +browsers() { + sudo dnf install -y dnf-plugins-core + + sudo dnf config-manager --add-repo https://brave-browser-rpm-release.s3.brave.com/brave-browser.repo + + sudo rpm --import https://brave-browser-rpm-release.s3.brave.com/brave-core.asc + + sudo dnf install -y brave-browser +} + +torbrowser() { + sudo dnf install -y torbrowser-launcher +} + +popshell() { + sudo dnf install -y gnome-shell-extension-pop-shell +} + +dotfiles() { + echo "Adding zsh and tmux configs" + # zsh plugins + sudo dnf install -y zsh + sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" + git clone https://github.com/zsh-users/zsh-syntax-highlighting.git "$HOME/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting" + # dotfiles + if ! test -d "$DIR/dots"; then + echo "$DIR/dots folder not found."; + exit 1; + fi + cp "$DIR/dots/zshrc" "$HOME/.zshrc" + cp "$DIR/dots/tmux.conf" "$HOME/.tmux.conf" +} + +neovim() { + # install neovim + sudo dnf install -y neovim + git clone --depth 1 https://github.com/wbthomason/packer.nvim ~/.local/share/nvim/site/pack/packer/start/packer.nvim || exit 1 + git clone https://git.junickim.me/junikimm717/nvim2023 ~/.config/nvim || exit 1 + nvim -c PackerSync -c 'sleep 10' -c qa --headless + echo "sleeping to compile" + nvim -c 'sleep 40' -c qa --headless +} + +competitiveprogramming() { + echo "CP Compilers..." + sudo dnf install -y clang clang-tools-extra + cd "$HOME" || exit 1; + git clone https://git.junickim.me/junikimm717/linuxcp "$HOME/cp" +} + +#(dependencies && sysinfo && browsers && torbrowser && meetings && dotfiles && neovim) || exit 1 +(dependencies && sysinfo && dotfiles && neovim) || exit 1 + +cat <&1) > /dev/null; then + echo "sudo is not installed."; + exit 1 + fi + + echo "Updating APT and adding PPA's" + curl -sL https://deb.nodesource.com/setup_18.x | sudo -E bash - + sudo apt update -y || exit 1 + + sudo apt install -y nodejs golang cargo tmux g++ gcc || exit 1 +} + +sysinfo() { + echo "Dylan Araps scripts" + cd "$HOME" || exit 1; + mkdir -p repos + git clone https://github.com/dylanaraps/pfetch "$HOME/repos/pfetch" + git clone https://github.com/dylanaraps/neofetch "$HOME/repos/neofetch" + git clone https://github.com/dylanaraps/fff "$HOME/repos/fff" + + cd "$HOME/repos/pfetch" || exit 1; + sudo make install || exit 2; + cd "$HOME" || exit 1; + + cd "$HOME/repos/neofetch" || exit 1; + sudo make install || exit 2; + cd "$HOME" || exit 1; + + cd "$HOME/repos/fff" || exit 1; + sudo make install || exit 2; + cd "$HOME" || exit 1; +} + +browsers() { + sudo apt remove -y firefox + sudo snap remove firefox + # install brave + sudo apt install apt-transport-https -y + sudo curl -fsSLo /usr/share/keyrings/brave-browser-archive-keyring.gpg https://brave-browser-apt-release.s3.brave.com/brave-browser-archive-keyring.gpg + echo "deb [signed-by=/usr/share/keyrings/brave-browser-archive-keyring.gpg arch=amd64] https://brave-browser-apt-release.s3.brave.com/ stable main"|sudo tee /etc/apt/sources.list.d/brave-browser-release.list + sudo apt update -y + sudo apt install brave-browser -y +} + +torbrowser() { + sudo apt install -y torbrowser-launcher +} + +popshell() { + mkdir -p "$HOME/repos" + sudo apt install git node-typescript make -y + git clone https://github.com/pop-os/shell.git "$HOME/repos/shell" +} + +meetings() { + mkdir -p "$HOME/repos" + + # install skype + curl https://go.skype.com/skypeforlinux-64.deb -LJo "$HOME/repos/skypeforlinux.deb" + sudo apt install "$HOME/repos/skypeforlinux.deb" -y + + # install zoom + curl https://zoom.us/client/latest/zoom_amd64.deb -LJo "$HOME/repos/zoomus.deb" + sudo apt install "$HOME/repos/zoomus.deb" -y + + # install mt + sudo curl -LJ https://github.com/junikimm717/mt/releases/download/33627ab/mt -o /usr/local/bin/mt + sudo chmod +x /usr/local/bin/mt +} + +dotfiles() { + echo "Adding zsh and tmux configs" + # zsh plugins + sudo apt install -y zsh + sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" + git clone https://github.com/zsh-users/zsh-syntax-highlighting.git "$HOME/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting" + # dotfiles + if ! test -d "$DIR/dots"; then + echo "$DIR/dots folder not found."; + exit 1; + fi + cp "$DIR/dots/zshrc" "$HOME/.zshrc" + cp "$DIR/dots/tmux.conf" "$HOME/.tmux.conf" +} + +neovim() { + # install neovim + curl https://github.com/neovim/neovim/releases/download/stable/nvim-linux64.deb -LJo "$HOME/repos/nvim-linux64.deb" || exit 1 + sudo apt install "$HOME/repos/nvim-linux64.deb" -y || exit 1 + git clone --depth 1 https://github.com/wbthomason/packer.nvim ~/.local/share/nvim/site/pack/packer/start/packer.nvim || exit 1 + git clone https://git.junickim.me/junikimm717/nvim2023 ~/.config/nvim || exit 1 + nvim -c PackerSync -c 'sleep 10' -c qa --headless + echo "sleeping to compile" + nvim -c 'sleep 40' -c qa --headless +} + +competitiveprogramming() { + echo "CP Compilers..." + sudo apt install clang clang-tools-extra + cd "$HOME" || exit 1; + git clone https://git.junickim.me/junikimm717/linuxcp "$HOME/cp" +} + +#(dependencies && sysinfo && browsers && torbrowser && meetings && dotfiles && neovim) || exit 1 +(dependencies && sysinfo && dotfiles && neovim) || exit 1 + +cat <