citadel

My dotfiles, scripts and nix configs
git clone git://jb55.com/citadel
Log | Files | Refs | README | LICENSE

commit 0019a0960ed95d36fed8c9edd69ac69798dd96d6
parent f759702fffcf26defa90b985a720f17b6f3e0aac
Author: William Casarin <jb55@jb55.com>
Date:   Wed,  7 Oct 2020 10:46:59 -0700

updates

Diffstat:
Mbin/lessr | 2+-
Mbin/ud | 13+++++++++++--
Mdotfiles/.Xresources | 2+-
Mdotfiles/.bash_aliases | 6+++++-
Mdotfiles/.spacemacs | 17++++++++++-------
Mdotfiles/custom.el | 22+++++++++++-----------
Mnix-config/environment/desktop/default.nix | 2+-
Mnix-config/machines/monad/networking/default.nix | 28++++++++++++++++++++++++----
8 files changed, 64 insertions(+), 28 deletions(-)

diff --git a/bin/lessr b/bin/lessr @@ -6,4 +6,4 @@ base=$(basename "$1") export LESSHISTFILE="$dir/.$base.hst" # export LESS="-cix8JRM --save-marks" -exec less --save-marks "$@" +exec less -J --save-marks "$@" diff --git a/bin/ud b/bin/ud @@ -6,6 +6,13 @@ usage () { exit 1 } +PLAIN=0 + +if [ "$1" = -plain ]; then + PLAIN=1 + shift +fi + if [ -z "$1" ]; then usage exit 1 @@ -14,8 +21,10 @@ fi term="$1" n=${2:-1} -BOLD='\u001b[1m' -RESET='\u001b[0m' +if [ $PLAIN -eq 0 ]; then + BOLD='\u001b[1m' + RESET='\u001b[0m' +fi if [[ $n -gt 1 ]]; then format='---------------------------\n' diff --git a/dotfiles/.Xresources b/dotfiles/.Xresources @@ -30,7 +30,7 @@ URxvt.resize-font.bigger: M-k !URxvt*font: xft:Source Code Pro:size=13:antialias=true;hinting=true,\ ! xft:Kochi Gothic:antialias=true,hinting=true !URxvt*font: xft:PT Mono:size=11 -URxvt*font: xft:Inconsolata:size=16:hinting=true +URxvt*font: xft:Inconsolata:size=14:hinting=true !urxvt.font: xft:terminus:antialias=false:pixelsize=16 !xft:Inconsolata:size=18:antialias=true;hinting=true diff --git a/dotfiles/.bash_aliases b/dotfiles/.bash_aliases @@ -4,8 +4,12 @@ # sharefile export PAGER="less" -export LESS="-cix8JRM --save-marks" +export LESS="-cix8RM --save-marks" + +# mesa export RADV_PERFTEST=aco +export AMD_DEBUG=nodma + export BAT_STYLE=plain export BAT_THEME=base16 export LPASS_HOME="$HOME/.config/lpass" diff --git a/dotfiles/.spacemacs b/dotfiles/.spacemacs @@ -40,7 +40,8 @@ markdown nixos notmuch - (org :variables org-want-todo-bindings t) + (org :variables org-want-todo-bindings t + org-enable-trello-support t) purescript python racket @@ -61,7 +62,7 @@ '( company-irony base16-theme bison-mode - direnv + envrc editor-config emojify forge @@ -393,11 +394,13 @@ Put your configuration code here, except for variables that should be set before packages are loaded." (setq jb55/org-path "~/docs/org") - (use-package direnv - ;; Ensures that external dependencies are available before they are called. - :config - (add-to-list 'direnv-non-file-modes 'vterm-mode) - (direnv-mode 1)) + (envrc-global-mode) + + ;;(use-package direnv + ;; ;; Ensures that external dependencies are available before they are called. + ;; :config + ;; (add-to-list 'direnv-non-file-modes 'vterm-mode) + ;; (direnv-mode 1)) ;; fix really annoying clipboard race issue (fset 'evil-visual-update-x-selection 'ignore) diff --git a/dotfiles/custom.el b/dotfiles/custom.el @@ -5,11 +5,11 @@ ;; If there is more than one, they won't work right. '(Linum-format "%7i ") '(ac-ispell-requires 4 t) - '(ahs-case-fold-search nil) - '(ahs-default-range 'ahs-range-whole-buffer) - '(ahs-idle-interval 0.25) + '(ahs-case-fold-search nil t) + '(ahs-default-range 'ahs-range-whole-buffer t) + '(ahs-idle-interval 0.25 t) '(ahs-idle-timer 0 t) - '(ahs-inhibit-face-list nil) + '(ahs-inhibit-face-list nil t) '(ansi-color-faces-vector [default bold shadow italic underline bold bold-italic bold]) '(ansi-color-names-vector @@ -52,7 +52,7 @@ '(flycheck-ghc-args '("-isrc")) '(flycheck-hlint-ignore-rules '("Eta reduce")) '(flycheck-pos-tip-timeout 2) - '(flycheck-standard-error-navigation t) + '(flycheck-standard-error-navigation t t) '(fringe-mode '(1 . 1) nil (fringe)) '(global-hl-line-mode t) '(gnus-select-method '(nntp "nntp.lore.kernel.org")) @@ -76,7 +76,7 @@ '(haskell-process-type 'ghci) '(haskell-stylish-on-save nil t) '(haskell-tags-on-save nil) - '(helm-echo-input-in-header-line nil) + '(helm-echo-input-in-header-line nil t) '(helm-ff-skip-boring-files t) '(highlight-changes-colors '("#d33682" "#6c71c4")) '(highlight-symbol-colors @@ -132,7 +132,7 @@ '(magit-log-margin '(nil age magit-log-margin-width nil 18)) '(magit-refresh-status-buffer nil) '(magit-revision-insert-related-refs nil) - '(magit-revision-show-gravatars nil) + '(magit-revision-show-gravatars nil t) '(magit-revision-use-hash-sections 'quickest) '(mail-envelope-from 'header) '(mail-specify-envelope-from nil) @@ -268,7 +268,7 @@ ((:foreground "gold") (:foreground "gold")))) (notmuch-apply-face tag - '(:foreground "gold")))))) + '(:foreground "gold"))))) '(notmuch-wash-wrap-lines-length 100) '(olivetti-body-width 100 t) '(org-adapt-indentation nil) @@ -282,7 +282,7 @@ "" (800 1000 1200 1400 1600 1800 2000))) '(org-archive-location "archive/%s_archive::") - '(org-directory "~/docs/org") + '(org-directory "~/docs/org" t) '(org-duration-format '((special . h:mm))) '(org-export-headline-levels 2) '(org-export-with-section-numbers nil) @@ -296,7 +296,7 @@ '(org-refile-targets '((org-agenda-files :maxlevel . 1))) '(org-use-sub-superscripts '{}) '(package-selected-packages - '(org-kanban lsp-pyright tracking treemacs-projectile spaceline rjsx-mode prettier-js gntp org-cliplink meson-mode lsp-haskell hierarchy json-snatcher json-reformat js2-mode window-purpose imenu-list epc ctable concurrent prop-menu htmlize parent-mode haml-mode project eldoc xref emacsql-sqlite flx evil-textobj-line evil-ledger evil-ediff elm-test-runner lcr csharp-mode counsel swiper ivy deferred web-completion-data rtags company-quickhelp pos-tip nixos-options lua-mode irony go-mode anaconda-mode pythonic company lsp-mode spinner ht dash-functional markdown-mode rust-mode blacken yasnippet packed auctex flycheck f s pkg-info epl avy auto-complete popup org-plus-contrib hydra lv evil bind-map bind-key notmuch neuron-mode projectile haskell-mode reformatter helm helm-core iedit paredit goto-chg undo-tree anzu smartparens magit git-commit async with-editor transient ghub treepy emacsql multiple-cursors skewer-mode simple-httpd treemacs magit-popup sml-mode alert log4e org-category-capture purescript-mode test-simple loc-changes load-relative powerline all-the-icons memoize pfuture visual-fill-column treemacs-persp treemacs-icons-dired ron-mode org-superstar magit-section dash lsp-ivy flycheck-elsa emr list-utils graphql-mode swift-mode company-tabnine unicode-escape names lsp-ui lsp-treemacs lsp-python-ms cquery company-lsp ccls github-search github-clone git-gutter-fringe+ git-gutter-fringe fringe-helper gist gh marshal logito confluence git-gutter+ git-gutter pcache diff-hl xml-rpc browse-at-remote direnv writeroom-mode treemacs-evil typescript-mode symbol-overlay realgud olivetti eglot flymake jsonrpc forge closql flycheck-package package-lint let-alist auctex-latexmk github-review treemacs-magit nodejs-repl flycheck-ycmd devdocs cpp-auto-include company-ycmd ycmd request-deferred company-reftex attrap hybrid-mode elpher protobuf-mode ini-mode vi-tilde-fringe org-bullets helm-xref helm-themes helm-swoop helm-purpose helm-projectile helm-mode-manager helm-flx helm-descbinds helm-ag ace-jump-helm-line yasnippet-snippets yapfify yaml-mode ws-butler winum which-key wgrep weechat web-mode web-beautify w3m volatile-highlights uuidgen use-package twittering-mode toml-mode toc-org tide tagedit symon string-inflection sql-indent spotify spaceline-all-the-icons smex smeargle slim-mode shen-mode shen-elisp scss-mode sass-mode restart-emacs request rainbow-delimiters racket-mode racer pyvenv pytest pyenv-mode py-isort pug-mode psci psc-ide powershell popwin pippel pipenv pip-requirements persp-mode pcre2el password-generator paradox overseer orgit org-projectile org-present org-pomodoro org-mime org-download org-clock-csv org-brain open-junk-file omnisharp ob-sml nix-mode neotree nameless mvn move-text mmm-mode meghanada maven-test-mode mastodon markdown-toc magit-svn magit-gitflow macrostep lorem-ipsum livid-mode live-py-mode link-hint ledger-mode json-navigator json-mode js2-refactor js-doc jade-mode ivy-yasnippet ivy-xref ivy-rtags ivy-purpose ivy-hydra intero insert-shebang indent-guide importmagic impatient-mode idris-mode hungry-delete hlint-refactor hl-todo hindent highlight-parentheses highlight-numbers highlight-indentation helm-pages helm-make haskell-snippets groovy-mode groovy-imports graphviz-dot-mode gradle-mode google-translate google-c-style golden-ratio godoctor go-tag go-rename go-impl go-guru go-gen-test go-fill-struct go-eldoc gnuplot gnu-apl-mode glsl-mode gitignore-templates gitignore-mode gitconfig-mode gitattributes-mode git-timemachine git-messenger git-link gh-md ggtags fuzzy fsharp-mode font-lock+ flycheck-rust flycheck-rtags flycheck-pos-tip flycheck-ledger flycheck-haskell flycheck-elm flycheck-bashate flx-ido fish-mode fill-column-indicator fancy-battery eyebrowse expand-region evil-visualstar evil-visual-mark-mode evil-unimpaired evil-tutor evil-surround evil-org evil-numbers evil-nerd-commenter evil-mc evil-matchit evil-magit evil-lisp-state evil-lion evil-indent-plus evil-iedit-state evil-goggles evil-exchange evil-escape evil-cleverparens evil-args evil-anzu eval-sexp-fu ereader ensime emojify emoji-cheat-sheet-plus emmet-mode elm-mode elisp-slime-nav editorconfig dumb-jump dotenv-mode disaster diminish define-word dante cython-mode csv-mode counsel-projectile counsel-notmuch counsel-gtags counsel-css company-web company-tern company-statistics company-shell company-rtags company-nixos-options company-lua company-irony company-go company-ghci company-ghc company-emoji company-emacs-eclim company-cabal company-c-headers company-auctex company-anaconda column-enforce-mode cmm-mode clean-aindent-mode clang-format centered-cursor-mode cargo bison-mode base16-theme auto-yasnippet auto-highlight-symbol auto-compile aggressive-indent ace-window ace-link ac-ispell)) + '(envrc org-kanban lsp-pyright tracking treemacs-projectile spaceline rjsx-mode prettier-js gntp org-cliplink meson-mode lsp-haskell hierarchy json-snatcher json-reformat js2-mode window-purpose imenu-list epc ctable concurrent prop-menu htmlize parent-mode haml-mode project eldoc xref emacsql-sqlite flx evil-textobj-line evil-ledger evil-ediff elm-test-runner lcr csharp-mode counsel swiper ivy deferred web-completion-data rtags company-quickhelp pos-tip nixos-options lua-mode irony go-mode anaconda-mode pythonic company lsp-mode spinner ht dash-functional markdown-mode rust-mode blacken yasnippet packed auctex flycheck f s pkg-info epl avy auto-complete popup org-plus-contrib hydra lv evil bind-map bind-key notmuch neuron-mode projectile haskell-mode reformatter helm helm-core iedit paredit goto-chg undo-tree anzu smartparens magit git-commit async with-editor transient ghub treepy emacsql multiple-cursors skewer-mode simple-httpd treemacs magit-popup sml-mode alert log4e org-category-capture purescript-mode test-simple loc-changes load-relative powerline all-the-icons memoize pfuture visual-fill-column treemacs-persp treemacs-icons-dired ron-mode org-superstar magit-section dash lsp-ivy flycheck-elsa emr list-utils graphql-mode swift-mode company-tabnine unicode-escape names lsp-ui lsp-treemacs lsp-python-ms cquery company-lsp ccls github-search github-clone git-gutter-fringe+ git-gutter-fringe fringe-helper gist gh marshal logito confluence git-gutter+ git-gutter pcache diff-hl xml-rpc browse-at-remote direnv writeroom-mode treemacs-evil typescript-mode symbol-overlay realgud olivetti eglot flymake jsonrpc forge closql flycheck-package package-lint let-alist auctex-latexmk github-review treemacs-magit nodejs-repl flycheck-ycmd devdocs cpp-auto-include company-ycmd ycmd request-deferred company-reftex attrap hybrid-mode elpher protobuf-mode ini-mode vi-tilde-fringe org-bullets helm-xref helm-themes helm-swoop helm-purpose helm-projectile helm-mode-manager helm-flx helm-descbinds helm-ag ace-jump-helm-line yasnippet-snippets yapfify yaml-mode ws-butler winum which-key wgrep weechat web-mode web-beautify w3m volatile-highlights uuidgen use-package twittering-mode toml-mode toc-org tide tagedit symon string-inflection sql-indent spotify spaceline-all-the-icons smex smeargle slim-mode shen-mode shen-elisp scss-mode sass-mode restart-emacs request rainbow-delimiters racket-mode racer pyvenv pytest pyenv-mode py-isort pug-mode psci psc-ide powershell popwin pippel pipenv pip-requirements persp-mode pcre2el password-generator paradox overseer orgit org-projectile org-present org-pomodoro org-mime org-download org-clock-csv org-brain open-junk-file omnisharp ob-sml nix-mode neotree nameless mvn move-text mmm-mode meghanada maven-test-mode mastodon markdown-toc magit-svn magit-gitflow macrostep lorem-ipsum livid-mode live-py-mode link-hint ledger-mode json-navigator json-mode js2-refactor js-doc jade-mode ivy-yasnippet ivy-xref ivy-rtags ivy-purpose ivy-hydra intero insert-shebang indent-guide importmagic impatient-mode idris-mode hungry-delete hlint-refactor hl-todo hindent highlight-parentheses highlight-numbers highlight-indentation helm-pages helm-make haskell-snippets groovy-mode groovy-imports graphviz-dot-mode gradle-mode google-translate google-c-style golden-ratio godoctor go-tag go-rename go-impl go-guru go-gen-test go-fill-struct go-eldoc gnuplot gnu-apl-mode glsl-mode gitignore-templates gitignore-mode gitconfig-mode gitattributes-mode git-timemachine git-messenger git-link gh-md ggtags fuzzy fsharp-mode font-lock+ flycheck-rust flycheck-rtags flycheck-pos-tip flycheck-ledger flycheck-haskell flycheck-elm flycheck-bashate flx-ido fish-mode fill-column-indicator fancy-battery eyebrowse expand-region evil-visualstar evil-visual-mark-mode evil-unimpaired evil-tutor evil-surround evil-org evil-numbers evil-nerd-commenter evil-mc evil-matchit evil-magit evil-lisp-state evil-lion evil-indent-plus evil-iedit-state evil-goggles evil-exchange evil-escape evil-cleverparens evil-args evil-anzu eval-sexp-fu ereader ensime emojify emoji-cheat-sheet-plus emmet-mode elm-mode elisp-slime-nav editorconfig dumb-jump dotenv-mode disaster diminish define-word dante cython-mode csv-mode counsel-projectile counsel-notmuch counsel-gtags counsel-css company-web company-tern company-statistics company-shell company-rtags company-nixos-options company-lua company-irony company-go company-ghci company-ghc company-emoji company-emacs-eclim company-cabal company-c-headers company-auctex company-anaconda column-enforce-mode cmm-mode clean-aindent-mode clang-format centered-cursor-mode cargo bison-mode base16-theme auto-yasnippet auto-highlight-symbol auto-compile aggressive-indent ace-window ace-link ac-ispell)) '(pdf-view-midnight-colors '("#655370" . "#fbf8ef")) '(powerline-color1 "#1E1E1E") '(powerline-color2 "#111111") @@ -340,7 +340,7 @@ '("monstercat.#general" "monstercat.#payments" "monstercat.#code")) '(weechat-auto-monitor-new-buffers t) '(weechat-modules '(weechat-button weechat-image weechat-complete)) - '(yas-snippet-dirs '("/home/jb55/.emacs.d/private/snippets/"))) + '(yas-snippet-dirs '("/home/jb55/.emacs.d/private/snippets/") t)) (custom-set-faces ;; custom-set-faces was added by Custom. ;; If you edit it by hand, you could mess it up, so be careful. diff --git a/nix-config/environment/desktop/default.nix b/nix-config/environment/desktop/default.nix @@ -45,7 +45,7 @@ let gtk2rc = pkgs.writeText "gtk2rc" '' slock spotify sxiv - texlive.combined.scheme-basic + texlive.combined.scheme-full userConfig vlc w3m diff --git a/nix-config/machines/monad/networking/default.nix b/nix-config/machines/monad/networking/default.nix @@ -25,10 +25,10 @@ let firewallRules = [ "nixos-fw -s 10.100.0.1/24,45.79.91.128,192.168.86.0/24 -p udp --dport ${toString ports.notify-port} -j nixos-fw-accept" - "nixos-fw -s 192.168.122.0/24 -p udp --dport 137 -j nixos-fw-accept" - "nixos-fw -s 192.168.122.0/24 -p udp --dport 138 -j nixos-fw-accept" - "nixos-fw -s 192.168.122.0/24 -p tcp --dport 139 -j nixos-fw-accept" - "nixos-fw -s 192.168.122.0/24 -p tcp --dport 445 -j nixos-fw-accept" + "nixos-fw -s 192.168.122.218 -p udp --dport 137 -j nixos-fw-accept" + "nixos-fw -s 192.168.122.218 -p udp --dport 138 -j nixos-fw-accept" + "nixos-fw -s 192.168.122.218 -p tcp --dport 139 -j nixos-fw-accept" + "nixos-fw -s 192.168.122.218 -p tcp --dport 445 -j nixos-fw-accept" ]; addRule = rule: "iptables -A ${rule}"; @@ -80,6 +80,26 @@ in } ]; }; + + rcx0 = { + # Determines the IP address and subnet of the server's end of the tunnel interface. + ips = [ "10.200.0.2/32" ]; + + privateKeyFile = "/home/jb55/.wg/rcx/private"; + + peers = [ + { publicKey = "wC+mEE9/PJDuIfr7DFZWnM8HbQz5fSOFHmmzQRxULzM="; # server + allowedIPs = [ "10.200.0.1/32" ]; + endpoint = "159.89.143.225:53"; + persistentKeepalive = 25; + } + { publicKey = "vrKDdLPXAXAPP7XuuQl/dsD+z3dV/Z0uhgc+yjJ4Nys="; # winvm + allowedIPs = [ "10.200.0.3/32" ]; + endpoint = "192.168.122.218:51820"; + persistentKeepalive = 25; + } + ]; + }; };