Manage doom manually
This commit is contained in:
parent
25f776ddff
commit
00fec679ba
4 changed files with 134 additions and 30 deletions
71
flake.lock
generated
71
flake.lock
generated
|
|
@ -34,6 +34,25 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"emacs-overlay": {
|
"emacs-overlay": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-utils": "flake-utils",
|
||||||
|
"nixpkgs": "nixpkgs"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1684348799,
|
||||||
|
"narHash": "sha256-K/2G+BnHK3JdGnT/qkYWGljgy5kUeCZDSnBz4cLqb+c=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "emacs-overlay",
|
||||||
|
"rev": "95c844b1985808df780acc1835a354fe3ff27282",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "emacs-overlay",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"emacs-overlay_2": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1676366521,
|
"lastModified": 1676366521,
|
||||||
|
|
@ -163,6 +182,21 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"flake-utils": {
|
"flake-utils": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1667395993,
|
||||||
|
"narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=",
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"flake-utils_2": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"systems": "systems"
|
"systems": "systems"
|
||||||
},
|
},
|
||||||
|
|
@ -255,7 +289,7 @@
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"doom-emacs": "doom-emacs",
|
"doom-emacs": "doom-emacs",
|
||||||
"doom-snippets": "doom-snippets",
|
"doom-snippets": "doom-snippets",
|
||||||
"emacs-overlay": "emacs-overlay",
|
"emacs-overlay": "emacs-overlay_2",
|
||||||
"emacs-so-long": "emacs-so-long",
|
"emacs-so-long": "emacs-so-long",
|
||||||
"evil-escape": "evil-escape",
|
"evil-escape": "evil-escape",
|
||||||
"evil-markdown": "evil-markdown",
|
"evil-markdown": "evil-markdown",
|
||||||
|
|
@ -263,10 +297,10 @@
|
||||||
"evil-quick-diff": "evil-quick-diff",
|
"evil-quick-diff": "evil-quick-diff",
|
||||||
"explain-pause-mode": "explain-pause-mode",
|
"explain-pause-mode": "explain-pause-mode",
|
||||||
"flake-compat": "flake-compat",
|
"flake-compat": "flake-compat",
|
||||||
"flake-utils": "flake-utils",
|
"flake-utils": "flake-utils_2",
|
||||||
"format-all": "format-all",
|
"format-all": "format-all",
|
||||||
"nix-straight": "nix-straight",
|
"nix-straight": "nix-straight",
|
||||||
"nixpkgs": "nixpkgs",
|
"nixpkgs": "nixpkgs_2",
|
||||||
"nose": "nose",
|
"nose": "nose",
|
||||||
"ob-racket": "ob-racket",
|
"ob-racket": "ob-racket",
|
||||||
"org": "org",
|
"org": "org",
|
||||||
|
|
@ -311,17 +345,18 @@
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1682566018,
|
"lastModified": 1673540789,
|
||||||
"narHash": "sha256-HPzPRFiy2o/7k7mtnwfM1E6NVZHiFbPdmYCMoIpkHO4=",
|
"narHash": "sha256-xqnxBOK3qctIeUVxecydrEDbEXjsvHCPGPbvsl63M/U=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "8e3b64db39f2aaa14b35ee5376bd6a2e707cadc2",
|
"rev": "0f213d0fee84280d8c3a97f7469b988d6fe5fcdf",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"id": "nixpkgs",
|
"owner": "NixOS",
|
||||||
"ref": "nixpkgs-unstable",
|
"ref": "nixos-unstable",
|
||||||
"type": "indirect"
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs-unstable": {
|
"nixpkgs-unstable": {
|
||||||
|
|
@ -341,6 +376,21 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_2": {
|
"nixpkgs_2": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1682566018,
|
||||||
|
"narHash": "sha256-HPzPRFiy2o/7k7mtnwfM1E6NVZHiFbPdmYCMoIpkHO4=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "8e3b64db39f2aaa14b35ee5376bd6a2e707cadc2",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"id": "nixpkgs",
|
||||||
|
"ref": "nixpkgs-unstable",
|
||||||
|
"type": "indirect"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs_3": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1684171562,
|
"lastModified": 1684171562,
|
||||||
"narHash": "sha256-BMUWjVWAUdyMWKk0ATMC9H0Bv4qAV/TXwwPUvTiC5IQ=",
|
"narHash": "sha256-BMUWjVWAUdyMWKk0ATMC9H0Bv4qAV/TXwwPUvTiC5IQ=",
|
||||||
|
|
@ -470,11 +520,12 @@
|
||||||
},
|
},
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
|
"emacs-overlay": "emacs-overlay",
|
||||||
"gruvbox-gtk-theme": "gruvbox-gtk-theme",
|
"gruvbox-gtk-theme": "gruvbox-gtk-theme",
|
||||||
"gruvbox-kvantum-theme": "gruvbox-kvantum-theme",
|
"gruvbox-kvantum-theme": "gruvbox-kvantum-theme",
|
||||||
"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_3",
|
||||||
"nixpkgs-unstable": "nixpkgs-unstable"
|
"nixpkgs-unstable": "nixpkgs-unstable"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@
|
||||||
url = "github:nix-community/home-manager/release-22.11";
|
url = "github:nix-community/home-manager/release-22.11";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
emacs-overlay.url = "github:nix-community/emacs-overlay";
|
||||||
nix-doom-emacs.url = "github:nix-community/nix-doom-emacs";
|
nix-doom-emacs.url = "github:nix-community/nix-doom-emacs";
|
||||||
gruvbox-gtk-theme = {
|
gruvbox-gtk-theme = {
|
||||||
url = "github:Fausto-Korpsvart/Gruvbox-GTK-Theme";
|
url = "github:Fausto-Korpsvart/Gruvbox-GTK-Theme";
|
||||||
|
|
|
||||||
|
|
@ -98,12 +98,13 @@
|
||||||
magit ; a git porcelain for Emacs
|
magit ; a git porcelain for Emacs
|
||||||
;;make ; run make tasks from Emacs
|
;;make ; run make tasks from Emacs
|
||||||
;;pass ; password manager for nerds
|
;;pass ; password manager for nerds
|
||||||
;;pdf ; pdf enhancements
|
pdf ; pdf enhancements
|
||||||
;;prodigy ; FIXME managing external services & code builders
|
;;prodigy ; FIXME managing external services & code builders
|
||||||
;;rgb ; creating color strings
|
;;rgb ; creating color strings
|
||||||
;;taskrunner ; taskrunner for all your projects
|
;;taskrunner ; taskrunner for all your projects
|
||||||
terraform ; infrastructure as code
|
terraform ; infrastructure as code
|
||||||
;;tmux ; an API for interacting with tmux
|
;;tmux ; an API for interacting with tmux
|
||||||
|
tree-sitter
|
||||||
;;upload ; map local to remote projects via ssh/ftp
|
;;upload ; map local to remote projects via ssh/ftp
|
||||||
|
|
||||||
:os
|
:os
|
||||||
|
|
|
||||||
|
|
@ -9,16 +9,29 @@ in {
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
home-manager.users.${config.user.name} = {
|
home-manager.users.${config.user.name} = {
|
||||||
|
|
||||||
imports = [ inputs.nix-doom-emacs.hmModule ];
|
nixpkgs.overlays = [ inputs.emacs-overlay.overlay ];
|
||||||
|
|
||||||
home.packages = with pkgs.unstable; [
|
home.packages = with pkgs.unstable; [
|
||||||
|
binutils
|
||||||
ripgrep
|
ripgrep
|
||||||
fd
|
fd
|
||||||
findutils.locate
|
findutils.locate
|
||||||
|
|
||||||
metals
|
terraform
|
||||||
rnix-lsp
|
pandoc
|
||||||
nixfmt
|
|
||||||
|
# Formatters and linters
|
||||||
|
nixfmt # nix formatter
|
||||||
|
shfmt # sh formatter
|
||||||
|
shellcheck # sh linter
|
||||||
|
html-tidy # HTML formatter
|
||||||
|
nodePackages.stylelint # CSS linter
|
||||||
|
nodePackages.js-beautify # JS/CSS/HTML formatter
|
||||||
|
|
||||||
|
# LSPs
|
||||||
|
metals # Scala
|
||||||
|
rnix-lsp # Nix
|
||||||
|
phpactor # PHP
|
||||||
|
|
||||||
# Used by org-roam
|
# Used by org-roam
|
||||||
sqlite
|
sqlite
|
||||||
|
|
@ -27,30 +40,68 @@ in {
|
||||||
# Used by elfeed-tube
|
# Used by elfeed-tube
|
||||||
yt-dlp
|
yt-dlp
|
||||||
mpv
|
mpv
|
||||||
|
|
||||||
|
# Used by dirvish
|
||||||
|
imagemagick
|
||||||
|
ffmpegthumbnailer
|
||||||
|
mediainfo
|
||||||
|
poppler_utils
|
||||||
|
gnutar
|
||||||
|
unzip
|
||||||
];
|
];
|
||||||
|
|
||||||
services.emacs = {
|
services.emacs = {
|
||||||
enable = true;
|
enable = true;
|
||||||
client.enable = true;
|
client.enable = true;
|
||||||
|
package = with pkgs;
|
||||||
|
((emacsPackagesFor emacsNativeComp).emacsWithPackages
|
||||||
|
(epkgs: [ epkgs.vterm ]));
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.doom-emacs = {
|
# Use either this or nix-doom-emacs
|
||||||
|
programs.emacs = {
|
||||||
enable = true;
|
enable = true;
|
||||||
doomPrivateDir = ./doom.d;
|
package = with pkgs;
|
||||||
emacsPackagesOverlay = final: prev: {
|
((emacsPackagesFor emacsNativeComp).emacsWithPackages
|
||||||
ob-ammonite = with final;
|
(epkgs: [ epkgs.vterm ]));
|
||||||
(trivialBuild {
|
|
||||||
src = pkgs.fetchFromGitHub {
|
|
||||||
owner = "zwild";
|
|
||||||
repo = "ob-ammonite";
|
|
||||||
rev = "39937dff395e70aff76a4224fa49cf2ec6c57cca";
|
|
||||||
sha256 = pkgs.lib.fakeSha256;
|
|
||||||
};
|
|
||||||
pname = "ob-ammonite";
|
|
||||||
packageRequires = [ s dash editorconfig ];
|
|
||||||
});
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
xdg.configFile = { "doom" = { source = ./doom.d; }; };
|
||||||
|
home.sessionPath = [
|
||||||
|
"${
|
||||||
|
config.home-manager.users.${config.user.name}.xdg.configHome
|
||||||
|
}/emacs/bin"
|
||||||
|
];
|
||||||
|
home.activation = {
|
||||||
|
installDoomEmacs = ''
|
||||||
|
if [ ! -d "${
|
||||||
|
config.home-manager.users.${config.user.name}.xdg.configHome
|
||||||
|
}/emacs" ]; then
|
||||||
|
git clone --depth=1 --single-branch https://github.com/doomemacs/doomemacs "${
|
||||||
|
config.home-manager.users.${config.user.name}.xdg.configHome
|
||||||
|
}/emacs"
|
||||||
|
fi
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
# imports = [ inputs.nix-doom-emacs.hmModule ];
|
||||||
|
# programs.doom-emacs = {
|
||||||
|
# enable = true;
|
||||||
|
# doomPrivateDir = ./doom.d;
|
||||||
|
# emacsPackagesOverlay = final: prev: {
|
||||||
|
# ob-ammonite = with final;
|
||||||
|
# (trivialBuild {
|
||||||
|
# src = pkgs.fetchFromGitHub {
|
||||||
|
# owner = "zwild";
|
||||||
|
# repo = "ob-ammonite";
|
||||||
|
# rev = "39937dff395e70aff76a4224fa49cf2ec6c57cca";
|
||||||
|
# sha256 = pkgs.lib.fakeSha256;
|
||||||
|
# };
|
||||||
|
# pname = "ob-ammonite";
|
||||||
|
# packageRequires = [ s dash editorconfig ];
|
||||||
|
# });
|
||||||
|
# };
|
||||||
|
# };
|
||||||
};
|
};
|
||||||
|
fonts.fonts = [ pkgs.emacs-all-the-icons-fonts ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue