From 23e3c53693ef6588cf475b47db9168bea5b64a8b Mon Sep 17 00:00:00 2001 From: Andrea Ciceri Date: Mon, 30 Dec 2024 17:04:50 +0100 Subject: [PATCH 1/4] Add `copilot-node-server` to global shell --- hmModules/emacs/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/hmModules/emacs/default.nix b/hmModules/emacs/default.nix index 5eba7b8..b1d061c 100644 --- a/hmModules/emacs/default.nix +++ b/hmModules/emacs/default.nix @@ -46,6 +46,7 @@ in nodejs_20 qadwaitadecorations kdePackages.qtwayland + copilot-node-server ] ++ (with hunspellDicts; [ en_US-large From 49c94bcd62eea2340bf03c4f7f90bc5fcb5240ca Mon Sep 17 00:00:00 2001 From: Andrea Ciceri Date: Mon, 30 Dec 2024 17:05:03 +0100 Subject: [PATCH 2/4] Re-install `copilot` on emacs --- hmModules/emacs/init.el | 7 +++++++ packages/emacs/packages.nix | 16 ++++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/hmModules/emacs/init.el b/hmModules/emacs/init.el index 450ebb5..42bd91b 100644 --- a/hmModules/emacs/init.el +++ b/hmModules/emacs/init.el @@ -171,6 +171,13 @@ (indent-bars-prefer-character 't) ;; so it works also in terminal ) +(use-package copilot + :custom + (copilot-max-char -1) + (copilot-indent-offset-warning-disable 't) + :hook (prog-mode org-mode) + :bind (("C-" . copilot-accept-completion))) + (use-package diredfl :config (diredfl-global-mode)) diff --git a/packages/emacs/packages.nix b/packages/emacs/packages.nix index d326f62..9abb207 100644 --- a/packages/emacs/packages.nix +++ b/packages/emacs/packages.nix @@ -44,6 +44,22 @@ let }; deps = [ elpaPackages.heap ]; }; + copilot = buildEmacsPackage { + name = "copilot"; + src = pkgs.fetchFromGitHub { + owner = "copilot-emacs"; + repo = "copilot.el"; + rev = "b7bff7b934837744688fd74191ecffb83b3bcc05"; + hash = "sha256-MEsjXQIeiTI6NXN5rTW7HfFPC18IZnhAssma2BZa0ks="; + }; + deps = with epkgs; [ + s + dash + editorconfig + jsonrpc + f + ]; + }; }; # *List* containing emacs packages from (M)ELPA From 16bcd5e813c46fd959990ca07c95a4aa69c6272c Mon Sep 17 00:00:00 2001 From: Andrea Ciceri Date: Mon, 30 Dec 2024 17:05:58 +0100 Subject: [PATCH 3/4] Enable `solidity-mode` on Emacs --- hmModules/emacs/init.el | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/hmModules/emacs/init.el b/hmModules/emacs/init.el index 42bd91b..f33aa1d 100644 --- a/hmModules/emacs/init.el +++ b/hmModules/emacs/init.el @@ -515,6 +515,15 @@ (eglot-ensure)))) :mode "\\.py\\'") +(use-package solidity-mode + :hook ((solidity-mode . (lambda () + (require 'eglot) + (add-to-list 'eglot-server-programs + '(solidity-mode . ("nomicfoundation-solidity-language-server" "--stdio"))) + (eglot-ensure)))) + :mode "\\.sol\\'") + + (use-package typescript-ts-mode :hook ((typescript-ts-mode . (lambda () (require 'eglot) From 6b795f755791495152512758db476e75057eb05e Mon Sep 17 00:00:00 2001 From: Andrea Ciceri Date: Mon, 30 Dec 2024 17:06:17 +0100 Subject: [PATCH 4/4] Enable `jellyfin` on `sisko` --- hosts/sisko/default.nix | 1 + modules/cloudflare-dyndns/default.nix | 3 +-- modules/jellyfin/default.nix | 14 ++++++++++++++ 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/hosts/sisko/default.nix b/hosts/sisko/default.nix index b67b313..e5d6e87 100644 --- a/hosts/sisko/default.nix +++ b/hosts/sisko/default.nix @@ -31,6 +31,7 @@ "paperless" "syncthing" "atticd" + "jellyfin" ] ++ [ ./disko.nix diff --git a/modules/cloudflare-dyndns/default.nix b/modules/cloudflare-dyndns/default.nix index e86c6b6..9aaab39 100644 --- a/modules/cloudflare-dyndns/default.nix +++ b/modules/cloudflare-dyndns/default.nix @@ -14,8 +14,7 @@ "vpn.aciceri.dev" "photos.aciceri.dev" "status.aciceri.dev" - "paper.aciceri.dev" - "cloud.aciceri.dev" + "jelly.aciceri.dev" ]; apiTokenFile = config.age.secrets.cloudflare-dyndns-api-token.path; }; diff --git a/modules/jellyfin/default.nix b/modules/jellyfin/default.nix index 33e1cd1..51e066a 100644 --- a/modules/jellyfin/default.nix +++ b/modules/jellyfin/default.nix @@ -1,7 +1,21 @@ +{ config, ... }: { services.jellyfin = { enable = true; + openFirewall = true; }; users.users.jellyfin.extraGroups = [ "transmission" ]; + + environment.persistence."/persist".directories = [ + config.services.jellyfin.dataDir + ]; + + services.nginx.virtualHosts = { + "jelly.aciceri.dev" = { + enableACME = true; + forceSSL = true; + locations."/".proxyPass = "http://127.0.0.1:8096"; + }; + }; }