### Changes for nixpkgs On branch: nixpkgs-unstable Commits:3eac120c3d...84aa23742f
- [81e04717](81e04717e8
) nixos/manual: document how to install over a serial port - [11382366](113823669b
) Revert "nixos/nix-daemon: fix sandbox-paths option" - [ea55d23c](ea55d23cd8
) diffoscope: fix build - [1d1efe54](1d1efe54cf
) staticjinja: 1.0.4 -> 2.0.0 - [a57e8bef](a57e8bef58
) mousai: 0.3.2 -> 0.4.1 ([NixOS/nixpkgs#124112](http://r.duckduckgo.com/l/?uddg=https://github.com/NixOS/nixpkgs/issues/124112)) - [6e72346f](6e72346fc3
) ytfzf: 1.1.5 -> 1.1.6 ([NixOS/nixpkgs#124119](http://r.duckduckgo.com/l/?uddg=https://github.com/NixOS/nixpkgs/issues/124119)) - [4f51b501](4f51b501fe
) erlangR22: 22.3.4.17 -> 22.3.4.19 - [5b42338f](5b42338f4e
) docs/release-notes: mention staticjinja - [4af47234](4af47234fa
) scikit-learn: disable some tests for darwin - [eef236e8](eef236e8ef
) ccls: fix libc++ header path - [d9b59212](d9b59212d5
) maintainers/teams: add gcc - [c913e53b](c913e53bdb
) gcc*: use maintainer team - [f2e5fa46](f2e5fa469c
) maintainers/teams: add vcunat to gcc - [4b1fa9e8](4b1fa9e847
) maintainers/teams: fix typo in gcc - [841cee20](841cee208f
) maintainers/teams: add ericson2314 to gcc - [3e91f422](3e91f422fd
) gcc11: use maintainer team - [821ca7d4](821ca7d4cc
) nixos/nginx: add option rejectSSL exposing ssl_reject_handshake - [8eb5701a](8eb5701aaf
) solanum: remove obsolete BANDB settings/patches - [f7ccc5f3](f7ccc5f35d
) weechatScripts.weechat-matrix: fix matrix_sso_helper path - [f57fb184](f57fb1844c
) microplane: 0.0.31 -> 0.0.32 - [fb1d3d68](fb1d3d68db
) CODEOWNERS: merge the neovim lines as they are not additive - [40dd7e38](40dd7e38cc
) phpPackages.composer: 2.0.13 -> 2.0.14 - [3105dd0f](3105dd0f0c
) squashfs-tools-ng: mark no longer broken on aarch64-darwin - [031ea812](031ea8124c
) Add backporting action - [cbd71e1c](cbd71e1cd4
) faraday: init at version 0.2.3 - [94fc5998](94fc5998a0
) maintainers: add ProofOfKeags - [cdd56a42](cdd56a425c
) element: 1.7.28 -> 1.7.29 - [741c61b7](741c61b735
) plexamp: 3.4.4 -> 3.4.6 ([NixOS/nixpkgs#121887](http://r.duckduckgo.com/l/?uddg=https://github.com/NixOS/nixpkgs/issues/121887)) - [338b0fe1](338b0fe1c5
) python3Packages.mocket: 3.9.40 -> 3.9.41 - [f0fa0574](f0fa057420
) python3Packages.pulsectl: 21.5.17 -> 21.5.18 - [54144caa](54144caa06
) links2: 2.22 -> 2.23 - [0c8f5b7b](0c8f5b7b44
) gitlab: add Gemfile fix to update script - [1ded8ef4](1ded8ef44e
) gitlab: 13.11.2 -> 13.12.0 - [9d396b56](9d396b5600
) lief: 0.11.4 -> 0.11.5 - [b6933f88](b6933f88a5
) fetchurl: add testpypi mirror ([NixOS/nixpkgs#123146](http://r.duckduckgo.com/l/?uddg=https://github.com/NixOS/nixpkgs/issues/123146)) - [d706be98](d706be982a
) rebar3: 3.16.0 -> 3.16.1 - [4d3d0c27](4d3d0c2710
) python3Packages.adafruit-platformdetect: 3.13.2 -> 3.13.3 - [5ba789ee](5ba789eeca
) gnomeExtensions: normalize pnames - [8cb51f8c](8cb51f8c74
) .github/workflows/nixos-manual.yml: add repository_owner condition - [72a1b62b](72a1b62b47
) mixRelease: integrate mix2nix - [fdc024bc](fdc024bcff
) elixir_ls: update to new mixRelease api - [6d1621c3](6d1621c324
) beam: fix documentation - [f55c3e2f](f55c3e2f21
) beam-packages: drop erlang R18 R19 R20 and cuter - [7cb8324a](7cb8324a91
) arc_unpacker: 2019-01-28 -> 2021-05-17, add darwin build ([NixOS/nixpkgs#123393](http://r.duckduckgo.com/l/?uddg=https://github.com/NixOS/nixpkgs/issues/123393)) - [1b7c8504](1b7c850437
) python3Packages.lightgbm: fix for darwin - [6ce887b0](6ce887b083
) stgit: enable tests and install documentation ([NixOS/nixpkgs#122370](http://r.duckduckgo.com/l/?uddg=https://github.com/NixOS/nixpkgs/issues/122370)) - [12b265cb](12b265cb5a
) xwallpaper: 0.6.6 -> 0.7.0 - [571d540a](571d540abf
) gnomeExtensions: Fix the package names - [b5b943de](b5b943de10
) argo: 3.0.4 -> 3.0.6 - [0e91b031](0e91b031f6
) terraform-providers.hydra: 0.1.0 -> 0.1.1 - [cc73a46e](cc73a46e9a
) wireshark: set mainProgram - [c06126fe](c06126fe26
) elisp-packages: add perl5 and ncurses to buildInputs via overrideAttrs - [fb3da87a](fb3da87aa3
) Update .github/workflows/backport.yml - [266f6ee6](266f6ee63a
) exempi: disable tests for i686 - [2ff04470](2ff04470d1
) csvtool: init at 2.4 ([NixOS/nixpkgs#122855](http://r.duckduckgo.com/l/?uddg=https://github.com/NixOS/nixpkgs/issues/122855)) - [501e5408](501e54080d
) discord: 0.0.14 -> 0.0.15 - [34a84c4b](34a84c4b0e
) girara: fix build on darwin ([NixOS/nixpkgs#124337](http://r.duckduckgo.com/l/?uddg=https://github.com/NixOS/nixpkgs/issues/124337)) - [68e65592](68e65592e3
) Update .github/workflows/backport.yml - [b26fc090](b26fc090cb
) backport action: comment to keep pin in sync - [51c7afa9](51c7afa95e
) backport action: document the workflow - [c2fbb335](c2fbb335d5
) uivonim: init at unstable-2021-05-24 - [61f556a6](61f556a60b
) openconnect: fix license information - [6bc4bf83](6bc4bf83e2
) pcloud: 1.9.1 -> 1.9.2 - [b6f54db7](b6f54db787
) chromiumBeta: 91.0.4472.69 -> 91.0.4472.77 - [88305beb](88305beb43
) navidrome: 0.42.1 -> 0.43.0 - [5d066974](5d0669742f
) marwaita: 9.2.1 -> 9.2.2 - [80672e6f](80672e6f50
) pythonPackages.fiona: 1.8.18 -> 1.8.19 ([NixOS/nixpkgs#124359](http://r.duckduckgo.com/l/?uddg=https://github.com/NixOS/nixpkgs/issues/124359)) - [44595a67](44595a679b
) maintainer-list: add sheepforce (me) - [61210e67](61210e673e
) helvum: init at 0.2.0 - [ab484473](ab484473ae
) qcelemental: init at 0.20.0 - [a0160c0a](a0160c0ae8
) python3Packages.pywemo: disable failing test - [140828ce](140828ce38
) nixos/kresd: tell resolveconf to use local resolver - [8f5c32af](8f5c32af53
) python3Packages.pyupgrade: 2.16.0 -> 2.18.0 ([NixOS/nixpkgs#124387](http://r.duckduckgo.com/l/?uddg=https://github.com/NixOS/nixpkgs/issues/124387)) - [4a1c0cdb](4a1c0cdba8
) python3Packages.frozenlist: init at 1.1.1 - [1202bf42](1202bf4227
) python3Packages.tokenizers: 0.10.1 -> 0.10.3 - [2c5f7b24](2c5f7b241c
) python3Packages.tokenizers: canonicalize tests - [8bf543af](8bf543af06
) libfixposix: add support for darwin - [b0798e7d](b0798e7d4b
) python3Packages.zwave-js-server-python: 0.24.0 -> 0.25.0 - [0ddb62fd](0ddb62fda6
) python3Packages.aiosignal: init at 1.1.1 - [919dd549](919dd5497a
) nginxStable: 1.20.0 -> 1.20.1 - [0a7feef8](0a7feef809
) nginxMainline: 1.20.0 -> 1.21.0 - [5937dcdf](5937dcdf36
) lispPackages: fix darwin builds - [8147b879](8147b87980
) fix editorconfig - [4d318bcb](4d318bcb5a
) nixos/doc/releases: remove - [e522464f](e522464f9a
) chromium: 90.0.4430.212 -> 91.0.4472.77 - [ccb0f008](ccb0f0080d
) python3Packages.yeelight: 0.6.2 -> 0.6.3 - [0995d4e2](0995d4e24d
) kubei: 1.0.11 -> 1.0.12 - [a793aacf](a793aacf9d
) neovim: accepts an extraName to distinguish between wrappers - [abb1e5cd](abb1e5cd4c
) vimUtils: dont use the alias to vim-pathogen - [7836469d](7836469dbe
) neovimUtils: makeNeovimConfig accepts plugins/customRc - [4a860879](4a860879ea
) wrapNeovimUnstable: accept a wrapRc boolean - [34595fbd](34595fbd39
) urlwatch: 2.21 -> 2.23 - [995d2d87](995d2d87c8
) devpi-client: set __darwinAllowLocalNetworking - [46e66614](46e66614d9
) devpi-server: set __darwinAllowLocalNetworking - [25956ecf](25956ecf05
) python3Packages.async-upnp-client: 0.17.0 -> 0.18.0 - [7f7262ce](7f7262ce0f
) snowcrash: init at unstable-2021-04-29 - [4bda49e9](4bda49e963
) ViennaRNA: 2.4.17 -> 2.4.18 - [4ef1d33c](4ef1d33c7c
) python3Packages.xgboost: fix tests for darwin - [69a8615a](69a8615a63
) macchina: 0.8.1 -> 0.8.21 - [0579444f](0579444f1d
) podman: add systemd to LD_LIBRARY_PATH for journald log driver - [3e4aeea6](3e4aeea693
) pinball: fix - [25532425](2553242531
) python3Packages.aioesphomeapi: 2.7.0 -> 2.8.0 - [df1bf616](df1bf616ae
) home-assistant: disable flaky test in prometheus component - [60753cef](60753cefb7
) stlink: add withGUI option ([NixOS/nixpkgs#124017](http://r.duckduckgo.com/l/?uddg=https://github.com/NixOS/nixpkgs/issues/124017)) - [69f5a946](69f5a9460c
) exploitdb: init at 2021-05-22 ([NixOS/nixpkgs#124209](http://r.duckduckgo.com/l/?uddg=https://github.com/NixOS/nixpkgs/issues/124209)) - [890e8a8e](890e8a8e33
) postgresqlPackages.pg_rational: init at 0.0.2 ([NixOS/nixpkgs#124257](http://r.duckduckgo.com/l/?uddg=https://github.com/NixOS/nixpkgs/issues/124257)) - [3325e2df](3325e2dfc6
) mdk4: init at unstable-2021-04-27 - [e0a03353](e0a033538e
) mdbook: 0.4.7 -> 0.4.8 - [4f6b97f2](4f6b97f2ac
) .github/workflows/rebase.yml: update for 21.05 - [66ca6d0b](66ca6d0b61
) postgresqlPackages.pgvector: 0.1.4 -> 0.1.5 - [4c85f2cf](4c85f2cfc3
) postgresqlPackages.pgroonga: 2.2.9 -> 2.3.0 - [0c814df8](0c814df8b5
) postgresqlPackages.smlar: 2020-04-08 -> 2020-10-07 - [c5bed409](c5bed409b2
) discord: fix runtime linking - [7e2ec8f8](7e2ec8f8a1
) pythonPackages.matplotlib: fix headless detection - [3a3e1134](3a3e1134a8
) pythonPackages.matplotlib: remove unsused arguments - [7672576a](7672576a0d
) pythonPackages.matplotlib: add licenses - [52d8d955](52d8d95554
) fly: 7.2.0 -> 7.3.0 - [4777c041](4777c04130
) go-tools: 2020.2.4 -> 2021.1 - [9baeb634](9baeb63482
) lib2geom: init at 1.0.0 - [ff8752a6](ff8752a603
) lib2geom: update 2020-03-12 -> 1.1 - [413d9271](413d927150
) inkscape: 1.0.2 -> 1.1 - [d729a5ce](d729a5ce7c
) grype: 0.11.0 -> 0.12.1 - [61c23715](61c2371594
) python3Packages.scikit-bio: mark as x86_64-only - [05ef940b](05ef940b94
) python3Packages.pylutron-caseta: 0.9.0 -> 0.10.0 - [88325eda](88325edab9
) httpx: 1.0.6 -> 1.0.7 - [ea6adf3e](ea6adf3ea0
) ocamlPackages.ocsigen_server: 2.16.0 → 2.18.0 - [153eed52](153eed5204
) keycloak: 13.0.0 -> 13.0.1 - [8f23eb07](8f23eb073a
) betterlockscreen: readd patch for i3color - [00570252](005702524a
) git-vendor: init at 1.2.0 - [472dad9d](472dad9d2e
) cowsay: 3.03+dfsg2 -> 3.0. - [5be62dca](5be62dca8c
) signal-desktop: 5.2.1 -> 5.3.0 - [a6788be0](a6788be01a
) nixos/luksroot: add bypassWorkqueues ([NixOS/nixpkgs#118114](http://r.duckduckgo.com/l/?uddg=https://github.com/NixOS/nixpkgs/issues/118114)) - [3847a2a8](3847a2a859
) amidst: init at 4.6 ([NixOS/nixpkgs#124213](http://r.duckduckgo.com/l/?uddg=https://github.com/NixOS/nixpkgs/issues/124213)) - [3e9365ae](3e9365aefb
) vieb: 4.5.1 -> 5.0.0 - [388a3293](388a329383
) abcmidi: 2021.05.19 -> 2021.05.25 ([NixOS/nixpkgs#124480](http://r.duckduckgo.com/l/?uddg=https://github.com/NixOS/nixpkgs/issues/124480)) - [cbaf78cd](cbaf78cdaa
) lean: substitute release commit sha1 - [36e7b850](36e7b8509a
) qcengine: init at 0.19.0 ([NixOS/nixpkgs#124501](http://r.duckduckgo.com/l/?uddg=https://github.com/NixOS/nixpkgs/issues/124501)) - [83b63c93](83b63c93de
) include-what-you-use: 0.14 -> 0.16 - [f43e46e6](f43e46e6de
) python3Packages.pyfritzhome: 0.6.0 -> 0.6.1 - [77b08e24](77b08e24b9
) python3Packages.aioshelly: 0.6.3 -> 0.6.4 - [007d723c](007d723c1e
) packet-cli: 0.3.0 -> 0.5.0 - [d10825ed](d10825ede2
) kubernetes-helmPlugins.helm-secrets: 3.6.1 -> 3.7.0 - [4c7cf79b](4c7cf79b36
) terraform-providers.hydra: 0.1.1 -> 0.1.2 - [84aa2374](84aa23742f
) poppler: build with nss by default for signature support ([NixOS/nixpkgs#124294](http://r.duckduckgo.com/l/?uddg=https://github.com/NixOS/nixpkgs/issues/124294))
nix-doom-emacs
Status | |
---|---|
Build on master |
|
Build on develop |
|
Dependency updater |
Nix expression to install and configure doom-emacs.
The expression builds a doom-emacs
distribution with dependencies
pre-installed based on an existing ~/.doom.d
directory.
It is not a fully fledged experience as some dependencies are not installed and
some may not be fully compatible as the version available in NixOS or
emacs-overlay may not be
compatible with the doom-emacs
requirements.
Getting started
Using home-manager:
{ pkgs, ... }:
let
doom-emacs = pkgs.callPackage (builtins.fetchTarball {
url = https://github.com/vlaci/nix-doom-emacs/archive/master.tar.gz;
}) {
doomPrivateDir = ./doom.d; # Directory containing your config.el init.el
# and packages.el files
};
in {
home.packages = [ doom-emacs ];
home.file.".emacs.d/init.el".text = ''
(load "default.el")
'';
}
./doom.d
should contain the following three files: config.el
, init.el
and
packages.el
. If you don't already have an existing doom-emacs
configuration,
you can use the contents of test/doom.d
as a template.
Using flake.nix
:
{
inputs = {
home-manager.url = "github:rycee/home-manager";
nix-doom-emacs.url = "github:vlaci/nix-doom-emacs";
};
outputs = {
self,
nixpkgs,
home-manager,
nix-doom-emacs,
...
}: {
nixosConfigurations.exampleHost = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
home-manager.nixosModules.home-manager
{
home-manager.users.exampleUser = { pkgs, ... }: {
imports = [ nix-doom-emacs.hmModule ];
programs.doom-emacs = {
enable = true;
doomPrivateDir = ./doom.d;
};
};
}
];
};
};
}
Under the hood
This expression leverages nix-straight.el under the hood for installing dependencies. The restrictions of that package apply here too.
Usage
instead of running emacs.d/bin/doom, once you have update your config files (packages.el, init.el, config.el), rebuild doom-emacs with nix. If you are using home-manager, simply run home-manager switch
Troubleshooting
On macOS on a fresh install, you might run into the error Too many files open
. running ulimit -S -n 2048
will only work for the duration of your shell and will fix the error
Installing emacs packages
In the initial packages.el instructions for how to install packages can be
found. However some packages might require a particular software dependency to
be installed. Trying to install those would give you an error of the type:
Searching for program: No such file or directory, git
(Missing git dependency)
Here is how you would go installing
magit-delta for example (which
requires git).
Under the line:
doomPrivateDir = ./doom.d;
in your configuration, you would add the following:
emacsPackagesOverlay = self: super: {
magit-delta = super.magit-delta.overrideAttrs (esuper: {
buildInputs = esuper.buildInputs ++ [ pkgs.git ];
});
};
To make the git dependency available. trying to rebuild doom-emacs with
home-manager switch
should work correctly now.
Using the daemon
To use the daemon, simply enable the emacs service (with NixOS
, home-manager
or nix-darwin
) and use the doom emacs package. doom-emacs
will need to be
referenced at the top of your config file.
services.emacs = {
enable = true;
package = doom-emacs; # use programs.emacs.package instead if using home-manager
}
to connect to the daemon you can now run emacsclient -c