diff --git a/config/goread/colorscheme.json b/config/goread/colorscheme.json new file mode 100644 index 0000000000000000000000000000000000000000..bb326f4aa748470b204de5f186e8874aecb0f8e7 --- /dev/null +++ b/config/goread/colorscheme.json @@ -0,0 +1,13 @@ +{ + "bg_dark": "#161622", + "bg_darker": "#11111a", + "text": "#FFFFFF", + "text_dark": "#47485b", + "color1": "#c29fec", + "color2": "#ddbec0", + "color3": "#89b4fa", + "color4": "#e06c75", + "color5": "#98c379", + "color6": "#fab387", + "color7": "#f1c1e4" +} diff --git a/config/goread/urls.yml b/config/goread/urls.yml new file mode 100644 index 0000000000000000000000000000000000000000..4e9180e73f010f3f2ad153896173b837f084572e --- /dev/null +++ b/config/goread/urls.yml @@ -0,0 +1,43 @@ +categories: + - name: Tech + desc: Tech News etc + subscriptions: + - name: go + desc: Go Weekly + url: https://cprss.s3.amazonaws.com/golangweekly.com.xml + - name: rust + desc: rust blog + url: https://blog.rust-lang.org/feed.xml + - name: Ars Technica + desc: "" + url: http://feeds.arstechnica.com/arstechnica/technology-lab + - name: Hackday + desc: "" + url: https://hackaday.com/feed/ + - name: ACM Queue + desc: "" + url: http://queue.acm.org/rss/feeds/queuecontent.xml + - name: The Morning Paper + desc: "" + url: https://blog.acolyer.org/feed/ + - name: Academia + desc: Research, Articles + subscriptions: + - name: arXiv CS + desc: Computer Science Articles + url: https://arxiv.org/rss/cs + - name: 3 Quakrs Daily + desc: Articles + url: https://www.3quarksdaily.com/feed + - name: Philosophy Now + desc: "" + url: https://philosophynow.org/rss + - name: Fantasy + desc: Sci-fi, Fantasy, etc... + subscriptions: + - name: Tor.com + desc: "" + url: http://feeds.feedburner.com/Torcom/Frontpage_Partial + - name: Lightspeed Magazine + desc: "" + url: http://www.lightspeedmagazine.com/feed/ diff --git a/config/i3/config b/config/i3/config index ce437c6e995b63bb14ea2473dd9b50c0a678d86b..99c454906b0d09da2c4ae1ec5ef5d4820224b839 100644 --- a/config/i3/config +++ b/config/i3/config @@ -3,9 +3,9 @@ # AUTOSTART exec xrdb ~/.Xresources exec --no-startup-id picom -b -exec_always feh --no-aehbg --bg-fill --randomize ~/m/mysticism/i/wallpapers/* & -exec --no-startup-id telegram-desktop & -exec --no-startup-id firefox & +exec_always feh --no-aehbg --bg-fill --randomize ~/m/mysticism/i/back/wallpapers/* & +# exec --no-startup-id telegram-desktop & +# exec --no-startup-id firefox & exec --no-startup-id xsettingsd & exec --no-startup-id pasystray exec --no-startup-id copyq diff --git a/config/kitty/kitty.conf b/config/kitty/kitty.conf new file mode 100644 index 0000000000000000000000000000000000000000..202c2cb3d3281dfe51fdcfa750875490ca95cf3f --- /dev/null +++ b/config/kitty/kitty.conf @@ -0,0 +1,42 @@ +# vim:fileencoding=utf-8:foldmethod=marker + +# appearance +background_opacity 0.8 +font_size 18.0 + +# configs +enable_audio_bell no +macos_option_as_alt yes +macos_quit_when_last_window_closed yes +macos_custom_beam_cursor yes +focus_follows_mouse yes + +# mappings +#clear_all_shortcuts yes +map cmd+t discard +map cmd+w discard +# clipboard +copy_on_select clipboard +strip_trailing_spaces smart +select_by_word_characters @-./_~?&=%+# +map cmd+c copy_or_interrupt +map cmd+v paste_from_clipboard +map cmd+c copy_or_interrupt +map cmd+v paste_from_clipboard +map kitty_mod+s paste_from_selection +map shift+insert paste_from_selection +# scroll +map cmd+k scroll_line_up +map cmd+j scroll_line_down +map cmd+page_up scroll_page_up +map cmd+page_down scroll_page_down +map cmd+home scroll_home +map cmd+end scroll_end +map alt+h show_scrollback +scrollback_pager less --chop-long-lines --RAW-CONTROL-CHARS +INPUT_LINE_NUMBER +scrollback_lines 2000 +scrollback_pager_history_size 0 +wheel_scroll_multiplier 5.0 +touch_scroll_multiplier 1.0 +# other +map cmd+shift+u unicode_input diff --git a/config/skhd/.skhdrc b/config/skhd/.skhdrc index 77db86077a1fed818905e0e105125ea66f7fbaaa..55a37ed9030b75a7813a9da9637c4c41f5d4d6ef 100644 --- a/config/skhd/.skhdrc +++ b/config/skhd/.skhdrc @@ -1 +1,3 @@ ctrl - return : /Applications/kitty.app/Contents/MacOS/kitty --single-instance -d ~ +cmd - h : : +ctrl - p : skhd -k "play" diff --git a/config/vim/.vim/custom.vim b/config/vim/.vim/custom.vim index 85ca89d78855c182b28906df6e307feee2bc5c9f..dc6cb7b337187ace56a375584ab2e73f58a32d69 100644 --- a/config/vim/.vim/custom.vim +++ b/config/vim/.vim/custom.vim @@ -6,5 +6,5 @@ let @k='y:!fk "' " Lookup kanji meaning let @f='y:vimgrep " ./**/*' " Lookup for the current word in near files " Ledger macrosses -let @e="oo2023.03.x [Budget:Exp] [Exp:Exp]\t\t\t\t\t" -let @r="oo2023.03.x [Budget:Food] [Exp:Food]\t\t\t\t\t" +let @e="oo2023.06.x [Budget:Exp] [Exp:Exp]\t\t\t\t\t" +let @r="oo2023.06.x [Budget:Food] [Exp:Food]\t\t\t\t\t" diff --git a/config/vim/.vim/plugins.vim b/config/vim/.vim/plugins.vim index 7d51c9f1d1d87e42a78a7d28bae31beb4bf132ed..1bbf4b4cbb81f42c8a3ae1cb11676198c7733a81 100644 --- a/config/vim/.vim/plugins.vim +++ b/config/vim/.vim/plugins.vim @@ -20,7 +20,7 @@ Plugin 'junegunn/goyo.vim' " Plugin 'inkarkat/vim-ingo-library' | Plugin 'inkarkat/vim-SpellCheck' " IDE - Plugin 'github/copilot.vim' + " Plugin 'github/copilot.vim' Plugin 'vim-scripts/ReplaceWithRegister' Plugin 'sheerun/vim-polyglot' Plugin 'tommcdo/vim-exchange' @@ -53,28 +53,35 @@ "Plugin 'mhinz/vim-signify' "Plugin 'SirVer/ultisnips' | Plugin 'honza/vim-snippets' Plugin 'vim-scripts/AutoComplPop' + + " Tools + Plugin 'tpope/vim-git' + + " Programming languages support + " Server Plugin 'fatih/vim-go' - " Languages and file types. + Plugin 'vim-python/python-syntax' + Plugin 'rust-lang/rust.vim' + " Frontend + Plugin 'pangloss/vim-javascript' + Plugin 'othree/html5.vim' + Plugin 'chrisbra/csv.vim' Plugin 'cakebaker/scss-syntax.vim' + + " Config scripts support + Plugin 'elkowar/yuck.vim' + Plugin 'PotatoesMaster/i3-vim-syntax' Plugin 'chr4/nginx.vim' - Plugin 'chrisbra/csv.vim' + Plugin 'lifepillar/pgsql.vim' Plugin 'ekalinin/dockerfile.vim' Plugin 'elixir-editors/vim-elixir' Plugin 'Glench/Vim-Jinja2-Syntax' Plugin 'godlygeek/tabular' | Plugin 'tpope/vim-markdown' Plugin 'iamcco/markdown-preview.nvim', { 'do': 'cd app & yarn install' } Plugin 'jvirtanen/vim-hcl' - Plugin 'lifepillar/pgsql.vim' - Plugin 'othree/html5.vim' - Plugin 'pangloss/vim-javascript' - Plugin 'PotatoesMaster/i3-vim-syntax' Plugin 'stephpy/vim-yaml' Plugin 'tmux-plugins/vim-tmux' - Plugin 'tpope/vim-git' Plugin 'tpope/vim-liquid' - Plugin 'tpope/vim-rails' - Plugin 'vim-python/python-syntax' - Plugin 'vim-ruby/vim-ruby' Plugin 'wgwoods/vim-systemd-syntax' Plugin 'towolf/vim-helm' diff --git a/config/waybar/config b/config/waybar/config new file mode 100644 index 0000000000000000000000000000000000000000..5882ac342a06acdae0e9f1a1bec54968770da792 --- /dev/null +++ b/config/waybar/config @@ -0,0 +1,167 @@ + +{ + "layer": "top", // Waybar at top layer + "positikn": "bottom", // Waybar position (top|bottom|left|right) + "height": 30, // Waybar height (to be removed for auto height) + // "width": 1280, // Waybar width + "spacing": 4, // Gaps between modules (4px) + // Choose the order of the modules + "modules-left": ["sway/workspaces", "sway/mode", "sway/scratchpad", "custom/media"], + "modules-center": ["sway/window"], + "modules-right": ["mpd", "idle_inhibitor", "pulseaudio", "network", "cpu", "memory", "temperature", "backlight", "battery", "battery#bat2", "clock", "tray"], + // Modules configuration + "sway/workspaces": { + "disable-scroll": false, + "all-outputs": true, + "format": "{name}: {icon}", + "format-icons": { + "1": "", + "2": "", + "3": "", + "4": "", + "5": "", + "urgent": "", + "focused": "", + "default": "" + } + }, + "keyboard-state": { + "numlock": true, + "capslock": true, + "format": "{name} {icon}", + "format-icons": { + "locked": "", + "unlocked": "" + } + }, + "sway/mode": { + "format": "{}" + }, + "sway/scratchpad": { + "format": "{icon} {count}", + "show-empty": false, + "format-icons": ["", ""], + "tooltip": true, + "tooltip-format": "{app}: {title}" + }, + "mpd": { + "format": "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S}) ⸨{songPosition}|{queueLength}⸩ {volume}% ", + "format-disconnected": "Disconnected ", + "format-stopped": "{consumeIcon}{randomIcon}{repeatIcon}{singleIcon}Stopped ", + "unknown-tag": "N/A", + "interval": 2, + "consume-icons": { + "on": " " + }, + "random-icons": { + "off": " ", + "on": " " + }, + "repeat-icons": { + "on": " " + }, + "single-icons": { + "on": "1 " + }, + "state-icons": { + "paused": "", + "playing": "" + }, + "tooltip-format": "MPD (connected)", + "tooltip-format-disconnected": "MPD (disconnected)" + }, + "idle_inhibitor": { + "format": "{icon}", + "format-icons": { + "activated": "", + "deactivated": "" + } + }, + "tray": { + // "icon-size": 21, + "spacing": 10 + }, + "clock": { + // "timezone": "America/New_York", + "tooltip-format": "{:%Y %B}\n{calendar}", + "format-alt": "{:%Y-%m-%d}" + }, + "cpu": { + "format": "{usage}% ", + "tooltip": false + }, + "memory": { + "format": "{}% " + }, + "temperature": { + // "thermal-zone": 2, + // "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input", + "critical-threshold": 80, + // "format-critical": "{temperatureC}°C {icon}", + "format": "{temperatureC}°C {icon}", + "format-icons": ["", "", ""] + }, + "backlight": { + // "device": "acpi_video1", + "format": "{percent}% {icon}", + "format-icons": ["", "", "", "", "", "", "", "", ""] + }, + "battery": { + "states": { + // "good": 95, + "warning": 30, + "critical": 15 + }, + "format": "{capacity}% {icon}", + "format-charging": "{capacity}% ", + "format-plugged": "{capacity}% ", + "format-alt": "{time} {icon}", + // "format-good": "", // An empty format will hide the module + // "format-full": "", + "format-icons": ["", "", "", "", ""] + }, + "battery#bat2": { + "bat": "BAT2" + }, + "network": { + // "interface": "wlp2*", // (Optional) To force the use of this interface + "format-wifi": "{essid} ({signalStrength}%) ", + "format-ethernet": "{ipaddr}/{cidr} ", + "tooltip-format": "{ifname} via {gwaddr} ", + "format-linked": "{ifname} (No IP) ", + "format-disconnected": "Disconnected ⚠", + "format-alt": "{ifname}: {ipaddr}/{cidr}" + }, + "pulseaudio": { + // "scroll-step": 1, // %, can be a float + "format": "{volume}% {icon} {format_source}", + "format-bluetooth": "{volume}% {icon} {format_source}", + "format-bluetooth-muted": " {icon} {format_source}", + "format-muted": " {format_source}", + "format-source": "{volume}% ", + "format-source-muted": "", + "format-icons": { + "headphone": "", + "hands-free": "", + "headset": "", + "phone": "", + "portable": "", + "car": "", + "default": ["", "", ""] + }, + "on-click": "pavucontrol" + }, + "custom/media": { + "format": "{icon} {}", + "return-type": "json", + "max-length": 40, + "format-icons": { + "spotify": "", + "default": "🎜" + }, + "escape": true, + "exec": "$HOME/.config/waybar/mediaplayer.py 2> /dev/null" // Script in resources folder + // "exec": "$HOME/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" // Filter player based on name + } +} + diff --git a/config/win/ahk/config.ahk b/config/win/ahk/config.ahk index ca8ac568e260dfef4f00aa09229449282d356de9..fe4b1cb80c51e3a10e41ff9e4c33a0f0257e265f 100644 --- a/config/win/ahk/config.ahk +++ b/config/win/ahk/config.ahk @@ -18,6 +18,7 @@ ; Keyboard Layout CapsLock::Send "{Shift down}{Alt}{Shift up}" F2::Send "{Alt down}{``}{Alt up}" +F1::Send "{Alt down}{``}{Alt up}" ; Media keys #m::Send "{Media_Play_Pause}" diff --git a/config/zsh/.zshrc b/config/zsh/.zshrc index 5f025a27aa4a762d1ed9944e109162b9645170ae..648ba4e901401fb515700676ee4dc836f5a08504 100644 --- a/config/zsh/.zshrc +++ b/config/zsh/.zshrc @@ -17,7 +17,6 @@ source ~/.zplug/init.zsh zplug "zsh-users/zsh-autosuggestions" zplug "zsh-users/zsh-syntax-highlighting" zplug "zsh-users/zsh-history-substring-search" -zplug "unixorn/fzf-zsh-plugin" zplug romkatv/powerlevel10k, as:theme, depth:1 zplug load @@ -42,6 +41,7 @@ export alchemy="$HOME/alchemy" export manuscripts="$alchemy/manuscripts" # Program specific +export GPG_TTY=$(tty) export npm_config_prefix=~/.node_modules export LD_LIBRARY_PATH=/usr/local/lib/ export MANGOHUD=0 #1 for fps in steam games @@ -51,16 +51,14 @@ export STARDICT_DATA_DIR=$manuscripts/ingredients/dicts/dic export PATH="$PATH:$(du "$alchemy/scripts" | cut -f2 | sed '/.git/d' | tr '\n' ':' | sed 's/%*$//')" export PATH=$PATH:$HOME/bin export GOPATH=$HOME/go -export GOENV_DISABLE_GOPATH=1 -export GOENV_ROOT="$HOME/.goenv" -export PATH="$GOENV_ROOT/bin:$PATH" -eval "$(goenv init -)" export PATH="$GOROOT/bin:$PATH" export PATH="$PATH:$GOPATH/bin" export PATH="$PATH:$npm_config_prefix" +export PATH="$PATH:$HOME/.deno/bin" # Import system specific configurations source ~/.profile +source ~/.secrets # Other if [ -f ~/.awsrc ]; then @@ -69,6 +67,7 @@ fi # Aliases alias c="clear" +alias vim="nvim" alias upd='git commit -am "update"' alias push='git push' alias pull='git pull --ff-only' @@ -88,5 +87,8 @@ alias real="ledger -f $LEDGER bal Assets --real" alias budgets="ledger -f $LEDGER bal Budget" export PAGER=nvimpager - -if [ -e /home/ssm-user/.nix-profile/etc/profile.d/nix.sh ]; then . /home/ssm-user/.nix-profile/etc/profile.d/nix.sh; fi +export MANPAGER="nvimpager" +alias less="nvimpager" +alias cat="nvimpager" +alias ls="exa" +export PATH="/opt/homebrew/opt/postgresql@15/bin:$PATH" diff --git a/install.sh b/install.sh index 3d38780b191920490bc42a42cac1030e8fd45ecc..5a4cf5bcfb5d0c087d563c94d7d189c224827652 100755 --- a/install.sh +++ b/install.sh @@ -78,11 +78,13 @@ cp -n "$DIR"/config/ssh/config "$HOME"/.ssh/ if xhost >& /dev/null ; then printf "🧿 Detected Xorg, configuring...\n" ln -sfv "$DIR"/config/xorg/.xinitrc "$HOME"/ - mkdir -p "$HOME"/.config/{dunst,rofi,mpd} + mkdir -p "$HOME"/.config/{dunst,rofi,mpd,ncmpcpp,waybar,goread} ln -sfv "$DIR"/config/dunst/* "$HOME"/.config/dunst/ + ln -sfv "$DIR"/config/goread/* "$HOME"/.config/goread/ ln -sfv "$DIR"/config/rofi/* "$HOME"/.config/rofi/ ln -sfv "$DIR"/config/mpd/* "$HOME"/.config/mpd/ ln -sfv "$DIR"/config/ncmpcpp/* "$HOME"/.config/ncmpcpp/ + ln -sfv "$DIR"/config/waybar/* "$HOME"/.config/waybar/ cp -n "$DIR"/config/xorg/.Xresources "$HOME"/ # Remove 4K configs if no 4K monitor is found UHD="$(xrandr | awk '/3840x/ {print $1}')" diff --git a/packages/archinstall.sh b/packages/archinstall.sh index 1f0379b80d097be465213049c593bade142e47fd..46451d5252fd689fb0c5a365f3ab4e56380e10c9 100755 --- a/packages/archinstall.sh +++ b/packages/archinstall.sh @@ -47,6 +47,7 @@ dunst rofi gvim neovim redshift viewnior feh xfce4-terminal konsole kitty --noco # GUI Apps sudo pacman -S thunar firefox chromium vlc gedit nautilus --noconfirm +# Note on chromium add this flag "ozone-platform-hint=auto" to /etc/chromium-flags.conf # Dev tools pacman -S docker docker-compose go goenv php node python @@ -143,7 +144,16 @@ read -rp "👾 Is this gaming PC? (y/N) 👀 " yn if [ "$yn" == "y" ]; then ## Get emulators: - paru -S steam wine-staging winetricks wine-gecko wine-mono --noconfirm + paru -S gamescope steam wine-staging winetricks wine-gecko wine-mono --noconfirm + + ## How to use GameScope: on any X11 or Wayland desktop, set the Steam launch arguments of game: + ### Upscale a 720p game to 1440p with integer scaling + # gamescope -h 720 -H 1440 -i -- %command% + ### Limit a vsynced game to 30 FPS + # gamescope -r 30 -- %command% + ### Run the game at 1080p, but scale output to a fullscreen 3440×1440 pillarboxed ultrawide window + # gamescope -w 1920 -h 1080 -W 3440 -H 1440 -b -- %command% + ## Libraries for the wine to work properly paru -S giflib lib32-giflib libpng lib32-libpng libldap lib32-libldap gnutls lib32-gnutls mpg123 lib32-mpg123 openal lib32-openal v4l-utils lib32-v4l-utils libpulse lib32-libpulse alsa-plugins lib32-alsa-plugins alsa-lib lib32-alsa-lib libjpeg-turbo lib32-libjpeg-turbo libxcomposite lib32-libxcomposite libxinerama lib32-libxinerama ncurses lib32-ncurses opencl-icd-loader lib32-opencl-icd-loader libxslt lib32-libxslt libva lib32-libva gtk3 lib32-gtk3 gst-plugins-base-libs lib32-gst-plugins-base-libs vulkan-icd-loader lib32-vulkan-icd-loader cups samba --noconfirm ## Dosbox diff --git a/packages/mac.sh b/packages/mac.sh index 58333366be62504a8d0cc3faacd58c862ac347a0..e773382c45d4b4caf4dc48918c19660cc84f4f6a 100755 --- a/packages/mac.sh +++ b/packages/mac.sh @@ -8,27 +8,18 @@ xcode-select --install > /dev/null brew update # shell tools -brew install curl wget zsh git tmux vim docker jq peco ranger zplug node +brew install curl wget zsh zsh-autosuggestions ack git tig tmux vim neovim nvimpager bat jq peco ranger zplug fzf imagemagick ffmpeg tree vhs neofetch scdoc sdcv pandoc -# pdf -brew tap zegervdv/zathura -brew install zathura zathura-pdf-mupdf +# dev +brew install go tinygo python docker node deno yarn postgresql visual-studio-code +deno completions zsh > ~/.zsh/_deno -# Extra: can be skipped safely. -brew tap versent/homebrew-taps -brew install tfenv goenv saml2aws jq -brew install ledger -brew install obsidian -brew install scdoc -brew install graphviz -brew install ffmpeg - -git clone https://github.com/lucc/nvimpager "${alchemy:?}"/summons -cd "${alchemy:?}"/summons/nvimpager || exit -make install -cd -1 || exit +# tools +brew install graphviz ledger obsidian kitty -sh <(curl -L https://nixos.org/nix/install) +# extra tools +brew tap versent/homebrew-taps +brew install tfenv saml2aws # Configure macOS # Disable auto-capitalization @@ -48,3 +39,6 @@ for app in "Dock" \ "SystemUIServer"; do killall "${app}" &> /dev/null done + +brew install koekeishiya/formulae/skhd +skhd --start-service diff --git a/packages/osagnostic.sh b/packages/osagnostic.sh new file mode 100644 index 0000000000000000000000000000000000000000..d2bd33168431013577a2bac38b8acfa9f4f04103 --- /dev/null +++ b/packages/osagnostic.sh @@ -0,0 +1,2 @@ +# rss +go install github.com/TypicalAM/goread@latest diff --git a/packages/shell_install.sh b/packages/shell_install.sh index ee49bcaa6ff33a54580fd82622b507272175d2d8..1391b1258708e3a64a541772ff6e6100a8fe6b14 100755 --- a/packages/shell_install.sh +++ b/packages/shell_install.sh @@ -7,6 +7,7 @@ printf "\n⌛... Installing shell tools... 🛠\n" touch "${HOME:?}"/.profile +touch "${HOME:?}"/.secrets if ! [ -d "$HOME/.oh-my-zsh" ]; then sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" else printf "📝 Oh My Zsh seems to be already installed! Remove ~/.oh-my-zsh to reinstall. 🚀\n" diff --git a/packages/win.sh b/packages/win.sh index 80e470e13ef53b06839e070b3ef6abb8ee2c7778..567de08d837d2241756b9266ad22dd220ae43673 100644 --- a/packages/win.sh +++ b/packages/win.sh @@ -2,14 +2,15 @@ # Set-ExecutionPolicy RemoteSigned -Scope CurrentUser # irm get.scoop.sh | iex +# note: chats don't work well when installed with scoop so install manually + scoop bucket add extras # tools scoop install ffmpeg vim 7zip curl wget openssh coreutils yt-dlp # utils -scoop install autohotkey powertoys +scoop install autohotkey powertoys ueli wiztree openssh-connect # apps scoop install firefox libreoffice qbittorrent vlc sumatrapdf anki eartrumpet -scoop install discord signal forkgram # dev scoop install python go nodejs rustup scoop install neovim jetbrains-toolbox vscode docker docker-compose @@ -20,6 +21,7 @@ scoop install steam # run with admin rights (buckets can be installed as normal user) scoop bucket add games scoop bucket add nonportable +# scoop install protonvpn-np # scoop install epic-games-launcher -# scoop install protonvpn-np voicemeeter-np +# scoop install voicemeeter-np