diff --git a/.bashrc b/.bashrc index 243e893..d8f6822 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,12 +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'" +# nixos aliases that don't matter elsewhere: +alias open=kde-open5 +alias e='emacsclient' -# 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" +# 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 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' diff --git a/.config/awesome/rc.lua b/.config/awesome/rc.lua index 82c9b7e..278b3f6 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") @@ -608,18 +605,26 @@ 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 -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) + 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) 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 diff --git a/.emacs.d/custom.el b/.emacs.d/custom.el index e94135e..5b46448 100644 --- a/.emacs.d/custom.el +++ b/.emacs.d/custom.el @@ -12,9 +12,9 @@ '(epg-gpg-program "/usr/local/bin/gpg") '(global-hl-line-mode t) '(org-agenda-files - '("/Users/josiah.ledbetter/dhd/org/brag.org" "/Users/josiah.ledbetter/dhd/org/career-at-unity.org" "/Users/josiah.ledbetter/dhd/org/ctf.org" "/Users/josiah.ledbetter/dhd/org/fromworkcal.org" "/Users/josiah.ledbetter/dhd/org/jlj-template.org" "/Users/josiah.ledbetter/dhd/org/personal.org" "/Users/josiah.ledbetter/dhd/org/presentation.org" "/Users/josiah.ledbetter/dhd/org/refile-beorg.org" "/Users/josiah.ledbetter/dhd/org/work.org")) + '("/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 - '(project 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) 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) 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;