diff --git a/.config/bspwm/bspwmrc b/.config/bspwm/bspwmrc index 2e5db65..21acd44 100755 --- a/.config/bspwm/bspwmrc +++ b/.config/bspwm/bspwmrc @@ -1,30 +1,39 @@ #!/usr/bin/fish -if ! test -e ~/.bspwm_no_lock - slock & - touch ~/.bspwm_no_lock +#if ! test -e ~/.bspwm_no_lock +# slock & +# touch ~/.bspwm_no_lock +#end + +if test $DISPLAY = ":0" + setxkbmap -option ctrl:swapcaps + setxkbmap -option altwin:swap_alt_win + xset s off -dpms + xinput set-prop 'MSFT0001:00 04F3:317C Touchpad' 'libinput Tapping Enabled' 1 + xinput set-prop 'MSFT0001:00 04F3:317C Touchpad' 'libinput Middle Emulation Enabled' 1 end -setxkbmap -option ctrl:swapcaps -setxkbmap -option altwin:swap_alt_win -xset s off -dpms -xinput set-prop 'MSFT0001:00 04F3:317C Touchpad' 'libinput Tapping Enabled' 1 -xinput set-prop 'MSFT0001:00 04F3:317C Touchpad' 'libinput Middle Emulation Enabled' 1 - sxhkd & -picom -b -wmname LG3D +if test $DISPLAY = ":0" + picom -b --blur-background +else + picom -b --backend xrender +end + +#wmname LG3D -xfce4-screensaver & ~/.fehbg & -killall -q polybar barrier barrierc cbatticon pasystray +if test $DISPLAY = ":0" + killall -q polybar cbatticon pasystray barrier barrierc + barrier & + keepassxc & +end + polybar m-bar & cbatticon & pasystray & -keepassxc & -barrier & bspc monitor -d I II III IV V VI VII diff --git a/.config/conky/conky.conf b/.config/conky/conky.conf deleted file mode 100644 index 7fd3eb1..0000000 --- a/.config/conky/conky.conf +++ /dev/null @@ -1,121 +0,0 @@ -conky.config ={ - -- CONKY SETTINGS - background = true, - update_interval = 1, - total_run_times = 0, - - cpu_avg_samples = 2, - net_avg_samples = 2, - - override_utf8_locale = true, - - double_buffer = true, - no_buffers = true, - - text_buffer_size = 32768, - - -- CONKY: WINDOW SPECIFICATIONS - own_window = true, - own_window_argb_value = 216, - own_window_argb_visual = true, - own_window_class = 'conky', - own_window_name = 'conky', - own_window_colour = '#282828', - -- own_window_hints = 'undecorated,below,sticky,skip_taskbar,skip_pager', - own_window_transparent = false, - own_window_type = 'desktop', - - border_inner_margin = 6, - border_width = 5, - - minimum_height = 997, - - minimum_width = 280, - maximum_width = 280, - - alignment = 'top_right', - gap_x = 24, - gap_y = 60, - - -- GRAPHICS SETTINGS - draw_shades = true, - draw_outline = false, - draw_borders = false, - draw_graph_borders = true, - - -- TEXT SETTINGS - use_xft = true, - font = 'IBM Plex Sans Regular:size=10', - xftalpha = 0.2, - - uppercase = false, - - -- Pad percentages to this many decimals (0 = no padding) - pad_percents = 2, - - -- COLOUR SETTINGS - default_color = 'ebdbb2', - default_shade_color = '1d2021', - default_outline_color = '1d2021', - color1 = 'fbf1c7', - color2 = '458588', - color3 = '98971a', - color4 = '79740e', - color5 = '689d6a', - color7 = 'cc241d', - color8 = '9d0006', -}; - - -conky.text = [[ -${alignc}${font IBM Plex Sans Light:size=10}${time %A %d %B %Y}${font}${alignc} -${color1}${hr 2}${color} -${voffset -5} -${font IBM Plex Sans Light:size=8}${color1}HOSTNAME:${color}${font} ${alignr}$nodename -${font IBM Plex Sans Light:size=8}${color1}UPTIME:${color}${font} ${alignr}$uptime_short -${font IBM Plex Sans Light:size=8}${color1}KERNEL:${color}${font} ${alignr}$kernel ${voffset 5} -${font :size=11}${color}Network ${hr 2} -${voffset -20} -${font IBM Plex Sans Light:size=10}${color1}IP ADDRESS:${color}${font} ${alignr}${addr wlan0}${color} -${if_match "${addr wlan0}"!="No Address"}${voffset 5}${font IBM Plex Sans Light:size=10}${font}Download ${alignr}${downspeedf wlan0}k/s (${totaldown wlan0}) -${color1}${downspeedgraph wlan0 50,280 98971a 79740e -t}${color} -${font IBM Plex Sans Light:size=10}${font}Upload ${alignr}${upspeedf wlan0}k/s (${totalup wlan0}) -${color1}${upspeedgraph wlan0 50,280 9d0006 cc241d -t}${color} -${endif}${voffset 5}${font :size=11}${color}HDD ${hr 2} -${voffset 5}${color1}Used: ${fs_used /}${goto 175}Free:${goto 225}${fs_free /}${color} -${color2}${fs_bar /}${color} -${font IBM Plex Sans Light:size=8}${color1}DISK I/O:${color}${font} ${alignr}$diskio -${voffset 2}${font IBM Plex Sans Light:size=8}${color1}READ: ${font} ${goto 80}${diskiograph_read 15,210 98971a 79740e 750}${color} -${voffset 2}${font IBM Plex Sans Light:size=8}${color1}WRITE:${font} ${goto 80}${diskiograph_write 15,210 9d0006 cc241d 750}${color} -${voffset 5}${font :size=11}Memory ${hr 2}${voffset 2}${font} -${font IBM Plex Sans Light:size=10}RAM $alignc ${font}${color1}$mem / $memmax $alignr ${color4}$memperc%${color} -${color2}$membar${voffset 5}${color} -${font :size=11}GPU ${hr 2}${voffset 2} -${font IBM Plex Sans Light:size=9}${color1}GPU Freq.: $alignr ${color}${font}${nvidia gpufreq} Mhz${voffset 2} -${font IBM Plex Sans Light:size=9}${color1}Memory Freq.: $alignr ${color}${font}${nvidia memfreq} Mhz${voffset 2} -${font IBM Plex Sans Light:size=9}${color1}Temperature: $alignr ${color4}${font}${nvidia temp}°C ${voffset 5}${color} -${font :size=11}CPUs ${hr 2} -${voffset -20} -${font IBM Plex Sans Light:size=10}${color1}CPU:${color}${font} ${alignr}AMD Ryzen 7 3800X -${voffset -20} -${font IBM Plex Sans Light:size=9}${color1}01 - 04:${color}${font} ${goto 100}${cpu cpu1}% ${goto 150}${cpu cpu2 }% ${goto 200}${cpu cpu3 }% ${goto 250}${cpu cpu4 }% -${font IBM Plex Sans Light:size=9}${color1}05 - 08:${color}${font} ${goto 100}${cpu cpu5}% ${goto 150}${cpu cpu6 }% ${goto 200}${cpu cpu7 }% ${goto 250}${cpu cpu8 }% -${font IBM Plex Sans Light:size=9}${color1}09 - 12:${color}${font} ${goto 100}${cpu cpu9}% ${goto 150}${cpu cpu10}% ${goto 200}${cpu cpu11}% ${goto 250}${cpu cpu12}% -${voffset -10} -${font IBM Plex Sans Light:size=9}${color1}CPU TEMP:${color4}${font}${alignr}${hwmon 1 temp 1}°C${color} -${voffset 5}${font :size=11}Processes ${hr 2}${font} -${voffset -20} -${font :size=10}${font IBM Plex Sans Light:size=8}${color1}TOTAL:${color}${font} ${alignr}${processes} -${voffset -12} -${font IBM Plex Sans Light:size=9}${color1}APP NAME: ${goto 160}MEMORY: ${goto 245}CPU: ${color}${font} -${voffset -20} -${font IBM Plex Sans Light:size=9}${color1}${top_mem name 1} ${color}${font} ${goto 160}${top mem 1} % ${goto 235}${top cpu 1} % -${font IBM Plex Sans Light:size=9}${color1}${top_mem name 2} ${color}${font} ${goto 160}${top mem 2} % ${goto 235}${top cpu 2} % -${font IBM Plex Sans Light:size=9}${color1}${top_mem name 3} ${color}${font} ${goto 160}${top mem 3} % ${goto 235}${top cpu 3} % -${font IBM Plex Sans Light:size=9}${color1}${top_mem name 4} ${color}${font} ${goto 160}${top mem 4} % ${goto 235}${top cpu 4} % -${font IBM Plex Sans Light:size=9}${color1}${top_mem name 5} ${color}${font} ${goto 160}${top mem 5} % ${goto 235}${top cpu 5} % -${font IBM Plex Sans Light:size=9}${color1}${top_mem name 6} ${color}${font} ${goto 160}${top mem 6} % ${goto 235}${top cpu 6} % -${font IBM Plex Sans Light:size=9}${color1}${top_mem name 7} ${color}${font} ${goto 160}${top mem 7} % ${goto 235}${top cpu 7} % -${font IBM Plex Sans Light:size=9}${color1}${top_mem name 8} ${color}${font} ${goto 160}${top mem 8} % ${goto 235}${top cpu 8} % -${font IBM Plex Sans Light:size=9}${color1}${top_mem name 9} ${color}${font} ${goto 160}${top mem 9} % ${goto 235}${top cpu 9} % -]]; diff --git a/.config/fish/functions/define_aliases.fish b/.config/fish/functions/define_aliases.fish index b80279f..8413c1f 100644 --- a/.config/fish/functions/define_aliases.fish +++ b/.config/fish/functions/define_aliases.fish @@ -1,8 +1,8 @@ function define_aliases -a uname -d 'Defines aliases for commonly used commands' - alias q 'exit' + alias q exit alias rcp 'rsync -aP' - alias vg 'vagrant' - alias tf 'terraform' + alias vg vagrant + alias tf terraform alias gco 'gcloud compute' alias tocb 'xclip -in -selection clipboard' alias fromcb 'xclip -out -selection clipboard' @@ -12,17 +12,17 @@ function define_aliases -a uname -d 'Defines aliases for commonly used commands' alias age-e 'age --armor --recipient (cat ~/.secrets/id_ed25519.pub)' alias age-k 'age --decrypt --identity ~/.secrets/id_ed25519 ~/.secrets/age_keys.age' alias bb 'bun --bun' - alias pn 'pnpm' + alias pn pnpm switch "$uname" - case 'Linux' + case Linux alias goland 'command goland' alias rider 'command rider' alias webstorm 'command webstorm' alias sctl 'sudo systemctl' alias uctl 'systemctl --user' - alias bctl 'bluetoothctl' - case 'Darwin' + alias bctl bluetoothctl + case Darwin alias goland 'open -a Goland' alias rider 'open -a Rider' alias webstorm 'open -a Webstorm' diff --git a/.config/fish/functions/fish_greeting.fish b/.config/fish/functions/fish_greeting.fish index c74f50d..04b1306 100644 --- a/.config/fish/functions/fish_greeting.fish +++ b/.config/fish/functions/fish_greeting.fish @@ -1,10 +1,16 @@ function fish_greeting -d "What's up, fish?" set_color $fish_color_autosuggestion - uname -nmsr - # TODO: `command -q -s` only works on fish 2.5+, so hold off on that for now + set uname (uname -nor) + command -s uptime >/dev/null - and uptime + and if test (uname) = Linux + and set uptime '; ' (uptime --pretty) + else + and set uptime '; ' (uptime) + end + + echo -s $uname $uptime set_color normal end diff --git a/.config/fish/functions/toglpulse.fish b/.config/fish/functions/toglpulse.fish index f7abcc5..ca47f3e 100644 --- a/.config/fish/functions/toglpulse.fish +++ b/.config/fish/functions/toglpulse.fish @@ -3,13 +3,12 @@ function toglpulse if test -e ~/.config/pulse/client.conf rm -rf ~/.config/pulse/client.conf - ssh -o StrictHostKeyChecking=no venator.lan systemctl --user restart pipewire-pulse - or ssh -o StrictHostKeyChecking=no venator.lan nssm restart pulseaudio + systemctl --user start pipewire.socket rebar else killall easyeffects pavucontrol; or killall -9 easyeffects pavucontrol - echo "default-server = venator.lan" > ~/.config/pulse/client.conf - systemctl --user stop pipewire pipewire-pulse wireplumber + echo "default-server = 192.168.1.155" >~/.config/pulse/client.conf + systemctl --user stop pipewire.socket pipewire pipewire-pulse wireplumber rebar end end diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua index f2d4fb7..8936c80 100644 --- a/.config/nvim/init.lua +++ b/.config/nvim/init.lua @@ -24,6 +24,10 @@ require("symbols-outline").setup({ }) require("leap").add_default_mappings() +require("notify").setup({ + background_colour = "#000000", +}) + require("noice").setup({ lsp = { -- override markdown rendering so that **cmp** and other plugins use **Treesitter** diff --git a/.config/picom/picom.conf b/.config/picom/picom.conf index 11870e5..7130b3a 100644 --- a/.config/picom/picom.conf +++ b/.config/picom/picom.conf @@ -7,7 +7,6 @@ shadow-radius = 12 fading = true fade-delta = 5 -blur-background = true blur-kern = "11x11gaussian" vsync = true diff --git a/.config/qutebrowser/autoconfig.yml b/.config/qutebrowser/autoconfig.yml deleted file mode 100644 index a557c41..0000000 --- a/.config/qutebrowser/autoconfig.yml +++ /dev/null @@ -1,95 +0,0 @@ -# If a config.py file exists, this file is ignored unless it's explicitly loaded -# via config.load_autoconfig(). For more information, see: -# https://github.com/qutebrowser/qutebrowser/blob/master/doc/help/configuring.asciidoc#loading-autoconfigyml -# DO NOT edit this file by hand, qutebrowser will overwrite it. -# Instead, create a config.py - see :help for details. - -config_version: 2 -settings: - aliases: - global: - q: close - qa: quit - w: session-save - wq: quit --save - wqa: quit --save - auto_save.interval: - global: 15000 - auto_save.session: - global: false - backend: - global: webengine - bindings.commands: - global: - insert: {} - colors.webpage.darkmode.enabled: - global: false - completion.web_history.max_items: - global: 0 - content.autoplay: - global: false - content.cache.size: - global: 0 - content.cookies.accept: - global: no-3rdparty - content.cookies.store: - global: false - content.javascript.enabled: - global: false - content.local_storage: - global: true - content.notifications: - https://app.slack.com: true - content.webrtc_ip_handling_policy: - global: all-interfaces - content.xss_auditing: - global: false - downloads.location.directory: - global: ~/downloads - downloads.location.prompt: - global: true - downloads.location.remember: - global: true - downloads.location.suggestion: - global: path - downloads.open_dispatcher: - global: null - downloads.position: - global: top - downloads.remove_finished: - global: -1 - editor.command: - global: - - kitty - - nvim - - -f - - '{file}' - - -c - - normal {line}G{column0}l - editor.encoding: - global: utf-8 - fonts.default_family: - global: JetBrains Mono - fonts.default_size: - global: 8pt - fonts.web.family.fixed: - global: JetBrains Mono - fonts.web.family.sans_serif: - global: IBM Plex Sans - fonts.web.family.serif: - global: IBM Plex Serif - fonts.web.family.standard: - global: IBM Plex Sans - fonts.web.size.default: - global: 16 - url.default_page: - global: http://search.m - url.searchengines: - global: - DEFAULT: http://search.m/?q={} - url.start_pages: - global: http://search.m - window.title_format: - global: '{perc}{host}{title_sep}qutebrowser' - zoom.default: - global: 125% diff --git a/.config/qutebrowser/bookmarks/urls b/.config/qutebrowser/bookmarks/urls deleted file mode 100644 index e69de29..0000000 diff --git a/.config/qutebrowser/quickmarks b/.config/qutebrowser/quickmarks deleted file mode 100644 index 4e643cf..0000000 --- a/.config/qutebrowser/quickmarks +++ /dev/null @@ -1,9 +0,0 @@ -hn https://news.ycombinator.com/ -ch https://app.clubhouse.io/rotabull/stories/space/1285/platform-eng -gh https://github.com/ -gcp https://console.cloud.google.com/projectselector2/home/dashboard?organizationId=817788800675&supportedpurview=project -aws https://console.aws.amazon.com/s3/home?region=us-east-1 -rip https://app.rippling.com/dashboard -slk https://rotabull.slack.com/ -octo https://rotabull.octopus.app/app#/users/sign-in -log https://logentries.com/login/ diff --git a/.taskrc b/.taskrc deleted file mode 100644 index c11a7dd..0000000 --- a/.taskrc +++ /dev/null @@ -1,37 +0,0 @@ -# [Created by task 2.5.1 8/10/2020 11:48:16] -# Taskwarrior program configuration file. -# For more documentation, see http://taskwarrior.org or try 'man task', 'man task-color', -# 'man task-sync' or 'man taskrc' - -# Here is an example of entries that use the default, override and blank values -# variable=foo -- By specifying a value, this overrides the default -# variable= -- By specifying no value, this means no default -# #variable=foo -- By commenting out the line, or deleting it, this uses the default - -# Use the command 'task show' to see all defaults and overrides - -# Files -data.location=~/.task - -# Color theme (uncomment one to use) -#include /usr/local/Cellar/task/2.5.1/share/doc/task/rc/light-16.theme -#include /usr/local/Cellar/task/2.5.1/share/doc/task/rc/light-256.theme -#include /usr/local/Cellar/task/2.5.1/share/doc/task/rc/dark-16.theme -#include /usr/local/Cellar/task/2.5.1/share/doc/task/rc/dark-256.theme -#include /usr/local/Cellar/task/2.5.1/share/doc/task/rc/dark-red-256.theme -#include /usr/local/Cellar/task/2.5.1/share/doc/task/rc/dark-green-256.theme -#include /usr/local/Cellar/task/2.5.1/share/doc/task/rc/dark-blue-256.theme -#include /usr/local/Cellar/task/2.5.1/share/doc/task/rc/dark-violets-256.theme -#include /usr/local/Cellar/task/2.5.1/share/doc/task/rc/dark-yellow-green.theme -#include /usr/local/Cellar/task/2.5.1/share/doc/task/rc/dark-gray-256.theme -#include /usr/local/Cellar/task/2.5.1/share/doc/task/rc/dark-gray-blue-256.theme -#include /usr/local/Cellar/task/2.5.1/share/doc/task/rc/solarized-dark-256.theme -#include /usr/local/Cellar/task/2.5.1/share/doc/task/rc/solarized-light-256.theme -#include /usr/local/Cellar/task/2.5.1/share/doc/task/rc/no-color.theme - -uda.link.type=string -uda.link.label=Link -uda.file.type=string -uda.file.label=File -uda.wiki.type=string -uda.wiki.label=Wiki diff --git a/.vimrc b/.vimrc index 92492eb..6749b70 100644 --- a/.vimrc +++ b/.vimrc @@ -120,13 +120,10 @@ endif " Allows you to use // in order to search for the visually selected text vnoremap // y/\V=escape(@",'/\') -" next line is necessary to prevent background rendering bug with kitty term -let &t_ut='' - let g:gruvbox_italic=1 colorscheme gruvbox -highlight Normal ctermbg=None +highlight Normal guibg=None ctermbg=None let g:ackprg = 'ag --nogroup --nocolor --column --hidden' diff --git a/fish_universal_vars.fish b/fish_universal_vars.fish index 047f656..6da4909 100644 --- a/fish_universal_vars.fish +++ b/fish_universal_vars.fish @@ -1,29 +1,38 @@ -set -U fish_color_autosuggestion 586e75 -set -U fish_color_cancel -r -set -U fish_color_command 93a1a1 -set -U fish_color_comment 586e75 +set -U fish_color_autosuggestion a89984 +set -U fish_color_cancel --reverse +set -U fish_color_command 98971a +set -U fish_color_comment a89984 set -U fish_color_cwd green set -U fish_color_cwd_root red -set -U fish_color_end 268bd2 -set -U fish_color_error dc322f -set -U fish_color_escape 00a6b2 +set -U fish_color_end b16286 +set -U fish_color_error cc241d +set -U fish_color_escape 458588 set -U fish_color_history_current --bold set -U fish_color_host normal -set -U fish_color_host_remote yellow -set -U fish_color_match --background=brblue +set -U fish_color_host_remote +set -U fish_color_keyword +set -U fish_color_match 458588 set -U fish_color_normal normal -set -U fish_color_operator 00a6b2 -set -U fish_color_param 839496 -set -U fish_color_quote 657b83 -set -U fish_color_redirection 6c71c4 -set -U fish_color_search_match 'bryellow' '--background=black' -set -U fish_color_selection 'white' '--bold' '--background=brblack' -set -U fish_color_status red +set -U fish_color_operator 458588 +set -U fish_color_option +set -U fish_color_param ebdbb2 +set -U fish_color_quote a89984 +set -U fish_color_redirection 689d6a +set -U fish_color_search_match 'bryellow' '--background=brblack' +set -U fish_color_selection 'white' '--bold' '--background=brblack' set -U fish_color_user brgreen set -U fish_color_valid_path --underline -set -U fish_greeting set -U fish_key_bindings fish_vi_key_bindings -set -U fish_pager_color_completion B3A06D -set -U fish_pager_color_description B3A06D -set -U fish_pager_color_prefix 'cyan' '--underline' -set -U fish_pager_color_progress 'brwhite' '--background=cyan' +set -U fish_pager_color_background +set -U fish_pager_color_completion normal +set -U fish_pager_color_description a89984 +set -U fish_pager_color_prefix 'normal' '--bold' '--underline' +set -U fish_pager_color_progress 'brwhite' '--background=cyan' +set -U fish_pager_color_secondary_background +set -U fish_pager_color_secondary_completion +set -U fish_pager_color_secondary_description +set -U fish_pager_color_secondary_prefix +set -U fish_pager_color_selected_background --background=brblack +set -U fish_pager_color_selected_completion +set -U fish_pager_color_selected_description +set -U fish_pager_color_selected_prefix diff --git a/provision_debian b/provision_debian deleted file mode 100755 index 6d6844d..0000000 --- a/provision_debian +++ /dev/null @@ -1,313 +0,0 @@ -#!/usr/bin/env fish -# Source: https://github.com/mitchell/run.fish -# -# OUTDATED USE ./provision_linux - -### Config ### -# Top-level configurations, like function prefixes and argument delimeters -# -set -g run_func_prefix 'provision' -set -g run_arg_delimeter ':' - -function define_aliases -end - -### Commands ### -# Add, edit, and remove commands freely below. -# To add a command simply create a function with this naming scheme: {run_func_prefix}_{name}. -# -function provision_m_env -d 'Provision m environment (fish, git, neovim, etc.)' - log "Provisioning m's environment." head - - log 'Installing git, neovim, tmux, rsync, curl, and kitty-terminfo...' - sudo apt-get update >/dev/null 2>&1 - sudo apt-get install --yes \ - git \ - neovim \ - tmux \ - rsync \ - curl \ - kitty-terminfo \ - >/dev/null 2>&1 - - log 'Installing fzf, silversearcher, bat, and feh.' - sudo apt-get install --yes fzf silversearcher-ag bat feh >/dev/null 2>&1 - - log 'Adding fish apt repo and install fish...' - sudo apt-get install --yes gpg >/dev/null 2>&1 - - echo 'deb http://download.opensuse.org/repositories/shells:/fish:/release:/3/Debian_10/ /' | - sudo tee /etc/apt/sources.list.d/shells:fish:release:3.list - - curl -fsSL https://download.opensuse.org/repositories/shells:fish:release:3/Debian_10/Release.key | - gpg --dearmor | - sudo apt-key add - - - sudo apt-get update >/dev/null 2>&1 - sudo apt-get install --yes fish >/dev/null 2>&1 - - log "Setting m's default shell to fish" - sudo chsh -s /usr/bin/fish m - - log 'Running dotfiles sync script.' - ./sync - - log 'Installing asdf-vm.' - git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.7.8 >/dev/null 2>&1 - - log "Done provisioning m's environment." tail -end - -function provision_desktop_env -d 'Provision bspwm based desktop environment' - log 'Provisioning desktop environment.' head - - log 'Installing window manager and compositor.' - sudo apt-get update >/dev/null 2>&1 - sudo apt-get install --yes bspwm sxhkd picom >/dev/null 2>&1 - - log 'Installing terminal.' - sudo apt-get install --yes kitty >/dev/null 2>&1 - - log 'Installing panel.' - sudo apt-get install --yes xfce4-panel xfce4-pulseaudio-plugin >/dev/null 2>&1 - - log 'Installing and configuring xinit and xclip.' - sudo apt-get install --yes xinit xclip >/dev/null 2>&1 - echo 'exec bspwm' >~/.xinitrc - - log 'Installing browser.' - sudo apt-get install --yes qutebrowser >/dev/null 2>&1 - - log 'Installing application launcher.' - sudo apt-get install --yes rofi >/dev/null 2>&1 - - log 'Installing theme and fonts.' - mkdir ./nordic; and cd ./nordic - wget -q -O nordic.tar.xz https://github.com/EliverLara/Nordic/releases/download/v1.9.0/Nordic.tar.xz - tar -xf ./nordic.tar.xz - mkdir ~/.themes - mv ./Nordic/ ~/.themes/ - cd ..; and rm -r ./nordic - - sudo apt-get install --yes fonts-ibm-plex unzip >/dev/null 2>&1 - - log 'Installing desktop background manager.' - sudo apt-get install --yes feh >/dev/null 2>&1 - - log 'Installing screen saver.' - sudo apt-get install --yes xfce4-screensaver >/dev/null 2>&1 - - log 'Installing JetBrainsMono.' - mkdir _fonts_tmp - cd _fonts_tmp - - wget -q https://github.com/JetBrains/JetBrainsMono/releases/download/v2.002/JetBrainsMono-2.002.zip - unzip JetBrainsMono-2.002.zip >/dev/null - mkdir -p ~/.local/share/fonts/truetype/JetBrainsMono - cp ./ttf/*.ttf ~/.local/share/fonts/truetype/JetBrainsMono/ - - cd .. - rm -r _fonts_tmp - - log 'Configure GTK theme and font.' - mkdir -p ~/.config/gtk-3.0 - echo " -[Settings] -gtk-icon-theme-name = Adwaita -gtk-theme-name = Nordic -gtk-font-name = IBM Plex Sans 11" >~/.config/gtk-3.0/settings.ini - - log 'Done provisioning desktop environment.' tail -end - -function provision_m_net -d 'Provision applications to join m-net' - log 'Provisioning m-net.' head - - sudo apt-get update >/dev/null 2>&1 - - log 'Installing keepassxc.' - sudo apt-get install --yes keepassxc >/dev/null 2>&1 - - log 'Installing syncthing.' - sudo apt-get install --yes syncthing >/dev/null 2>&1 - sudo systemctl enable syncthing@m - - log 'Done provisioning desktop environment.' tail -end - -function provision_libvirt -d 'Provision libvirt and virt-manager' - log 'Provisioning Libvirt and KVM.' head - - sudo apt-get update >/dev/null 2>&1 - sudo apt-get install --yes \ - qemu-system \ - libvirt-clients \ - libvirt-daemon-system \ - virt-manager \ - >/dev/null 2>&1 - sudo adduser m libvirt - - log 'Done provisioning Libvirt and KVM' tail -end - -function provision_vagrant -d 'Provision vagrant with libvirt plugin' - log 'Provisioning vagrant and the libvirt provider.' head - - sudo apt-get update >/dev/null 2>&1 - - log 'Installing vagrant from apt' - sudo apt-get install --yes vagrant-libvirt libvirt-daemon-system >/dev/null 2>&1 - - log 'Installing vagrant libvirt provider.' - vagrant plugin install vagrant-libvirt - - log 'Done provisioning vagrant and libvirt provider.' tail -end - -function provision_docker -d 'Provision docker and docker-compose' - log 'Provisioning Docker CE and Docker Compose.' head - - log 'Installing docker dependencies.' - sudo apt-get update >/dev/null 2>&1 - sudo apt-get install --yes \ - apt-transport-https \ - ca-certificates \ - curl \ - gnupg-agent \ - software-properties-common \ - >/dev/null 2>&1 - - log 'Adding Docker apt repo and install docker-ce.' - curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add - - - sudo add-apt-repository \ - 'deb [arch=amd64] https://download.docker.com/linux/debian - buster - stable' - - sudo apt-get update >/dev/null 2>&1 - sudo apt-get install --yes docker-ce docker-ce-cli containerd.io >/dev/null 2>&1 - - log 'Installing docker-compose.' - set uname_m (uname -m) - set uname_s (uname -s) - - sudo curl \ - -L "https://github.com/docker/compose/releases/download/1.26.2/docker-compose-$uname_s-$uname_m" \ - -o /usr/local/bin/docker-compose - sudo chmod +x /usr/local/bin/docker-compose - - log 'Adding m to docker group.' - sudo adduser m docker - - log 'Done provisioning Docker CE and Docker Compose.' tail -end - -function provision_wireguard -d 'Provision wireguard' - log 'Provisioning Wireguard.' head - - log 'Installing wireguard and resolvconf.' - set uname_r (uname -r) - - sudo apt-get update >/dev/null 2>&1 - sudo apt-get install --yes "linux-headers-$uname_r" >/dev/null 2>&1 - sudo apt-get install --yes wireguard resolvconf >/dev/null 2>&1 - - log 'Done provisioning Wireguard.' tail -end - -function provision_caddy -d 'Provision caddy and disable service' - log 'Provisioning Caddy.' head - - log 'Adding Caddy repo and installing caddy.' - echo "deb [trusted=yes] https://apt.fury.io/caddy/ /" | - sudo tee -a /etc/apt/sources.list.d/caddy-fury.list - - sudo apt-get update >/dev/null 2>&1 - sudo apt-get install --yes caddy >/dev/null 2>&1 - - log 'Disabling and stopping service.' - sudo systemctl disable caddy.service - sudo systemctl stop caddy.service - - log 'Done provisioning Caddy.' tail -end - -function log -a message level - if test "$level" = head - echo " -########################################################################################### -# -#--> $message -#" - else if test "$level" = tail - echo "#--> $message -# -########################################################################################### -" - else - echo -e "#--> $message\n#" - end -end - -function main - alias $run_func_prefix\_default=$run_func_prefix\_help - define_aliases - - for command in $argv - and execute_command $run_func_prefix $command - end - - and if test -z "$argv" - execute_command $run_func_prefix default - end -end - -function execute_command -a prefix command - set -l args (string split --max 1 $run_arg_delimeter $command) - set -l func $prefix\_$args[1] - - define_default_functions $prefix - - if functions -q $func - $func $args[2] - else if test -z "$command" - execute_command $prefix default - else - echo "$prefix command '$command' does not exist" - exit 1 - end -end - -function define_default_functions - set -g prefix $argv[1] - - function _$prefix\_commands -d 'List all available commands' - set -l names (functions --names | grep $prefix\_) - - for name in $names - set -l details (functions -D -v $name) - set -l description $details[5] - set -l short_name (string replace $prefix\_ '' $name) - - if test (string length $short_name) -ge 8 - echo $short_name\t$description - else - echo $short_name\t\t$description - end - end - end - - function $prefix\_help -a command -d 'Print help menu or command definition' - if test -n "$command" - functions $prefix\_$command - else - echo 'Here are the available commands:'\n - _$prefix\_commands - echo \n"To see a command's definition do `run help$run_arg_delimeter{command}`" - echo "To see a subcommand group's help menu do `run {command}$run_arg_delimeter""help`" - end - end -end - -main $argv diff --git a/sync b/sync index 898c83e..790274d 100755 --- a/sync +++ b/sync @@ -1,7 +1,7 @@ #!/usr/bin/env fish function main - argparse 'd/desktop' 'g/git' -- $argv + argparse d/desktop g/git -- $argv set -l start_dir (pwd) and set -l tmp_dir (mktemp --directory 2>/dev/null; or mktemp -d -t 'dotfiles') and set -l cwd (string match -r '\w+$' $start_dir) @@ -45,7 +45,7 @@ function main end function setup_tmp_space -a cwd tmp_dir - if test ! "$cwd" = 'dotfiles' + if test ! "$cwd" = dotfiles git clone --recurse-submodules https://github.com/mitchell/dotfiles.git $tmp_dir and cd $tmp_dir end @@ -66,13 +66,11 @@ function sync_terminal_env and rsync -aP ./.tmux.conf ~/ and rsync -aP ./.vim ~/ and rsync -aP ./.vimrc ~/ - and rsync -aP ./.taskrc ~/ and rsync -aP ./scripts/ ~/code/scripts/ end function sync_desktop_env -a uname rsync -aP ./.config/kitty ~/.config/ - and rsync -aP ./.config/qutebrowser ~/.config/ and rsync -aP ./.ideavimrc ~/ or return 1 @@ -86,12 +84,11 @@ function sync_desktop_env -a uname and rsync -aP ./.config/sxhkd ~/.config/ and rsync -aP ./.config/picom ~/.config/ and rsync -aP ./.config/polybar ~/.config/ - and rsync -aP ./.config/conky ~/.config/ end end function set_kitty_font_size -a uname - if test "$uname" = 'Darwin' + if test "$uname" = Darwin sed -i '' -e 's/font_size 11\.0/font_size 13\.0/' ~/.config/kitty/kitty.conf end end @@ -101,7 +98,7 @@ function install_fisher_packages end function install_nvim_plugins - command -q nvim; and nvim +PlugUpgrade +PlugUpdate +qa + command -q nvim; and nvim +PlugUpgrade +PlugUpdate +UpdateRemotePlugins +qa end function sync_git_config @@ -120,7 +117,7 @@ function set_fish_universal_vars end function clean_up_tmp_space -a cwd start_dir tmp_dir - if test ! "$cwd" = 'dotfiles' + if test ! "$cwd" = dotfiles cd $start_dir and rm -r $tmp_dir end