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))) (with-eval-after-load 'linum (set-face-attribute 'linum nil :inherit 'default :height size)))
(set-face-attribute 'default nil :height size) (set-face-attribute 'default nil :height size)
(set-face-attribute 'fixed-pitch nil :inherit 'default) (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 #+end_src
** Tweak font scaling based on display DPI ** 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 :ROAM_ALIASES: cce/refresh-display-scale
:END: :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 #+begin_src emacs-lisp
(add-hook 'after-cce-hook #'cce/refresh-display-scale) (add-hook 'after-cce-hook #'cce/refresh-display-scale)

View File

@ -2,13 +2,13 @@
:ID: cce/programming_common_lisp_in_emacs :ID: cce/programming_common_lisp_in_emacs
:END: :END:
#+TITLE: Programming Common Lisp in Emacs #+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 :mkdirp yes :results none
#+PROPERTY: header-args:emacs-lisp :tangle common-lisp.el #+PROPERTY: header-args:emacs-lisp :tangle common-lisp.el
#+PROPERTY: header-args:yaml :tangle roles/endpoint/tasks/common-lisp.yml #+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 #+ARCOLOGY_KEY: cce/common-lisp
#+ARROYO_MODULE_WANTS: cce/programming_lisp_in_emacs.org #+ARROYO_MODULE_WANTS: cce/programming_lisp_in_emacs.org
#+ARCOLOGY_ALLOW_CRAWL: t #+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 #+end_src
* DONE debug breakage in [[id:nix_community_emacs_overlay][nix-community/emacs-overlay]] * DONE debug breakage in [[id:nix_community_emacs_overlay][nix-community/emacs-overlay]]
SCHEDULED: <2022-06-26 Sun> SCHEDULED: <2022-07-30 Sat>
:LOGBOOK: :LOGBOOK:
- State "DONE" from "NEXT" [2022-09-21 Wed 00:30]
- State "DONE" from "NEXT" [2022-06-29 Wed 15:09] - State "DONE" from "NEXT" [2022-06-29 Wed 15:09]
:END: :END:

View File

@ -64,7 +64,6 @@ I use [[https://www.passwordstore.org/][the standard unix password manager]], =p
".password-store"; ".password-store";
home.packages = [ home.packages = [
pkgs.pinentry_qt5
pkgs.yubikey-personalization 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. [[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 * This document contains Magic
:PROPERTIES: :PROPERTIES:
:ID: 20220913T142944.295536 :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: 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. 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]]. 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. [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 * 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: :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: :END:
: sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= : sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
@ -103,7 +110,7 @@ Right now I am running off a branch of [[id:c75d20e6-8888-4c5a-ac97-5997e2f1c711
#+NAME: prefetch-hm #+NAME: prefetch-hm
#+results: #+results:
: "60c6bfe322944d04bb38e76b64effcbd01258824" : "6dc8a43f397c92afbc3f771385ac803d96d5eeb5"
#+begin_src nix :noweb-ref homeManager :noweb yes #+begin_src nix :noweb-ref homeManager :noweb yes
homeManager = _: builtins.fetchGit { homeManager = _: builtins.fetchGit {
@ -120,7 +127,7 @@ homeManager = _: builtins.fetchGit {
#+NAME: prefetch-em #+NAME: prefetch-em
#+results: #+results:
: "e3e6197964f04cfbc2f83b8578286375250393cc" : "5a0d13e02555d20144d34fb8c9af4900fe55ce06"
#+NAME: emacsOverlay #+NAME: emacsOverlay
#+begin_src nix :noweb yes #+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 #+begin_src nix :noweb-ref mastodon
mastodon = { pkgs, ... }: pkgs.fetchgit { mastodon = { pkgs, ... }: pkgs.fetchgit {
url = "https://codeberg.org/martianh/mastodon.el"; url = "https://codeberg.org/martianh/mastodon.el";
rev = "eece353104038f0776f9b67c23442813c70b8bcc"; rev = "6b88c28779bd64aaf56c9d1e0c5fced77a506c0a";
sha256 = "16jahkppjvxi1vyvflmjvffy4nhlfh24zxr2788rc9c3h0bg08cn"; sha256 = "1vr0bj52p7mkg354rpcz6zqpb0fjyai1q2cqpsrp005qr6j177si";
# date = "2022-09-12T22:43:10+02:00"; # date = "2022-09-22T11:40:46+02:00";
}; };
#+end_src #+end_src
@ -183,9 +190,9 @@ consult-org-roam-rev = "268f436858e1ea3b263782af466a54e4d603a7d2";
consult-org-roam = {pkgs, ...}: pkgs.fetchFromGitHub { consult-org-roam = {pkgs, ...}: pkgs.fetchFromGitHub {
owner = "jgru"; owner = "jgru";
repo = "consult-org-roam"; repo = "consult-org-roam";
rev = "268f436858e1ea3b263782af466a54e4d603a7d2"; rev = "3eae47a4667a583e30703c1c5344e26225b5f676";
sha256 = "0g2653a51gwmn0gskrwh9av384x2xp67mqz0gi1g3ryhyr74ifvr"; sha256 = "1p78nb940kyrlb3qpd2ll6zbvi1swdajc661ly9aq6kzmrvcia9r";
# date = "2022-09-04T11:02:33+02:00"; # date = "2022-09-21T07:07:59+02:00";
}; };
#+end_src #+end_src
@ -213,9 +220,9 @@ org-fc = rec {
src = { pkgs, ... }: pkgs.fetchFromGitHub { src = { pkgs, ... }: pkgs.fetchFromGitHub {
owner = "l3kn"; owner = "l3kn";
repo = "org-fc"; repo = "org-fc";
rev = "f64b5336485a42be91cfe77850c02a41575f5984"; rev = "973a16a9561f1ed2fd7e4c5c614b5e5d15715b12";
sha256 = "1d0a3vr09zkplclypcgpfbfd6r0h0i3g3zsqb4pcz6x239d59gd5"; sha256 = "07cjswmfwc1r11m77pp58rcpbxi3hayv2pnfrqz4zk4kvyb2zw2i";
# date = "2022-01-06T18:51:43+01:00"; # date = "2022-09-27T20:31:27+02:00";
}; };
}; };
#+end_src #+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. 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