Compare commits

...

5 Commits

Author SHA1 Message Date
Ryan Rix d6e2b4aae5 re-enable slime and common lisp 2022-09-28 16:01:30 -07:00
Ryan Rix bf1b37ec4d integrate my function for configuring IPAex fonts 2022-09-28 16:01:10 -07:00
Ryan Rix 97b0b4631b remove pinentry_qt5 -- this doesn't exist and is pulled in by [gnupg] configuration 2022-09-28 16:00:17 -07:00
Ryan Rix 022d5bd017 un-patch transpose-frame -- this patch is upstream 2022-09-28 16:00:00 -07:00
Ryan Rix 3cfc4b89bf update version pins 2022-09-28 15:59:52 -07:00
5 changed files with 31 additions and 81 deletions

View File

@ -96,7 +96,8 @@ Here is a set of functions for [[id:cce/cce][CCE]] which set up my font preferen
(with-eval-after-load 'linum (set-face-attribute 'linum nil :inherit 'default :height size)))
(set-face-attribute 'default nil :height size)
(set-face-attribute 'fixed-pitch nil :inherit 'default)
(set-face-attribute 'variable-pitch nil :slant 'oblique :height size))
(set-face-attribute 'variable-pitch nil :slant 'oblique :height size)
(cce/enable-ipaex-font (/ size 3)))
#+end_src
** Tweak font scaling based on display DPI
@ -105,7 +106,7 @@ Here is a set of functions for [[id:cce/cce][CCE]] which set up my font preferen
:ROAM_ALIASES: cce/refresh-display-scale
:END:
This calculates the DPI of external displays, assuming they report their physical size to =RandR=
This calculates the DPI of external displays, assuming they report their physical size to =RandR=. Evaluating this requires my [[id:e7f18233-1138-4ff8-bc06-36e8f04c0558][Japanese Study]] module to load, I should reorganize these and add a =#+ARROYO_MODULE_WANTS= sooner rather than later...
#+begin_src emacs-lisp
(add-hook 'after-cce-hook #'cce/refresh-display-scale)

View File

@ -2,13 +2,13 @@
:ID: cce/programming_common_lisp_in_emacs
:END:
#+TITLE: Programming Common Lisp in Emacs
#+filetags: :Project:Emacs:Tool:Coding:
#+filetags: :Emacs:Tool:Coding:
#+PROPERTY: header-args :mkdirp yes :results none
#+PROPERTY: header-args:emacs-lisp :tangle common-lisp.el
#+PROPERTY: header-args:yaml :tangle roles/endpoint/tasks/common-lisp.yml
!#+ARROYO_EMACS_MODULE: common-lisp
#+ARROYO_EMACS_MODULE: common-lisp
#+ARCOLOGY_KEY: cce/common-lisp
#+ARROYO_MODULE_WANTS: cce/programming_lisp_in_emacs.org
#+ARCOLOGY_ALLOW_CRAWL: t
@ -80,7 +80,8 @@ I use SBCL and quicklisp for managing my projects. I want to eventually do my Co
#+end_src
* DONE debug breakage in [[id:nix_community_emacs_overlay][nix-community/emacs-overlay]]
SCHEDULED: <2022-06-26 Sun>
SCHEDULED: <2022-07-30 Sat>
:LOGBOOK:
- State "DONE" from "NEXT" [2022-09-21 Wed 00:30]
- State "DONE" from "NEXT" [2022-06-29 Wed 15:09]
:END:

View File

@ -64,7 +64,6 @@ I use [[https://www.passwordstore.org/][the standard unix password manager]], =p
".password-store";
home.packages = [
pkgs.pinentry_qt5
pkgs.yubikey-personalization
];

View File

@ -11,6 +11,14 @@
[[id:c75d20e6-8888-4c5a-ac97-5997e2f1c711][NixOS]] is a big fan of reproduceability -- indeed that's what i'm using it for. But then I go read READMEs that say to do things like say "hey just download the code here from github's =master.tar.gz= and use it unconditionally". Nuh-uh, no can-do, bad idea. I'm going to maintain versions in a single Nix module which can be imported and used and updated when necessary.
To update this document:
- Call [[id:20220526T160150.431487][cce/update-nixpkgs-checkout]] to update nixpkgs and then possibly resolve merge conflicts myself.
- =M-o i= will call =nix-update-branch-revs= to fetch the latest revision for modules using =builtins.fetchGit=.[fn:1]
- =C-u M-o o= will call =nix-update-decls= to update the =rev= and =sha256= for the rest. Note the prefix argument which will force =nix-prefetch-git= to fetch the latest revisions of the default (or specified) branch.
To understand why/how read on:
* This document contains Magic
:PROPERTIES:
:ID: 20220913T142944.295536
@ -19,10 +27,6 @@
To get the [[id:957de5e6-0cc3-43c6-a915-4506cfa005bd][org-auto-tangle]] to work with the document I have had to be quite careful in how I construct it. I would like to be able to update all the refs on the page at once, by an affirmative user-action. The process for updating this file involves using modifications I've made of jweigley's [[id:20220913T104837.013589][nix-update-el]] and is simple to operate:
- Call [[id:20220526T160150.431487][cce/update-nixpkgs-checkout]] to update nixpkgs and then possibly resolve merge conflicts myself.
- =M-o i= will call =nix-update-branch-revs= to fetch the latest revision for modules using =builtins.fetchGit=.[fn:1]
- =C-u M-o o= will call =nix-update-decls= to update the =rev= and =sha256= for the rest. Note the prefix argument which will force =nix-prefetch-git= to fetch the latest revisions of the default (or specified) branch.
There is some scaffolding and nuance required to make this work in the tangle stage.
First of all, =org-auto-tangle= is smart enough to not execute [[id:cce/literate_programming][Org Babel]] functions by default. It's imperative to customize [[help:org-auto-tangle-babel-safelist]].
@ -65,9 +69,12 @@ By structuring these invocations like this it is possible to write a function co
[fn:1] This is required because I couldn't get =nix-update-decls= to update the revs of these without also populating a =sha256= key which will not be valid in a =builtins.fetchGit= invocation. Both [[id:nix_community_emacs_overlay][nix-community/emacs-overlay]] and [[id:cce/home-manager][home-manager]] are loaded in situations where there is no pre-existing [[id:c75d20e6-8888-4c5a-ac97-5997e2f1c711][nixpkgs]] to invoke, so they have to use this "impure" invocation.
* NEXT update my [[id:c75d20e6-8888-4c5a-ac97-5997e2f1c711][NixOS]] version pins and deploy
SCHEDULED: <2022-09-26 Mon .+2w>
SCHEDULED: <2022-10-12 Wed .+2w>
:PROPERTIES:
:LAST_REPEAT: [2022-09-12 Mon 16:42]
:LAST_REPEAT: [2022-09-28 Wed 15:59]
:END:
:LOGBOOK:
- State "DONE" from "NEXT" [2022-09-28 Wed 15:59]
:END:
: sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
@ -103,7 +110,7 @@ Right now I am running off a branch of [[id:c75d20e6-8888-4c5a-ac97-5997e2f1c711
#+NAME: prefetch-hm
#+results:
: "60c6bfe322944d04bb38e76b64effcbd01258824"
: "6dc8a43f397c92afbc3f771385ac803d96d5eeb5"
#+begin_src nix :noweb-ref homeManager :noweb yes
homeManager = _: builtins.fetchGit {
@ -120,7 +127,7 @@ homeManager = _: builtins.fetchGit {
#+NAME: prefetch-em
#+results:
: "e3e6197964f04cfbc2f83b8578286375250393cc"
: "5a0d13e02555d20144d34fb8c9af4900fe55ce06"
#+NAME: emacsOverlay
#+begin_src nix :noweb yes
@ -145,9 +152,9 @@ builds from https://codeberg.org/martianh/mastodon.el/commits/branch/main
#+begin_src nix :noweb-ref mastodon
mastodon = { pkgs, ... }: pkgs.fetchgit {
url = "https://codeberg.org/martianh/mastodon.el";
rev = "eece353104038f0776f9b67c23442813c70b8bcc";
sha256 = "16jahkppjvxi1vyvflmjvffy4nhlfh24zxr2788rc9c3h0bg08cn";
# date = "2022-09-12T22:43:10+02:00";
rev = "6b88c28779bd64aaf56c9d1e0c5fced77a506c0a";
sha256 = "1vr0bj52p7mkg354rpcz6zqpb0fjyai1q2cqpsrp005qr6j177si";
# date = "2022-09-22T11:40:46+02:00";
};
#+end_src
@ -183,9 +190,9 @@ consult-org-roam-rev = "268f436858e1ea3b263782af466a54e4d603a7d2";
consult-org-roam = {pkgs, ...}: pkgs.fetchFromGitHub {
owner = "jgru";
repo = "consult-org-roam";
rev = "268f436858e1ea3b263782af466a54e4d603a7d2";
sha256 = "0g2653a51gwmn0gskrwh9av384x2xp67mqz0gi1g3ryhyr74ifvr";
# date = "2022-09-04T11:02:33+02:00";
rev = "3eae47a4667a583e30703c1c5344e26225b5f676";
sha256 = "1p78nb940kyrlb3qpd2ll6zbvi1swdajc661ly9aq6kzmrvcia9r";
# date = "2022-09-21T07:07:59+02:00";
};
#+end_src
@ -213,9 +220,9 @@ org-fc = rec {
src = { pkgs, ... }: pkgs.fetchFromGitHub {
owner = "l3kn";
repo = "org-fc";
rev = "f64b5336485a42be91cfe77850c02a41575f5984";
sha256 = "1d0a3vr09zkplclypcgpfbfd6r0h0i3g3zsqb4pcz6x239d59gd5";
# date = "2022-01-06T18:51:43+01:00";
rev = "973a16a9561f1ed2fd7e4c5c614b5e5d15715b12";
sha256 = "07cjswmfwc1r11m77pp58rcpbxi3hayv2pnfrqz4zk4kvyb2zw2i";
# date = "2022-09-27T20:31:27+02:00";
};
};
#+end_src

View File

@ -39,61 +39,3 @@
Right now I just use this thing to navigate windows, along with [[id:cce/exwm][EXWM]]'s =other-frame= and =other-window= bindings. I would love to have better workspace support but I don't really feel like investing in it right now.
* override [[https://github.com/emacsorphanage/transpose-frame/pull/3/files][this]] patch in to my init.el
#+begin_quote
The redisplay-end-trigger functions were recently deprecated on emacs master: https://git.savannah.gnu.org/cgit/emacs.git/commit/etc/NEWS?id=5b29f8cd98c014b4b3e5844ef128ba97e65ea036
The NEWS section suggested that jit-lock-register should be used instead. I have tested this change locally, and it seems to work. However, I haven't really looked into the behavior of the new versus the deprecated function in detail, and I haven't tested the changed code very thoroughly.
I did use github to edit the file, but perhaps the minuteness of the change makes that acceptable. If not, I might be able to find time to redo the change using emacs and magit.
#+end_quote
#+begin_src diff :tangle ~/arroyo-nix/files/transpose-frame.patch :comments none
From 3a43de05a326f6b86bf4ab89abddbdcc612acc3b Mon Sep 17 00:00:00 2001
From: RKBK <shandolad@gmail.com>
Date: Wed, 10 Aug 2022 20:02:20 +0200
Subject: [PATCH] Replace deprecated function
The redisplay-end-trigger functions were recently deprecated on emacs master: https://git.savannah.gnu.org/cgit/emacs.git/commit/etc/NEWS?id=5b29f8cd98c014b4b3e5844ef128ba97e65ea036
The NEWS section suggested that `jit-lock-register` should be used instead. I have tested this change locally, and it seems to work. However, I haven't really looked into the behavior of the new versus the deprecated function in detail, and I haven't tested the changed code very thoroughly.
---
transpose-frame.el | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/transpose-frame.el b/transpose-frame.el
index d0d481c..bad33ab 100644
--- a/transpose-frame.el
+++ b/transpose-frame.el
@@ -110,7 +110,7 @@
(window-margins tree)
(window-fringes tree)
(window-dedicated-p tree)
- (window-redisplay-end-trigger tree)
+ (jit-lock-register tree)
tree
(eq tree (frame-selected-window frame)))
(let* ((vertical (car tree))
@@ -145,7 +145,7 @@
(set-window-margins window (caar config) (cdr (pop config)))
(apply 'set-window-fringes window (pop config))
(set-window-dedicated-p window (pop config))
- (set-window-redisplay-end-trigger window (pop config))
+ (jit-lock-register window (pop config))
(let* ((orig-window (pop config))
(ol-func (lambda (ol)
(when (eq (overlay-get ol 'window) orig-window)
--
2.37.1
#+end_src
Jam this patch in to [[id:arroyo/emacs][Arroyo Emacs]]:
#+ARROYO_HOME_EPKGS: overrides/transpose-frame.nix
#+begin_src nix :tangle ~/arroyo-nix/overrides/transpose-frame.nix
transpose-frame = epkgs.transpose-frame.overrideAttrs (old: old // {
patches = [ ../files/transpose-frame.patch ];
});
#+end_src