refactor(packages): expose mkEmacs function
This commit is contained in:
parent
dd521cb170
commit
0c281f506d
4 changed files with 55 additions and 48 deletions
3
.editorconfig
Normal file
3
.editorconfig
Normal file
|
@ -0,0 +1,3 @@
|
|||
[*.nix]
|
||||
indent_style = space
|
||||
indent_size = 2
|
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -7,3 +7,5 @@
|
|||
!/.gitignore
|
||||
!/README.org
|
||||
!/media
|
||||
!/.editorconfig
|
||||
!/lib.nix
|
||||
|
|
59
flake.nix
59
flake.nix
|
@ -11,38 +11,41 @@
|
|||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
};
|
||||
outputs =
|
||||
inputs:
|
||||
inputs.parts.lib.mkFlake { inherit inputs; } {
|
||||
outputs = inputs: let
|
||||
lib = inputs.nixpkgs.lib.extend (import ./lib.nix);
|
||||
in
|
||||
inputs.parts.lib.mkFlake {
|
||||
inherit inputs;
|
||||
specialArgs.lib = lib;
|
||||
} {
|
||||
systems = [
|
||||
"x86_64-linux"
|
||||
];
|
||||
|
||||
perSystem =
|
||||
{
|
||||
pkgs,
|
||||
self',
|
||||
config,
|
||||
system,
|
||||
...
|
||||
}:
|
||||
let
|
||||
inherit (import ./emacs/mkEmacs.nix pkgs) mkEmacs;
|
||||
in
|
||||
{
|
||||
_module.args.pkgs = import inputs.nixpkgs {
|
||||
inherit system;
|
||||
overlays = [
|
||||
(import inputs.emacs)
|
||||
];
|
||||
};
|
||||
|
||||
packages = {
|
||||
pankomacs = mkEmacs pkgs.emacs30-pgtk;
|
||||
pankomacs-x11 = mkEmacs pkgs.emacs30-gtk3;
|
||||
};
|
||||
|
||||
formatter = pkgs.nixfmt-rfc-style;
|
||||
perSystem = {
|
||||
pkgs,
|
||||
self',
|
||||
config,
|
||||
system,
|
||||
...
|
||||
}: {
|
||||
_module.args.pkgs = import inputs.nixpkgs {
|
||||
inherit system;
|
||||
overlays = [
|
||||
(import inputs.emacs)
|
||||
];
|
||||
};
|
||||
|
||||
packages = builtins.mapAttrs (_: v:
|
||||
lib.mkEmacs {
|
||||
inherit pkgs;
|
||||
emacs = v;
|
||||
}) {
|
||||
pankomacs = pkgs.emacs30-pgtk;
|
||||
pankomacs-x11 = pkgs.emacs30-gtk3;
|
||||
};
|
||||
|
||||
formatter = pkgs.alejandra;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,33 +1,32 @@
|
|||
{ pkgs, ... }:
|
||||
let
|
||||
mkEmacsPackage =
|
||||
{
|
||||
final: prev: {
|
||||
mkEmacs = {
|
||||
pkgs,
|
||||
emacs,
|
||||
}: let
|
||||
mkEmacsPackage = {
|
||||
epkgs,
|
||||
pname,
|
||||
version,
|
||||
src,
|
||||
deps ? [ ],
|
||||
deps ? [],
|
||||
}:
|
||||
epkgs.callPackage (
|
||||
{ trivialBuild }:
|
||||
trivialBuild {
|
||||
inherit pname version src;
|
||||
buildInputs = deps;
|
||||
propagatedUserEnvPkgs = deps;
|
||||
}
|
||||
) { inherit (epkgs) trivialBuild; };
|
||||
in
|
||||
{
|
||||
mkEmacs =
|
||||
emacs:
|
||||
epkgs.callPackage (
|
||||
{trivialBuild}:
|
||||
trivialBuild {
|
||||
inherit pname version src;
|
||||
buildInputs = deps;
|
||||
propagatedUserEnvPkgs = deps;
|
||||
}
|
||||
) {inherit (epkgs) trivialBuild;};
|
||||
in
|
||||
pkgs.emacsWithPackagesFromUsePackage {
|
||||
package = emacs;
|
||||
defaultInitFile = true;
|
||||
config = ./config.el;
|
||||
extraEmacsPackages =
|
||||
epkgs:
|
||||
extraEmacsPackages = epkgs:
|
||||
builtins.attrValues {
|
||||
inherit (epkgs)
|
||||
inherit
|
||||
(epkgs)
|
||||
spacious-padding
|
||||
mood-line
|
||||
which-key
|
Loading…
Add table
Add a link
Reference in a new issue