Added emacs eaf to my flake!

This commit is contained in:
Emmet 2023-05-19 20:25:57 -05:00
parent ae90cd0d8a
commit 8b3fb0123c
8 changed files with 106 additions and 10 deletions

View file

@ -54,6 +54,38 @@
"type": "github" "type": "github"
} }
}, },
"eaf": {
"flake": false,
"locked": {
"lastModified": 1684236422,
"narHash": "sha256-csmx8X/06rzFXcsUrH79Ha1V7SmdztiMEzQ75DW0CYo=",
"owner": "emacs-eaf",
"repo": "emacs-application-framework",
"rev": "6a9fa4cc6ce2878b9585f5a5a34f6b0b9693fe6f",
"type": "github"
},
"original": {
"owner": "emacs-eaf",
"repo": "emacs-application-framework",
"type": "github"
}
},
"eaf-browser": {
"flake": false,
"locked": {
"lastModified": 1683381393,
"narHash": "sha256-eZnSFyhN6/C/jV1+oaKOu3hunetJPNPFhzsnEkz7pYA=",
"owner": "emacs-eaf",
"repo": "eaf-browser",
"rev": "0edb767209255732099cd38967e2fb0f0eefd314",
"type": "github"
},
"original": {
"owner": "emacs-eaf",
"repo": "eaf-browser",
"type": "github"
}
},
"emacs-overlay": { "emacs-overlay": {
"flake": false, "flake": false,
"locked": { "locked": {
@ -495,6 +527,8 @@
}, },
"root": { "root": {
"inputs": { "inputs": {
"eaf": "eaf",
"eaf-browser": "eaf-browser",
"home-manager": "home-manager", "home-manager": "home-manager",
"nix-doom-emacs": "nix-doom-emacs", "nix-doom-emacs": "nix-doom-emacs",
"nixpkgs": "nixpkgs_2", "nixpkgs": "nixpkgs_2",

View file

@ -7,9 +7,17 @@
home-manager.inputs.nixpkgs.follows = "nixpkgs"; home-manager.inputs.nixpkgs.follows = "nixpkgs";
nix-doom-emacs.url = "github:nix-community/nix-doom-emacs"; nix-doom-emacs.url = "github:nix-community/nix-doom-emacs";
stylix.url = "github:danth/stylix"; stylix.url = "github:danth/stylix";
eaf = {
url = "github:emacs-eaf/emacs-application-framework";
flake = false;
};
eaf-browser = {
url = "github:emacs-eaf/eaf-browser";
flake = false;
};
}; };
outputs = { self, nixpkgs, home-manager, nix-doom-emacs, stylix, ... }: outputs = { self, nixpkgs, home-manager, nix-doom-emacs, stylix, eaf, eaf-browser, ... }@inputs:
let let
system = "x86_64-linux"; system = "x86_64-linux";
name = "emmet"; name = "emmet";
@ -41,6 +49,8 @@
myNixConfigurationFilePath = dotfilesDir+"/system/configuration.nix"; myNixConfigurationFilePath = dotfilesDir+"/system/configuration.nix";
myHomeManagerFilePath = dotfilesDir+"/user/home.nix"; myHomeManagerFilePath = dotfilesDir+"/user/home.nix";
myTheme = theme; myTheme = theme;
inherit (inputs) eaf;
inherit (inputs) eaf-browser;
}; };
}; };
}; };

View file

@ -935,3 +935,31 @@ https://github.com/magit/magit/issues/460 (@cpitclaudel)."
(add-to-list 'focus-mode-to-thing '(lisp-mode . paragraph)) (add-to-list 'focus-mode-to-thing '(lisp-mode . paragraph))
;(add-hook 'org-mode-hook #'focus-mode) ;(add-hook 'org-mode-hook #'focus-mode)
;;;-- Load emacs application framework;;;--
(use-package! eaf
:load-path "~/.emacs.d/eaf/"
:init
:custom
(eaf-browser-continue-where-left-off t)
(eaf-browser-enable-adblocker t)
(browse-url-browser-function 'eaf-open-browser) ;; Make EAF Browser my default browser
:config
(defalias 'browse-web #'eaf-open-browser)
(require 'eaf-browser)
(require 'eaf-evil)
(define-key key-translation-map (kbd "SPC")
(lambda (prompt)
(if (derived-mode-p 'eaf-mode)
(pcase eaf--buffer-app-name
("browser" (if (string= (eaf-call-sync "eval_function" eaf--buffer-id "is_focus") "True")
(kbd "SPC")
(kbd eaf-evil-leader-key)))
(_ (kbd "SPC")))
(kbd "SPC")))))
(map! :leader
:desc "Open web browser"
"o w" #'eaf-open-browser-with-history)

View file

@ -1,4 +1,4 @@
{ config, lib, pkgs, ... }: { config, lib, pkgs, eaf, eaf-browser, ... }:
{ {
programs.doom-emacs = { programs.doom-emacs = {
@ -9,4 +9,31 @@
template = builtins.readFile ./themes/doom-stylix-theme.el.mustache; template = builtins.readFile ./themes/doom-stylix-theme.el.mustache;
extension = ".el"; extension = ".el";
}; };
home.packages = with pkgs; [
git
nodejs
wmctrl
jshon
aria
(python3.withPackages (p: with p; [
pandas
requests
pyqt6 sip qtpy qt6.qtwebengine epc lxml pyqt6-webengine
pysocks
pymupdf
markdown
]))];
home.file.".emacs.d/eaf" = {
source = "${eaf}";
recursive = true;
};
home.file.".emacs.d/eaf/app/browser" = {
source = "${eaf-browser}";
recursive = true;
onChange = "
pushd ~/.emacs.d/eaf/app/browser;
npm install darkreader @mozilla/readability;
popd;
";
};
} }

View file

@ -1303,10 +1303,10 @@ I don't have this active right now since I'm exploring tab-bar mode instead!
#+END_SRC #+END_SRC
** EAF ** EAF
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp :tangle config.el
;;;-- Load emacs application framework;;;-- ;;;-- Load emacs application framework;;;--
(use-package! eaf (use-package! eaf
:load-path "~/.local/bin/emacs-application-framework/" :load-path "~/.emacs.d/eaf/"
:init :init
:custom :custom
(eaf-browser-continue-where-left-off t) (eaf-browser-continue-where-left-off t)
@ -1315,7 +1315,6 @@ I don't have this active right now since I'm exploring tab-bar mode instead!
:config :config
(defalias 'browse-web #'eaf-open-browser) (defalias 'browse-web #'eaf-open-browser)
(require 'eaf-pdf-viewer)
(require 'eaf-browser) (require 'eaf-browser)
(require 'eaf-evil) (require 'eaf-evil)
@ -1326,8 +1325,6 @@ I don't have this active right now since I'm exploring tab-bar mode instead!
("browser" (if (string= (eaf-call-sync "eval_function" eaf--buffer-id "is_focus") "True") ("browser" (if (string= (eaf-call-sync "eval_function" eaf--buffer-id "is_focus") "True")
(kbd "SPC") (kbd "SPC")
(kbd eaf-evil-leader-key))) (kbd eaf-evil-leader-key)))
("pdf-viewer" (kbd eaf-evil-leader-key))
("image-viewer" (kbd eaf-evil-leader-key))
(_ (kbd "SPC"))) (_ (kbd "SPC")))
(kbd "SPC"))))) (kbd "SPC")))))

View file

@ -19,7 +19,7 @@
./app/games/games.nix # Various videogame apps ./app/games/games.nix # Various videogame apps
./style/stylix.nix # Styling and themes for my apps ./style/stylix.nix # Styling and themes for my apps
./lang/cc/cc.nix # C and C++ tools ./lang/cc/cc.nix # C and C++ tools
./lang/python/python.nix # Python #./lang/python/python.nix # Python
#./lang/python/python-packages.nix # Extra Python packages I want #./lang/python/python-packages.nix # Extra Python packages I want
./lang/haskell/haskell.nix # Haskell tools ./lang/haskell/haskell.nix # Haskell tools
#./lang/android/android.nix # Android developement #./lang/android/android.nix # Android developement

View file

@ -2,7 +2,7 @@
{ {
# Python packages # Python packages
home.packages = with pkgs.python310Packages; [ home.packages = with pkgs.python3Packages; [
cffi cffi
dbus-python dbus-python
wheel wheel

View file

@ -3,7 +3,7 @@
{ {
home.packages = with pkgs; [ home.packages = with pkgs; [
# Python setup # Python setup
python310Full python3Full
imath imath
pystring pystring
]; ];