Compare commits
5 Commits
dc65c8d5da
...
d6e2b4aae5
Author | SHA1 | Date |
---|---|---|
Ryan Rix | d6e2b4aae5 | |
Ryan Rix | bf1b37ec4d | |
Ryan Rix | 97b0b4631b | |
Ryan Rix | 022d5bd017 | |
Ryan Rix | 3cfc4b89bf |
|
@ -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)
|
||||||
|
|
|
@ -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:
|
||||||
|
|
|
@ -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
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
|
||||||
|
|
Loading…
Reference in New Issue