- 最近風邪でダウンしていたので近況
- Awesome Yasunoriに送られてきたMCPサーバー実装を試すためにClaude入門やらしていた
- yasunoriってなんなんだよ
- 半年くらい精神的に沈んでいたが、かなりまともな状態に戻ってきた。人生薔薇色
- 鬱症状の何が怖いって寛解した所で記憶は消えないことだと思う
- 絶望感や閉塞感、人に抱いた執着心など全て鮮明に心に残っている
- 思う所があって、ここ数週間くらいコンスタントにピアノに向かっているが、適切に練習したら上達することと、そんな一朝一夕には上達しないということを理解した
- 弾けたら楽しくて弾くモチベになるのでコンスタントに弾くのがいい。飽きたとか言ってサボるのが一番よくない
- 1日数分でもいいのでやるべき
- 弾けたら楽しくて弾くモチベになるのでコンスタントに弾くのがいい。飽きたとか言ってサボるのが一番よくない
- 寒くて体調がクソ悪い
- 環境変数完全に理解した
- Linuxの場合
systemctl --user get-environment
でほぼ素に近い環境変数取れるので、そこに/etc/profile
の結果を足したら大体なんとかなる- envコマンドを使うと変数を消した上で新しい物を適用できて便利
- tmuxのグローバル変数は
tmux show-environment -g
で取れてtmux set-environment -gu
で消せてtmux set-environment -g
で足せる- のでこれらを組み合わせると全部入れ替えられる
if [[ -z "${__env__}" ]]; then exec env -i $(systemctl --user show-environment) __env__=1 $(command -v bash) $(realpath $0)
- のでこれらを組み合わせると全部入れ替えられる
- Linuxの場合
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env python | |
import argparse | |
import os | |
import pty | |
import signal | |
import sys | |
import termios | |
parser = argparse.ArgumentParser() |
- 日報
- 最近Emacs周りに変更入ってるらしく妙に不安定なんだけど、Nixだととりあえずロールバックで回避できて最高だな
- nucleoをdduで動かそう計画、wasm-bindgenの使い方覚えたのでやるだけになった
- structのfieldにpub付けられるの知らなくてしばらくハマっていた
- nucleoの使い方もちょっと迷ったけど、最低限の例がリポジトリに載っていたのでなんとかなった
- NixのrustPlatformで軽微な修正を高速コンパイルする方法編み出したのでどこかで共有したい
- 雑に言うと以下のステップをやっている
- Cargo.lockとCargo.tomlだけ複製して
src/lib.rs
なりsrc/main.rs
なり生やして空のプロジェクトを作る- これはlinkFarmで達成できた
- これを
rustPlatform.buildRustPackage
でビルドかけてinstallPhase
でtarget
に圧縮かけてビルドステップを打ち切り
- Cargo.lockとCargo.tomlだけ複製して
- 雑に言うと以下のステップをやっている
- 日報
- GCの対象から今使ってるnixpkgsのderivation達を外したいので
nix-env
の使い方をひたすら調べていたnix-env -qa
を走らせるとnix build
と同じような方法で渡したファイルを評価、値そのものあるいは、値がAttrSetならその要素からderivationを集める- この際、要素がAttrSetでかつ
recurseForDerivations = true
であれば(この値はlib.recurseIntoAttrs
で生やせる)このAttrSetも再帰的に辿ってderivationを集めてくれる
- この際、要素がAttrSetでかつ
- トップレベルに生えてるalias(emacsPackages辺りがそう)は
recurseForDerivations
を外してあるので、nixpkgs側で収集する際は改めて生やしているらしい- ここで使われている
- Nixのビルドの中で
nix-env
叩くの思い付いた時「俺天才だわ」と思ってたけど、nixpkgsの中で既に行われていたでござる
- ついでに
command-not-found
が使っているDBのデータがどこから来ているのかも調べた- programs側を見るとチャンネルのデータの中の
programs.sqlite
というファイルを使っていることとチャンネルのリリースファイルがnixexprs.tar.xz
であることが書かれている - ここで、チャンネルリリースのスクリプトが全部nixpkgs内にあると思い込んでひたすらgrepをかけまくっていた模様
- programs側を見るとチャンネルのデータの中の
- ひたすらinit.el/orgと向き合って一日過ごしていた
- eval-when-compileの枠が増えてきたのでまとめて囲うようにした
- evil-modeのマイナーモード別キーバインドが最高すぎるのでずっと設定していた
- leaf.elで表記を削れる所を徐々に削っている
evil-define-key
がだるかったので階層で書けるマクロを書いた- advice完全に理解した。マクロの結果をいじくれるの便利だな
- パターンがすごいあるのでなんでもできるじゃんと思った
- ふと思ったけど、typstのコンテキストデフォルト値に似ているな
- 今日は一日体調が悪かった。睡眠が不規則すぎる
- ランチパックはオーブンで焼くと美味い
- :%!xxx-fmtをいい感じにスクリプトでやるという記事を書いた
- Vimでフォーマットをいい感じにやる方法の紹介をした
- the engineer’s paradiseでゴミ箱の話をしていたらgtrashなるツールを作者に推されたので入れてみた
- ファイルシステムをちゃんと見てくれるのがtrash-cliしか無かったので代替欲しいとずっと思ってたのでわいわいしてる
- Nixのpipe-operatorsはいいぞみたいな話をしていた。Lispのlet*やスレッドマクロなどもそうだけど、ネストを減らせるのはありがたい
NewerOlder