107 lines
3.6 KiB
Nix
107 lines
3.6 KiB
Nix
/* Usage example in flake.nix:
|
|
|
|
{
|
|
inputs = {
|
|
home-manager.url = "github:rycee/home-manager";
|
|
nix-doom-emacs.url = "github:nix-community/nix-doom-emacs/flake";
|
|
};
|
|
|
|
outputs = {
|
|
self,
|
|
nixpkgs,
|
|
home-manager,
|
|
nix-doom-emacs,
|
|
...
|
|
}: {
|
|
nixosConfigurations.exampleHost = nixpkgs.lib.nixosSystem {
|
|
system = "x86_64-linux";
|
|
modules = [
|
|
home-manager.nixosModules.home-manager
|
|
{
|
|
home-manager.users.exampleUser = { pkgs, ... }: {
|
|
imports = [ nix-doom-emacs.hmModule ];
|
|
home.doom-emacs = {
|
|
enable = true;
|
|
doomPrivateDir = ./path/to/doom.d;
|
|
};
|
|
};
|
|
}
|
|
];
|
|
};
|
|
};
|
|
}
|
|
*/
|
|
|
|
{
|
|
description = "nix-doom-emacs home-manager module";
|
|
|
|
inputs = {
|
|
doom-emacs.url = "github:doomemacs/doomemacs/master";
|
|
doom-emacs.flake = false;
|
|
doom-snippets.url = "github:doomemacs/snippets";
|
|
doom-snippets.flake = false;
|
|
emacs-overlay.url = "github:nix-community/emacs-overlay";
|
|
emacs-overlay.flake = false;
|
|
emacs-so-long.url = "github:hlissner/emacs-so-long";
|
|
emacs-so-long.flake = false;
|
|
evil-escape.url = "github:hlissner/evil-escape";
|
|
evil-escape.flake = false;
|
|
evil-markdown.url = "github:Somelauw/evil-markdown";
|
|
evil-markdown.flake = false;
|
|
evil-org-mode.url = "github:hlissner/evil-org-mode";
|
|
evil-org-mode.flake = false;
|
|
evil-quick-diff.url = "github:rgrinberg/evil-quick-diff";
|
|
evil-quick-diff.flake = false;
|
|
explain-pause-mode.url = "github:lastquestion/explain-pause-mode";
|
|
explain-pause-mode.flake = false;
|
|
format-all.url = "github:lassik/emacs-format-all-the-code/47d862d40a088ca089c92cd393c6dca4628f87d3";
|
|
format-all.flake = false;
|
|
nix-straight.url = "github:nix-community/nix-straight.el";
|
|
nix-straight.flake = false;
|
|
nose.url = "github:emacsattic/nose";
|
|
nose.flake = false;
|
|
ob-racket.url = "github:xchrishawk/ob-racket";
|
|
ob-racket.flake = false;
|
|
org-contrib.url = "github:emacsmirror/org-contrib";
|
|
org-contrib.flake = false;
|
|
org-yt.url = "github:TobiasZawada/org-yt";
|
|
org-yt.flake = false;
|
|
org.url = "github:emacs-straight/org-mode";
|
|
org.flake = false;
|
|
php-extras.url = "github:arnested/php-extras";
|
|
php-extras.flake = false;
|
|
revealjs.url = "github:hakimel/reveal.js";
|
|
revealjs.flake = false;
|
|
rotate-text.url = "github:debug-ito/rotate-text.el";
|
|
rotate-text.flake = false;
|
|
sln-mode.url = "github:sensorflo/sln-mode";
|
|
sln-mode.flake = false;
|
|
ts-fold.url = "github:jcs-elpa/ts-fold";
|
|
ts-fold.flake = false;
|
|
ws-butler.url = "github:hlissner/ws-butler";
|
|
ws-butler.flake = false;
|
|
|
|
nixpkgs.url = "nixpkgs/nixpkgs-unstable";
|
|
flake-utils.url = "github:numtide/flake-utils";
|
|
flake-compat.url = "github:edolstra/flake-compat";
|
|
flake-compat.flake = false;
|
|
};
|
|
|
|
outputs = { self, nixpkgs, flake-utils, emacs-overlay, ... }@inputs:
|
|
let inherit (flake-utils.lib) eachDefaultSystem eachSystem;
|
|
in eachDefaultSystem (system:
|
|
let pkgs = import nixpkgs { inherit system; };
|
|
in {
|
|
devShell = pkgs.mkShell {
|
|
buildInputs =
|
|
[ (pkgs.python3.withPackages (ps: with ps; [ PyGithub ])) ];
|
|
};
|
|
package = { dependencyOverrides ? { }, ... }@args:
|
|
pkgs.callPackage self
|
|
(args // { dependencyOverrides = (inputs // dependencyOverrides); });
|
|
checks = import ./checks.nix { inherit system; } inputs;
|
|
}) // {
|
|
hmModule = import ./modules/home-manager.nix inputs;
|
|
};
|
|
}
|