mirror of
https://github.com/librephoenix/nixos-config
synced 2025-01-18 22:55:52 +05:30
Pinned doom emacs so system updates are quicker and more stable
This commit is contained in:
parent
7d2f529896
commit
3cffd54525
16
flake.lock
16
flake.lock
|
@ -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",
|
||||
|
|
13
flake.nix
13
flake.nix
|
@ -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";
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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";
|
||||
};
|
||||
|
||||
|
|
|
@ -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";
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in a new issue