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"
|
"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",
|
||||||
|
|
13
flake.nix
13
flake.nix
|
@ -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";
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -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";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -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";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue