do flake and org stuff?
This commit is contained in:
parent
8bd4d2837a
commit
818621bbb9
239
flake.lock
Normal file
239
flake.lock
Normal file
@ -0,0 +1,239 @@
|
|||||||
|
{
|
||||||
|
"nodes": {
|
||||||
|
"elisp-helpers": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1710768267,
|
||||||
|
"narHash": "sha256-NX/dP39RzIKCiIEZPLZUYDUpgCqyagn3iK7c5NWfmEk=",
|
||||||
|
"owner": "emacs-twist",
|
||||||
|
"repo": "elisp-helpers",
|
||||||
|
"rev": "002e07aff027eedfdadec02d6830cb75a1aec9b5",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "emacs-twist",
|
||||||
|
"repo": "elisp-helpers",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"emacs-overlay": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-utils": "flake-utils",
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"nixpkgs-stable": "nixpkgs-stable"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1712941527,
|
||||||
|
"narHash": "sha256-wD9XQFGW0qzRW1YHj6oklCHzgKNxjwS0tZ/hFGgiHX4=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "emacs-overlay",
|
||||||
|
"rev": "9f4406718ada7af83892e17355ef7fd202c20897",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "emacs-overlay",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"flake-parts": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs-lib": "nixpkgs-lib"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1712014858,
|
||||||
|
"narHash": "sha256-sB4SWl2lX95bExY2gMFG5HIzvva5AVMJd4Igm+GpZNw=",
|
||||||
|
"owner": "hercules-ci",
|
||||||
|
"repo": "flake-parts",
|
||||||
|
"rev": "9126214d0a59633752a136528f5f3b9aa8565b7d",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"id": "flake-parts",
|
||||||
|
"type": "indirect"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"flake-utils": {
|
||||||
|
"inputs": {
|
||||||
|
"systems": "systems"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1710146030,
|
||||||
|
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"gnu-elpa": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1712667203,
|
||||||
|
"narHash": "sha256-KJ+G0wosKpmCm3UQ8Ko3R6Qynnu8kwzbmUA9CXcl12s=",
|
||||||
|
"ref": "main",
|
||||||
|
"rev": "bd4f5bf7462a377dbca534bf3ec703763cb5c7bd",
|
||||||
|
"revCount": 593,
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://git.savannah.gnu.org/git/emacs/elpa.git"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"ref": "main",
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://git.savannah.gnu.org/git/emacs/elpa.git"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"melpa": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1712589884,
|
||||||
|
"narHash": "sha256-4ia0UT/vQMsfrc6nsO1Ad8b8mYbH60hWJIhiiS/4rP4=",
|
||||||
|
"owner": "melpa",
|
||||||
|
"repo": "melpa",
|
||||||
|
"rev": "7f4fe79cff278ebd870fabfd26fe8e78c14630c7",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "melpa",
|
||||||
|
"repo": "melpa",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1712791164,
|
||||||
|
"narHash": "sha256-3sbWO1mbpWsLepZGbWaMovSO7ndZeFqDSdX0hZ9nVyw=",
|
||||||
|
"owner": "nixos",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "1042fd8b148a9105f3c0aca3a6177fd1d9360ba5",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nixos",
|
||||||
|
"ref": "nixos-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs-lib": {
|
||||||
|
"locked": {
|
||||||
|
"dir": "lib",
|
||||||
|
"lastModified": 1711703276,
|
||||||
|
"narHash": "sha256-iMUFArF0WCatKK6RzfUJknjem0H9m4KgorO/p3Dopkk=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "d8fe5e6c92d0d190646fb9f1056741a229980089",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"dir": "lib",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixos-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs-stable": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1712741485,
|
||||||
|
"narHash": "sha256-bCs0+MSTra80oXAsnM6Oq62WsirOIaijQ/BbUY59tR4=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "b2cf36f43f9ef2ded5711b30b1f393ac423d8f72",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixos-23.11",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nongnu-elpa": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1712340689,
|
||||||
|
"narHash": "sha256-knhVWWy22nmOs/5NT/Zuq0AHWXRAwRXDSdvwrFIxQOQ=",
|
||||||
|
"ref": "main",
|
||||||
|
"rev": "5623e3864f87f49d18bc48b3656dc0c2dea42973",
|
||||||
|
"revCount": 308,
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://git.savannah.gnu.org/git/emacs/nongnu.git"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"ref": "main",
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://git.savannah.gnu.org/git/emacs/nongnu.git"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"org-babel": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1669954182,
|
||||||
|
"narHash": "sha256-tYXRO/+MbLDQNn/mqnWKrQrYvFY0gHbU29wYln7+mpY=",
|
||||||
|
"owner": "emacs-twist",
|
||||||
|
"repo": "org-babel",
|
||||||
|
"rev": "b448845abbbc8b742e9de547cd49ec886cd79cbf",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "emacs-twist",
|
||||||
|
"repo": "org-babel",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": {
|
||||||
|
"inputs": {
|
||||||
|
"emacs-overlay": "emacs-overlay",
|
||||||
|
"flake-parts": "flake-parts",
|
||||||
|
"gnu-elpa": "gnu-elpa",
|
||||||
|
"melpa": "melpa",
|
||||||
|
"nixpkgs": "nixpkgs",
|
||||||
|
"nongnu-elpa": "nongnu-elpa",
|
||||||
|
"org-babel": "org-babel",
|
||||||
|
"twist": "twist"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"systems": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1681028828,
|
||||||
|
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"twist": {
|
||||||
|
"inputs": {
|
||||||
|
"elisp-helpers": "elisp-helpers"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1710770942,
|
||||||
|
"narHash": "sha256-dyNKByzB5dC/UlZ6GzjX+aFNsL8lHMUf9EWGNY7lttQ=",
|
||||||
|
"owner": "emacs-twist",
|
||||||
|
"repo": "twist.nix",
|
||||||
|
"rev": "4e1f8720308f58b840f7d8c64880adb3971252e8",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "emacs-twist",
|
||||||
|
"repo": "twist.nix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": "root",
|
||||||
|
"version": 7
|
||||||
|
}
|
117
flake.nix
Normal file
117
flake.nix
Normal file
@ -0,0 +1,117 @@
|
|||||||
|
{
|
||||||
|
description = "mir's Emacs flake, apparently";
|
||||||
|
|
||||||
|
inputs = {
|
||||||
|
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
|
||||||
|
emacs-overlay = {
|
||||||
|
url = "github:nix-community/emacs-overlay";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
twist.url = "github:emacs-twist/twist.nix";
|
||||||
|
org-babel.url = "github:emacs-twist/org-babel";
|
||||||
|
gnu-elpa = {
|
||||||
|
url = "git+https://git.savannah.gnu.org/git/emacs/elpa.git?ref=main";
|
||||||
|
flake = false;
|
||||||
|
};
|
||||||
|
melpa = {
|
||||||
|
url = "github:melpa/melpa";
|
||||||
|
flake = false;
|
||||||
|
};
|
||||||
|
nongnu-elpa = {
|
||||||
|
url = "git+https://git.savannah.gnu.org/git/emacs/nongnu.git?ref=main";
|
||||||
|
flake = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
outputs =
|
||||||
|
inputs@{ flake-parts, ... }:
|
||||||
|
flake-parts.lib.mkFlake { inherit inputs; } {
|
||||||
|
systems = [ "x86_64-linux" ];
|
||||||
|
|
||||||
|
flake = {
|
||||||
|
overlays.default = inputs.nixpkgs.lib.composeManyExtensions [
|
||||||
|
inputs.emacs-overlay.overlays.emacs
|
||||||
|
inputs.org-babel.overlays.default
|
||||||
|
inputs.twist.overlays.default
|
||||||
|
|
||||||
|
(
|
||||||
|
final: prev:
|
||||||
|
let
|
||||||
|
emacsPackage = final.emacs-pgtk;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
emacs-env =
|
||||||
|
(final.emacsTwist {
|
||||||
|
inherit emacsPackage;
|
||||||
|
|
||||||
|
initFiles = [ (final.tangleOrgBabelFile "init.el" ./init.org { }) ];
|
||||||
|
|
||||||
|
lockDir = ./lock;
|
||||||
|
registries = import ./nix/registries.nix {
|
||||||
|
inherit inputs;
|
||||||
|
emacsSrc = emacsPackage.src;
|
||||||
|
};
|
||||||
|
inputOverrides = import ./nix/inputOverrides.nix { inherit (inputs.nixpkgs) lib; };
|
||||||
|
}).overrideScope
|
||||||
|
(
|
||||||
|
_: tprev: {
|
||||||
|
elispPackages = tprev.elispPackages.overrideScope (
|
||||||
|
prev.callPackage ./nix/packageOverrides.nix { inherit (tprev) emacs; }
|
||||||
|
);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
emacs-config = prev.callPackage inputs.self {
|
||||||
|
trivialBuild = final.callPackage "${inputs.nixpkgs}/pkgs/build-support/emacs/trivial.nix" {
|
||||||
|
emacs = final.emacs-env.overrideScope (
|
||||||
|
_: tprev: { inherit (tprev.emacs) meta nativeComp withNativeCompilation; }
|
||||||
|
);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
)
|
||||||
|
];
|
||||||
|
# homeManagerModules = {
|
||||||
|
# emacsConfig = import ./nix/home-manager.nix;
|
||||||
|
# };
|
||||||
|
};
|
||||||
|
|
||||||
|
perSystem =
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
inputs',
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
_module.args.pkgs = inputs'.nixpkgs.legacyPackages.extend inputs.self.overlays.default;
|
||||||
|
|
||||||
|
packages = {
|
||||||
|
inherit (pkgs) emacs-config emacs-env;
|
||||||
|
|
||||||
|
default = pkgs.writeShellApplication {
|
||||||
|
name = "test-emacs-config";
|
||||||
|
runtimeInputs = [
|
||||||
|
pkgs.emacs-env
|
||||||
|
pkgs.xorg.lndir
|
||||||
|
];
|
||||||
|
text = ''
|
||||||
|
XDG_DATA_DIRS="$XDG_DATA_DIRS:${
|
||||||
|
builtins.concatStringsSep ":" (map (x: "${x}/share") pkgs.emacs-config.buildInputs)
|
||||||
|
}"
|
||||||
|
EMACS_DIR="$(mktemp -td emacs.XXXXXXXXXX)"
|
||||||
|
lndir -silent ${pkgs.emacs-config} "$EMACS_DIR"
|
||||||
|
emacs --init-directory "$EMACS_DIR" "$@"
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
checks = {
|
||||||
|
build-config = config.packages.emacs-config;
|
||||||
|
build-env = config.packages.emacs-env;
|
||||||
|
};
|
||||||
|
|
||||||
|
apps = pkgs.emacs-env.makeApps { lockDirName = "lock"; };
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
@ -1,3 +1,4 @@
|
|||||||
|
#+begin_src elisp
|
||||||
;;; init.el --- basic initial declarations
|
;;; init.el --- basic initial declarations
|
||||||
;;; Commentary:
|
;;; Commentary:
|
||||||
;; _ _ _ _
|
;; _ _ _ _
|
||||||
@ -1248,3 +1249,4 @@ Taken from https://howardism.org/Technical/Emacs/eshell-why.html"
|
|||||||
(setq debug-on-error nil)
|
(setq debug-on-error nil)
|
||||||
|
|
||||||
;;; init.el ends here
|
;;; init.el ends here
|
||||||
|
#+end_src elisp
|
Loading…
Reference in New Issue
Block a user