summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorToby Vincent <tobyv13@gmail.com>2022-08-18 19:38:53 -0500
committerToby Vincent <tobyv13@gmail.com>2022-08-18 19:43:21 -0500
commit51ea14a6a86d93781182dbcd9132c6079c2ddc51 (patch)
treed1f9593d95681fd30453c1533f4a79483bc605f3
parentc6684b0e395db4fd17dfddb0b4d3f28a21b630f4 (diff)
feat(sway): improve sway configs
-rw-r--r--bash/.bash_profile4
-rw-r--r--makefile122
-rw-r--r--rofi/.config/rofi/config.rasi2
-rw-r--r--sh/.profile53
-rw-r--r--sway/.config/environment.d/sway.conf3
-rw-r--r--sway/.config/sway/config27
-rw-r--r--xdg/.config/user-dirs.dirs2
-rw-r--r--zsh/.zshenv50
8 files changed, 83 insertions, 180 deletions
diff --git a/bash/.bash_profile b/bash/.bash_profile
index 515cf94..6c85f86 100644
--- a/bash/.bash_profile
+++ b/bash/.bash_profile
@@ -1,7 +1,7 @@
#!/bin/bash
-# shellcheck disable=1091
-. "$HOME/.zshenv"
+# shellcheck disable=1090
+. ~/.profile
# shellcheck disable=1090
if [[ $- == *i* ]]; then . ~/.bashrc; fi
diff --git a/makefile b/makefile
index cecb274..ea99d91 100644
--- a/makefile
+++ b/makefile
@@ -1,122 +1,24 @@
-VPATH = $(PATH)
-
-ROOT_DIR := $(shell dirname $(realpath $(firstword $(MAKEFILE_LIST))))
-ZSH_COMP_DIR := $(HOME)/.local/share/zsh/site-functions
-BASH_COMP_DIR := $(HOME)/.local/share/bash-completion/completions
-
-ARCH := $(shell uname -m | sed s/aarch64/arm64/ | sed s/x86_64/amd64/ | sed s/armv7l/armv6/)
-
-.PHONY: interactive stow unstow clean gpg wsl
-
-# TODO https://github.com/andrewsardone/dotfiles/blob/master/Makefile
-stow: # Install configs
- @stow alacritty --defer=/*
- @stow bash
- @stow bat
- @stow git
- @stow gnupg --defer=/*
- @stow lazygit
- @stow mpv
- @stow nvim
- @stow paru
- @stow rofi
- @stow scripts
- @stow sheldon
- @stow spotify
- @stow ssh
- @stow starship
- @stow streamlink
- @stow sway
- @stow tmux
- @stow wezterm
- @stow wired
- @stow zsh
- @if [ -n "$$WSL_DISTRO_NAME" ]; then stow wsl --override=/*; fi
+.PHONY: stow
+stow: # Install configs
+ stow */
+.PHONY: unstow
unstow: # Uninstall configuration files
stow --delete */
+.PHONY: clean
clean: # Remove all broken symbolic links from $HOME (recursivly)
fd . $(HOME) --hidden --exclude $(XDG_CACHE_HOME) --type l --exec sh -c '[ -e "{}" ] || rm -v {}'
-wsl: stow # Run WSL install script
- ./wsl/.local/bin/wsl-installer.sh
-
+.PHONY: gpg
gpg: # Install GPG keys
gpg --auto-key-locate keyserver --locate-keys tobyv13@gmail.com
gpg --import-ownertrust $(HOME)/.gnupg/trustfile.txt
-$(ZSH_COMP_DIR):
- mkdir -p $(ZSH_COMP_DIR)
-
-$(BASH_COMP_DIR):
- mkdir -p $(BASH_COMP_DIR)
-
-interactive: fzf rg # Interactive target runner
- @rg '^(\w+):(?:.*#\s*(.*)|.*)$$' 'makefile' --color always --line-number --no-heading -H --smart-case -r '$$1:$$2' \
- | fzf -0 -1 --ansi --tac --multi -d':' --with-nth 3 --header="Select target(s)" \
- --color "hl:-1:underline,hl+:-1:underline:reverse" \
- --preview 'echo; echo {3} "-" {4}; echo; bat --style=auto --color=always {..1} --highlight-line {2}' \
- --preview-window '80%,border-bottom,+{2}+3/3,~3'
-
-cargo rust: $(ZSH_COMP_DIR) $(BASH_COMP_DIR) # Install rust
- curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --no-modify-path
- rustup completions bash >$(BASH_COMP_DIR)/rustup
- rustup completions zsh >$(ZSH_COMP_DIR)/_rustup
- rustup completions bash cargo >$(BASH_COMP_DIR)/cargo
- rustup completions zsh cargo >$(ZSH_COMP_DIR)/_cargo
-
-cargo-quickinstall: cargo # Attempts to install prebuilt binaries, using cargo install as a fallback
- cargo install cargo-quickinstall
-
-starship: cargo-quickinstall $(ZSH_COMP_DIR) $(BASH_COMP_DIR) # Cross shell prompt, written in rust
- cargo quickinstall starship
- starship completions bash >$(BASH_COMP_DIR)/starship
- starship completions zsh >$(ZSH_COMP_DIR)/_starship
-
-sheldon: cargo-quickinstall $(ZSH_COMP_DIR) $(BASH_COMP_DIR) # Cross shell prompt, written in rust
- cargo quickinstall sheldon
- sheldon completions --shell bash >$(BASH_COMP_DIR)/sheldon
- sheldon completions --shell zsh >$(ZSH_COMP_DIR)/_sheldon
-
-bat: cargo-quickinstall $(ZSH_COMP_DIR) $(BASH_COMP_DIR) # Better cat, written in rust
- cargo quickinstall bat --target $(arch())-unknown-$(os())-mus
- curl -sL https://raw.githubusercontent.com/sharkdp/bat/master/assets/completions/bat.bash.in >$(BASH_COMP_DIR)/bat
- curl -sL https://raw.githubusercontent.com/sharkdp/bat/master/assets/completions/bat.zsh.in >$(ZSH_COMP_DIR)/_bat
-
-fd: cargo-quickinstall $(ZSH_COMP_DIR) # Better cat, written in rust
- cargo quickinstall fd-find
- curl -sL https://raw.githubusercontent.com/sharkdp/fd/master/contrib/completion/_fd >$(ZSH_COMP_DIR)/_fd
-
-rg: cargo-quickinstall $(ZSH_COMP_DIR) # Better grep, written in rust
- cargo quickinstall ripgrep
- curl -sL https://raw.githubusercontent.com/BurntSushi/ripgrep/master/complete/_rg >$(ZSH_COMP_DIR)/_rg
-
-chtsh: $(ZSH_COMP_DIR) $(BASH_COMP_DIR) # CLI for https://cht.sh
- curl https://cht.sh/:cht.sh >$(HOME)/.local/bin/cht.sh
- chmod +x $(HOME)/.local/bin/cht.sh
- curl https://cht.sh/:bash_completion >$(BASH_COMP_DIR)/cht
- curl https://cheat.sh/:zsh >$(ZSH_COMP_DIR)/_cht
-
-git-open: # Open git remotes in the browser
- curl -sL "https://raw.githubusercontent.com/paulirish/git-open/master/git-open" >$(HOME)/.local/bin/git-open &&
- chmod +x $(HOME)/.local/bin/git-open
-
-gh: $(ZSH_COMP_DIR) $(BASH_COMP_DIR) # CLI for github API
- $(eval TEMP := $(shell mktemp -d))
- $(eval TAG := $(shell curl -sI https://github.com/cli/cli/releases/latest | grep -Po 'tag\/v?\K(\S+)'))
- curl -sL https://github.com/cli/cli/releases/latest/download/gh_$(TAG)_linux_$(ARCH).tar.gz | tar -C $(TEMP) -xz
- test -x $(TEMP)/gh_$(TAG)_linux_$(ARCH)/bin/gh
- install -Dm 755 $(TEMP)/gh_$(TAG)_linux_$(ARCH)/bin/gh $(HOME)/.local/bin/gh
- rm -rf $(TEMP)
- gh completion --shell bash >$(BASH_COMP_DIR)/gh
- gh completion --shell zsh >$(ZSH_COMP_DIR)/_gh
+.PHONY: wsl
+wsl:
+ @if [ -n "$$WSL_DISTRO_NAME" ]; then stow wsl --override=/*; fi
-fzf: # Fuzzy finder, written in go
- $(eval TEMP := $(shell mktemp -d))
- $(eval TAG := $(shell curl -sI https://github.com/junegunn/fzf/releases/latest | grep -Po 'tag\/v?\K(\S+)'))
- curl -sL https://github.com/junegunn/fzf/releases/latest/download/fzf-${TAG}-linux_$(ARCH).tar.gz | tar -C $(TEMP) -xz
- test -x $(TEMP)/fzf
- rm -f $(HOME)/.local/bin/fzf
- install -Dm 755 $(TEMP)/fzf $(HOME)/.local/bin/fzf
- rm -rf $(TEMP)
+.PHONY: wsl-script
+wsl-script: wsl # Run WSL install script
+ ./wsl/.local/bin/wsl-installer.sh
diff --git a/rofi/.config/rofi/config.rasi b/rofi/.config/rofi/config.rasi
index aad0fc6..28381a9 100644
--- a/rofi/.config/rofi/config.rasi
+++ b/rofi/.config/rofi/config.rasi
@@ -1,5 +1,5 @@
configuration {
-/* modi: "run,ssh";*/
+modi: "run,drun,ssh";
/* font: "mono 12";*/
/* location: 0;*/
/* yoffset: 0;*/
diff --git a/sh/.profile b/sh/.profile
new file mode 100644
index 0000000..f865eb2
--- /dev/null
+++ b/sh/.profile
@@ -0,0 +1,53 @@
+#!/bin/sh
+# shellcheck disable=2155
+
+# https://wiki.archlinux.org/title/XDG_Base_Directory
+export XDG_CONFIG_HOME="$HOME/.config"
+export XDG_CACHE_HOME="$HOME/.cache"
+export XDG_DATA_HOME="$HOME/.local/share"
+export XDG_STATE_HOME="$HOME/.local/state"
+export XDG_RUNTIME_DIR="${XDG_RUNTIME_DIR:-/run/user/$(id -u "$USER")}"
+
+export ZDOTDIR="$XDG_CONFIG_HOME/zsh"
+export BASH_COMPLETION_USER_DIR="$XDG_DATA_HOME/bash-completion/completions"
+export LESSHISTFILE="$XDG_STATE_HOME/lesshst"
+export WGETRC="$XDG_CONFIG_HOME/wgetrc"
+
+# Misc
+export EDITOR="$(command -v nvim 2>/dev/null || command -v vim 2>/dev/null || command -v vi)"
+export BROWSER="$(command -v firefox || command -v chromium 2>/dev/null)"
+export TERMINAL="alacritty"
+export MANPAGER="sh -c 'col -bx | bat -l man -p'"
+export MANROFFOPT="-c"
+export STARSHIP_LOG="error"
+export FZF_PREVIEW_COMMAND="bat --style=numbers,changes --wrap never --color always {} || cat {} || exa --tree --icons --git-ignore {} || tree -C {}"
+export FZF_DEFAULT_COMMAND="fd --type f || git ls-tree -r --name-only HEAD || rg --files || find ."
+export FZF_DEFAULT_OPTS='--exit-0 --select-1 --bind "ctrl-q:abort,ctrl-y:preview-up,ctrl-e:preview-down,ctrl-u:preview-half-page-up,ctrl-d:preview-half-page-down,ctrl-b:preview-page-up,ctrl-f:preview-page-down,alt-up:half-page-up,alt-down:half-page-down"'
+export FZF_CTRL_T_COMMAND="$FZF_DEFAULT_COMMAND"
+export FZF_CTRL_T_OPTS="--min-height 30 --preview-window down:60% --preview-window noborder --preview '($FZF_PREVIEW_COMMAND) 2> /dev/null'"
+
+export PATH="$PATH:$HOME/.local/bin"
+
+# rust
+export RUSTUP_HOME="$XDG_DATA_HOME/rustup"
+export CARGO_HOME="$XDG_DATA_HOME/cargo"
+export PATH="$PATH:$CARGO_HOME/bin"
+
+# go
+export GOPATH="$XDG_DATA_HOME/go"
+export PATH="$PATH:$GOPATH/bin"
+
+# npm
+export npm_config_userconfig="$XDG_CONFIG_HOME/npm/config"
+export npm_config_cache="$XDG_CACHE_HOME/npm"
+export npm_config_prefix="$XDG_DATA_HOME/npm"
+export PATH="$PATH:$npm_config_prefix/bin"
+
+# dotnet
+export DOTNET_CLI_HOME="$XDG_DATA_HOME/dotnet"
+export PATH="$PATH:$DOTNET_CLI_HOME/tools"
+
+# texlive
+export TEXMFHOME="$XDG_DATA_HOME/texmf"
+export TEXMFVAR="$XDG_CACHE_HOME/texlive/texmf-var"
+export TEXMFCONFIG="$XDG_CONFIG_HOME/texlive/texmf-config"
diff --git a/sway/.config/environment.d/sway.conf b/sway/.config/environment.d/sway.conf
deleted file mode 100644
index 4c61a50..0000000
--- a/sway/.config/environment.d/sway.conf
+++ /dev/null
@@ -1,3 +0,0 @@
-DISPLAY=:0
-XDG_SESSION_TYPE=wayland
-WAYLAND_DISPLAY=0 \ No newline at end of file
diff --git a/sway/.config/sway/config b/sway/.config/sway/config
index 06daa5e..22bd029 100644
--- a/sway/.config/sway/config
+++ b/sway/.config/sway/config
@@ -7,9 +7,7 @@ set $mod Mod4
set $term $TERMINAL
# Menu
-set $menu exec rofi -modi "run,drun" -show drun -show-icons
-set $menu_all exec rofi -modi "run,drun" -show run -show-icons
-set $menu_ssh exec rofi -modi "ssh" -show ssh -show-icons
+set $menu exec rofi -show-icons
# Home row direction keys, like vim
set $left h
@@ -70,16 +68,17 @@ input type:keyboard {
### Key bindings
-# Exit sway
-bindsym $mod+Shift+e exec swaynag -t warning -m 'Do you really want to exit sway?' -B 'Yes, exit sway' 'swaymsg exit'
+# Power menu
+bindsym $mod+Escape exec $menu -modi p:rofi-power-menu -show p
+bindsym $mod+Shift+Escape exec swaynag -t warning -m 'Do you really want to exit sway?' -B 'Yes, exit sway' 'swaymsg exit'
-# App launcher
-bindsym $mod+space exec $menu
-bindsym $mod+shift+space exec $menu_all
+# Run menu
+bindsym $mod+space exec $menu -show drun
+bindsym $mod+shift+space exec $menu -show run
# Launch terminal
bindsym $mod+return exec $TERMINAL
-bindsym $mod+shift+return exec $menu_ssh
+bindsym $mod+shift+return exec $menu -show ssh
# Launch browser
bindsym $mod+w exec $BROWSER
@@ -141,7 +140,7 @@ bindsym $mod+7 workspace number 7
bindsym $mod+8 workspace number 8
bindsym $mod+9 workspace number 9
bindsym $mod+0 workspace number 10
-bindsym $mod+tab workspace back_and_forth
+bindsym $mod+ctrl+6 workspace back_and_forth
# Move focused container to workspace
bindsym $mod+Shift+1 move container to workspace number 1; workspace number 1
@@ -208,9 +207,9 @@ hide_edge_borders smart
# Clipboard manager
exec wl-paste --type text --watch clipman store --no-persist
bindsym $mod+v exec clipman pick --tool=rofi
-bindsym $mod+b exec rofi-rbw
-# float launcher window
-for_window [app_id="^launcher$"] floating enable, sticky enable, resize set 30 ppt 60 ppt, border pixel 2
+# Password manager
+bindsym $mod+b exec rofi-rbw
-include @sysconfdir@/sway/config.d/*
+include config.d/*
+include /etc/sway/config.d/*
diff --git a/xdg/.config/user-dirs.dirs b/xdg/.config/user-dirs.dirs
index ecb9eca..974eb39 100644
--- a/xdg/.config/user-dirs.dirs
+++ b/xdg/.config/user-dirs.dirs
@@ -5,4 +5,4 @@ XDG_PICTURES_DIR="$HOME/img"
XDG_PUBLICSHARE_DIR="$HOME/pub"
XDG_TEMPLATES_DIR="$HOME/tmplt"
XDG_VIDEOS_DIR="$HOME/vid"
-
+XDG_DESKTOP_DIR="$HOME/desk"
diff --git a/zsh/.zshenv b/zsh/.zshenv
index f865eb2..ad32cea 100644
--- a/zsh/.zshenv
+++ b/zsh/.zshenv
@@ -1,53 +1,5 @@
#!/bin/sh
-# shellcheck disable=2155
-# https://wiki.archlinux.org/title/XDG_Base_Directory
-export XDG_CONFIG_HOME="$HOME/.config"
-export XDG_CACHE_HOME="$HOME/.cache"
-export XDG_DATA_HOME="$HOME/.local/share"
-export XDG_STATE_HOME="$HOME/.local/state"
-export XDG_RUNTIME_DIR="${XDG_RUNTIME_DIR:-/run/user/$(id -u "$USER")}"
+emulate sh -c '. ~/.profile'
export ZDOTDIR="$XDG_CONFIG_HOME/zsh"
-export BASH_COMPLETION_USER_DIR="$XDG_DATA_HOME/bash-completion/completions"
-export LESSHISTFILE="$XDG_STATE_HOME/lesshst"
-export WGETRC="$XDG_CONFIG_HOME/wgetrc"
-
-# Misc
-export EDITOR="$(command -v nvim 2>/dev/null || command -v vim 2>/dev/null || command -v vi)"
-export BROWSER="$(command -v firefox || command -v chromium 2>/dev/null)"
-export TERMINAL="alacritty"
-export MANPAGER="sh -c 'col -bx | bat -l man -p'"
-export MANROFFOPT="-c"
-export STARSHIP_LOG="error"
-export FZF_PREVIEW_COMMAND="bat --style=numbers,changes --wrap never --color always {} || cat {} || exa --tree --icons --git-ignore {} || tree -C {}"
-export FZF_DEFAULT_COMMAND="fd --type f || git ls-tree -r --name-only HEAD || rg --files || find ."
-export FZF_DEFAULT_OPTS='--exit-0 --select-1 --bind "ctrl-q:abort,ctrl-y:preview-up,ctrl-e:preview-down,ctrl-u:preview-half-page-up,ctrl-d:preview-half-page-down,ctrl-b:preview-page-up,ctrl-f:preview-page-down,alt-up:half-page-up,alt-down:half-page-down"'
-export FZF_CTRL_T_COMMAND="$FZF_DEFAULT_COMMAND"
-export FZF_CTRL_T_OPTS="--min-height 30 --preview-window down:60% --preview-window noborder --preview '($FZF_PREVIEW_COMMAND) 2> /dev/null'"
-
-export PATH="$PATH:$HOME/.local/bin"
-
-# rust
-export RUSTUP_HOME="$XDG_DATA_HOME/rustup"
-export CARGO_HOME="$XDG_DATA_HOME/cargo"
-export PATH="$PATH:$CARGO_HOME/bin"
-
-# go
-export GOPATH="$XDG_DATA_HOME/go"
-export PATH="$PATH:$GOPATH/bin"
-
-# npm
-export npm_config_userconfig="$XDG_CONFIG_HOME/npm/config"
-export npm_config_cache="$XDG_CACHE_HOME/npm"
-export npm_config_prefix="$XDG_DATA_HOME/npm"
-export PATH="$PATH:$npm_config_prefix/bin"
-
-# dotnet
-export DOTNET_CLI_HOME="$XDG_DATA_HOME/dotnet"
-export PATH="$PATH:$DOTNET_CLI_HOME/tools"
-
-# texlive
-export TEXMFHOME="$XDG_DATA_HOME/texmf"
-export TEXMFVAR="$XDG_CACHE_HOME/texlive/texmf-var"
-export TEXMFCONFIG="$XDG_CONFIG_HOME/texlive/texmf-config"