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 diff --git a/hmModules/emacs/init.el b/hmModules/emacs/init.el index 450ebb5..f33aa1d 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)) @@ -508,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) 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"; + }; + }; } 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