diff --git a/.gitmodules b/.gitmodules index e69de29..fbfd3f9 100644 --- a/.gitmodules +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "home-manager/modules/programs/emacs/emacs.d/lib/copilot"] + path = home-manager/modules/programs/emacs/emacs.d/lib/copilot + url = https://github.com/zerolfx/copilot.el.git diff --git a/home-manager/modules/default.nix b/home-manager/modules/default.nix index 7dc030c..f83e9e1 100644 --- a/home-manager/modules/default.nix +++ b/home-manager/modules/default.nix @@ -9,6 +9,7 @@ ./programs/email ./programs/evince ./programs/git + ./programs/hunspell ./programs/keeweb ./programs/mpv ./programs/open-port diff --git a/home-manager/modules/programs/emacs/default.nix b/home-manager/modules/programs/emacs/default.nix index c822ef6..bfe0712 100644 --- a/home-manager/modules/programs/emacs/default.nix +++ b/home-manager/modules/programs/emacs/default.nix @@ -11,6 +11,7 @@ in home.packages = with pkgs; [ fd multimarkdown + nodejs_20 # required for copilot unstable.nixd # Nix language server pandoc ripgrep diff --git a/home-manager/modules/programs/emacs/emacs.d/lib/az_copilot.el b/home-manager/modules/programs/emacs/emacs.d/lib/az_copilot.el new file mode 100644 index 0000000..3f27679 --- /dev/null +++ b/home-manager/modules/programs/emacs/emacs.d/lib/az_copilot.el @@ -0,0 +1,17 @@ +(use-package dash + :defer t) + +(use-package editorconfig + :defer t) + +(use-package s + :defer t) + +(use-package copilot + :load-path "~/.nixos/home-manager/modules/programs/emacs/emacs.d/lib/copilot" + :config + (add-hook 'prog-mode-hook 'copilot-mode) + (add-hook 'yaml-mode-hook 'copilot-mode) + (add-to-list 'copilot-disable-display-predicates #'company--active-p) + (define-key copilot-completion-map (kbd "") 'copilot-accept-completion) + (define-key copilot-completion-map (kbd "TAB") 'copilot-accept-completion)) diff --git a/home-manager/modules/programs/emacs/emacs.d/lib/copilot b/home-manager/modules/programs/emacs/emacs.d/lib/copilot new file mode 160000 index 0000000..ba1d601 --- /dev/null +++ b/home-manager/modules/programs/emacs/emacs.d/lib/copilot @@ -0,0 +1 @@ +Subproject commit ba1d6018fdc2d735fecab1b2dcd4b5ea121b05ac diff --git a/home-manager/modules/programs/emacs/emacs.d/modules.el b/home-manager/modules/programs/emacs/emacs.d/modules.el index 672f581..3db8887 100644 --- a/home-manager/modules/programs/emacs/emacs.d/modules.el +++ b/home-manager/modules/programs/emacs/emacs.d/modules.el @@ -31,6 +31,7 @@ ;; programming (load-file (modules-path "az_annotate.el")) (load-file (modules-path "az_company.el")) +(load-file (modules-path "az_copilot.el")) (load-file (modules-path "az_direnv.el")) (load-file (modules-path "az_format_all.el")) (load-file (modules-path "az_flycheck.el")) diff --git a/modules/programs/hunspell/default.nix b/home-manager/modules/programs/hunspell/default.nix similarity index 86% rename from modules/programs/hunspell/default.nix rename to home-manager/modules/programs/hunspell/default.nix index 2426553..ee6fcf1 100644 --- a/modules/programs/hunspell/default.nix +++ b/home-manager/modules/programs/hunspell/default.nix @@ -8,7 +8,7 @@ in }; config = lib.mkIf cfg.enable { - environment.systemPackages = with pkgs; [ + home.packages = with pkgs; [ hunspell hunspellDicts.en_GB-ise hunspellDicts.de_CH diff --git a/home-manager/modules/services/desktop-base/default.nix b/home-manager/modules/services/desktop-base/default.nix index b99daf7..b402372 100644 --- a/home-manager/modules/services/desktop-base/default.nix +++ b/home-manager/modules/services/desktop-base/default.nix @@ -14,6 +14,7 @@ in az-emacs.enable = true; az-email.enable = true; az-evince.enable = true; + az-hunspell.enable = true; az-keeweb.enable = true; az-mpv.enable = true; az-open-port.enable = true; diff --git a/home-manager/profiles/management.nix b/home-manager/profiles/management.nix index 36fe778..52977ee 100644 --- a/home-manager/profiles/management.nix +++ b/home-manager/profiles/management.nix @@ -13,6 +13,7 @@ programs = { az-emacs.enable = true; + az-hunspell.enable = true; az-open-port.enable = true; az-ssh.enable = true; az-tmux.enable = true; diff --git a/home-manager/profiles/work-wsl.nix b/home-manager/profiles/work-wsl.nix index 0d22372..38e1a56 100644 --- a/home-manager/profiles/work-wsl.nix +++ b/home-manager/profiles/work-wsl.nix @@ -49,6 +49,7 @@ az-git = { userEmail = "zweili@contria.com"; }; + az-hunspell.enable = true; az-tmux.enable = true; az-vagrant-wsl.enable = true; bash = { diff --git a/modules/default.nix b/modules/default.nix index 8dc8f50..82ed62e 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -10,7 +10,6 @@ ./profiles/desktop ./programs/distrobox ./programs/eog - ./programs/hunspell ./programs/libimobiledevice ./programs/lockscreen ./programs/makemkv diff --git a/modules/profiles/desktop/default.nix b/modules/profiles/desktop/default.nix index a2e913b..063a8b1 100644 --- a/modules/profiles/desktop/default.nix +++ b/modules/profiles/desktop/default.nix @@ -73,7 +73,6 @@ in programs = { az-eog.enable = true; # Gnome Image Viewer - az-hunspell.enable = true; # Enable dictionaries az-idevices.enable = true; az-nautilus.enable = true; az-nix-direnv.enable = true; diff --git a/systems/management/default.nix b/systems/management/default.nix index 860fd8a..8e05655 100644 --- a/systems/management/default.nix +++ b/systems/management/default.nix @@ -21,7 +21,6 @@ }; # Enable dictionaries programs = { - az-hunspell.enable = true; az-nix-direnv.enable = true; az-restic-management.enable = true; };