about summary refs log tree commit diff
path: root/emacs/default.nix
AgeCommit message (Collapse)AuthorFilesLines
2020-08-31 Add xset to Emacs PATHWilliam Carroll1-0/+1
My CI failed after a call to xset resulted in a "file-missing Searching for program" error.
2020-08-31 Prefer inherit pattern to import Nix dependenciesWilliam Carroll1-13/+13
I'm starting to prefer the `inherit (builtins) path` pattern in my Nix expressions. I know this is idiomatic, so even if I don't like it, I am trying to learn to like it.
2020-08-31 Delete unused Emacs packagesWilliam Carroll1-3/+0
Cleaning things up...
2020-08-31 Allow configurable BRIEFCASE env var for CIWilliam Carroll1-26/+34
These were hard-coded as $HOME/BRIEFCASE, which won't work in CI, since CI runs as the user buildkite-agent-socrates, whose $HOME directory doesn't exist.
2020-08-27 Add build, lint Emacs steps to post-receive pipelineWilliam Carroll1-0/+15
TL;DR: - Define runEmacsScript to emacs/default.nix for ci/pipelines/post-receive - Write script.el to call (load init.el) and catch any errors - Lint Elisp with gonewest818/elisp-lint Also nice how Buildkite supports :gnu: emojis!
2020-08-27 Clean up emacs/default.nixWilliam Carroll1-5/+2
- Prefer prepending wpcDir, vendorDir to EMACSLOADPATH instead of using the --directory flag - Remove --load ${wpcPackageEl} because init.el calls (require 'wpc-package) - Surround $@ in 2x-quotes
2020-08-27 Remove exported DEPOT env var from wpcarros-emacsWilliam Carroll1-3/+0
wpcarros-emacs no longer depends on this being set.
2020-08-27 Prefer builtins.pathWilliam Carroll1-5/+26
Following the advice of Domen's nix.dev anti-patterns, I'm preferring something like... ```nix builtins.path { path = /path/to/some.where; name = "some.where"; } ``` ...to ```nix /path/to/some/where ``` While the former is more verbose, it will fail to build when the path doesn't exist, which I prefer.
2020-08-20 Add XMODIFIERS=emacsWilliam Carroll1-1/+2
This fixes the latest segfault I encountered after /usr/bin/{google-emacs,emacs} was updated...
2020-08-20 Add missing dependencies to emacs/default.nixWilliam Carroll1-0/+2
While debugging some broken Emacs config, I ran Emacs in X, where for some reason my PATH doesn't have my nix-env dependencies... because of this, when I call `~/.nix-profile/bin/wpcarros-emacs` to start my Emacs, I saw warnings about missing packages that I hadn't seen before. Nice!
2020-07-06 Prefer telephone-line to doom-modelineWilliam Carroll1-1/+1
After growing frustrated with doom-modeline's compatibility with my EXWM setup, I decided to borrow @tazjin's setup, which I find to be much more appealing.
2020-04-11 Support elm-mode for EmacsWilliam Carroll1-0/+1
Instead of (ab)using haskell-mode, support elm-mode. TODO: Support elm-format on buffer save
2020-04-02 Tidy up emacs/default.nixWilliam Carroll1-33/+13
When I run `nix-env -f '<briefcase>' -iA emacs`, Nix builds a derivation of wpcarros-emacs using the path to the Emacs derivation. This doesn't work well on glinux and causes strange behavior. For instance, Chrome crashes when it tries to browse for files. Building with `nix-env -iA emacs.glinux` fixes this and other problems. Miscellaneous other changes: - Remove unnecessary fix-point recursion - Drop support for unused dottime.el - Remove unused overrideEmacs - Remove unused withLocalConfig - Support emacs.glinux and emacs.nixos alternative derivations
2020-03-06 Include notmuch as an Emacs dependencyWilliam Carroll1-0/+1
`(require 'notmuch)` in `email.el` broke my Emacs initialization. This should fix that.
2020-03-06 Add programs to home-managerWilliam Carroll1-10/+0
Support commonly used programs like fd, exa, bat, etc. For now, I'm unsure how to manage the programs in my emacs/default.nix with my home.nix. I'll wait until I have a stronger opinion to handle this.
2020-03-01 Use doom-modelineWilliam Carroll1-0/+1
Cleaning up my modeline by using the beautiful doom-modeline package.
2020-03-01 Remove default values for Nix expression parametersWilliam Carroll1-6/+2
I'm not sure if this commit breaks everything in my monorepo. I think it will. Why am I doing this? Perhaps it's a bad idea. I don't fully understand how readTree works. My ignorance is costing me hours of time spent debugging. In an effort to better understand readTree, I'm removing the default values for my Nix expression parameters, which I believe have preventing errors from surfacing.
2020-02-10 Add ts.el to emacs/default.nixWilliam Carroll1-0/+1
I ran `M-x package-autoremove` that deleted `ts.el`, which wasn't listed in my default.nix. Adding it...
2020-02-10 Support vterm-mgt.elWilliam Carroll1-1/+1
I enjoyed using term-switcher so much that I ended up adopting vterm as my primary terminal. After reaching for vterm as often as I did, I realized that I would enjoy supporting cycling through instances, creating new instances, deleting existing instances, renaming instances. Thus spawned vterm-mgt.el. I'm particularly excited about the KBD to toggle between vterm instances and source code buffers.
2020-02-07 Add bin dependencies to wpcarros-emacsWilliam Carroll1-2/+20
I removed most of the packages that I install with `nix-env`. You can view these with `nix-env --query`. This is one small step in a grander project to migrate entirely to a declarative config managed by Nix.
2020-02-07 Remove assertions that prelude/executable-exists?William Carroll1-1/+6
I'm in the midst of transitioning onto a few new tools. My previous workflow just used `nix-env` to install *some* packages. I didn't have a prescribed methodology for which packages I would install using `nix-env` and which ones I would install using `sudo apt-get install`. Sometimes if a package would be available in my aptitude repositories, I'd use that; other times when it wasn't available I'd use `nix-env`. One complication about being on gLinux intead of NixOS is that some packages (e.g. nixpkgs.terminator) is available via `nix-env -iA nixpkgs.terminator`, but the installation won't actually run on my gLinux. In these instances, I would install terminator from the aptitude repositories. Then @tazjin introduced me to his Emacs configuration that he builds using Nix. What appealed to me about his built Emacs is that it worked as expected on either a NixOS machine and on gLinux (and presumably on other non-NixOS machines as well). A setup towards which I'm working is to own one or a few NixOS machines whose configurations are entirely managed with Nix. On devices like my work machines, which cannot run NixOS, I can build as much of the software that I need using Nix and attempt to minimize the ad hoc configuration either with shell scripts, python, golang, or more Nix code... it's clear that I still don't have a clear idea of how that part will work. For now, I'm adopting nix, nix-env, lorri, direnv, and weening off of aptitude as much as I can. Things are a bit messy, but my general trend feels positive. Stay tuned for more updates.
2020-02-05 Further configure Go toolingWilliam Carroll1-0/+1
- Prefer goimports to gofmt. goimports calls gofmt; it also adds and removes dependencies. - Assert the presence of goimports, godoc, godef - KBD godef to M-. - Support the M-x compile command for calling `go build -v`
2020-01-31 Support building wpcarros-emacsWilliam Carroll1-0/+6
I'm using a Makefile until I can remember the command: ```shell > nix-env -f . -i ``` This will install (i.e. `-i`) any derivations instantiated from the Nix expression resolvable by `-f`. Ideally the incantation will look something like this: ```shell > nix-env -f '<universe>' -iA emacs ``` Informing `nix-env` to install all of the derivations created by the expression at attribute `emacs` in my `<universe>` repository. For now two things are preventing this: 1. `emacs` isn't an attribute in my top-level expression defined in the `default.nix`. 2. If I do add `emacs` as an attribute and call the above command, my usage of `readTree` results in `pkgs` missing `.lib` and a few other stdlib commands that are available in `(import <nixpkgs> {})`. A fix for both of these should be forthcoming.
2020-01-30 Move move .emacs.d out of configs/sharedWilliam Carroll1-0/+140
Moving all of my Emacs-related files into their own directory at the root of this repository.