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" "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": { "emacs-so-long": {
"flake": false, "flake": false,
"locked": { "locked": {
@ -854,6 +869,7 @@
"blocklist-hosts": "blocklist-hosts", "blocklist-hosts": "blocklist-hosts",
"eaf": "eaf", "eaf": "eaf",
"eaf-browser": "eaf-browser", "eaf-browser": "eaf-browser",
"emacs-pin-nixpkgs": "emacs-pin-nixpkgs",
"home-manager": "home-manager", "home-manager": "home-manager",
"hyprland-plugins": "hyprland-plugins", "hyprland-plugins": "hyprland-plugins",
"kdenlive-pin-nixpkgs": "kdenlive-pin-nixpkgs", "kdenlive-pin-nixpkgs": "kdenlive-pin-nixpkgs",

View file

@ -1,9 +1,10 @@
{ {
description = "Flake of LibrePhoenix"; description = "Flake of LibrePhoenix";
outputs = inputs@{ self, nixpkgs, nixpkgs-stable, kdenlive-pin-nixpkgs, home-manager, nix-doom-emacs, outputs = inputs@{ self, nixpkgs, nixpkgs-stable, emacs-pin-nixpkgs, kdenlive-pin-nixpkgs,
nix-straight, stylix, blocklist-hosts, hyprland-plugins, rust-overlay, home-manager, nix-doom-emacs, nix-straight, stylix, blocklist-hosts,
org-nursery, org-yaap, org-side-tree, org-timeblock, phscroll, ... }: hyprland-plugins, rust-overlay, org-nursery, org-yaap, org-side-tree,
org-timeblock, phscroll, ... }:
let let
# ---- SYSTEM SETTINGS ---- # # ---- SYSTEM SETTINGS ---- #
systemSettings = { systemSettings = {
@ -74,6 +75,10 @@
}; };
}; };
pkgs-emacs = import emacs-pin-nixpkgs {
system = systemSettings.system;
};
pkgs-kdenlive = import kdenlive-pin-nixpkgs { pkgs-kdenlive = import kdenlive-pin-nixpkgs {
system = systemSettings.system; system = systemSettings.system;
}; };
@ -103,6 +108,7 @@
extraSpecialArgs = { extraSpecialArgs = {
# pass config variables from above # pass config variables from above
inherit pkgs-stable; inherit pkgs-stable;
inherit pkgs-emacs;
inherit pkgs-kdenlive; inherit pkgs-kdenlive;
inherit systemSettings; inherit systemSettings;
inherit userSettings; inherit userSettings;
@ -161,6 +167,7 @@
inputs = { inputs = {
nixpkgs.url = "nixpkgs/nixos-unstable"; nixpkgs.url = "nixpkgs/nixos-unstable";
nixpkgs-stable.url = "nixpkgs/nixos-23.11"; nixpkgs-stable.url = "nixpkgs/nixos-23.11";
emacs-pin-nixpkgs.url = "nixpkgs/f8e2ebd66d097614d51a56a755450d4ae1632df1";
kdenlive-pin-nixpkgs.url = "nixpkgs/cfec6d9203a461d9d698d8a60ef003cac6d0da94"; kdenlive-pin-nixpkgs.url = "nixpkgs/cfec6d9203a461d9d698d8a60ef003cac6d0da94";
home-manager.url = "github:nix-community/home-manager/master"; 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) "q" 'helpful-kill-buffers)
;;;------ helpful configuration ------;;; ;;;------ 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)
(require 'mu4e-contrib) (require 'mu4e-contrib)
(require 'mu4e-actions) (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, ... }: org-nursery, org-yaap, org-side-tree, org-timeblock, phscroll, ... }:
let let
themePolarity = lib.removeSuffix "\n" (builtins.readFile (./. + "../../../../themes"+("/"+userSettings.theme)+"/polarity.txt")); themePolarity = lib.removeSuffix "\n" (builtins.readFile (./. + "../../../../themes"+("/"+userSettings.theme)+"/polarity.txt"));
dashboardLogo = ./. + "/nix-" + themePolarity + ".png"; dashboardLogo = ./. + "/nix-" + themePolarity + ".png";
in in
{ {
imports = [
../git/git.nix
../../shell/sh.nix
../../shell/cli-collection.nix
];
programs.doom-emacs = { programs.doom-emacs = {
enable = true; enable = true;
emacsPackage = pkgs.emacs29-pgtk; emacsPackage = pkgs-emacs.emacs29-pgtk;
doomPrivateDir = ./.; doomPrivateDir = ./.;
# This block from https://github.com/znewman01/dotfiles/blob/be9f3a24c517a4ff345f213bf1cf7633713c9278/emacs/default.nix#L12-L34 # 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. # Only init/packages so we only rebuild when those change.
@ -18,7 +24,7 @@ in
filter = path: type: filter = path: type:
builtins.elem (baseNameOf path) [ "init.el" "packages.el" ]; builtins.elem (baseNameOf path) [ "init.el" "packages.el" ];
}; };
in pkgs.linkFarm "doom-packages-dir" [ in pkgs-emacs.linkFarm "doom-packages-dir" [
{ {
name = "init.el"; name = "init.el";
path = "${filteredPath}/init.el"; path = "${filteredPath}/init.el";
@ -29,7 +35,7 @@ in
} }
{ {
name = "config.el"; name = "config.el";
path = pkgs.emptyFile; path = pkgs-emacs.emptyFile;
} }
]; ];
# End block # End block
@ -40,18 +46,16 @@ in
extension = ".el"; extension = ".el";
}; };
home.packages = (with pkgs; [ home.packages = (with pkgs-emacs; [
nil nil
nixfmt nixfmt
git
file file
wmctrl wmctrl
jshon jshon
aria aria
hledger hledger
hunspell hunspellDicts.en_US-large hunspell hunspellDicts.en_US-large
pandoc (pkgs-emacs.mu.override { emacs = emacs29-pgtk; })
(pkgs.mu.override { emacs = emacs29-pgtk; })
emacsPackages.mu4e emacsPackages.mu4e
isync isync
msmtp msmtp
@ -70,7 +74,7 @@ in
services.mbsync = { services.mbsync = {
enable = true; enable = true;
package = pkgs.isync; package = pkgs-stable.isync;
frequency = "*:0/5"; 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 ** mu4e Configuration
#+BEGIN_SRC emacs-lisp :tangle config.el #+BEGIN_SRC emacs-lisp :tangle config.el
;;;------ helpful configuration ------;;; ;;;------ 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)
(require 'mu4e-contrib) (require 'mu4e-contrib)
(require 'mu4e-actions) (require 'mu4e-actions)
@ -1934,16 +1934,22 @@ Any git package can be configured for a particular commit or branch:
* Nix Integration * 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]]. 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 #+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, ... }: org-nursery, org-yaap, org-side-tree, org-timeblock, phscroll, ... }:
let let
themePolarity = lib.removeSuffix "\n" (builtins.readFile (./. + "../../../../themes"+("/"+userSettings.theme)+"/polarity.txt")); themePolarity = lib.removeSuffix "\n" (builtins.readFile (./. + "../../../../themes"+("/"+userSettings.theme)+"/polarity.txt"));
dashboardLogo = ./. + "/nix-" + themePolarity + ".png"; dashboardLogo = ./. + "/nix-" + themePolarity + ".png";
in in
{ {
imports = [
../git/git.nix
../../shell/sh.nix
../../shell/cli-collection.nix
];
programs.doom-emacs = { programs.doom-emacs = {
enable = true; enable = true;
emacsPackage = pkgs.emacs29-pgtk; emacsPackage = pkgs-emacs.emacs29-pgtk;
doomPrivateDir = ./.; doomPrivateDir = ./.;
# This block from https://github.com/znewman01/dotfiles/blob/be9f3a24c517a4ff345f213bf1cf7633713c9278/emacs/default.nix#L12-L34 # 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. # Only init/packages so we only rebuild when those change.
@ -1954,7 +1960,7 @@ in
filter = path: type: filter = path: type:
builtins.elem (baseNameOf path) [ "init.el" "packages.el" ]; builtins.elem (baseNameOf path) [ "init.el" "packages.el" ];
}; };
in pkgs.linkFarm "doom-packages-dir" [ in pkgs-emacs.linkFarm "doom-packages-dir" [
{ {
name = "init.el"; name = "init.el";
path = "${filteredPath}/init.el"; path = "${filteredPath}/init.el";
@ -1965,7 +1971,7 @@ in
} }
{ {
name = "config.el"; name = "config.el";
path = pkgs.emptyFile; path = pkgs-emacs.emptyFile;
} }
]; ];
# End block # End block
@ -1976,18 +1982,16 @@ in
extension = ".el"; extension = ".el";
}; };
home.packages = (with pkgs; [ home.packages = (with pkgs-emacs; [
nil nil
nixfmt nixfmt
git
file file
wmctrl wmctrl
jshon jshon
aria aria
hledger hledger
hunspell hunspellDicts.en_US-large hunspell hunspellDicts.en_US-large
pandoc (pkgs-emacs.mu.override { emacs = emacs29-pgtk; })
(pkgs.mu.override { emacs = emacs29-pgtk; })
emacsPackages.mu4e emacsPackages.mu4e
isync isync
msmtp msmtp
@ -2006,7 +2010,7 @@ in
services.mbsync = { services.mbsync = {
enable = true; enable = true;
package = pkgs.isync; package = pkgs-stable.isync;
frequency = "*:0/5"; frequency = "*:0/5";
}; };