2022-04-20

anond:20220420015209

Nix はいいぞ。

#!/usr/bin/env nix-shell

#!nix-shell -i "zsh" --pure -p zsh moreutils

# ... moreutils に含まれる ifne とか sponge とかのツールが使える.

パッケージマネージャ Nix のシェバンを使うと、

ツールインストールした上でスクリプトを実行する

...っていうのができる。

上記の例の "zsh" を、"make -f" とかすると Makefile になるし、リポジトリ nixpkgs に含まれファイルを渡す式のコマンドなら何でも使える。実行ファイルにしたスクリプトを走らせると、その場でインストールされてないツールインストールしてくれる。

ささっと書いたカジュアルスクリプトでも、将来、環境が変わっても使えてると嬉しい。本格的なプロジェクトを作ってパッケージマネージャリポジトリ登録するつもりはない、そんな場合に Nix のシェバ機能は役に立つ。

Nix 言語を使うと、かなり柔軟にインストール方法を作りこめる。シェバ機能を覚えておくだけでも効果が高いから、おすすめだよ。

記事への反応 -
  • 今の業務でメインで使うのがC言語 過去の業務で使ったことがあるのがC++, Java, Ruby たまに自分用ツールで書くのがPerl, Python, bash 勉強しようとして挫折したのはHaskell, Scheme 自分的に C言語...

    • Nix はいいぞ。 #!/usr/bin/env nix-shell #!nix-shell -i "zsh" --pure -p zsh moreutils # ... moreutils に含まれる ifne とか sponge とかのツールが使える. パッケージマネージャ Nix のシェバンを使うと、 ツー...

    • 日本語

      • 日本語 まあ軽口だろうと思うけど、そんなふうに書くと「貴方は日本語が書けてないです」って取られるから気をつけたほうがいい。元増田は十二分に日本語が書けている。読みにく...

        • (o´・ω・`o)ごめんね、こういうのに最速で軽口くっつけるのがここでの醍醐味の一つだとおもってる一ユーザより真面目に弁解します

    • zsh かな。zparseopts で簡単にオプション付きのスクリプトが組めるし、rcquotes の機能でシングルクォートの扱いもラク。 $ echo 'Rock''n''Roll'Rock'n'Roll

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん