about summary refs log tree commit diff
path: root/emacs/.emacs.d/wpc/wpc-nix.el
AgeCommit message (Collapse)AuthorFilesLines
2020-09-01 More Elisp lintingWilliam Carroll1-2/+2
This should cover most of the remaining linting errors. After this, I expect fewer than ten linting errors.
2020-08-31 Lint more Elisp files, delete othersWilliam Carroll1-0/+4
I may regret this, but I delete Ocaml and ReasonML modules; I can alway restore them thanks to Git. Added more ceremony to other modules to appease the linting gods.
2020-08-31 Lint wpc-nix.elWilliam Carroll1-20/+21
- add "Code:" header - replace forward-slash with dash - prefer wpc-nix- prefix to nix/
2020-08-25 Replace calls to (getenv "BRIEFCASE") with constants/briefcaseWilliam Carroll1-3/+2
I would prefer to define constants/briefcase in terms of `(getenv "BRIEFCASE")` and assert that `(f-exists? (getenv "BRIEFCASE"))`, in one location: constants.el
2020-08-25 Remove unnecessary TODOWilliam Carroll1-2/+0
The Nix expression that builds `wpcarros-emacs` sets BRIEFCASE, so the .envrc isn't relied on.
2020-08-25 Remove unnecessary code from wpc-nix.elWilliam Carroll1-5/+2
TL;DR: - Prefer `(getenv "BRIEFCASE")` to `(f-expand "~/briefcase")`. I should audit my Emacs for references to ~/briefcase and replace those calls with `getenv`. - Remove calls setting <nixpkgs> and <depot> and rely exclusively on <briefcase> - Prefer ~/nixpkgs-channels to ~/nixpkgs. Notes: - I need a better way of calling `home-manager switch` that resides within my briefcase
2020-08-20 Drop support for dir-locals.nix, <nixpkgs>, etc.William Carroll1-1/+1
In the spirit of Marie Kondo, I'm tidying up! TL;DR: - Prefer .envrc `use_nix` and delete all dir-locals.nix files - Remove ~all references to <nixpkgs>, <unstable>, <depot> and prefer referencing each with briefcase.third_party.{pkgs,unstable,depot} - Delete nixBufferFromShell function since I was only using that in dir-locals.nix files
2020-04-02 Build either emacs.{glinux,nixos} depending on my current deviceWilliam Carroll1-7/+12
`M-x nix/rebuild-emacs` will build either emacs.glinux or emacs.nixos depending on whether I'm using a work device or a personal device.
2020-03-06 Include NIX_PATH settings in nix/rebuild-emacs functionWilliam Carroll1-2/+5
I'm currently setting NIX_PATH in ~/briefcase/shell.nix. This means when I call `nix/rebuild-emacs` from a buffer that is inside the briefcase directory, the command succeeds because NIX_PATH is properly defined. When I call `nix/rebuild-emacs` from any other location it fails. I'm hard-coding the NIX_PATH in this command so that I can call `nix/rebuild-emacs` from any buffer that is currently active.
2020-03-06 Support nix/home-manager-switchWilliam Carroll1-0/+10
As a part of my plan to reduce my dependence on the shell, I defined an Elisp function to call `home-manager switch` from `M-x`.
2020-03-04 Consume top-level emacs attributeWilliam Carroll1-3/+4
Refactor `nix/rebuild-emacs` to consume newly defined top-level emacs attribute.
2020-02-02 Support emacs fn for rebuilding wpcarros-emacsWilliam Carroll1-0/+7
Call `M-x` `nix/rebuild-emacs` to build and link `wpcarros-emacs`.
2020-01-31 Rename dotfiles -> briefcaseWilliam Carroll1-9/+11
Renaming my mono-repo briefcase. I first introduced this commit in master, but it introduced a bug where one of two things would happen: 1. Emacs wouldn't start and would crash X. 2. Emacs would start but my keyboard wouldn't work. I learned some valuable debugging skills in the process. Here are some of them: When my keyboard was broken, I wanted to control my computer using my laptop. Thankfully this is possible by using `x2x`, which forward X events from the SSH client to the SSH host. ```shell > # I'm unsure if this is the *exact* command > ssh -X desktop x2x -west :0.0 ``` Git commit-local bisecting. I didn't need to do a `git bisect` because I knew which commit introduced the bug; it was HEAD, master. But -- as you can see from the size of this commit -- there are many changes involved. I wanted to binary search through the changes, so I did the following workflow using `magit`: - git reset --soft HEAD^ - git stash 1/2 of the files changed - re-run `nix-env -f ~/briefcase/emacs -i` - restart X session - If the problem persists, the bug exists in the non-stashed files. Repeat the process until you find the bug. In my case, the bug was pretty benign. Calling `(exwm/switch "Dotfiles")` at the bottom of `window-manager.el` was failing because "Dotfiles" is the name of a non-existent workspace; it should've been `(exwm/switch "Briefcase")`. There may have been more problems. I changed a few other things along the way, including exposing the env vars BRIEFCASE to `wpcarros-emacs` inside of `emacs/default.nix`. The important part is that this was a valuable learning opportunity, and I'm glad that I'm walking away from the two days of "lost productivity" feeling actually productive.
2020-01-30 Move move .emacs.d out of configs/sharedWilliam Carroll1-0/+56
Moving all of my Emacs-related files into their own directory at the root of this repository.