From aa36b93780baf969eb4bec9308dc3b5ad6efa5cb Mon Sep 17 00:00:00 2001 From: josiah Date: Sat, 26 Mar 2022 12:36:08 -0500 Subject: [PATCH 01/12] Moving user service files to version control. --- .config/systemd/user/calibre-remote.service | 14 ++++++++++++++ .config/systemd/user/nm-applet.service | 17 +++++++++++++++++ .config/systemd/user/syncthing-systray.service | 16 ++++++++++++++++ .config/systemd/user/tailscale-systray.service | 18 ++++++++++++++++++ 4 files changed, 65 insertions(+) create mode 100644 .config/systemd/user/calibre-remote.service create mode 100644 .config/systemd/user/nm-applet.service create mode 100644 .config/systemd/user/syncthing-systray.service create mode 100644 .config/systemd/user/tailscale-systray.service diff --git a/.config/systemd/user/calibre-remote.service b/.config/systemd/user/calibre-remote.service new file mode 100644 index 0000000..2b68846 --- /dev/null +++ b/.config/systemd/user/calibre-remote.service @@ -0,0 +1,14 @@ +[Unit] +Description=Runs Calibre remotely from Hatchery +After=network.target + +[Service] +ExecStart=/run/current-system/sw/bin/ssh -i /home/josiah/.ssh/home-net -X josiah@hatchery -v -Y calibre +Restart=always +RestartSec=10 +Environment=DISPLAY=:0 + +PermissionsStartOnly=true + +[Install] +WantedBy=default.target diff --git a/.config/systemd/user/nm-applet.service b/.config/systemd/user/nm-applet.service new file mode 100644 index 0000000..3269f41 --- /dev/null +++ b/.config/systemd/user/nm-applet.service @@ -0,0 +1,17 @@ +[Unit] +Description=runs the nm applet for the system tray +After=network.target + +[Service] +User=josiah +ExecStart=/run/current-system/sw/bin/nm-applet +LimitNOFILE=1024 + +Restart=always +RestartSec=10 +Environment=DISPLAY=:0 + +PermissionsStartOnly=true + +[Install] +WantedBy=default.target diff --git a/.config/systemd/user/syncthing-systray.service b/.config/systemd/user/syncthing-systray.service new file mode 100644 index 0000000..f0cc72d --- /dev/null +++ b/.config/systemd/user/syncthing-systray.service @@ -0,0 +1,16 @@ +[Unit] +Description=Runs the SyncthingTray process. +After=network.target + +[Service] +ExecStart=/run/current-system/sw/bin/syncthingtray + +Restart=always +RestartSec=10 +Environment=DISPLAY=:0 + +StandardOutput=syslog +StandardError=syslog + +[Install] +WantedBy=default.target diff --git a/.config/systemd/user/tailscale-systray.service b/.config/systemd/user/tailscale-systray.service new file mode 100644 index 0000000..69359f9 --- /dev/null +++ b/.config/systemd/user/tailscale-systray.service @@ -0,0 +1,18 @@ +[Unit] +Description=Runs the tailscale systray +After=network.target +Wants=tailscaled.service + +[Service] +User=josiah +ExecStart=/home/josiah/go/bin/tailscale-systray +LimitNOFILE=1024 + +Restart=always +RestartSec=10 +Environment=DISPLAY=:0 + +PermissionsStartOnly=true + +[Install] +WantedBy=default.target From f694c3b723fd7a7b8f172254323feb78c1b71811 Mon Sep 17 00:00:00 2001 From: josiah Date: Sat, 26 Mar 2022 12:58:21 -0500 Subject: [PATCH 02/12] Add sane open alias. --- .bashrc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.bashrc b/.bashrc index 243e893..d54a2c2 100644 --- a/.bashrc +++ b/.bashrc @@ -30,6 +30,10 @@ alias social="emacs -q -l '~/.emacs.d/init-social.el'" alias game="xrandr --output HDMI-0 --mode 1920x1080 --pos 0x0 --rotate normal --primary --output DP-2 --mode 1920x1080 --right-of HDMI-0 --rotate left --output DP-4 --mode 1920x1080 --left-of HDMI-0 --rotate right --output DP-0 --off" alias fixit="xrandr --output HDMI-0 --mode 2560x1440 --pos 0x0 --rotate normal --primary --output DP-2 --mode 1920x1080 --right-of HDMI-0 --rotate left --output DP-4 --mode 1920x1080 --left-of HDMI-0 --rotate right --output DP-0 --off" + +# nixos aliases that don't matter elsewhere: +alias open=xdg-open + # blatantly steal micah's colorized man pages # See: http://boredzo.org/blog/archives/2016-08-15/colorized-man-pages-understood-and-customized # see: https://github.com/mrled/dhd/blob/800544cae0cc2f4e2b85b5dafae59babf75677fe/hbase/.bashrc From fb3744bd4db5b764be46aa7d49d6376f3837697a Mon Sep 17 00:00:00 2001 From: josiah Date: Mon, 28 Mar 2022 14:49:01 -0500 Subject: [PATCH 03/12] Make keys fire faster. --- .config/awesome/rc.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/.config/awesome/rc.lua b/.config/awesome/rc.lua index 82c9b7e..0eb26bd 100644 --- a/.config/awesome/rc.lua +++ b/.config/awesome/rc.lua @@ -615,6 +615,7 @@ autorunApps = { "xrandr --output HDMI-1 --mode 2560x1440 --pos 0x0 --rotate normal --primary --output DP-1 --mode 1920x1200 --left-of HDMI-1", "xset s off", + "xset r rate 200", "xset -dpms", "xset s noblank", } From 2191498e6381927cc47a43330512a87e9ce01e36 Mon Sep 17 00:00:00 2001 From: josiah Date: Mon, 28 Mar 2022 15:24:37 -0500 Subject: [PATCH 04/12] Add emacsclient.desktop. --- .local/share/applications/emacsclient.desktop | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 .local/share/applications/emacsclient.desktop diff --git a/.local/share/applications/emacsclient.desktop b/.local/share/applications/emacsclient.desktop new file mode 100644 index 0000000..6024208 --- /dev/null +++ b/.local/share/applications/emacsclient.desktop @@ -0,0 +1,10 @@ +[Desktop Entry] +Name=Emacs Client +GenericName=Text Editor +Comment=Edit text +MimeType=text/english;text/plain;text/x-makefile;text/x-c++hdr;text/x-c++src;text/x-chdr;text/x-csrc;text/x-java;text/x-moc;text/x-pascal;text/x-tcl;text/x-tex;application/x-shellscript;text/x-c;text/x-c++; +Exec=emacsclient -c %f +Icon=emacs +Type=Application +Terminal=false +Categories=Utility;TextEditor; From 1436685fd3a4135aca14ba989ecde89f330e197f Mon Sep 17 00:00:00 2001 From: josiah Date: Mon, 28 Mar 2022 15:30:19 -0500 Subject: [PATCH 05/12] Small .bashrc cleaning. --- .bashrc | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/.bashrc b/.bashrc index d54a2c2..301b403 100644 --- a/.bashrc +++ b/.bashrc @@ -1,5 +1,4 @@ #!/bin/bash - shopt -s nocaseglob # glob filenames case-insensitively shopt -s histappend # append history to history file, don't overwrite. shopt -s checkwinsize # fix line wrap issues @@ -11,7 +10,8 @@ bind '\C-w:unix-filename-rubout' set completion-ignore-case on # ignore case when tab-completing source ~/.paths -export EDITOR=emacsclient +export VISUAL=emacsclient +export editor=emacsclient # blatantly steal micah's ls aliases because they make SO MUCH SENSE omg. alias python="python3" @@ -23,16 +23,12 @@ alias lsli='lsl -i' # lsl+inodes alias l1='ls -1' alias llm='lsl -r -t' # lsl+ sort by modified time (lastest at bottom) -# emacs aliases lol -alias social="emacs -q -l '~/.emacs.d/init-social.el'" - -# wm aliases to handle stupid xorg problems: -alias game="xrandr --output HDMI-0 --mode 1920x1080 --pos 0x0 --rotate normal --primary --output DP-2 --mode 1920x1080 --right-of HDMI-0 --rotate left --output DP-4 --mode 1920x1080 --left-of HDMI-0 --rotate right --output DP-0 --off" -alias fixit="xrandr --output HDMI-0 --mode 2560x1440 --pos 0x0 --rotate normal --primary --output DP-2 --mode 1920x1080 --right-of HDMI-0 --rotate left --output DP-4 --mode 1920x1080 --left-of HDMI-0 --rotate right --output DP-0 --off" - - # nixos aliases that don't matter elsewhere: alias open=xdg-open +alias e='emacsclient' + +# awesomewm xdg fixes +xdg-mime default emacsclient.desktop text/plain # blatantly steal micah's colorized man pages # See: http://boredzo.org/blog/archives/2016-08-15/colorized-man-pages-understood-and-customized From d70c7b1e42f8f158e0e55abaaa99b0798f094ff5 Mon Sep 17 00:00:00 2001 From: josiah Date: Mon, 28 Mar 2022 15:37:54 -0500 Subject: [PATCH 06/12] Figured out how to use kde-open, ok now we're fine! --- .bashrc | 2 +- .emacs.d/custom.el | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.bashrc b/.bashrc index 301b403..d8f6822 100644 --- a/.bashrc +++ b/.bashrc @@ -24,7 +24,7 @@ alias l1='ls -1' alias llm='lsl -r -t' # lsl+ sort by modified time (lastest at bottom) # nixos aliases that don't matter elsewhere: -alias open=xdg-open +alias open=kde-open5 alias e='emacsclient' # awesomewm xdg fixes diff --git a/.emacs.d/custom.el b/.emacs.d/custom.el index 9c04b19..5b46448 100644 --- a/.emacs.d/custom.el +++ b/.emacs.d/custom.el @@ -11,8 +11,10 @@ ;; If there is more than one, they won't work right. '(epg-gpg-program "/usr/local/bin/gpg") '(global-hl-line-mode t) + '(org-agenda-files + '("/home/josiah/dhd/org/big-bend-notes.org" "/home/josiah/dhd/org/documentation.org" "/home/josiah/dhd/org/finances.org" "/home/josiah/dhd/org/fitness.org" "/home/josiah/dhd/org/housing.org" "/home/josiah/dhd/org/hoyden.org" "/home/josiah/dhd/org/jlj-template.org" "/home/josiah/dhd/org/pagedout.org" "/home/josiah/dhd/org/pagedout2.org" "/home/josiah/dhd/org/personal.org" "/home/josiah/dhd/org/refile-beorg.org" "/home/josiah/dhd/org/someday.org" "/home/josiah/dhd/org/stjohns.org" "/home/josiah/dhd/org/webwiki.org" "/home/josiah/dhd/org/work.org")) '(package-selected-packages - '(lsp-pyright ido-vertical-mode dash-functional region-bindings-mode jinja2-mode dockerfile-mode sudo-edit modus-themes org-caldav json-mode pdf-tools org-special-block-extras neotree sr-speedbar lsp-python-ms fira-code-mode yasnippet org-pdftools phps-mode projectile webfeeder znc pinboard yaml-mode which-key web-mode virtualenvwrapper use-package twittering-mode try smex racer powershell poetry pipenv ox-reveal outline-magic org-pdfview org-bullets ob-restclient multiple-cursors magit lua-mode lsp-ui iedit helm flycheck-rust exec-path-from-shell eglot edit-indirect company-lsp ansible ace-window))) + '(python-black rust-mode company lsp-mode nix-mode markdown-mode flycheck s lsp-pyright ido-vertical-mode dash-functional region-bindings-mode jinja2-mode dockerfile-mode sudo-edit modus-themes org-caldav json-mode pdf-tools org-special-block-extras neotree sr-speedbar lsp-python-ms fira-code-mode yasnippet org-pdftools phps-mode projectile webfeeder znc pinboard yaml-mode which-key web-mode virtualenvwrapper use-package twittering-mode try smex racer powershell poetry pipenv ox-reveal outline-magic org-pdfview org-bullets ob-restclient multiple-cursors magit lua-mode lsp-ui iedit helm flycheck-rust exec-path-from-shell eglot edit-indirect company-lsp ansible ace-window))) '(znc-servers `(("bouncer.awful.club" 5000 t ((freenode "blindidiotgod/freenode" ,znc-password) From fc75b89a0db3ecee2d59bcff7eab815dba796509 Mon Sep 17 00:00:00 2001 From: josiah Date: Sun, 10 Apr 2022 16:07:37 -0500 Subject: [PATCH 07/12] Add fix for idiot new awesomewm behavior. Reference: https://www.reddit.com/r/awesomewm/comments/5r9mgu/client_layout_not_preserved_when_switching/ What a dumb goddamn problem. Super glad the workaround is copy-pastable. --- .config/awesome/rc.lua | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/.config/awesome/rc.lua b/.config/awesome/rc.lua index 0eb26bd..5e4a65c 100644 --- a/.config/awesome/rc.lua +++ b/.config/awesome/rc.lua @@ -624,3 +624,22 @@ if autorun then awful.util.spawn(autorunApps[app]) end end + + +tag.connect_signal("request::screen", function(t) + for s in screen do + if s ~= t.screen and + s.geometry.x == t.screen.geometry.x and + s.geometry.y == t.screen.geometry.y and + s.geometry.width == t.screen.geometry.width and + s.geometry.height == t.screen.geometry.height then + local t2 = awful.tag.find_by_name(s, t.name) + if t2 then + t:swap(t2) + else + t.screen = s + end + return + end + end +end) From 200a92b3199f1dcc06129c6283254b6cc3c7acbf Mon Sep 17 00:00:00 2001 From: josiah Date: Sun, 10 Apr 2022 16:20:16 -0500 Subject: [PATCH 08/12] Use nixos installed path. --- .config/awesome/awesome-wm-widgets/volume-widget/volume.lua | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.config/awesome/awesome-wm-widgets/volume-widget/volume.lua b/.config/awesome/awesome-wm-widgets/volume-widget/volume.lua index d7334eb..076c0dc 100644 --- a/.config/awesome/awesome-wm-widgets/volume-widget/volume.lua +++ b/.config/awesome/awesome-wm-widgets/volume-widget/volume.lua @@ -15,7 +15,8 @@ local naughty = require("naughty") local gfs = require("gears.filesystem") local dpi = require('beautiful').xresources.apply_dpi -local PATH_TO_ICONS = "/usr/share/icons/Arc/status/symbolic/" +-- local PATH_TO_ICONS = "/usr/share/icons/Arc/status/symbolic/" +local PATH_TO_ICONS = "/run/current-system/sw/share/icons/Arc/status/symbolic" local volume_icon_name="audio-volume-high-symbolic" local GET_VOLUME_CMD = 'amixer sget Master' From e8a935f9a281968d5b5ae66f47bfc80c5cc99447 Mon Sep 17 00:00:00 2001 From: josiah Date: Sun, 10 Apr 2022 16:20:28 -0500 Subject: [PATCH 09/12] Remove battery widget; i don't need it anymore. --- .config/awesome/rc.lua | 3 --- 1 file changed, 3 deletions(-) diff --git a/.config/awesome/rc.lua b/.config/awesome/rc.lua index 5e4a65c..33f9809 100644 --- a/.config/awesome/rc.lua +++ b/.config/awesome/rc.lua @@ -21,9 +21,6 @@ require("awful.hotkeys_popup.keys") -- volume import local volume_widget = require("awesome-wm-widgets.volume-widget.volume") --- battery import and customization -local battery_widget = require("awesome-wm-widgets.batteryarc-widget.batteryarc") - -- game mode import and customization local game_widget = require("awesome-wm-widgets.demomode-widget.demomode") From b46612b6a656ae79f8d389919931a79ed0afde81 Mon Sep 17 00:00:00 2001 From: josiah Date: Wed, 1 Jun 2022 22:41:23 -0500 Subject: [PATCH 10/12] Remove vestigial file. --- .xinitrc | 1 - 1 file changed, 1 deletion(-) delete mode 100644 .xinitrc diff --git a/.xinitrc b/.xinitrc deleted file mode 100644 index a3ad176..0000000 --- a/.xinitrc +++ /dev/null @@ -1 +0,0 @@ -/home/josiah/.guix-profile/bin/stumpwm From 5474dcbb4f4e3e9cde5ae9943debc636980f563a Mon Sep 17 00:00:00 2001 From: josiah Date: Wed, 1 Jun 2022 22:41:47 -0500 Subject: [PATCH 11/12] Fuck with more emacs stuff. Helm, org exports. --- .emacs.d/jlj-generic.el | 35 ++++++++++------------------------- .emacs.d/jlj-org.el | 5 +++-- 2 files changed, 13 insertions(+), 27 deletions(-) diff --git a/.emacs.d/jlj-generic.el b/.emacs.d/jlj-generic.el index b1fe0ec..5bafd38 100644 --- a/.emacs.d/jlj-generic.el +++ b/.emacs.d/jlj-generic.el @@ -122,37 +122,22 @@ :ensure t :config (progn + (helm-mode 1) + (define-key global-map [remap find-file] 'helm-find-files) + (define-key global-map [remap occur] 'helm-occur) + (define-key global-map [remap list-buffers] 'helm-buffers-list) + (define-key global-map [remap dabbrev-expand] 'helm-dabbrev) + (define-key global-map [remap execute-extended-command] 'helm-M-x) + (define-key global-map [remap apropos-command] 'helm-apropos) + (unless (boundp 'completion-in-region-function) + (define-key lisp-interaction-mode-map [remap completion-at-point] 'helm-lisp-completion-at-point) + (define-key emacs-lisp-mode-map [remap completion-at-point] 'helm-lisp-completion-at-point)) (defun helm-surfraw-duck (x) "Search duckduckgo in default browser" (interactive "sSEARCH:") (helm-surfraw x "duckduckgo" )) (global-set-key (kbd "C-c s") 'helm-surfraw-duck))) -(use-package smex - :ensure t - :config - (progn - (defadvice smex (around space-inserts-hyphen activate compile) - (let ((ido-cannot-complete-command - `(lambda () - (interactive) - (if (string= " " (this-command-keys)) - (insert ?-) - (funcall ,ido-cannot-complete-command))))) - ad-do-it)) - - (global-set-key (kbd "M-x") 'smex) - (global-set-key (kbd "M-X") 'smex-major-mode-commands) - ;; This is your old M-x. - (global-set-key (kbd "C-c C-c M-x") 'execute-extended-command))) - -(use-package ido-vertical-mode - :ensure t - :config - (ido-mode 1) - (ido-vertical-mode 1) - (setq ido-vertical-define-keys 'C-n-and-C-p-only)) - (use-package try :ensure t) diff --git a/.emacs.d/jlj-org.el b/.emacs.d/jlj-org.el index 0febd25..51bcefb 100644 --- a/.emacs.d/jlj-org.el +++ b/.emacs.d/jlj-org.el @@ -10,11 +10,13 @@ :config (progn ;;Org mode configuration + (require 'ox) (require 'org) ; Enable Org mode - (setq ispell-program-name "/usr/local/bin/ispell") ; set flyspell's spellchecker + (setq ispell-program-name "/run/current-system/sw/bin/ispell") ; set flyspell's spellchecker (add-hook 'org-mode-hook 'turn-on-flyspell) ; enable flyspell-mode in all org-mode enabled files (setq org-src-fontify-natively t org-src-window-setup 'current-window + org-export-in-background t org-src-strip-leading-and-trailing-blank-lines t org-src-preserve-indentation t org-src-tab-acts-natively t @@ -121,7 +123,6 @@ ;; configure org exporters (require 'ox-md) - ;; org prettifiers (setq org-agenda-format-date (lambda (date) (concat "\n" (make-string (window-width) 9472) From 63a3f1abad0818e5730628f0cd041e6908b6e750 Mon Sep 17 00:00:00 2001 From: josiah Date: Wed, 1 Jun 2022 22:42:27 -0500 Subject: [PATCH 12/12] Move to os.execute for xset stuff. --- .config/awesome/rc.lua | 20 ++++---------------- 1 file changed, 4 insertions(+), 16 deletions(-) diff --git a/.config/awesome/rc.lua b/.config/awesome/rc.lua index 33f9809..278b3f6 100644 --- a/.config/awesome/rc.lua +++ b/.config/awesome/rc.lua @@ -605,22 +605,10 @@ client.connect_signal("focus", function(c) c.border_color = beautiful.border_foc client.connect_signal("unfocus", function(c) c.border_color = beautiful.border_normal end) -- }}} --- Autorun programs --- i'm not SURE that this actually works, but i'm going to say 'yes' until i do a hard reboot. -autorun = true -autorunApps = -{ - "xrandr --output HDMI-1 --mode 2560x1440 --pos 0x0 --rotate normal --primary --output DP-1 --mode 1920x1200 --left-of HDMI-1", - "xset s off", - "xset r rate 200", - "xset -dpms", - "xset s noblank", -} -if autorun then - for app = 1, #autorunApps do - awful.util.spawn(autorunApps[app]) - end -end +-- configure xset stuff: +os.execute("xset s off") +os.execute("xset -dpms") +os.execute("xset s noblank") tag.connect_signal("request::screen", function(t)