Compare commits
2 commits
9fbcd61b14
...
9e9b2cd6b5
| Author | SHA1 | Date | |
|---|---|---|---|
| 9e9b2cd6b5 | |||
| 4a6dbe67fa |
11 changed files with 103 additions and 53 deletions
|
|
@ -44,7 +44,7 @@
|
||||||
inherit inputs rootPath;
|
inherit inputs rootPath;
|
||||||
srcs = self.callPackage (rootPath + "/_sources/generated.nix") { };
|
srcs = self.callPackage (rootPath + "/_sources/generated.nix") { };
|
||||||
inherit (inputs'.nixvim.legacyPackages) makeNixvim makeNixvimWithModule;
|
inherit (inputs'.nixvim.legacyPackages) makeNixvim makeNixvimWithModule;
|
||||||
inherit (self'.legacyPackages) nixvimPlugins;
|
inherit (self'.legacyPackages) nixvimPlugins editor-runtime;
|
||||||
neovim_git = inputs'.neovim-nightly.packages.default;
|
neovim_git = inputs'.neovim-nightly.packages.default;
|
||||||
});
|
});
|
||||||
in
|
in
|
||||||
|
|
|
||||||
|
|
@ -57,7 +57,6 @@
|
||||||
firefox.enable = true;
|
firefox.enable = true;
|
||||||
openssh.enable = true;
|
openssh.enable = true;
|
||||||
helix.enable = true;
|
helix.enable = true;
|
||||||
doom.enable = true;
|
|
||||||
# spacemacs.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; [
|
(with inputs; [
|
||||||
sops-nix.homeManagerModules.sops
|
sops-nix.homeManagerModules.sops
|
||||||
betterfox-nix.homeModules.betterfox
|
betterfox-nix.homeModules.betterfox
|
||||||
nix-doom.homeModule
|
|
||||||
])
|
])
|
||||||
++ lib.youthlic.loadImports ./.;
|
++ lib.youthlic.loadImports ./.;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -38,9 +38,7 @@ in
|
||||||
onEvent = "fish_command_not_found";
|
onEvent = "fish_command_not_found";
|
||||||
};
|
};
|
||||||
fish_greeting = {
|
fish_greeting = {
|
||||||
body = ''
|
body = '''';
|
||||||
fastfetch
|
|
||||||
'';
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
shellInitLast = # fish
|
shellInitLast = # fish
|
||||||
|
|
|
||||||
|
|
@ -92,6 +92,7 @@
|
||||||
wineWow64Packages.waylandFull
|
wineWow64Packages.waylandFull
|
||||||
iperf3
|
iperf3
|
||||||
nixvim
|
nixvim
|
||||||
|
doom-emacs
|
||||||
neovide
|
neovide
|
||||||
|
|
||||||
sbctl
|
sbctl
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,7 @@ in
|
||||||
./wallpapers.nix
|
./wallpapers.nix
|
||||||
./rime-yuhaostar.nix
|
./rime-yuhaostar.nix
|
||||||
./nixvim.nix
|
./nixvim.nix
|
||||||
|
./doom-emacs.nix
|
||||||
|
|
||||||
./pkgsNoCuda.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
|
(map! :map global-map
|
||||||
"C-c n"
|
"C-c n"
|
||||||
#'helm-nixos-options)
|
#'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