パッケージレジストリプロキシを環境変数で設定するやつ

概要

世間でサプライチェーン攻撃がひどいので Takumi Guard を使わせていただく。

設定

  • 設定が散らばると面倒なのですべて環境変数で設定する方針
  • 自分が使いそうなやつだけ
  • ちょっと面倒なのでトークンは付与しない路線
1
2
3
4
5
6
export NPM_CONFIG_REGISTRY=https://npm.flatt.tech
export PNPM_CONFIG_REGISTRY=https://npm.flatt.tech
export YARN_NPM_REGISTRY_SERVER=https://npm.flatt.tech
export GOPROXY=https://golang.flatt.tech
export BUNDLE_MIRROR__RUBYGEMS__ORG=https://rubygems.flatt.tech
export PIP_INDEX_URL=https://pypi.flatt.tech/simple

確認

npm

1
2
$ npm config get registry
https://npm.flatt.tech

pnpm

上記設定は v11 以上向け。v10 以下は NPM_CONFIG_REGISTRY が参照される。

1
2
$ pnpm config get registry
https://npm.flatt.tech/

yarn

1
2
$ yarn config get npmRegistryServer
https://npm.flatt.tech

go

1
2
$ go env GOPROXY
https://golang.flatt.tech

bundler

1
2
3
$ bundle config get mirror.rubygems.org
Settings for `mirror.rubygems.org` in order of priority. The top value will be used
Set via BUNDLE_MIRROR__RUBYGEMS__ORG: "https://rubygems.flatt.tech"

pip

1
2
$ pip config get :env:.index-url
https://pypi.flatt.tech/simple

Windows Update 後?に WSL での apt update が失敗するようになった件の対処

発生したのは数カ月前だけど手元にメモが残っていたのでとりあえず公開しておきます。 ちなみに Windows Update がトリガーだったのかすら正確には覚えておらずです。

エラーはこんな内容でした。
なにやら GPG まわりでエラーが発生していた様子です。

1
2
3
4
5
6
7
8
9
10
11
12
13
$ sudo apt update
Get:1 https://packages.microsoft.com/ubuntu/24.04/prod noble InRelease [3600 B]
Err:1 https://packages.microsoft.com/ubuntu/24.04/prod noble InRelease
The following signatures couldn't be verified because the public key is not available: NO_PUBKEY EB3E94ADBE1229CF
Hit:2 http://security.ubuntu.com/ubuntu noble-security InRelease
Hit:3 http://archive.ubuntu.com/ubuntu noble InRelease
Hit:4 http://archive.ubuntu.com/ubuntu noble-updates InRelease
Hit:5 http://archive.ubuntu.com/ubuntu noble-backports InRelease
Reading package lists... Done
W: GPG error: https://packages.microsoft.com/ubuntu/24.04/prod noble InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY EB3E94ADBE1229CF
E: The repository 'https://packages.microsoft.com/ubuntu/24.04/prod noble InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details

ソース情報のうち、MS のやつを見てみると GPG 鍵のパスが判明しました。

1
2
$ cat /etc/apt/sources.list.d/*.list | grep microsoft
deb [arch=amd64,arm64,armhf signed-by=/usr/share/keyrings/microsoft-prod.gpg] https://packages.microsoft.com/ubuntu/24.04/prod noble main

そのパスにファイルが存在しているのか確認したらなくなっていました。

1
2
$ ll /usr/share/keyrings/microsoft-prod.gpg
ls: cannot access '/usr/share/keyrings/microsoft-prod.gpg': No such file or directory

どこから拾ってきたのか忘れたけど EB3E94ADBE1229CF でググって出てきた MS 公式の情報から、以下を問題のパスに配置する対応となりました。

1
$ curl -sSL https://packages.microsoft.com/keys/microsoft.asc | sudo gpg --dearmor -o /usr/share/keyrings/microsoft-prod.gpg

これで無事に apt update ができるようになりました。

1
$ sudo apt update

ニート日報2 2025-03-16

ざっくり

日報をサボっているうちに気づいたらニート期間最終日になっていました。30連休は長かったようで終わってみればあっという間でした。普段の1ヶ月も爆速に感じるので当たり前ではありますが。

前回の日報からのハイライトになりそうなのはざっくり以下でした。

  • 実家でなんやかんや
  • 引越し先を探してほぼ確定
  • ノープラン旅行一泊をねじ込み
  • いろんなクラスタと🍺
  • モンハン

3月に入ってからはやはりモンハンの濃度が高かったです。仕事がない期間にモンハンの新作が発売されるというのは危険でした……。

反面、開発系はあまりやる気が湧かずに進捗せず。せっかく休みだしそういう期間でも良いか、と開き直っておきました。話題のClineを触るのだけはちらっとやりました。

休みの終わり

今日で長期休みが終わるのに「休みが終わってしまう😭」みたいな感情は不思議なことにほとんど無く和やかな状態ではあります。休みすぎて休みに飽きた感があるのかもしれません。

とりあえず明日から新しい環境になるので、うまく馴染めるように頑張っていこうかと思います。

ニート日報2 2025-02-19

今日やろうと思っていたこと

  • ✅ 走る
  • ✅ 確定申告(所得税)を申告まで終わらせる
    • ✅ 消費税申告も無の申告をする
  • 掃除とアルコール消毒を進める
  • ちまちま書いてるコードを進める

今日のまとめ

  • 確定申告は所得税も消費税も完了
    • 外国税額控除完全に理解した
      • 限度額の計算に使う総所得・所得税額を分離課税分だけだと勘違いしていた(実際にはすべての所得の合計)
      • さらに定額減税と外国税額控除のコンボで複雑なことになっていた
      • システムによる計算と手計算が完全一致したときは気持ち良すぎた
    • 消費税申告は無駄にインボイス登録しちゃってたから必須になってしまい、0円で申告した
    • 還付振込はよ
  • 走るのは順調に量を増やし中
    • 以前やってたところまで戻すのが直近の目標
  • 飯は昼夜自炊
  • 確定申告が終わった開放感で満たされて他がぜんぜんできてない

明日やりたいこと

  • 走る
  • 家の設備修理
  • 送別会
  • 掃除とアルコール消毒を進める
  • ちまちま書いてるコードを進める

ニート日報2 2025-02-18

今日やろうと思っていたこと

  • ❌ 掃除とアルコール消毒を進める
  • ✅ 確定申告をほぼ終わらせる(一晩寝かせて水曜に申告まで完了させたい)
  • ❌ ちまちま書いてるコードを進める
  • ✅ 社のイベントに顔を出す

今日のまとめ

  • 確定申告は終わってないけどかなり進捗中
    • 今年は確定申告書等作成コーナーでやってる
    • 外国税額控除のシステムによる計算結果と自分の理解による手計算の値が一致しなくて、理解するために時間を要しまくってる(システム側が合ってるはず)
    • ChatGPT にソースとなる URL を提示してもらいつつ相談するのが便利
      • 正しいことを言っているのか、こっちの責任で判断することができる
  • 確定申告で時間を使って他のことができてない
  • 社のイベントには顔を出してきた
    • 退職後に初めて物理で会って挨拶をしたw
  • 昼飯に初見の二郎系ラーメン屋へ行った
    • 麺を減らして注文できることを知らず、フルサイズの二郎系を食べることに……
    • おそらく閉店時間をかなり過ぎた状態でなんとか食べきった
    • 帰り際に店員さんに聞いたら、麺の量は調整できたらしい
  • 食後に100分ちょい散歩した
    • 約束された圧倒的な血糖値スパイクへの対策
    • 前に住んでいた家の周辺を散策した

明日やりたいこと

  • 走る
  • 確定申告を申告まで終わらせる
    • 消費税申告も無の申告をする
  • 掃除とアルコール消毒を進める
  • ちまちま書いてるコードを進める

ニート日報2 2025-02-17

今日やろうと思っていたこと

  • ✅ 走る時間を少しだけでも増やす
  • ✅ 読みかけの本を読み切る
  • ❌ 掃除とアルコール消毒を進める
  • ✅ 整形外科へ行く
  • ✅ 送別会的なやつ
  • ✅ モンハン

今日のまとめ

  • 走るのは昨日よりは時間を伸ばした
    • ちょっと筋肉痛
  • Tidy First? は読み終わった
    • 今後の動き方に影響は与えられたと思う
  • 掃除は失敗
  • 整形外科は行った
    • やっぱ混みすぎて地獄
    • わずかに腰がヘルニアの気配があるけどまだ様子見で問題ないレベルだった
    • 温めろと言われた
  • 送別会というか特定チームの同窓会的なやつ
    • 懐かしみ
    • やっぱ業界狭いなーと
    • 人生
  • モンハンはちょいちょいやった
    • これまでのベータの合計より今日の方が多かった
    • 今までタイミングが合わず体感2クエくらいしかできてなかった

明日やりたいこと

  • (足に筋肉痛出てきてるので走るのは休憩)
  • 掃除とアルコール消毒を進める
  • 確定申告をほぼ終わらせる(一晩寝かせて水曜に申告まで完了させたい)
  • ちまちま書いてるコードを進める
  • 社のイベントに顔を出す

ニート日報2 2025-02-16

今日やろうと思っていたこと

  • ✅ 走るのを超低負荷から再開する
  • ✅ 読みかけの本を進める
  • ✅ 昼夜自炊する
  • ✅ 家のいろんな場所をアルコール消毒する
  • ✅ 家の掃除をする
  • ✅ 洗濯機の修理をする(業者が来る)
  • ✅ モンハンのベータテストをする

今日のまとめ

  • 走るやつは、かなり低負荷で15分だけ走った
    • この休みのうちに11月末水準の時速6キロメートルで30分走って心拍数X以下を保つ水準までは体力を戻したい
  • 読みかけだった本(Tidy First?)はちょっと読み進めてあと少しで終わりそう
  • 飯は味噌キムチ鍋を作った
    • 3食分できてしまったので明日の昼飯まで戦える
  • 掃除とアルコール消毒は部分的に実施
    • せっかく休みが続くので毎日少しずつきれいにしていく(という言い訳で今日少しだけで妥協)
  • 洗濯機は公式のサポートが来て直してくれた
    • ベルトと基盤の交換で4万
    • 野良業者だと7.5万とかの見積もりだったからかなり安い
  • あとはモンハンをやって寝る

明日やりたいこと

  • 走る時間を少しだけでも増やす
  • 読みかけの本を読み切る
  • 掃除とアルコール消毒を進める
  • 整形外科へ行く
  • 送別会的なやつ
  • モンハン

転職します a.k.a. ニート日報2 2025-02-15

ニート日報とは

社会人2社目の最終出社を終えて土日を含む30日間の有給消化期間に入りました。 前回の転職の時も毎日ブログを書いていたので今回も書いていきます。 何も書くネタがない虚無な日を生み出さないための防止策でもあります。

会社の振り返り

今回の会社は8年半くらい在籍して、自分のキャリア(2社)の中では圧倒的に最長になりました。基本的にずっと同じサービスに関わっており、気づいたらなぜか巨大リポジトリのヌシ的なポジションになってしまっていました。力不足感は否めないなと思いつつ、できることをいろいろ頑張っていました。

「いろいろ」に文字通りいろいろ詰まっていていろいろな人と仕事を通じて関わりを持たせてもらいました。

寄せ書きというものに縁のない人生を送ってきましたが嬉しいことに今回はオンラインサービスを使った寄せ書きをいただきました。ありがとうございました。この寄せ書きはオンラインでは1年間しかアクセスができず、それを物理化して保存できるようにする部分が課金ポイントになっていて面白いと感じました。地味に高いですがせっかくなので物理化してみようかなと思っています。

一緒に仕事をした若者たちの「業務でのソフトウェアエンジニア観」のようなものに少しでも影響を与えていたことを寄せ書きから知り非常に感慨深くなりました。入社時点では自分が若者枠だったはずなのに世の中、巡っていくのだなとしみじみです。

仕事で関わった人に挨拶しきれなかったのは申し訳無さがあります。最後の週にゆったり挨拶回りをする予定だったのですがコロナ感染後のアレで最終日まで家に籠もることになってしまったのが悔やまれます。

実は2024年頭の時点で「住宅ローンを組んでマンションを買い、住み始めたら退職してフリーランスになる」方針で動いていたのですが、なんやかんやあってマンションを買うのは延期になり、フリーランスにはならず会社に所属する方針に変わりました。相変わらず勢いで人生を動かしている感が強いですw

次の会社

フリーランスではなく会社に所属する方針になったので転職しなくても良い雰囲気もありますが、辞める前提でいろいろ動いており、すでに気持ちが切り替わっていました。前々から密かに気になっていた会社が1社あり、まずはそこを受けてみたらありがたいことに選考を通過したためそこへ行くことにしました。

基本方針として、現在所属している会社は公開されたネット上では積極的には公開しないスタイルでやっています。今までの所属は公開されたネット上の情報から簡単にわかりますがw 次はたぶんプライベートの発表資料にも載せない程度の秘匿感でやっていきます。

今回が人生最後の転職になれば良いなーと今のところ考えています。ちなみに入社時点のお賃金は今とほぼ同じです。

世の中、流れというものが存在する?

会社とはまったく関係ないのですが、退職することを社内に公表した今年1月上旬から最終出社を迎える2月中旬までの間に驚くほどいろいろな問題が連続して発生しました。

  • 親知らず抜歯(下真横完全埋没)で大ダウンして4日寝て過ごす
  • 身内の不幸。お通夜葬式はなんとか参加(かなり高齢。年末に顔を見に行くことはできていた)
  • 抜歯の抜糸後、おそらくクラムチャウダーのアサリによって感染性胃腸炎になり4日寝て過ごす(最大39.7度を観測してハードだった)
  • 胃腸炎でダウンしている間に口内環境が終わっていて抜歯跡地がすこし腫れてきたためまた歯医者へ
  • 免許証をコンビニのコピー機に忘れる(コンビニで保管してくれていて翌朝回収できた。日本の治安最高)
  • (ここで次の会社のための健康診断を受けた。この週だけ奇跡的に無事)
  • 鼻と喉が痛くなり細菌系に若干心当たりがあり、そうだと怖かったので病院へ行ったらコロナであることが発覚(コロナは治ったけど現時点でも咳だけ残ってる)
  • 洗濯機が壊れる(1年以上怪しい兆候があったのを無視していた)

お祓いとか信じてないタイプだけどお祓い行ったほうが良いのか考えてしまいます。

今日のまとめ

  • ついったで見かけたさくらの AppRun(beta) を動かしてみた
  • プライベートのあれこれを進めるために直近の動き方を決めた
  • モンハンのベータテストをちょっとやった
  • 転職記事的な内容を書いた

明日やりたいこと

  • 走るのを超低負荷から再開する
  • 読みかけの本を進める
  • 昼夜自炊する
  • 家のいろんな場所をアルコール消毒する
  • 家の掃除をする
  • 洗濯機の修理をする(業者が来る)
  • モンハンのベータテストをする

packer.nvim から lazy.nvim に移行した後に nvim-treesitter が無限にインストールし続ける件

問題はタイトルの通りです。 ensure_installed を指定していると起動時にインストールが実行されるため、何度インストールが実行されても Neovim を再起動する度にまたインストールが実行されてしまう症状です。

原因

Neovim 内で &runtimepath を見てみると、 ~/.local/share/nvim/site が含まれています。 この中には packer とそれが管理するプラグインも格納されている ~/.local/share/nvim/site/pack/packer も含まれます。 これ以上は追っていないですが、おそらく nvim-treesitter がこのディレクトリ以下を見てインストールされているかどうかの判定を行なっているようでした。

対処方法

packer を完全に削除することで治ります。

1
rm -rf .local/share/nvim/site/pack

Neovide を WSL で使う (Neovim は mise で管理する場合)

Neovide を Windows で WSL 内の Neovim で使うときのメモです。Neovim を mise で管理している人向けです。

  • Neovide は Windows 向けをインストールする
  • Windows 側に Neovide の設定ファイルを用意する
  • WSL 内からは neovide.exe で起動する

ちょっと詳しく

Neovim を mise で管理している場合、Neovide から nvim が見えなくて起動時にエラーになってしまいます。 これを解決するために nvim のパスを設定ファイルに書いておきます。

Windows 向けの設定ファイルは %APPDATA%\neovide\config.toml に置きます。

1
2
neovim-bin = "$HOME/.local/share/mise/shims/nvim"
wsl = true

これで Neovide から nvim が見えるようになります。

自分の場合は WSL でしか使わないので wsl オプションもついでに有効化しておきます。 これによって neovide.exe --wsl ではなく neovide.exe だけで起動できるようになります。