chore: Move doom-emacs as package instead of module
This commit is contained in:
parent
4a6dbe67fa
commit
9e9b2cd6b5
10 changed files with 102 additions and 50 deletions
|
|
@ -44,7 +44,7 @@
|
|||
inherit inputs rootPath;
|
||||
srcs = self.callPackage (rootPath + "/_sources/generated.nix") { };
|
||||
inherit (inputs'.nixvim.legacyPackages) makeNixvim makeNixvimWithModule;
|
||||
inherit (self'.legacyPackages) nixvimPlugins;
|
||||
inherit (self'.legacyPackages) nixvimPlugins editor-runtime;
|
||||
neovim_git = inputs'.neovim-nightly.packages.default;
|
||||
});
|
||||
in
|
||||
|
|
|
|||
|
|
@ -57,7 +57,6 @@
|
|||
firefox.enable = true;
|
||||
openssh.enable = true;
|
||||
helix.enable = true;
|
||||
doom.enable = true;
|
||||
# spacemacs.enable = true;
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,47 +0,0 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
inputs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
cfg = config.david.programs.doom;
|
||||
|
||||
inherit (inputs) emacs-overlay nixpkgs;
|
||||
inherit (pkgs) system;
|
||||
pkgs' = import nixpkgs {
|
||||
inherit system;
|
||||
overlays = [ emacs-overlay.overlays.default ];
|
||||
};
|
||||
in
|
||||
{
|
||||
options = {
|
||||
david.programs.doom = {
|
||||
enable = lib.mkEnableOption "doom";
|
||||
};
|
||||
};
|
||||
config = lib.mkIf cfg.enable {
|
||||
stylix.targets.emacs.enable = false;
|
||||
services.emacs.enable = true;
|
||||
programs.doom-emacs = {
|
||||
enable = true;
|
||||
emacs = pkgs'.emacs-igc-pgtk;
|
||||
extraPackages =
|
||||
ep: with ep; [
|
||||
melpaPackages.telega
|
||||
melpaPackages.nixos-options
|
||||
];
|
||||
extraBinPackages = with pkgs; [
|
||||
editor-runtime
|
||||
|
||||
git
|
||||
ripgrep
|
||||
fd
|
||||
imagemagick
|
||||
];
|
||||
doomDir = ./config;
|
||||
provideEmacs = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -8,7 +8,6 @@
|
|||
(with inputs; [
|
||||
sops-nix.homeManagerModules.sops
|
||||
betterfox-nix.homeModules.betterfox
|
||||
nix-doom.homeModule
|
||||
])
|
||||
++ lib.youthlic.loadImports ./.;
|
||||
|
||||
|
|
|
|||
|
|
@ -92,6 +92,7 @@
|
|||
wineWow64Packages.waylandFull
|
||||
iperf3
|
||||
nixvim
|
||||
doom-emacs
|
||||
neovide
|
||||
|
||||
sbctl
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@ in
|
|||
./wallpapers.nix
|
||||
./rime-yuhaostar.nix
|
||||
./nixvim.nix
|
||||
./doom-emacs.nix
|
||||
|
||||
./pkgsNoCuda.nix
|
||||
]
|
||||
|
|
|
|||
8
overlays/additions/doom-emacs.nix
Normal file
8
overlays/additions/doom-emacs.nix
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
{ outputs, ... }:
|
||||
_final: prev:
|
||||
let
|
||||
inherit (prev.stdenv.hostPlatform) system;
|
||||
in
|
||||
{
|
||||
inherit (outputs.packages.${system}) doom-emacs;
|
||||
}
|
||||
|
|
@ -83,3 +83,31 @@ NOTE: wayland only."
|
|||
(map! :map global-map
|
||||
"C-c n"
|
||||
#'helm-nixos-options)
|
||||
|
||||
(with-eval-after-load 'evil
|
||||
(scroll-on-jump-advice-add evil-redo)
|
||||
(scroll-on-jump-advice-add evil-jump-item)
|
||||
(scroll-on-jump-advice-add evil-jump-forward)
|
||||
(scroll-on-jump-advice-add evil-jump-backward)
|
||||
(scroll-on-jump-advice-add evil-ex-search-next)
|
||||
(scroll-on-jump-advice-add evil-ex-search-previous)
|
||||
(scroll-on-jump-advice-add evil-forward-paragraph)
|
||||
(scroll-on-jump-advice-add evil-backward-paragraph)
|
||||
(scroll-on-jump-advice-add evil-goto-mark)
|
||||
|
||||
;; Actions that themselves scroll.
|
||||
(scroll-on-jump-with-scroll-advice-add evil-goto-line)
|
||||
(scroll-on-jump-with-scroll-advice-add evil-goto-first-line)
|
||||
(scroll-on-jump-with-scroll-advice-add evil-scroll-down)
|
||||
(scroll-on-jump-with-scroll-advice-add evil-scroll-up)
|
||||
(scroll-on-jump-with-scroll-advice-add evil-scroll-line-to-center)
|
||||
(scroll-on-jump-with-scroll-advice-add evil-scroll-line-to-top)
|
||||
(scroll-on-jump-with-scroll-advice-add evil-scroll-line-to-bottom)
|
||||
(scroll-on-jump-with-scroll-advice-add evil-scroll-page-down)
|
||||
(scroll-on-jump-with-scroll-advice-add evil-scroll-page-up))
|
||||
(with-eval-after-load 'goto-chg
|
||||
(scroll-on-jump-advice-add goto-last-change)
|
||||
(scroll-on-jump-advice-add goto-last-change-reverse))
|
||||
|
||||
(global-set-key (kbd "<C-M-next>") (scroll-on-jump-interactive 'diff-hl-next-hunk))
|
||||
(global-set-key (kbd "<C-M-prior>") (scroll-on-jump-interactive 'diff-hl-previous-hunk))
|
||||
63
pkgs/doom-emacs/package.nix
Normal file
63
pkgs/doom-emacs/package.nix
Normal file
|
|
@ -0,0 +1,63 @@
|
|||
{
|
||||
inputs,
|
||||
system,
|
||||
editor-runtime,
|
||||
symlinkJoin,
|
||||
makeWrapper,
|
||||
}:
|
||||
let
|
||||
inherit (inputs) nixpkgs emacs-overlay nix-doom;
|
||||
pkgs = import nixpkgs {
|
||||
inherit system;
|
||||
overlays = [
|
||||
emacs-overlay.overlays.default
|
||||
nix-doom.overlays.default
|
||||
];
|
||||
};
|
||||
emacs = pkgs.emacs-igc-pgtk;
|
||||
doom-emacs = pkgs.doomEmacs {
|
||||
doomDir = ./config;
|
||||
doomLocalDir = "~/.local/share/nix-doom";
|
||||
emacs = emacs;
|
||||
extraPackages =
|
||||
ep: with ep; [
|
||||
melpaPackages.telega
|
||||
melpaPackages.nixos-options
|
||||
melpaPackages.scroll-on-jump
|
||||
];
|
||||
extraBinPackages =
|
||||
(with pkgs; [
|
||||
git
|
||||
ripgrep
|
||||
fd
|
||||
imagemagick
|
||||
])
|
||||
++ [ editor-runtime ];
|
||||
};
|
||||
in
|
||||
symlinkJoin {
|
||||
name = "doom-emacs";
|
||||
paths = [ doom-emacs ];
|
||||
inherit (doom-emacs) meta;
|
||||
buildInputs = [
|
||||
makeWrapper
|
||||
];
|
||||
env = {
|
||||
ORIGINAL_EMACS = toString emacs;
|
||||
};
|
||||
postBuild = ''
|
||||
wrapProgram $out/bin/doom-emacs \
|
||||
--unset EMACSNATIVELOADPATH \
|
||||
--unset EMACSLOADPATH \
|
||||
--inherit-argv0
|
||||
|
||||
mkdir -p $out/share/applications
|
||||
cp ''${ORIGINAL_EMACS}/share/applications/emacs.desktop \
|
||||
$out/share/applications/doom-emacs.desktop
|
||||
cp -rt $out/share ''${ORIGINAL_EMACS}/share/icons
|
||||
substituteInPlace $out/share/applications/doom-emacs.desktop \
|
||||
--replace 'Name=Emacs' 'Name=Doom Emacs' \
|
||||
--replace 'Exec=emacs' "Exec=$out/bin/doom-emacs" \
|
||||
--replace 'StartupWMClass=Emacs' "StartupWMClass=Doom Emacs"
|
||||
'';
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue