From 6791cb51a26af3d2c8dd149098a5f7c330f390ca Mon Sep 17 00:00:00 2001 From: Andrea Ciceri Date: Sat, 30 Apr 2022 14:07:16 +0200 Subject: [PATCH] Various - firewall rule for VNC for `pc` host - `go-translate` emacs package with custom bindings - `magit-delta` to improve diffs readability with `magit` through `delta` - `fira-code-mode` enabled only in `prog-mode` - `mpv` is spawned by `qutebrowser` without waiting for video being loaded --- emacs.d | 1 + flake.lock | 6 ++-- hosts/pc/configuration.nix | 9 +++++ pkgs/emacs/default.nix | 2 ++ profiles/sshd/default.nix | 3 ++ users/ccr/default.nix | 2 +- users/profiles/emacs/default.nix | 3 +- .../emacs/emacs.d/config/aesthetics.el | 7 ++-- .../emacs/emacs.d/config/config-magit.el | 3 ++ .../emacs/emacs.d/config/config-translate.el | 34 +++++++++++++++++++ users/profiles/emacs/emacs.d/init.el | 1 + users/profiles/qutebrowser/default.nix | 3 +- 12 files changed, 64 insertions(+), 10 deletions(-) create mode 120000 emacs.d create mode 100644 users/profiles/emacs/emacs.d/config/config-translate.el diff --git a/emacs.d b/emacs.d new file mode 120000 index 0000000..683a6b9 --- /dev/null +++ b/emacs.d @@ -0,0 +1 @@ +users/profiles/emacs/emacs.d \ No newline at end of file diff --git a/flake.lock b/flake.lock index 6ef3731..f9ab66c 100644 --- a/flake.lock +++ b/flake.lock @@ -274,11 +274,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1649849514, - "narHash": "sha256-zQyTr2UebTKUh1KLyLtevhHsM8umPK1LfQLGUGjRjiQ=", + "lastModified": 1650522846, + "narHash": "sha256-SxWHXRI3qJwswyXAtzsi6PKVY3KLNNnb072KaJthII8=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "1a0ccdbf4583ed0fce37eea7955e8ef90f840a9f", + "rev": "6b4ebea9093c997c5f275c820e679108de4871ab", "type": "github" }, "original": { diff --git a/hosts/pc/configuration.nix b/hosts/pc/configuration.nix index 55da011..8f760b2 100644 --- a/hosts/pc/configuration.nix +++ b/hosts/pc/configuration.nix @@ -51,6 +51,15 @@ }; }; + + networking.firewall = { + enable = true; + allowPing = true; + allowedTCPPorts = [ + 5900 # vnc + ]; + }; + # TODO: disable, only for playing services.hydra = { enable = true; diff --git a/pkgs/emacs/default.nix b/pkgs/emacs/default.nix index 12e5fdf..93229b6 100644 --- a/pkgs/emacs/default.nix +++ b/pkgs/emacs/default.nix @@ -18,6 +18,7 @@ emacsWithPackages ( evil-collection fira-code-mode good-scroll + go-translate haskell-mode helm helm-ag @@ -28,6 +29,7 @@ emacsWithPackages ( lsp-mode lsp-python-ms magit + magit-delta nix-mode notmuch org-download diff --git a/profiles/sshd/default.nix b/profiles/sshd/default.nix index d390457..ad4d9aa 100644 --- a/profiles/sshd/default.nix +++ b/profiles/sshd/default.nix @@ -2,5 +2,8 @@ services.openssh = { enable = true; permitRootLogin = "yes"; + forwardX11 = true; }; + + programs.ssh.setXAuthLocation = true; } diff --git a/users/ccr/default.nix b/users/ccr/default.nix index 8047723..8bd43f9 100644 --- a/users/ccr/default.nix +++ b/users/ccr/default.nix @@ -31,7 +31,7 @@ wineWowPackages.full vial deploy-rs.deploy-rs # to slow to cross compile for aarch64 - digikam # broken + digikam ] else [ ]) else [ ]); }; diff --git a/users/profiles/emacs/default.nix b/users/profiles/emacs/default.nix index ffacf55..b00b28e 100644 --- a/users/profiles/emacs/default.nix +++ b/users/profiles/emacs/default.nix @@ -35,7 +35,7 @@ }; in with pkgs; [ - silver-searcher + delta fd graphviz-nox hunspell @@ -47,6 +47,7 @@ poppler_utils python3Full rnix-lsp + silver-searcher stylish-haskell unzip ( diff --git a/users/profiles/emacs/emacs.d/config/aesthetics.el b/users/profiles/emacs/emacs.d/config/aesthetics.el index a3a6834..e47af2b 100644 --- a/users/profiles/emacs/emacs.d/config/aesthetics.el +++ b/users/profiles/emacs/emacs.d/config/aesthetics.el @@ -10,11 +10,10 @@ ) (use-package fira-code-mode + :after all-the-icons ;;:custom (fira-code-mode-disabled-ligatures '("x")) ;; List of ligatures to turn off - :config (progn - (global-fira-code-mode) - ;;TODO: why a timer is needed? It shouldn't - (run-at-time "30 sec" nil #'set-fontset-font t '(#Xe100 . #Xe16f) "Fira Code Symbol"))) + :config + :hook ((prog-mode . (lambda () (progn (fira-code-mode) (set-fontset-font t '(#Xe100 . #Xe16f) "Fira Code Symbol")))))) (use-package visual-fill-column :commands (visual-fill-column-mode) diff --git a/users/profiles/emacs/emacs.d/config/config-magit.el b/users/profiles/emacs/emacs.d/config/config-magit.el index 422071b..f20105a 100644 --- a/users/profiles/emacs/emacs.d/config/config-magit.el +++ b/users/profiles/emacs/emacs.d/config/config-magit.el @@ -2,6 +2,9 @@ :bind (("C-x g" . magit-status) ("C-x C-g" . magit-status))) +(use-package magit-delta + :hook (magit-mode . magit-delta-mode)) + (use-package transient :defer t :config diff --git a/users/profiles/emacs/emacs.d/config/config-translate.el b/users/profiles/emacs/emacs.d/config/config-translate.el new file mode 100644 index 0000000..c05f747 --- /dev/null +++ b/users/profiles/emacs/emacs.d/config/config-translate.el @@ -0,0 +1,34 @@ +(use-package go-translate + :config + (defclass gts-insert-render (gts-render) ()) + + (cl-defmethod gts-out ((_ gts-insert-render) task) + (deactivate-mark) + (insert (oref task result))) + + (setq gts-translate-list '(("it" "en"))) + (setq gts-default-translator + (gts-translator + :picker + (gts-prompt-picker) + :engines + (gts-google-engine :parser (gts-google-summary-parser)) + :render + (gts-insert-render) + )) + (defun gts-pop-definition () + (interactive) + (gts-translate (gts-translator + :picker + (gts-noprompt-picker :texter (gts-current-or-selection-texter) :single t) + :engines + (gts-google-engine) + :render + (gts-posframe-pop-render) + ))) + + :bind + (("C-c t t" . gts-do-translate) + ("C-c t p" . gts-pop-definition))) + +(provide 'config-translate) diff --git a/users/profiles/emacs/emacs.d/init.el b/users/profiles/emacs/emacs.d/init.el index 41119ea..1d57a13 100644 --- a/users/profiles/emacs/emacs.d/init.el +++ b/users/profiles/emacs/emacs.d/init.el @@ -27,5 +27,6 @@ Return nil if COMMAND is not found anywhere in `exec-path'." (require 'config-nix) (require 'config-purescript) (require 'config-scad) +(require 'config-translate) (server-start) diff --git a/users/profiles/qutebrowser/default.nix b/users/profiles/qutebrowser/default.nix index a9b1054..ae2cb55 100644 --- a/users/profiles/qutebrowser/default.nix +++ b/users/profiles/qutebrowser/default.nix @@ -8,10 +8,11 @@ no = "https://search.nixos.org/options?sort=relevance&type=options&query={}"; g = "https://google.com/search?q={}"; git = "https://github.com/search?q={}"; + y = "https://www.youtube.com/results?search_query={}"; }; keyBindings = { normal = { - "" = "spawn mpv {url}"; + "" = "spawn mpv --force-window=immediate {url}"; ",l" = ''config-cycle spellcheck.languages [" it-IT "] [" en-US "]''; "" = "spawn --userscript qute-pass --dmenu-invocation 'fuzzel -d'"; "" = "spawn --userscript qute-pass --dmenu-invocation 'fuzzel -d' --username-only";