Pinned doom emacs so system updates are quicker and more stable

This commit is contained in:
Emmet 2024-03-22 13:43:56 -05:00
parent 7d2f529896
commit 3cffd54525
5 changed files with 54 additions and 23 deletions

View file

@ -245,6 +245,21 @@
"type": "github"
}
},
"emacs-pin-nixpkgs": {
"locked": {
"lastModified": 1707268954,
"narHash": "sha256-2en1kvde3cJVc3ZnTy8QeD2oKcseLFjYPLKhIGDanQ0=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "f8e2ebd66d097614d51a56a755450d4ae1632df1",
"type": "github"
},
"original": {
"id": "nixpkgs",
"rev": "f8e2ebd66d097614d51a56a755450d4ae1632df1",
"type": "indirect"
}
},
"emacs-so-long": {
"flake": false,
"locked": {
@ -854,6 +869,7 @@
"blocklist-hosts": "blocklist-hosts",
"eaf": "eaf",
"eaf-browser": "eaf-browser",
"emacs-pin-nixpkgs": "emacs-pin-nixpkgs",
"home-manager": "home-manager",
"hyprland-plugins": "hyprland-plugins",
"kdenlive-pin-nixpkgs": "kdenlive-pin-nixpkgs",

View file

@ -1,9 +1,10 @@
{
description = "Flake of LibrePhoenix";
outputs = inputs@{ self, nixpkgs, nixpkgs-stable, kdenlive-pin-nixpkgs, home-manager, nix-doom-emacs,
nix-straight, stylix, blocklist-hosts, hyprland-plugins, rust-overlay,
org-nursery, org-yaap, org-side-tree, org-timeblock, phscroll, ... }:
outputs = inputs@{ self, nixpkgs, nixpkgs-stable, emacs-pin-nixpkgs, kdenlive-pin-nixpkgs,
home-manager, nix-doom-emacs, nix-straight, stylix, blocklist-hosts,
hyprland-plugins, rust-overlay, org-nursery, org-yaap, org-side-tree,
org-timeblock, phscroll, ... }:
let
# ---- SYSTEM SETTINGS ---- #
systemSettings = {
@ -74,6 +75,10 @@
};
};
pkgs-emacs = import emacs-pin-nixpkgs {
system = systemSettings.system;
};
pkgs-kdenlive = import kdenlive-pin-nixpkgs {
system = systemSettings.system;
};
@ -103,6 +108,7 @@
extraSpecialArgs = {
# pass config variables from above
inherit pkgs-stable;
inherit pkgs-emacs;
inherit pkgs-kdenlive;
inherit systemSettings;
inherit userSettings;
@ -161,6 +167,7 @@
inputs = {
nixpkgs.url = "nixpkgs/nixos-unstable";
nixpkgs-stable.url = "nixpkgs/nixos-23.11";
emacs-pin-nixpkgs.url = "nixpkgs/f8e2ebd66d097614d51a56a755450d4ae1632df1";
kdenlive-pin-nixpkgs.url = "nixpkgs/cfec6d9203a461d9d698d8a60ef003cac6d0da94";
home-manager.url = "github:nix-community/home-manager/master";

View file

@ -1246,7 +1246,7 @@ https://github.com/magit/magit/issues/460 (@cpitclaudel)."
"q" 'helpful-kill-buffers)
;;;------ helpful configuration ------;;;
(add-load-path! "~/.nix-profile/share/emacs/site-lisp/elpa/mu4e-1.12.1")
(add-load-path! "~/.nix-profile/share/emacs/site-lisp/elpa/mu4e-1.10.8")
(require 'mu4e)
(require 'mu4e-contrib)
(require 'mu4e-actions)

View file

@ -1,13 +1,19 @@
{ config, lib, pkgs, pkgs-stable, userSettings, systemSettings,
{ config, lib, pkgs-emacs, pkgs-stable, userSettings, systemSettings,
org-nursery, org-yaap, org-side-tree, org-timeblock, phscroll, ... }:
let
themePolarity = lib.removeSuffix "\n" (builtins.readFile (./. + "../../../../themes"+("/"+userSettings.theme)+"/polarity.txt"));
dashboardLogo = ./. + "/nix-" + themePolarity + ".png";
in
{
imports = [
../git/git.nix
../../shell/sh.nix
../../shell/cli-collection.nix
];
programs.doom-emacs = {
enable = true;
emacsPackage = pkgs.emacs29-pgtk;
emacsPackage = pkgs-emacs.emacs29-pgtk;
doomPrivateDir = ./.;
# This block from https://github.com/znewman01/dotfiles/blob/be9f3a24c517a4ff345f213bf1cf7633713c9278/emacs/default.nix#L12-L34
# Only init/packages so we only rebuild when those change.
@ -18,7 +24,7 @@ in
filter = path: type:
builtins.elem (baseNameOf path) [ "init.el" "packages.el" ];
};
in pkgs.linkFarm "doom-packages-dir" [
in pkgs-emacs.linkFarm "doom-packages-dir" [
{
name = "init.el";
path = "${filteredPath}/init.el";
@ -29,7 +35,7 @@ in
}
{
name = "config.el";
path = pkgs.emptyFile;
path = pkgs-emacs.emptyFile;
}
];
# End block
@ -40,18 +46,16 @@ in
extension = ".el";
};
home.packages = (with pkgs; [
home.packages = (with pkgs-emacs; [
nil
nixfmt
git
file
wmctrl
jshon
aria
hledger
hunspell hunspellDicts.en_US-large
pandoc
(pkgs.mu.override { emacs = emacs29-pgtk; })
(pkgs-emacs.mu.override { emacs = emacs29-pgtk; })
emacsPackages.mu4e
isync
msmtp
@ -70,7 +74,7 @@ in
services.mbsync = {
enable = true;
package = pkgs.isync;
package = pkgs-stable.isync;
frequency = "*:0/5";
};

View file

@ -1469,7 +1469,7 @@ I don't have this active right now since it's kinda weird with pgtk...
** mu4e Configuration
#+BEGIN_SRC emacs-lisp :tangle config.el
;;;------ helpful configuration ------;;;
(add-load-path! "~/.nix-profile/share/emacs/site-lisp/elpa/mu4e-1.12.1")
(add-load-path! "~/.nix-profile/share/emacs/site-lisp/elpa/mu4e-1.10.8")
(require 'mu4e)
(require 'mu4e-contrib)
(require 'mu4e-actions)
@ -1934,16 +1934,22 @@ Any git package can be configured for a particular commit or branch:
* Nix Integration
In order to have Nix load my Doom Emacs configuration [[./doom.nix][doom.nix]], which I source in the =imports= block of my [[../../../profiles/work/home.nix][home.nix]].
#+BEGIN_SRC nix :tangle doom.nix
{ config, lib, pkgs, pkgs-stable, userSettings, systemSettings,
{ config, lib, pkgs-emacs, pkgs-stable, userSettings, systemSettings,
org-nursery, org-yaap, org-side-tree, org-timeblock, phscroll, ... }:
let
themePolarity = lib.removeSuffix "\n" (builtins.readFile (./. + "../../../../themes"+("/"+userSettings.theme)+"/polarity.txt"));
dashboardLogo = ./. + "/nix-" + themePolarity + ".png";
in
{
imports = [
../git/git.nix
../../shell/sh.nix
../../shell/cli-collection.nix
];
programs.doom-emacs = {
enable = true;
emacsPackage = pkgs.emacs29-pgtk;
emacsPackage = pkgs-emacs.emacs29-pgtk;
doomPrivateDir = ./.;
# This block from https://github.com/znewman01/dotfiles/blob/be9f3a24c517a4ff345f213bf1cf7633713c9278/emacs/default.nix#L12-L34
# Only init/packages so we only rebuild when those change.
@ -1954,7 +1960,7 @@ in
filter = path: type:
builtins.elem (baseNameOf path) [ "init.el" "packages.el" ];
};
in pkgs.linkFarm "doom-packages-dir" [
in pkgs-emacs.linkFarm "doom-packages-dir" [
{
name = "init.el";
path = "${filteredPath}/init.el";
@ -1965,7 +1971,7 @@ in
}
{
name = "config.el";
path = pkgs.emptyFile;
path = pkgs-emacs.emptyFile;
}
];
# End block
@ -1976,18 +1982,16 @@ in
extension = ".el";
};
home.packages = (with pkgs; [
home.packages = (with pkgs-emacs; [
nil
nixfmt
git
file
wmctrl
jshon
aria
hledger
hunspell hunspellDicts.en_US-large
pandoc
(pkgs.mu.override { emacs = emacs29-pgtk; })
(pkgs-emacs.mu.override { emacs = emacs29-pgtk; })
emacsPackages.mu4e
isync
msmtp
@ -2006,7 +2010,7 @@ in
services.mbsync = {
enable = true;
package = pkgs.isync;
package = pkgs-stable.isync;
frequency = "*:0/5";
};