From 26e71004457a2c6f9b4ec2c6ac9c11050583f500 Mon Sep 17 00:00:00 2001 From: Clay Gomera Date: Sat, 1 Apr 2023 21:26:43 -0400 Subject: [PATCH] updated... man I'm really lazy writing commit messages, whatever this repo is completely for personal use --- new-config/.config/fish/config.fish | 241 ++++++++++++++++++++++++ new-config/.config/gtk-3.0/settings.ini | 2 +- new-config/.config/hypr/hyprland.conf | 11 +- new-config/.config/lvim/config.lua | 15 +- new-config/.config/waybar/config | 26 +-- new-config/.config/wezterm/wezterm.lua | 2 +- new-config/.gtkrc-2.0 | 2 +- new-config/.local/bin/lvim | 2 +- new-config/dependencies.md | 8 +- 9 files changed, 284 insertions(+), 25 deletions(-) create mode 100644 new-config/.config/fish/config.fish diff --git a/new-config/.config/fish/config.fish b/new-config/.config/fish/config.fish new file mode 100644 index 000000000..9a346d3ba --- /dev/null +++ b/new-config/.config/fish/config.fish @@ -0,0 +1,241 @@ +## ____ __ +## / __ \_________ _/ /_____ +## / / / / ___/ __ `/ //_/ _ \ +## / /_/ / / / /_/ / ,< / __/ Clay Gomera (Drake) +## /_____/_/ \__,_/_/|_|\___/ My custom fish config +## + +### ADDING TO THE PATH +# First line removes the path; second line sets it. Without the first line, +# your path gets massive and fish becomes very slow. +set -e fish_user_paths +set -U fish_user_paths $HOME/.bin $HOME/.local/bin $HOME/.config/emacs/bin $HOME/Applications /var/lib/flatpak/exports/bin/ $fish_user_paths + +### EXPORT ### +set fish_greeting # Supresses fish's intro message +set TERM "xterm-256color" # Sets the terminal type +set EDITOR "$HOME/.local/bin/lvim" # $EDITOR use Emacs in terminal +set VISUAL "wezterm start --class text_editor -- $HOME/.local/bin/lvim" # $VISUAL use Emacs in GUI mode + +### SET BAT AS MANPAGER +set -x MANPAGER "sh -c 'col -bx | bat -l man -p'" + +### SET EITHER DEFAULT EMACS MODE OR VI MODE ### +function fish_user_key_bindings + # fish_default_key_bindings + fish_vi_key_bindings +end +### END OF VI MODE ### + +### AUTOCOMPLETE AND HIGHLIGHT COLORS ### +set fish_color_normal brcyan +set fish_color_autosuggestion '#504945' +set fish_color_command brcyan +set fish_color_error '#fb4934' +set fish_color_param brcyan + + +### FUNCTIONS ### +# Functions needed for !! and !$ +function __history_previous_command + switch (commandline -t) + case "!" + commandline -t $history[1]; commandline -f repaint + case "*" + commandline -i ! + end +end + +function __history_previous_command_arguments + switch (commandline -t) + case "!" + commandline -t "" + commandline -f history-token-search-backward + case "*" + commandline -i '$' + end +end + +# The bindings for !! and !$ +if [ "$fish_key_bindings" = "fish_vi_key_bindings" ]; + bind -Minsert ! __history_previous_command + bind -Minsert '$' __history_previous_command_arguments +else + bind ! __history_previous_command + bind '$' __history_previous_command_arguments +end + +# Function for creating a backup file +# ex: backup file.txt +# result: copies file as file.txt.bak +function backup --argument filename + cp $filename $filename.bak +end + +# Function for copying files and directories, even recursively. +# ex: copy DIRNAME LOCATIONS +# result: copies the directory and all of its contents. +function copy + set count (count $argv | tr -d \n) + if test "$count" = 2; and test -d "$argv[1]" + set from (echo $argv[1] | trim-right /) + set to (echo $argv[2]) + command cp -r $from $to + else + command cp $argv + end +end + +# Function for printing a column (splits input on whitespace) +# ex: echo 1 2 3 | coln 3 +# output: 3 +function coln + while read -l input + echo $input | awk '{print $'$argv[1]'}' + end +end + +# Function for printing a row +# ex: seq 3 | rown 3 +# output: 3 +function rown --argument index + sed -n "$index p" +end + +# Function for ignoring the first 'n' lines +# ex: seq 10 | skip 5 +# results: prints everything but the first 5 lines +function skip --argument n + tail +(math 1 + $n) +end + +# Function for taking the first 'n' lines +# ex: seq 10 | take 5 +# results: prints only the first 5 lines +function take --argument number + head -$number +end +### END OF FUNCTIONS ### + +### ALIASES ### +# navigation +alias ..='cd ..' +alias ...='cd ../..' +alias .3='cd ../../..' +alias .4='cd ../../../..' +alias .5='cd ../../../../..' + +# vim and emacs +alias vim="$HOME/.local/bin/lvim" + +# newsboat +alias newsboat='newsboat -u ~/.config/newsboat/urls' + +# bat as cat +alias cat='bat' + +# Changing "ls" to "exa" +alias ls='exa -al --color=always --group-directories-first' # my preferred listing +alias la='exa -a --color=always --group-directories-first' # all files and dirs +alias ll='exa -l --color=always --group-directories-first' # long format +alias lt='exa -aT --color=always --group-directories-first' # tree listing +alias l.='exa -a | egrep "^\."' + +# pacman and yay +alias pac-up='yay -Syu && yay -Sua' # update the system +alias pac-get='yay -S' # install a program +alias pac-rmv='yay -Rcns' # remove a program +alias pac-rmv-sec='yay -R' # remove a program (secure way) +alias pac-qry='yay -Ss' # search for a program +alias pac-cln='yay -Scc && yay -Rns (pacman -Qtdq)' # clean cache & remove orphaned packages + +# neofetch is f***** slow +alias neofetch="pfetch" + +# Colorize grep output (good for log files) +alias grep='grep --color=auto' +alias egrep='egrep --color=auto' +alias fgrep='fgrep --color=auto' + +# file management +alias fm="vifm" +alias file="vifm" +alias flm="vifm" +alias cp='cp -iv' +alias mv='mv -iv' +alias rm='rm -vI' +alias mkd='mkdir -pv' +alias mkdir='mkdir -pv' + +# audio +alias mx='pulsemixer' +alias amx='alsamixer' +alias mk='cmus' +alias ms='cmus' +alias music='cmus' + +# multimedia scripts +alias fli='flix-cli' +alias ani='ani-cli' +alias aniq='ani-cli -q' + +# adding flags +alias df='df -h' # human-readable sizes +alias free='free -m' # show sizes in MB + +# ps +alias psa="ps auxf" +alias psgrep="ps aux | grep -v grep | grep -i -e VSZ -e" +alias psmem='ps auxf | sort -nr -k 4' +alias pscpu='ps auxf | sort -nr -k 3' + +# git +alias addup='git add -u' +alias addall='git add .' +alias branch='git branch' +alias checkout='git checkout' +alias clone='git clone' +alias commit='git commit -m' +alias fetch='git fetch' +alias pull='git pull origin' +alias push='git push origin' +alias tag='git tag' +alias newtag='git tag -a' + +# power management +alias po='systemctl poweroff' +alias sp='systemctl suspend' +alias rb='systemctl reboot' + +# youtube- +alias yta-aac="yt-dlp --extract-audio --audio-format aac " +alias yta-best="yt-dlp --extract-audio --audio-format best " +alias yta-flac="yt-dlp --extract-audio --audio-format flac " +alias yta-m4a="yt-dlp --extract-audio --audio-format m4a " +alias yta-mp3="yt-dlp --extract-audio --audio-format mp3 " +alias yta-opus="yt-dlp --extract-audio --audio-format opus " +alias yta-vorbis="yt-dlp --extract-audio --audio-format vorbis " +alias yta-wav="yt-dlp --extract-audio --audio-format wav " +alias ytv-best="yt-dlp -f bestvideo+bestaudio " +alias yt='ytfzf -ftsl' +alias youtube='ytfzf -ftsl' +alias ytm='ytfzf -mtsl' +alias youtube-music='ytfzf -mtsl' + +# the terminal rickroll +alias rr='curl -s -L https://raw.githubusercontent.com/keroserene/rickrollrc/master/roll.sh | bash' + +# Mocp must be launched with bash instead of Fish! +alias mocp="bash -c mocp" + +# network and bluetooth +alias netstats='nmcli dev' +alias wfi='nmtui-connect' +alias wfi-scan='nmcli dev wifi rescan && nmcli dev wifi list' +alias wfi-edit='nmtui-edit' +alias wfi-on='nmcli radio wifi on' +alias wfi-off='nmcli radio wifi off' +alias blt='bluetoothctl' + +### SETTING THE STARSHIP PROMPT ### +starship init fish | source diff --git a/new-config/.config/gtk-3.0/settings.ini b/new-config/.config/gtk-3.0/settings.ini index 7b4e43bc1..816b2b702 100644 --- a/new-config/.config/gtk-3.0/settings.ini +++ b/new-config/.config/gtk-3.0/settings.ini @@ -1,7 +1,7 @@ [Settings] gtk-theme-name=gruvbox-dark-gtk gtk-icon-theme-name=gruvbox-dark-icons-gtk -gtk-font-name=Cantarell 10 +gtk-font-name=Cantarell gtk-cursor-theme-name=Simp1e-Gruvbox-Dark gtk-cursor-theme-size=24 gtk-toolbar-style=GTK_TOOLBAR_BOTH diff --git a/new-config/.config/hypr/hyprland.conf b/new-config/.config/hypr/hyprland.conf index 845084c9c..a67a32cec 100644 --- a/new-config/.config/hypr/hyprland.conf +++ b/new-config/.config/hypr/hyprland.conf @@ -147,6 +147,7 @@ windowrule = workspace 2, ^(file_manager)$ windowrule = workspace 2, ^(Pcmanfm)$ ## Workspace 3 - Editors windowrule = workspace 3, ^(text_editor)$ +windowrule = workspace 3, ^(goneovim)$ windowrule = workspace 3, ^(Code)$ ## Workspace 4 - Chat windowrule = workspace 4, ^(chat_client)$ @@ -183,6 +184,8 @@ windowrule = workspace 7, ^(org.inkscape.Inkscape)$ windowrule = workspace 7, ^(Gimp-2.10)$ windowrule = workspace 7, ^(xournalpp)$ windowrule = workspace 7, ^(krita)$ +windowrule = workspace 7, ^(darktable)$ +windowrule = workspace 7, ^(org.kde.digikam)$ ## Workspace 8 - Office windowrule = workspace 8, ^(libreoffice-writer)$ windowrule = workspace 8, ^(libreoffice-calc)$ @@ -197,6 +200,7 @@ windowrule = workspace 9, ^(org.libretro.RetroArch)$ windowrule = workspace 9, ^(DarkPlaces)$ windowrule = workspace 9, ^(pyrogenesis)$ windowrule = workspace 9, ^(wesnoth)$ +windowrule = workspace 9, ^(Steam)$ windowrule = workspace 9, ^(Minetest)$ ## Workspace 10 - Extras windowrule = workspace 10, ^(btop)$ @@ -208,6 +212,7 @@ windowrule = workspace 10, ^(wdisplays)$ windowrule = workspace 10, ^(font-manager)$ windowrule = workspace 10, ^(org.qbittorrent.qBittorrent)$ windowrule = workspace 10, ^(org.keepassxc.KeePassXC)$ +windowrule = workspace 10, ^(gnome-boxes)$ ################################### ### end___ __ ____ ________ ### @@ -253,8 +258,8 @@ bind = $supMod_SHIFT, k, layoutmsg, swapprev ## Swap window with master bind = $supMod_$conMod, RETURN, layoutmsg, swapwithmaster ## Add/remove window to master stack -bind = $supMod, I, layoutmsg, addmaster -bind = $supMod, D, layoutmsg, removemaster +bind = $supMod, i, layoutmsg, addmaster +bind = $supMod, d, layoutmsg, removemaster ## Change the master orientation bind = $supMod_SHIFT, l, layoutmsg, orientationnext bind = $supMod_SHIFT, h, layoutmsg, orientationprev @@ -357,7 +362,7 @@ binde = $supMod, w, exec, brave ## Workspace 2 - File management binde = $supMod, f, exec, wezterm start --class file_manager -- vifm ## Workspace 3 - Editors -binde = $supMod, e, exec, wezterm start --class text_editor -- "$HOME/.local/bin/lvim" +binde = $supMod, e, exec, goneovim --nvim=$HOME/.local/bin/lvim --geometry=1920x1080 ## Workspace 4 - Chat binde = $supMod, c, exec, wezterm start --class chat_client -- gomuks ## Workspace 5 - Audio diff --git a/new-config/.config/lvim/config.lua b/new-config/.config/lvim/config.lua index d3dfaa2ad..4c92d5954 100644 --- a/new-config/.config/lvim/config.lua +++ b/new-config/.config/lvim/config.lua @@ -9,6 +9,8 @@ an executable -- THESE ARE EXAMPLE CONFIGS FEEL FREE TO CHANGE TO WHATEVER YOU WANT -- general +vim.opt.spell = false +vim.o.shell = '/usr/bin/fish' vim.opt.guifont = { "mononoki Nerd Font", ":h7" } vim.g.vimspector_enable_mappings = 'HUMAN' vim.g.vimspector_enable_mappings_for_mode = { @@ -17,7 +19,7 @@ vim.g.vimspector_enable_mappings_for_mode = { lvim.log.level = "warn" lvim.format_on_save.enabled = false lvim.colorscheme = "gruvbox" -lvim.transparent_window = true +lvim.transparent_window = false -- to disable icons and use a minimalist setup, uncomment the following -- lvim.use_icons = false @@ -173,9 +175,16 @@ lvim.builtin.treesitter.highlight.enable = true -- Additional Plugins lvim.plugins = { {"lunarvim/colorschemes"}, - {"iamcco/markdown-preview.nvim"}, {"ellisonleao/gruvbox.nvim"}, {"puremourning/vimspector"}, + { + "iamcco/markdown-preview.nvim", + run = "cd app && npm install", + ft = "markdown", + config = function() + vim.g.mkdp_auto_start = 1 + end, + }, } -- Autocommands (https://neovim.io/doc/user/autocmd.html) @@ -191,3 +200,5 @@ lvim.plugins = { -- require("nvim-treesitter.highlight").attach(0, "bash") -- end, -- }) +-- +vim.cmd('autocmd FileType markdown setlocal nospell') diff --git a/new-config/.config/waybar/config b/new-config/.config/waybar/config index f5e59a76b..e01e5d26b 100644 --- a/new-config/.config/waybar/config +++ b/new-config/.config/waybar/config @@ -15,19 +15,19 @@ "on-scroll-down": "hyprctl dispatch workspace e-1", "format": "{icon}", "format-icons": { - "1": "\udb80\udd8b", - "2": "\udb80\ude4b", - "3": "\udb83\udc8b", - "4": "\udb82\udf79", - "5": "\udb81\udf5a", - "6": "\udb82\ude1c", - "7": "\udb80\udee9", - "8": "\udb80\ude19", - "9": "\udb80\ude96", - "10": "\udb80\udf7b", - "urgent": "\udb80\udc26", - "focused": "\udb83\udeff", - "default": "\udb80\udc94" + "1": "\uf484", + "2": "\ue613", + "3": "\ue795", + "4": "\uf075", + "5": "\uf001", + "6": "\uf03d", + "7": "\ue22b", + "8": "\uf15c", + "9": "\uf795", + "10": "\ue20f", + "urgent": "\uf12a", + "focused": "\uf192", + "default": "\uf10c" } }, diff --git a/new-config/.config/wezterm/wezterm.lua b/new-config/.config/wezterm/wezterm.lua index ad33af7ab..38be7d68c 100644 --- a/new-config/.config/wezterm/wezterm.lua +++ b/new-config/.config/wezterm/wezterm.lua @@ -8,7 +8,7 @@ return { weight = 'Medium' }, color_scheme = 'Gruvbox dark, hard (base16)', - default_prog = { '/usr/bin/bash' }, + default_prog = { '/usr/bin/fish' }, default_cursor_style = "BlinkingUnderline", font_size = 12, check_for_updates = false, diff --git a/new-config/.gtkrc-2.0 b/new-config/.gtkrc-2.0 index d86312397..6c6e7677c 100644 --- a/new-config/.gtkrc-2.0 +++ b/new-config/.gtkrc-2.0 @@ -1,6 +1,6 @@ gtk-theme-name="gruvbox-dark-gtk" gtk-icon-theme-name="gruvbox-dark-icons-gtk" -gtk-font-name="Cantarell 10" +gtk-font-name="Cantarell" gtk-cursor-theme-name="Simp1e-Gruvbox-Dark" gtk-cursor-theme-size=24 gtk-toolbar-style=GTK_TOOLBAR_BOTH diff --git a/new-config/.local/bin/lvim b/new-config/.local/bin/lvim index d7d2a0b97..30adeed40 100755 --- a/new-config/.local/bin/lvim +++ b/new-config/.local/bin/lvim @@ -6,4 +6,4 @@ export LUNARVIM_CACHE_DIR="${LUNARVIM_CACHE_DIR:-"/home/drk/.cache/lvim"}" export LUNARVIM_BASE_DIR="${LUNARVIM_BASE_DIR:-"/home/drk/.local/share/lunarvim/lvim"}" -sleep 0.1 && exec -a lvim nvim -u "$LUNARVIM_BASE_DIR/init.lua" "$@" +exec -a lvim nvim -u "$LUNARVIM_BASE_DIR/init.lua" "$@" diff --git a/new-config/dependencies.md b/new-config/dependencies.md index f85d0e369..211445fa8 100644 --- a/new-config/dependencies.md +++ b/new-config/dependencies.md @@ -1,7 +1,7 @@ # Dependencies - ttf-mononoki-nerd - rofi-lboon-wayland-git -- waybar +- waybar-hyprland-git - swaybg - dunst - xdg-desktop-portal @@ -15,7 +15,7 @@ - wl-clipboard - wf-recorder - wezterm -- hyprland-bin +- hyprland-git - hyprpicker-git - cmus - tut-bin @@ -29,7 +29,7 @@ - power-profiles-daemon - gruvbox-dark-gtk - gruvbox-dark-icons-gtk -- simp1e-cursors-gruvbox-dark +- xcursor-simp1e-gruvbox-dark - pipewire - pipewire-v4l2 - pipewire-alsa @@ -46,7 +46,9 @@ - brightnessctl - cliphist - ttf-nerd-fonts-symbols-2048-em +- goneovim-bin # not managed by the package manager - lunarvim - flix-cli +- geek-life