diff --git a/.config/eww/eww.yuck##hostname.gathering-storm b/.config/eww/eww.yuck##hostname.gathering-storm index 448f7a0..94cd9f2 100644 --- a/.config/eww/eww.yuck##hostname.gathering-storm +++ b/.config/eww/eww.yuck##hostname.gathering-storm @@ -94,3 +94,14 @@ (rocinante-builtinbar--left) (rocinante-builtinbar--center) (rocinante-builtinbar--right))) + + +(defwindow polkit + :geometry (geometry + :anchor "center") + :focusable true + :exclusive false + :stacking "overlay" + (box :orientation "v" + :class "bar root bg outline" + "testing")) diff --git a/.config/eww/scripts/mpris.py b/.config/eww/scripts/mpris.py index c27155a..73fd61e 100755 --- a/.config/eww/scripts/mpris.py +++ b/.config/eww/scripts/mpris.py @@ -13,6 +13,10 @@ except: sys.exit(1) from gi.repository import Playerctl, GLib +from gi.events import GLibEventLoopPolicy +import asyncio + +asyncio.set_event_loop_policy(GLibEventLoopPolicy()) title_maxlen = 40 title_end_at = ["(", "-"] @@ -56,8 +60,8 @@ class StatusDisplay: def show(self): self._init_player() - main = GLib.MainLoop() - main.run() + loop = asyncio.get_event_loop() + loop.run_forever() def _get_status(self, playing=None): if self._player: diff --git a/.config/eww/scripts/network.py b/.config/eww/scripts/network.py new file mode 120000 index 0000000..3885fee --- /dev/null +++ b/.config/eww/scripts/network.py @@ -0,0 +1 @@ +network.py##hostname.gathering-storm \ No newline at end of file diff --git a/.config/eww/windows.yuck b/.config/eww/windows.yuck index a98918b..ec77b2a 100644 --- a/.config/eww/windows.yuck +++ b/.config/eww/windows.yuck @@ -2,6 +2,9 @@ ;; Top-Level Module Definitions ;; ;;;; ;;;; +;;; ;;; +;; PolKit Auth Window ;; +;;; ;;; ;;; ;;; ;; Bars for Rocinante ;; diff --git a/.config/sway/workspaces.json##hostname.gathering-storm b/.config/sway/workspaces.json##hostname.gathering-storm index fa70f06..5237547 100644 --- a/.config/sway/workspaces.json##hostname.gathering-storm +++ b/.config/sway/workspaces.json##hostname.gathering-storm @@ -83,9 +83,9 @@ }, { "index": 13, - "name": "edex-ui", - "exec": "edex-ui", - "program_name": "edex-ui" + "name": "comms", + "exec": "zoom", + "program_name": "zoom" }, { "index": 14, @@ -123,7 +123,7 @@ }, { "index": 19, - "name": "project", + "name": "internet", "exec": "firefox", "args": ["--new-window"], "program_name": "firefox" @@ -137,11 +137,7 @@ "--enable-features=UseOzonePlatform", "--ozone-platform=wayland", "--enable-gpu-rasterization" - ], - "memory_profile": { - "high": "800M", - "max": "1.2G" - } + ] }, { "index": 21, @@ -149,6 +145,18 @@ "exec": "firefox", "args": ["--new-window", "https://www.twitch.tv/ferretsoftware"], "program_name": "firefox" + }, + { + "index": 22, + "name": "encrypted comms", + "exec": "signal-desktop", + "program_name": "signal" + }, + { + "index": 23, + "name": "steam", + "exec": "steam", + "program_name": "steam" } ], "contexts": { @@ -192,19 +200,19 @@ ], "groups": { "builtin": { - "workspaces": [21], + "workspaces": [21, 22], "reverse": false }, "left": { - "workspaces": [1, 2, 3, 4, 5], + "workspaces": [6, 2, 3, 4, 5], "reverse": true }, "center": { - "workspaces": [6, 7, 8, 9, 10, 11, 12, 13, 14, 15], + "workspaces": [1, 7, 8, 9, 10, 11, 12, 13, 14, 15], "reverse": false }, "right": { - "workspaces": [16, 17, 18, 19, 20], + "workspaces": [16, 17, 19, 18, 20, 13], "reverse": false } } @@ -222,7 +230,7 @@ ], "groups": { "builtin": { - "workspaces": [6, 7, 8, 9, 10, 11, 18, 20, 14, 15], + "workspaces": [1, 7, 8, 9, 10, 13, 18, 20, 14, 15], "reverse": false } } @@ -240,7 +248,38 @@ ], "groups": { "builtin": { - "workspaces": [6, 7, 8, 9, 10, 11, 18, 5, 14, 15], + "workspaces": [1, 7, 8, 9, 23, 22, 18, 5, 14, 15], + "reverse": false + } + } + }, + "spawnpoint": { + "primary": "external", + "outputs": [ + { + "names": ["eDP-1"], + "group": "builtin", + "position": [2560, 0], + "eww_windows": ["builtinbar"], + "mode": "2560x1600@165Hz scale 1.5 color_profile icc /usr/share/color/icc/colord/BOE_CQ_______NE160QDM_NZ6.icm" + }, + { + "make": "LG Electronics", + "model": "LG UltraFine", + "serial": "111NTRL2Y030", + "group": "external", + "position": [0, 0], + "eww_windows": ["centerbar"], + "mode": "3840x2160@60Hz scale 1.5" + } + ], + "groups": { + "builtin": { + "workspaces": [6, 2, 3, 18, 5], + "reverse": false + }, + "external": { + "workspaces": [1, 7, 8, 9, 23, 22, 19, 20, 14, 15], "reverse": false } } diff --git a/.config/systemd/user/kdeconnect.service b/.config/systemd/user/kdeconnect.service index e605c68..7decd0c 100644 --- a/.config/systemd/user/kdeconnect.service +++ b/.config/systemd/user/kdeconnect.service @@ -3,7 +3,7 @@ Description=KDE Connect Daemon [Service] Type=simple -ExecStart=/usr/lib/kdeconnectd +ExecStart=/usr/bin/kdeconnectd [Install] -WantedBy=default.target +WantedBy=sway-session.target diff --git a/.config/zsh/alias.zsh b/.config/zsh/alias.zsh index 9e51fd3..33f5827 100644 --- a/.config/zsh/alias.zsh +++ b/.config/zsh/alias.zsh @@ -9,6 +9,9 @@ alias ujournalctl="\journalctl --user" alias reconf="exec $SHELL" +# Use safeexec to ensure we are using system binaries (required for some AUR packages) +alias paru="safeexec paru" + alias cp="cp -i --reflink=auto" alias mv="mv -i" alias rm="rm -i" @@ -30,7 +33,7 @@ alias verify='gpg --verify' alias bw-personal='BITWARDENCLI_APPDATA_DIR=~/.config/bw-cli-personal bw' function didifuckingstutter { - echo $fg[blue]Apologies, right away.$fg[default] + echo $fg[blue]Apologies, milady. Right away.$fg[default] # Run the last command as root last_cmd=$(fc -ln -1) # if last command was emacs, use TRAMP rather than running as root @@ -39,7 +42,7 @@ function didifuckingstutter { echo "> $fg[white]$cmd$fg[default]" $=cmd else - cmd="sudo $(fc -ln -1)" + cmd="sudo zsh -c '$(fc -ln -1)'" echo "> $fg[white]$cmd$fg[default]" sudo -p "$fg[red]I'll need your authorization:$fg[default] " $last_cmd fi diff --git a/.config/zsh/prompt.zsh b/.config/zsh/prompt.zsh index 7241635..d7caa8c 100644 --- a/.config/zsh/prompt.zsh +++ b/.config/zsh/prompt.zsh @@ -117,7 +117,7 @@ if [[ -v SSH_CLIENT ]]; then elif [[ ${TTY} =~ "tty" ]]; then prompt_line2='${serial_host}$pyenv_info_msg_0_ ${pwd}' history_line="${serial_host}" -elif [[ ${MACHINE_CHASSIS} == "container" ]]; then +elif [[ ${MACHINE_CHASSIS} == "container" ]] || [[ ${MACHINE_CHASSIS} == "vm" ]]; then prompt_line2='${container_host}$pyenv_info_msg_0_ ${pwd}' history_line="${container_host}" else diff --git a/.emacs.d/settings.org b/.emacs.d/settings.org index 8f8919a..13f6bd1 100644 --- a/.emacs.d/settings.org +++ b/.emacs.d/settings.org @@ -515,27 +515,29 @@ Indent using tabs, render with tab-width of 2. #+END_SRC ** LSP #+BEGIN_SRC emacs-lisp - ;; (use-package lsp-mode - ;; :ensure t - ;; :init - ;; ;; set prefix for lsp-command-keymap (few alternatives - "C-l", "C-c l") - ;; (setq lsp-keymap-prefix "C-c l") - ;; :hook ((python-mode . lsp) ;; pip install python-lsp-server pyls-black pyls-isort pyls-mypy - ;; (elixir-mode . lsp) - ;; (rust-mode . lsp) - ;; (java-mode . lsp) - ;; (php-mode . lsp) - ;; (typescript-mode . lsp) ;; npm install -g typescript typescript-language-server - ;; ) - ;; :config (lsp-register-custom-settings - ;; '(("pyls.plugins.pyls_mypy.enabled" t t) - ;; ("pyls.plugins.pyls_mypy.live_mode" nil t) - ;; ("pyls.plugins.pyls_black.enabled" t t) - ;; ("pyls.plugins.pyls_isort.enabled" t t))) - ;; :commands lsp) - (use-package eglot - :ensure t) + :ensure t + :defer t + :bind (:map eglot-mode-map + ("C-c C-e" . eglot-rename) + ("C-." . eglot-code-actions)) + :hook ((python-mode . eglot-ensure) + (python-mode . flyspell-prog-mode) + (python-mode . superword-mode) + (python-mode . hs-minor-mode)) + :config + (setq-default eglot-workspace-configuration + '((:pylsp . (:configurationSources ["flake8"] + :plugins ( + :mccabe (:enabled :json-false) + :pyflakes (:enabled :json-false) + :flake8 (:enabled :json-false + :maxLineLength 88) + :ruff (:enabled t :lineLength 88) + :pydocstyle (:enabled t :convention "numpy") + :yapf (:enabled :json-false) + :autopep8 (:enabled :json-false) + :black (:enabled t :line_length 88 :cache_config t))))))) #+END_SRC ** Languages @@ -662,7 +664,7 @@ After installing the ~rust-analyzer~ program, the following can be used: #+RESULTS: -** Format All The Buffers +* Format All The Buffers #+BEGIN_SRC emacs-lisp (use-package format-all :ensure t) diff --git a/.local/bin/default-application-launcher b/.local/bin/default-application-launcher index 37e340b..65e0304 100755 --- a/.local/bin/default-application-launcher +++ b/.local/bin/default-application-launcher @@ -4,7 +4,7 @@ exec >(systemd-cat -t i3-sensible-launcher -p info) exec 2> >(systemd-cat -t i3-sensible-launcher -p err) -pyenv shell system +export PATH=$HOME/.local/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin ws_data=$(sway_get_focused_workspace) current_workspace=$(echo $ws_data | jq -r '.index') diff --git a/.local/bin/vpn-toggle b/.local/bin/vpn-toggle index 1a18c20..65ae582 100755 --- a/.local/bin/vpn-toggle +++ b/.local/bin/vpn-toggle @@ -14,5 +14,5 @@ else # VPN is disconnected, so connect echo "Connecting to VPN..." # pkexec doesn't pass the DISPLAY and XAUTHORITY environment variables, so we need to pass them manually - pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY TZ=Etc/UTC gpclient connect gp.usu.edu + TZ=Etc/UTC sudo /usr/sbin/gpclient --fix-openssl connect gp.usu.edu fi diff --git a/.local/share/yadm/archive b/.local/share/yadm/archive index dc8f393..d1590ea 100644 Binary files a/.local/share/yadm/archive and b/.local/share/yadm/archive differ diff --git a/.zshrc b/.zshrc index b743d91..bf28d25 100644 --- a/.zshrc +++ b/.zshrc @@ -12,3 +12,4 @@ fi setopt INC_APPEND_HISTORY_TIME +