はじめに
七尾百合子さん、お誕生日 248日目 おめでとうございます! nikkieです。
Nix というものに興味を持っており、初学者の気づきを書き残します。
Nix は理解を深めたいと思っていますので、先達の方でお気づきの点ありましたらやさしく教えていただけると嬉しいです。
目次
- はじめに
- 目次
- お試し Home Manager
- Home Manager で Gemini CLI をインストール
- unstable channel から Gemini CLI をインストール
- 終わりに
お試し Home Manager
Nix の評判は聞き及んでおり、マシン構築の機会があったので、Home Managerを試しました。
Home Manager is a Nix-powered tool for reproducible management of the contents of users’ home directories.
今回の環境情報です。
- Ubuntu 24.04
$ home-manager --version 25.05-pre $ nix-channel --version nix-channel (Nix) 2.32.2
Home Manager で Gemini CLI をインストール
Your use of Home Manager is centered around the configuration file, which is typically found at
~/.config/home-manager/home.nixin the standard installation or (略)
{ config, pkgs, ... }:
{
home.stateVersion = "25.05";
home.packages = [
pkgs.gemini-cli
];
}
このhome.nixでhome-manager switchすると、インストールされます。
gemini -vは「0.10.0」を返します。
Nix環境に以下が入ると理解しました
https://search.nixos.org/packages?channel=25.05&show=gemini-cli&query=gemini-cli
https://github.com/NixOS/nixpkgs/blob/nixos-25.05/pkgs/by-name/ge/gemini-cli/package.nix
unstable channel から Gemini CLI をインストール
Gemini CLI は変更が速いので、なるべく最新に近いものを使いたいです。
How do I install packages from Nixpkgs unstable? を参照し、unstableなchannelを指定すればよさそうと理解しました。
実際 unstable channel には 0.10.0 よりも新しいバージョンが入っています。
https://github.com/NixOS/nixpkgs/blob/nixos-unstable/pkgs/by-name/ge/gemini-cli/package.nix
{ config, pkgs, ... }:
+let
+ pkgsUnstable = import <nixpkgs-unstable> {};
+in
{
home.packages = [
- pkgs.gemini-cli
+ pkgsUnstable.gemini-cli
];
}
$ nix-channel --add https://nixos.org/channels/nixpkgs-unstable nixpkgs-unstable $ nix-channel --update $ home-manager switch
$ gemini -v 0.15.3
新しい Gemini CLI になりました!
疑問:nix-channel --addとコマンドを手で打つという手順が生まれていて宣言的ではなく感じるのですが、これは設定ファイルに書けるのでしょうか?
終わりに
Home Manager で unstable な channel を add して、最新に近い Gemini CLI をインストールできました!
Nix は理解できてないと感じるところしかないという感じで、理解を深められるように触っていけたらなあと思っています。
まず理解したいビデオ