NixOSをつかいはじめた

社用のXPS 15が届いたので設定をしていた

若者が一人XPS 15を買ったのに続いて社用PCがないみんなが乗っかって同じXPS 15を買うイベントが発生して面白みがある。

ファンはブンブンいっていて膝の上に置くと暑い感じがするが8C16T、メモリ64GB、SSD 2TBだと思うとまあよし、という気持ち。 デスクトップマシンとコア数メモリ数並んでSSDに至っては負けたのでデスクトップマシンの方のコア数を増やしたい気がする

インストールメディアづくり

台風の影響がなく1週早く届いた同僚氏の情報によりGNOMEのインストールメディアでWi-Fiつながらないと聞いており、だるそうだったので、雑に最新カーネルでビルドしたISOを作ってそれを使った。

VM上にNix入れる→VM上のNixでISO作る→ISO持ってくる→ISO焼く→実マシンに入れる流れ。

1回入れる練習ができたのでよかった。Wi-Fiは最新カーネルだと無事つながった。

Mozcの日本語入力の切り替え

US配列のキーボードなのでMozcの日本語の切り替えをCtrl + \あたりにしようとトレイのメニューから設定開こうとしたらうまく動かなかった。 Qtないせいかも、と思ってQt入れても設定画面出なかったのでCLIで試したらうまくでた。

% /run/current-system/sw/lib/mozc/mozc_tool --mode=config_dialog

パーティション

Btrfs on LUKSでやっている。ひよってWindowsパーティションは残したままだけど署名されたブートローダーがないのでWindowsを起動するためにはBIOS入ってSecure Bootを有効にするか、鍵か何か入力せんといかん。

今回はじめてLUKSの鍵YubiKey + PassphraseにしたがYubiKeyをなくすとセットアップやり直しになっちゃうので、支給YubiKeyのほか自前YubiKeyの空きスロットに同じ情報登録しておこうと思う(まだやってない)。

home-manager

もともとthoughtbotのrcmで設定ファイル雑に管理していたので今回は見送り。 NixOSだけ使うならありかもしれない。

残り

鍵関係をいい感じに整えたら使えるかな、という感じ

  • SSH鍵づくり(YubiKeyでよい?)
  • SSH鍵をGitHubに登録
  • SSH鍵を仕事用の各種🐟に登録
  • GPG副鍵づくり
  • GPG副鍵をGitHubに登録
  • GPG副鍵をGitで使う設定

仕事の環境はだいたいdocker-composeで整っているものの、VSCodeで動かすツール(ESLintとか)周りはまだローカルでのインストールが必要なのでRemote Containerを育てて完全にローカルなしでVSCodeだけ入れればOKぐらいに育てたほうが便利かもしれない。

所感

久しぶりのラップトップで嬉しい。お外で仕事環境整ったらいろいろ捗るかもしれないなあ。

ワクチン2回目おわって緊急事態宣言あけたら近所のコワーキングスペースあたりで作業してみたい。当面無理そうだが。

Turnipのシナリオアウトラインの名前の中で置換が効くようになった

このPRで入って v4.3.0 から使えるようになった。

github.com

こういうシナリオアウトライン書いてたとき

Scenario Outline: <Role> delete other user's item
  When <Role> logged in
  Then ...

  Examples:
    | Role     |
    | Admin    |
    | Operator |

今までは example.name が以下のような感じだったのが

  • <Role> delete other user's item
  • <Role> delete other user's item

これからはこうなる

  • Admin delete other user's item
  • Operator delete other user's item

今までは、どのExampleで落ちたのかシナリオ中の置換されたステップを見て判断するしかなかったが、シナリオのお名前に含めても判断出来るようになった。

2021-01-27

るりまのレビューを少しだけ。

 

お正月にるりまのドキュメントをGraphQLで引けるようにするのを少し試していた。

るりまのデザインや使い勝手を改善したいときBitClustいきなり触るのはちょっと大変そう、みたいなふわっとした理由

GraphQLのインターフェイス提供するだけではドキュメントの開発者は増えないだろうけど関わりやすくなる人は増える、増えてほしいみたいな気持ち。

 

が、頑張りが必要そうなのでちょっとそれは捨置く。

 

るりまにたどり着いたとき、思ったのと違うなあ、というときにまたググったり頑張ってリンクたどりがちなので、るりまサーチとの距離を近づけたら利用しやすくならないかなあ、と思っている。

 

邪魔にならない形で検索窓つけてあげたい。

それなら今の家事と育児の隙間でなんとかなりそうな気配。

2020-12-17 ノイズキャンセリング設定した

Linuxで設定してみた。ビニールをカサカサやったりしても聞こえなくてすごい。

% yay -S noise-suppression-for-voice
% yay -Ql noise-suppression-for-voice
noise-suppression-for-voice /usr/
noise-suppression-for-voice /usr/lib/
noise-suppression-for-voice /usr/lib/ladspa/
noise-suppression-for-voice /usr/lib/ladspa/librnnoise_ladspa.so
noise-suppression-for-voice /usr/lib/lv2/
noise-suppression-for-voice /usr/lib/lv2/librnnoise_lv2.so
% pactl list sources short
1       alsa_input.usb-Burr-Brown_from_TI_USB_Audio_CODEC-00.iec958-stereo      module-alsa-card.c      s16le 2ch 44100Hz       SUSPENDED
2       alsa_output.pci-0000_0a_00.1.hdmi-stereo-extra3.monitor module-alsa-card.c      s16le 2ch 44100Hz       SUSPENDED
3       alsa_input.usb-046d_HD_Pro_Webcam_C920_EB7E61FF-02.analog-stereo        module-alsa-card.c      s16le 2ch 32000Hz       SUSPENDED
4       alsa_output.pci-0000_0c_00.4.analog-stereo.monitor      module-alsa-card.c      s16le 2ch 48000Hz       SUSPENDED
5       q2u_mono        module-remap-source.c   s16le 1ch 44100Hz       SUSPENDED
6       q2u     module-echo-cancel.c    float32le 1ch 32000Hz   SUSPENDED
7       alsa_output.pci-0000_0c_00.4.analog-stereo.echo-cancel.monitor  module-echo-cancel.c    float32le 2ch 32000Hz   SUSPENDED
% vi ~/.config/pulse/default.pa
% cat ~/.config/pulse/default.pa
.include /etc/pulse/default.pa
set-card-profile alsa_card.usb-Burr-Brown_from_TI_USB_Audio_CODEC-00 input:iec958-stereo

load-module module-remap-source source_name=q2u_mono source_properties="device.description='Q2U\ Mono'" master=alsa_input.usb-Burr-Brown_from_TI_USB_Audio_CODEC-00.iec958-stereo master_channel_map=left channel_map=mono
# load-module module-echo-cancel source_name=q2u source_properties="device.description='Q2U'" source_master=q2u_mono use_master_format=1 aec_method=webrtc aec_args="analog_gain_control=0\ digital_gain_control=0"
# set-default-source q2u

load-module module-null-sink sink_name=mic_denoised_out rate=44100
load-module module-ladspa-sink sink_name=mic_raw_in sink_master=mic_denoised_out label=noise_suppressor_mono plugin=/usr/lib/ladspa/librnnoise_ladspa.so control=95
load-module module-loopback source=q2u_mono sink=mic_raw_in channels=1 source_dont_move=true sink_dont_move=true

load-module module-remap-source source_name=denoised source_properties="device.description='Q2U'" master=mic_denoised_out.monitor channels=1
set-default-source denoised
% pulseaudio --kill && pulseaudio --start
% pactl list sources short
0       alsa_input.usb-Burr-Brown_from_TI_USB_Audio_CODEC-00.iec958-stereo      module-alsa-card.c      s16le 2ch 44100Hz       RUNNING
1       alsa_output.pci-0000_0a_00.1.hdmi-stereo-extra3.monitor module-alsa-card.c      s16le 2ch 44100Hz       SUSPENDED
2       alsa_input.usb-046d_HD_Pro_Webcam_C920_EB7E61FF-02.analog-stereo        module-alsa-card.c      s16le 2ch 32000Hz       SUSPENDED
3       alsa_output.pci-0000_0c_00.4.analog-stereo.monitor      module-alsa-card.c      s16le 2ch 44100Hz       SUSPENDED
4       q2u_mono        module-remap-source.c   s16le 1ch 44100Hz       RUNNING
5       mic_denoised_out.monitor        module-null-sink.c      s16le 2ch 44100Hz       IDLE
6       mic_raw_in.monitor      module-ladspa-sink.c    float32le 2ch 44100Hz   IDLE
7       denoised        module-remap-source.c   s16le 1ch 44100Hz       SUSPENDED

これ

github.com

ちょっと手間取ったのがREADMEはrate=48000だけど私のマイクは44100だったこと。そこだけ書き換えたらいい感じになった。

2020-12-08 寝かしつけ、靴を洗う

今日は子育てブログみがあります。

寝かしつけの難しいところ

  • お話する
  • 歌を歌う
  • 絵本を読む
  • なにか飲みたい・食したい

寝かしつけのコンテキストではこれは寝かしつけに含まれるけどやっている内容的には遊びと変わらないこと

そして睡眠不足の子どもの遊びの要求をうけいれないと泣くこと

一般的な賃貸住宅に済んでいる場合、建物全体どこかで子どもが泣いていたら普通に聞こえる、ないし「聞こえているんじゃないか」みたいなプレッシャーがかかること

結果寝かしつけが「寝る方法を教える」からずれがち

引っ越し時にこの問題認識が甘かったため、子の寝室を隣人に最も近い部屋に配置してしまった。 結果隣人へ気を掛ける度合いがMAXになり泣かせないを最優先する行動につながってしまっている。 これは子にとっても我々にとってもよくない。 今月あたりは子の寝室を隣人からもっとも遠い部屋に移動するのをやりきろうと思う。

これ難しいポイントが1つあって、私は「うるさくて迷惑を掛けるんじゃないか」みたいな気持ちが極端にわかないこと...。 家に大人数居る暮らし(寺→4世代同じ家→シェアハウス)、交通量の多いところ暮らし(救急車・消防車の音聞かないことがない)を続けてきた結果だろうとは思う。 その結果隣人の隣に泣く子の部屋みたいな配置をしてしまう。失敗。


こないだ初めて子と子のくつを洗った。子が水たまりを踏んで濡れたので。私は靴濡れてもまあ「洗えばいいか」で済む性格、でも洗うのは嫌なので踏んでほしくない。

大人でもたぶん水たまり踏むの楽しい(後片付けが面倒とか諸経験の積み重ねの結果やらないだけで)。 子には水たまりを踏まない理由が1つもないというのも理解している。

子に「水たまり踏むの楽しい?」と聞いてたら「楽しーい!」と言ってたので踏むのは楽しいよう。 「濡れた?」と聞いたら「濡れた〜!」と楽しそう。 そこで「水たまりの水の色はどう?透明?」とか「水たまりの色って濁ってるよね。どうしてかわかるかな?」とか「水たまりに溜まっている水はどこを流れてきたのかな」とか聞くと子は水たまりについて詳しくなる。 水たまりに詳しくなったところで「道端にうんこ落ちてるのみたことある?」とか「うんこに水かけたらどうなるかな」とか「お風呂で泡に水かけたらとけて流れるよね」とか「水たまりの中にうんこが溶けてたらどうする?」とか「靴にうんこつくのいや?」と最悪なことを説いていく。 次に「父は水たまりにうんこが溶けているかも、という話をして不安を煽っているよ」とか「とけてないかもしれないけど」みたいに正直に告白して私の罪悪感を消す。(罪悪感を消しているつもりだけど「これはいいことなのだろうか」みたいな疑問が常にある) 最後に「水たまりに突っ込んだあとの靴よごれてる?」「汚れている靴いや?」「おくつきれいにする方法、わかる? 教えてあげようか」「靴を洗うの楽しいよ」「靴が汚れたままだとお散歩いけなくなっちゃうね、洗おうか」と子にとって水たまりを踏んだ靴を洗う理由をつけていく。

という感じでお風呂場で靴をあらいました。お湯につけて、大きめのブラシを床において子に靴をもって靴底をこすってもらって、ついでに汚れてる合成皮革の部分もあらって「きれいになったね」「やったね」「上手」みたいに褒めまくる。 楽しいけど疲れたね〜みたいな私の感想を共有する。

という感じ...

子に理解してもらったかは分からないけど昨日・今日は自主的に水たまり避けていたので一応ちょっとは効いたっぽい。 そういう感じで人生で靴1回も洗ったことがなくて水たまり踏むのが楽しい人間みたいな気持ちを想像させてくれたり、一緒にはじめて靴洗うみたいな体験がいっぱいあるので子育て楽しい。

同じ感じでRailsGirls OkinawaのTシャツの背中にペンで落書きさせて、一緒に洗濯機に入れて、マジックの落書きが落ちないことを確認したりしたので私のTシャツは1枚汚れています。

自分で体験するにはリスクが大きかったり問題になるまで時間がかかるものは動画を探して見せています。 指しゃぶりをすると骨の発達に悪いみたいな動画を見たあとすぐ指しゃぶり終了したりとか、子ども結構賢い。(あんまり怖がらせすぎないように「怖くない?」「やめる?」みたいなのは都度挟んでいます)


文体が謎になったが最近はそんな感じ

いいなと思ったらKyashでお金を下さい
20191128011151
GitHubスポンサーも受け付けています
https://github.com/sponsors/hanachin/