ローカル環境を汚さずDockerコンテナのオーバーヘッドもなく、開発環境を自在に構築できる「Devbox 0.2.0」登場 Dockerコンテナの技術を用いることで、プログラミング言語のランタイムやライブラリ、ミドルウェアなどの開発環境一式を比較的容易に導入することが可能になりました。 ただしDockerコンテナにもファイルシステムのオーバーヘッドなどがあり、Dockerコンテナ内の開発環境ではコンパイルなどに時間がかかってしまう場合があったと開発ツールベンダのJetpack Technologiesは自社の経験から指摘します。 そこで同社がオープンソースで開発しているのが「Devbox」です(ちなみにマイクロソフトによる仮想化された開発環境の「Dev box」とは名前は似ていますが別のものです)。 Devboxは、ローカル環境上に分離した環境を用意しそこで開発環境を構築可能にしつつ、Do
はじめに Linux利用歴はそこそこありますが、よく使うディレクトリやコマンドのフルネームを全て知っているかというと、そうでもないなと思ったので、今回はそれについてまとめてみました。 特にLinux初学者の方にとっては、各ディレクトリ名やコマンド名は何の略称かを知っておいた方が、覚えやすいと思うので、ぜひ参考にしていただければと思います。 注意事項 本記事では、よく使うディレクトリやコマンドの中で略称になっているもののみを取り上げています。すべてのディレクトリやコマンドを網羅しているわけではありません。 略称のフルネームがすべて明確に文書化されているわけではありません。これらの略称は、元々UNIXや他のプラットフォームで使用されていたものや、開発者やコミュニティの独自の規則や慣習に基づいています。 Linuxディストリビューションによっては、独自の命名規則や用途を持っている場合もあります。
ローカル環境を汚さない構築ツール「Devbox」をクラウドですぐ使える「Devbox Cloud」β公開。ローカルでのファイル編集がクラウドに自動同期 Linux環境上に独立した開発環境を簡単に構築できるオープンソースのツール「Devbox」の開発元であるJetpack.io社は、Devboxをクラウド上ですぐ利用できるクラウドサービス「Devbox Cloud」を2月1日に発表しています。 If you’ve been looking for a fresh take on Cloud Development environments; check out Devbox Cloud which we’re announcing today (https://t.co/eh2Laas2bu) Easily spin up low latency virtual machines on th
有給消化期間中に前から気になっていたNixを使い始めたはなし。 fastfetchの出力 Ansibleによるセットアップ #以前はAnsibleを使ってMacbookをセットアップしていた。 正直特に不満はなく、足りない部分は自分でモジュールを書いたりして便利に使っていた1。 不満点があるとすれば、Ansibleのplaybookを管理しているgitリポジトリをprivateにしていたこと。 ssh用の秘密鍵やGitHubのtokenなど、秘密情報はAnsible Vaultで暗号化して保存していた。 暗号化しているとはいえ秘密情報は秘密情報なので、publicにする気にはならなかった。 privateなので、当然playbookを直接共有することができず、不便を感じていた。 ただ、これは秘密情報をどう扱うかという構成に関する不満であって、Ansibleに対する不満ではないのはお察しの通
HERP における開発では Nix が広く活用されている.Nix は非常に便利な代物なのだが,ドキュメントの貧弱さ,急峻な学習曲線,企業における採用事例の乏しさなどが相まって,広く普及しているとは言い難く,ましてや国内企業での採用事例を耳にする機会はほとんどない.しかし,Nix の利便性は,複数人での開発においてこそ,その本領が発揮されると考えている.この記事は,HERP における活用事例の紹介を通じて,Nix の利便性ならびに企業での活用可能性について紹介することを目的としている. Nix とは# Nix は "the purely functional package manager" と銘打たれたパケッジマネジャーである.GNU Linux および macOS 上で利用できる. ビルド# Nix は the purely functional "package manager" なの
Web・クロスプラットフォームアプリケーションの発達、ProtonによるWindows向けゲームのLinux対応など、現在のLinuxデスクトップは機能面においてWindowsやMacと遜色ない水準に達しています。 しかし、その発展とは裏腹に未だシェアは非常に少なく、Linuxデスクトップに憧れはあるけど実際に使うのはあまり……という人が多数派でしょう。その理由はおおよそ以下の3つに集約されると思います。 環境構築のために煩雑な手順を踏まなければならず辛い どこにどんな設定がされているのか分からない うっかり環境を破壊してしまいそうで怖い 実は、上記の課題を上手くクリアできる夢のようなLinuxディストリビューションが存在します。 その名は…… ロゴかっこいい 今回はNixOSを使ってぼくがかんがえたさいきょうのLinuxデスクトップ環境を作っていきましょう。 NixOSとは? NixOS
LLM自作入門 という本の輪読会に参加しており、書籍のGitHubを用いて環境構築をしました。この記事ではLLM自作入門の第二章の環境再現を通じて、Nixとuvを利用した環境構築手法を紹介します。 本記事は requirements.txt が提供されているケースを紹介しますが、ゼロから作る場合でもほぼ同じです。(uv addが不要なだけ) 本記事の対象者はPythonの経験者です。Nixやuvの前提知識は問いません。 再現可能な環境を目指す Python(特にCPython) はmacOSや一部のLinux Distributionに採用されているため、グローバルインストールすると思わぬ副作用が発生する可能性があります。また、ハッシュ無しのrequirements.txtのみで依存パッケージを管理している場合、再現に失敗することがあります。 再現性が担保されない環境では、実装者ごとに挙動
TL;DR Haskellはいいぞ。ただ仕事で使うならビルド、デプロイ周辺は工夫する必要が色々出てくるぞ。 あ、nixもいいぞ。 はじめに Haskellを用いている会社HERPに転職してからそろそろ1年が経つので久しぶりに記事でも書いてみます。そういえばzennでは初投稿ですね。 最近はHERPでHaskellを書きつつシステム基盤整備みたいなことをやっています。あとマネージメントみたいなこともやってたりします。 僕の書いたHaskell microserviceは既に稼働して売り上げに貢献しています。 あ、HERPはHaskell FoundationのFunctorスポンサーになっています。スポンサーの名前が面白いですよね。 Haskellを仕事で使う感想 最高ですね。簡単便利十分速い保守楽拡張楽、という感じです。 並行プログラミングツールとしてstmが提供されているのがお気に入りで
始めに エンジニア転職する少し前から、ArchLinuxをメインのOSと使い出して2年経過しました。 ArchLinuxにこれと言った不満は無く、「困ったことがあればインストールしなおしたらよいではないか」、という運用を続けていました。 実際、ネットワーク環境が整っていれば、パッケージダウンロードを含めて2時間程度で復旧できることが分かったので、惰性の運用をしていました。 ただ、最近のディストロ界隈とvim-jpの流行の波があり、世間は許してくれませんでした。 必要に駆られたため、現在はNixOSに移行して通常の作業が可能になっています。 1か月程NixOSをカスタマイズしたので、参考になりそうな情報を共有しておこうと思います。 前提条件 最初に書いたように、私はArchLinuxで1からデスクトップ環境を構築した経験があり、その際の知識が前提の元、現在はNixOSをメインで使用しています
始めに Vimにはdark powerがよく似合う。 いわゆるShougowareが真っ先に思い浮かぶのがVimmerの性ではあるが、ここでは闇夜より出でしNixの話をしたい。 Nixとは宣言的、再現性、信頼性におもきをおいたパッケージマネージャである。 プログラムから設定ファイル、データに至るまで、あらゆるものを一元的に管理することができ、それはVim環境においても例外ではない。 Vim本体から始まりプラグイン、Language Serverやその他外部プログラムまで、全てNixで管理できるのだ。 そんなNixがなぜdark powerなのか、少し起源をたどってみよう。 Nixの起源については諸説あるが、ここではギリシア神話にそれを求めることとする。 古代ギリシアの詩人、ヘシオドスの神統記によると、世界にはまずChaos(混沌)があった。そして次にGaia(大地)、Tartarus(奈落
本記事ではNixを利用して、linux(nixos)とmacの開発環境を宣言的に管理していく方法について書きます。 設定は一つのrepositoryで管理し、git cloneして、makers applyを実行するだけという状態を目指します。 依存していいのはnixのみとします。 現状設定できている内容は以下です。 SSH(daemonの起動, authentication方法, userのauthorized keyの設置)FontTimezoneInput methodDesktop environmentUserPackage(実行コマンド+設定file)作成したrepository Nixについてまだまだわかっていないことが多いのですが、ひとまず使い始められた感じです。 そもそもNixとは現状の自分の理解ではNixとはpackage manager + build systemと
Simple, Immutable, Reproducible SnowflakeOS is a NixOS based Linux distribution focused on beginner friendliness and ease of use.
This post is the third article in a series of blog posts about rsync, see the Series Overview. With rsync up and running, it’s time to take a peek under the hood of rsync to better understand how it works. How does rsync work? When talking about the rsync protocol, we need to distinguish between: protocol-level roles: “sender” and “receiver” TCP roles: “client” and “server” All roles can be mixed
Nix package manager によって Haskell のスクリプティングおよびパッケージ開発の環境構築をしていく。 こいついつも環境構築してんな ここで触れられないこと Nix スクリプティング ちゃんとした開発 haskell-language-server の導入 パッケージの設定 高度な依存関係オーバーライド トラブルシューティング nix-shell の立ち上がりが遅い cabal run で cabal 自体の出力を無視したい Mac で nix-env -i が失敗する Mac で channel が消滅する こいついつも環境構築してんな 環境構築以外はブログに書くような一般性のあることをやっていないということで……。 ここで触れられないこと cabal.project によるマルチプロジェクトを扱う方法 外部の nix store を使うこと nix の新しいコマ
Deploy projects, synchronize secrets, and share binaries across your organization
この記事は、Haskell Advent Calendar 2022の23日目の記事です。 だいぶ荒削りですので、間違いがあるかもしれません。 目的 OSSのプロジェクトで4年ほどNixを使い続けてきました。 NixのHaskellのサポートの現状のいいところと課題を整理するのが目的です。 なぜNixを使うのかを確認したあと、NixのHaskellサポートをみて課題をまとめます。 なぜNixか、なにがやりたいのか? Nixはパッケージマネージャーです。各種Linuxディストリビューション, MacOSに入れられるものです。 Nixに期待していることはなんでしょうか? それは再現性と効率性ではないかと思います。 まずは再現性についてです。nixosのポータルの一番はじめにでてくるように再現性がもっとも重要でしょう。 手元の開発環境やクラウドの開発環境、各種のメンバーで開発するソフトウェアのバ
Nix is a powerful cross-platform package management tool. The benefits of Nix are far reaching, but one big benefit is that once you adopt Nix, you can get a consistent environment across development (on both Linux and Mac), CI, and production. I've been using Nix for many years and recently started building Docker images using a Dockerfile paired with Nix. This post will explain the benefits of t
You may be aware of Nix or NixOS. Users love them for being superior tools for building, deploying, and managing software. Yet, Nix is generally perceived as notoriously hard to learn. The core Nix ecosystem consists of several distinct components: Nix is a build system and package manager that comes with a configuration language to declare software components, the Nix language. Software made avai
Linux Daily Topics 2021年6月29日Is NixOS Reproducible? ―NixOS、最小イメージのビルドを100%再現可能に NixOSプロジェクトチームは6月21日、NixOSの最小ISOイメージ(nixos.iso_minimal.x86_64-linux)について、どの環境でビルドしても、まったく同じバイナリイメージを100%再現できるようになったことを報告した。 Is NixOS Reproducible? Congratulations to the NixOS Reproducibility team who have made 100% of minimal ISO's store paths reproducible. This is the result of two years of hard work. What a wonderfu
One of the biggest problems that doesn't sound like a problem at first is that Docker builds have access to the public Internet. This is needed to download packages from the Ubuntu repositories, but that also means that it's hard to go back and recreate the exact state of the Ubuntu repositories when you inevitably need to recreate an image at a future date. Remember, Ubuntu 18.04 is going out of
Nov 2, 2023Julian K. Arni, Alex David, and Sönke Hahn Announcing GarnAnnouncing garn, a build tool and environment manager based on Nix, Deno and Typescript tl;dr Today we are announcing garn, an open source (Apache-licensed) command-line tool for declaratively configuring a project's builds and environments. It is much like, and based on, Nix. But it uses Typescript instead of the Nix language, a
みなさん、Arch Linuxを楽しんでいますか? 私もかつてはArch Linuxを楽しむ一人でしたが、現在はNixOSというディストリに切り替えています。 普通の人は聞き慣れないであろうNixOSとはどんなディストリなのか? それと具体的な使い方についての参考記事をここに記しておきたいと思います。 まあ冒頭はこれからNixOSを始める方向けっぽい出だしでしたが この記事に辿り着くのは既にNixOSをインストールしている人も多いでしょうから 実際の記事の内容に関してはNixOSを利用する上でのハマりポイントなどの実用的な話も大量に記述しておきたいと思います。 対象読者レベル:ArchやGentooにある程度慣れている人 (主にArchユーザーを想定して記事を書くので他の人は脳内で置き換えてください) まずは目次をご覧ください。 Arch Linuxの利点と欠点 さて、Arch Linux
I recently bought a Macbook because more and more people are asking me how to use Nix in certain situations under MacOS. In this article, we walk through installing Nix on MacOS and see how pleasant the experience is these days. After that, we show how to go declarative on MacOS with nix-darwin to enable compilation for Linux and Intel Macs, as well as some other nice features. 🤷 Why would one wa
設定ファイルをいじってシステムを粉砕する方々へ向けて。 追記:2025年3月9日 2025年3月現在、WSLへNixOSを導入する方法はより手軽になっています。 具体的には下記のGitHubリポジトリでWSL向けNixOS Distributionが開発されており、そちらを使う方がより手軽にNixOSをWSLへ導入できると思います: この記事を削除することは考えていませんが、上記のリポジトリが発展しているなど、下記の内容はいかんせん古くなっているため、その点についてはご留意下さい。 はじめに この記事は、 設定ファイルを触って気がついたらシステムが粉砕されていた と言う方々が使うと幸せになる Linux Distribution である、 NixOS Linux を Windows 10 2004 で使える様になった Windows Subsystem for Linux 2(WSL2)で
What can you do with Nix?# The following list illustrates some of what can be achieved with the Nix ecosystem: Reproducible development environments. Easy installation of software over URLs. Easy transfer of software environments between computers. Declarative specification of Linux machines. Reproducible integration testing using virtual machines. Avoidance of version conflicts with already insta
Filter, enrich and optimize your product data for any online channel
In many discussions about Nix, the comparison of Nix and Docker comes up frequently. This question could be dismissed by saying that Nix and Docker are different tools that solve different problems. One is a toolkit for building and deploying containers and the other is a package and configuration manager. However, these tools do have some overlap: they can both be used to create reproducible envi
Get new posts via RSS or Twitter, or by subscribing to my newsletter: Opening remarksWhat's all this about? 2021-03-04 Prior knowledge 2021-03-04 Reading the Nix manualWhat we talk about when we talk about Nix 2021-03-04 Quick starts, full hearts 2021-03-04 Basic package management 2021-03-05 Profiles 2021-03-06 Garbage collection 2021-03-06 Channels 2021-03-07 Learning to share 2021-03-07 My firs
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く