feat(emacs): Install required emacs packages via Nix
This commit is contained in:
parent
9042d0a987
commit
95eedea9ac
2 changed files with 69 additions and 2 deletions
|
@ -3,6 +3,7 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
let wallpapers = import ./pkgs/wallpapers.nix;
|
let wallpapers = import ./pkgs/wallpapers.nix;
|
||||||
|
emacs = import ./emacs.nix { inherit pkgs; };
|
||||||
in {
|
in {
|
||||||
# Configure basic X-server stuff:
|
# Configure basic X-server stuff:
|
||||||
services.xserver = {
|
services.xserver = {
|
||||||
|
@ -23,8 +24,8 @@ in {
|
||||||
services.xserver.windowManager.session = lib.singleton {
|
services.xserver.windowManager.session = lib.singleton {
|
||||||
name = "exwm";
|
name = "exwm";
|
||||||
start = ''
|
start = ''
|
||||||
${pkgs.emacs}/bin/emacs --daemon -f exwm-enable
|
${emacs}/bin/emacs --daemon -f exwm-enable
|
||||||
emacsclient -c
|
${emacs}/bin/emacsclient -c
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
66
emacs.nix
Normal file
66
emacs.nix
Normal file
|
@ -0,0 +1,66 @@
|
||||||
|
# Derivation for Emacs configured with the packages that I need:
|
||||||
|
|
||||||
|
{ pkgs ? import <nixpkgs> {} }:
|
||||||
|
|
||||||
|
let emacsWithPackages = with pkgs; (emacsPackagesNgGen emacs).emacsWithPackages;
|
||||||
|
|
||||||
|
# Custom code for packages missing from the current Nix packages.
|
||||||
|
|
||||||
|
in emacsWithPackages(epkgs:
|
||||||
|
# Actual ELPA packages (the enlightened!)
|
||||||
|
(with epkgs.elpaPackages; [
|
||||||
|
ace-window
|
||||||
|
adjust-parens
|
||||||
|
avy
|
||||||
|
company
|
||||||
|
exwm
|
||||||
|
pinentry
|
||||||
|
rainbow-mode
|
||||||
|
undo-tree
|
||||||
|
which-key
|
||||||
|
]) ++
|
||||||
|
|
||||||
|
# Stable packages:
|
||||||
|
(with epkgs.melpaStablePackages; [
|
||||||
|
browse-kill-ring
|
||||||
|
cargo
|
||||||
|
dash
|
||||||
|
dash-functional
|
||||||
|
dockerfile-mode
|
||||||
|
erlang
|
||||||
|
flycheck
|
||||||
|
go-mode
|
||||||
|
gruber-darker-theme
|
||||||
|
haskell-mode
|
||||||
|
helm
|
||||||
|
ht
|
||||||
|
idle-highlight-mode
|
||||||
|
magit
|
||||||
|
markdown-mode-plus
|
||||||
|
multi-term
|
||||||
|
multiple-cursors
|
||||||
|
nix-mode
|
||||||
|
paredit
|
||||||
|
password-store
|
||||||
|
racer
|
||||||
|
rainbow-delimiters
|
||||||
|
rust-mode
|
||||||
|
s
|
||||||
|
sly
|
||||||
|
sly-company
|
||||||
|
smart-mode-line
|
||||||
|
string-edit
|
||||||
|
terraform-mode
|
||||||
|
yaml-mode
|
||||||
|
]) ++
|
||||||
|
|
||||||
|
# Bleeding-edge packages:
|
||||||
|
(with epkgs.melpaPackages; [
|
||||||
|
helm-pass
|
||||||
|
pg
|
||||||
|
racket-mode
|
||||||
|
restclient
|
||||||
|
sly-quicklisp
|
||||||
|
uuidgen
|
||||||
|
])
|
||||||
|
)
|
Loading…
Reference in a new issue