refactor(flake): only use lib, reduce imports

This commit is contained in:
Artur Manuel 2025-02-04 15:09:03 +00:00
commit a4ae97d6da
2 changed files with 40 additions and 57 deletions

View file

@ -11,40 +11,19 @@
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
}; };
outputs = inputs: let outputs = inputs:
lib = inputs.nixpkgs.lib.extend (import ./lib.nix);
in
inputs.parts.lib.mkFlake { inputs.parts.lib.mkFlake {
inherit inputs; inherit inputs;
specialArgs.lib = lib;
} { } {
systems = [ systems = [
"x86_64-linux" "x86_64-linux"
]; ];
perSystem = { imports = [
pkgs, ./lib.nix
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;
};
perSystem = {pkgs, ...}: {
formatter = pkgs.alejandra; formatter = pkgs.alejandra;
}; };
}; };

66
lib.nix
View file

@ -1,8 +1,5 @@
final: prev: { {inputs, ...}: {
mkEmacs = { flake.lib = inputs.nixpkgs.lib.extend (_: _: let
pkgs,
emacs,
}: let
mkEmacsPackage = { mkEmacsPackage = {
epkgs, epkgs,
pname, pname,
@ -18,32 +15,39 @@ final: prev: {
propagatedUserEnvPkgs = deps; propagatedUserEnvPkgs = deps;
} }
) {inherit (epkgs) trivialBuild;}; ) {inherit (epkgs) trivialBuild;};
in
pkgs.emacsWithPackagesFromUsePackage { mkEmacs = {
package = emacs; pkgs,
defaultInitFile = true; emacs,
config = ./config.el; }:
extraEmacsPackages = epkgs: (pkgs.appendOverlays [inputs.emacs.overlays.default]).emacsWithPackagesFromUsePackage {
builtins.attrValues { package = emacs;
inherit defaultInitFile = true;
(epkgs) config = ./config.el;
spacious-padding extraEmacsPackages = epkgs:
mood-line builtins.attrValues {
which-key inherit
helm (epkgs)
base16-theme spacious-padding
nix-mode mood-line
rust-mode which-key
haskell-mode helm
envrc base16-theme
eat nix-mode
vterm rust-mode
; haskell-mode
treesit-grammars = epkgs.treesit-grammars.with-all-grammars; envrc
eat
vterm
;
treesit-grammars = epkgs.treesit-grammars.with-all-grammars;
};
override = _: prev: {
use-package = prev.emacs;
savehist = prev.emacs;
}; };
override = _: prev: {
use-package = prev.emacs;
savehist = prev.emacs;
}; };
}; in {
inherit mkEmacs mkEmacsPackage;
});
} }