3 पॉइंट द्वारा GN⁺ 2024-03-14 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • Flox engineering teams के लिए एक software environment platform है, जो developer laptops से लेकर CI और production तक समान रूप से reproduce होने वाले environments को एक manifest से manage करता है
  • यह Nix पर आधारित है, लेकिन Nix की जानकारी optional है; declarative manifest और cryptographically fixed content-hash inputs के जरिए environment drift घटाने की संरचना है
  • macOS, Linux, Windows WSL2 पर चलता है; Nixpkgs के 120,000+ packages को search और install कर सकता है, और अपने software को reproducible packages के रूप में build और publish कर सकता है
  • flox init, flox install, flox activate flow से project-specific isolated environments बनते हैं; activate करने पर tools दिखाई देते हैं और बाहर निकलने पर गायब हो जाते हैं, जिससे system साफ रहता है
  • FloxHub sharing, OCI image creation, services चलाना, SBOM·CVE patching·SCA, और AI coding agents के लिए deterministic execution environment तक शामिल कर, organization-level environment lifecycle management पर focus करता है

Flox किस समस्या को हल करना चाहता है

  • Flox development environment को एक file में define करता है और developer laptops, CI और production में वही environment चलाने वाला platform है
  • पारंपरिक package managers जहां single machine पर package installation पर focus करते हैं, वहीं Flox पूरे organization के package और environment lifecycle को manage करता है
  • इसके तीन मुख्य गुण हैं
    • Declarative: project के लिए जरूरी tools, environment variables और services को एक file में describe करता है
    • Reproducible: वही definition supported systems में कहीं भी वही environment बनाती है
    • Composable: project, team और pipeline के अनुसार environments को layer किया जा सकता है

Target users और use environment

  • Platform·DevX teams organization-wide toolchain को standardize कर सकते हैं और Nix सीखना अनिवार्य किए बिना baseline environment को expand कर सकते हैं
  • Security·AppSec teams SBOM, तेज CVE response, dependency provenance और reproducible builds को handle कर सकते हैं
  • Developers macOS, Linux, Windows WSL2 पर project-specific reproducible environments इस्तेमाल कर सकते हैं; यह containers या VMs की तुलना में virtual environment के करीब तरीके से काम करता है
  • AI coding agents को ऐसा deterministic environment मिलता है जिसमें generated code हर बार उसी तरीके से build और run हो सके
    • उदाहरण targets Claude Code, Cursor, Copilot और Codex हैं

Reproducibility और supply-chain security

  • Flox environments declarative manifest से define होते हैं और cryptographically fixed content-hash inputs में locked रहते हैं
  • वही lockfile हर supported system पर वही packages में resolve होती है, इसलिए machines के बीच environment समान बना रहता है
  • एक ही environment definition को developer laptop, AI agent sandbox, CI और production में इस्तेमाल किया जा सकता है
  • Nixpkgs के 120,000+ packages का उपयोग किया जा सकता है
  • अपने software को source से build कर reproducible package बनाया जा सकता है और पूरी team के उपयोग के लिए publish किया जा सकता है
  • Reproducibility के आधार पर SBOM generation, software composition analysis (SCA), automated vulnerability/CVE patching, dependency provenance verification और auditable builds को handle करना आसान बनाता है

Installation और basic workflow

  • Flox CLI macOS, Linux, Windows WSL2 पर native तरीके से install होता है
    • macOS: brew install flox या .pkg installer file
    • Linux: Debian/Ubuntu के लिए .deb, Fedora/RHEL के लिए .rpm
    • Windows: WSL2 में Linux package का उपयोग
  • Basic usage flow project के अंदर environment बनाने, जरूरी packages install करने और फिर environment activate करने का है
    • flox init: project में environment बनाना
    • flox install python3 nodejs: environment में packages install करना
    • flox activate: environment में enter करना
  • README example में activated environment के अंदर python3 --version Python 3.13.13 और node --version v24.15.0 के रूप में काम करता है
  • Environment से बाहर निकलने पर installed tools गायब हो जाते हैं, project-to-project conflicts रुकते हैं और system साफ रहता है

मुख्य features

  • Create: flox init से code के साथ declarative environment बनाया और auto-activate किया जा सकता है
  • Search: flox search से Nixpkgs के 120,000+ packages खोजे जा सकते हैं
  • Share: flox push / flox pull से FloxHub पर मौजूद single reference environment को team members समान रूप से ला सकते हैं
  • Containerize: flox containerize से Dockerfile के बिना Flox environment को OCI image बनाया जा सकता है
  • Build & publish: flox build / flox publish से अपने software को reproducible package के रूप में build कर team को publish किया जा सकता है
  • Services: flox services start से databases, queues, background processes को environment का हिस्सा बनाकर चलाया जा सकता है; activate होने पर start और exit होने पर stop होते हैं
  • Configure: manifest.toml में environment variables, shell hooks, activation scripts को declaratively define करता है
  • AI-ready: flox-agentic के जरिए AI coding agents को हर execution में समान dependencies के साथ build/run करने में support करता है

Docker और Nix users के लिए positioning

  • Flox container technology नहीं है और Docker का replacement नहीं है
  • Docker में packaging और container isolation अक्सर मिल जाते हैं, लेकिन Flox का stance है कि software packaging और चुने गए isolation approach को अलग रखना चाहिए
  • Flox environments bare metal, VM और container में एक ही तरीके से काम करते हैं
  • flox containerize software environment वाला OCI image बनाता है और इसे Docker, Kubernetes तथा अन्य container runtimes के साथ इस्तेमाल किया जा सकता है
  • Nix users के लिए Flox replacement नहीं, बल्कि additional tool है
    • Collaboration environment और package sharing के लिए central service FloxHub देता है
    • Activation hooks, services और shell profiles को एक declarative TOML file में bundle करता है

स्रोत और support resources

  • Flox की शुरुआत D.E. Shaw group के large-scale enterprise Nix deployment से हुई थी और इसका उपयोग large engineering organizations में Nix को accessible बनाने के लिए किया गया
  • संबंधित resources
    • Documentation: tutorials, reference, guides
    • FloxHub: environments को explore और share करना
    • Discourse: questions, discussions, announcements
    • Blog: in-depth articles और workflows
    • VS Code extension: editor में Flox environments manage करना
  • Security-related queries security@flox.dev पर ली जाती हैं
  • Flox CLI license GPLv2 है

1 टिप्पणियां

 
GN⁺ 2024-03-14
Hacker News की राय
  • Ron, लॉन्च के लिए बधाई। मेरी जिज्ञासा यह है कि revenue model क्या होगा
    CEO, कंपनी और कर्मचारी हैं, और Crunchbase देखने पर लगता है कि 24 मिलियन डॉलर की funding मिली है, लेकिन landing page या docs में pricing जानकारी नहीं मिल रही
    GitHub profile से FloxHub में login करने पर भी payment option नहीं दिखता; जानना चाहूँगा कि योजना क्या है

    • बताने के लिए धन्यवाद। आज जिस free और open source रूप में इसे जारी किया गया है, वही Flox शुरू करने की बड़ी वजहों में से एक था, और आगे इसमें और बहुत कुछ जोड़ने का इरादा है
      आज जारी किया गया open source client और environment sharing के लिए FloxHub service हमेशा free रहेगी
      आगे हम basic Flox Catalog के ऊपर चलने वाला अधिक शक्तिशाली private software catalog उपलब्ध कराना चाहते हैं
      अगर आपको अपने artifacts distribute करने हैं या Flox के भीतर modified open source package versions चाहिए, तो हमारी योजना है कि आप हमेशा free रहने वाले Flox Catalog को complement करने वाला अपना catalog आसानी से बना सकें
      लंबे समय में, हम enterprises को उनके बड़े और fragmented software supply chain को बेहतर manage करने में मदद देने के लिए subscription और services के रूप में enterprise solutions बेचना चाहते हैं, और हमें लगता है कि company-specific tooling development की लागत enterprises द्वारा साझा करना उचित है
    • 24 मिलियन डॉलर मिले, यह जानकर हैरानी हुई। यहाँ से 2.4 बिलियन डॉलर exit तक का रास्ता मुझे साफ नहीं दिखता, लेकिन शुभकामनाएँ
  • README में “Nix को नए users के लिए आसान बनाता है” जैसी line या वैसी ही कोई wording जब भी देखता हूँ, अटक जाता हूँ
    खुद को काफी सक्षम मानता हूँ, लेकिन Nix इस्तेमाल करते हुए मुझे कभी नहीं लगा कि “यह आसान था”
    Nix के concepts मुझे सचमुच पसंद हैं, लेकिन user experience भयानक है। हो सकता है यह tool उसे ठीक करता हो, लेकिन उस point तक पहुँचने के लिए docs बहुत कम हैं और पहले से deprecated तरीकों में भटकते हुए config को endlessly tweak करना पड़ता है, जिससे काफी frustration होती है
    खैर, Nix से जुड़ी कोई भी चीज़ देखते ही मन में आता है, “कब वह दिन आएगा जब यह आसान होगा”

    • अगर आप उस sentence की बात कर रहे हैं, “Flox की शुरुआत D. E. Shaw group में Nix adoption के दौरान हुई, और Nix को नए users के लिए आसान बनाकर उसने जल्दी value prove की,” तो यह original meaning के उलट सुनाई देता है
    • वह sentence यह नहीं कहता कि Nix नए users के लिए easy है; मुझे यह पढ़ने में आता है कि Flox, Nix को easy बनाता है
    • बिल्कुल यही अनुभव रहा। NixOS के साथ काफी समय तक छेड़छाड़ की, लेकिन .nix या flakes की आदत नहीं पड़ पाई
      basic concepts बार-बार दिमाग से निकल जाते थे, इसलिए हर बार कुछ नया setup करते समय फिर से खोजना पड़ता था, और आखिर में instructions
      issues debug करना भी कठिन है; क्या गलत हुआ यह जानने के लिए बहुत specific commands और नरक जैसे file system में खंगालना पड़ता है
      concept अच्छा है, लेकिन practice में ऐसा लगता है कि यह बहुत ज़्यादा रास्ता रोकता है
    • मुझे Nix पसंद है और मैंने nix repository में काफी packages भी contribute किए हैं, लेकिन इसे कभी easy नहीं कह सकता
      Haskell background होने से यह थोड़ा ज्यादा familiar लगता है, लेकिन syntax खुद भी नए users के लिए intuitive नहीं है
    • पूरी तरह सहमत। फायदे दिखते हैं, लेकिन initial learning curve बेहद steep है
      Rust सीखने जैसा है, इसलिए कुछ हद तक मजेदार भी है
  • “learning curve के बिना Nix की शक्ति देता है” जैसे products की core समस्या यह है कि पीछे अब भी Nix और /nix/store मौजूद हैं, और Nix जानबूझकर इसे automatically clean नहीं करता
    जब user Nix को छिपाने वाला tool इस्तेमाल करता है, तो आखिरकार disk भर जाती है, और उसे storage कम करने का तरीका नहीं पता होता, इसलिए इसे user-friendly कहना मुश्किल है
    फर्क यह है कि अगर user जानता है कि वह Nix install कर रहा है और learning process से गुजरता है, तो वह /nix/store क्या है और इसे कैसे manage करना है, इसका mental model बना सकता है
    जानना चाहूँगा कि इस तरह की underlying complexity से निपटने की आपकी योजना क्या है

    • rollback और history support करेंगे तो disk भरना लगभग तय है। Nix में आम तौर पर कई GC roots profiles और packages की ओर point करते हैं, इसलिए उन्हें clean नहीं किया जा सकता
      Flox environments simple symbolic links नहीं हैं; वे declarative format में हैं, और internally flakes रखते हैं, इसलिए उन्हें हटाया जा सकता है और जरूरत पड़े तो फिर से reproduce भी किया जा सकता है
      इसलिए nix-env/nix profile इस्तेमाल करने की तुलना में garbage collection कम destructive होता है, और old generations को अधिक aggressively clean किया जा सकता है
      strategy यह है कि पहले हमेशा declarative और reproducible तरीका सुनिश्चित किया जाए जिससे साफ की गई चीज़ recover हो सके, फिर free space, age, recently unused, low usage frequency जैसे heuristics से disk भरने से बचा जाए
    • Docker या Bazel से तुलना करें तो कैसा है, सोचता हूँ
      उल्टा, Nix में मुझे यह समस्या कभी नहीं हुई। garbage clean करने का तरीका साफ बताया गया है, और क्या बचा है तथा क्यों बचा है यह भी आसानी से investigate किया जा सकता है
      default में enable न होने की वजह यह है कि बाकी garbage collectors की तरह यह बाधा डाल सकता है, और हर किसी के लिए एक ही policy सही नहीं होती
      आखिर में अगर GC roots बहुत ज्यादा हों, तो decision लेना ही पड़ता है
    • Nix garbage collection support करता है
      computer इस्तेमाल करते समय background में हजारों बेतहाशा जटिल काम होते रहते हैं; मुझे समझ नहीं आता कि सिर्फ Nix को abstract करने को अलग तरह से क्यों treat किया जाए
    • workplace में Bazel के साथ भी यही समस्या है। कुछ महीने बाद development machine की disk space कम पड़ने लगती है
    • Nix garbage collection को हर 30 मिनट में चलने के लिए set कर दें
  • रिलीज़ के लिए बधाई। मुझे Nix सच में बहुत पसंद है, लेकिन यह भी मानता हूँ कि onboarding experience अच्छे से अच्छा देखें तो भी खराब है, और सबसे खराब हालत में भयानक है
    इसलिए इसे ज़्यादा approachable बनाने की कोशिशों का स्वागत है। Imperative CLI उस तरीके के कहीं ज़्यादा करीब है जिसकी बहुत लोग उम्मीद करते हैं और जिसमें वे comfortable महसूस करते हैं, इसलिए यह अच्छी दिशा लगती है
    दूसरी जगहों के environments इस्तेमाल करने की प्रक्रिया को सरल बनाने से भी मैं काफी सहमत हूँ
    हालांकि एक चीज़ जो अहम लगती है लेकिन दिखती नहीं, वह है IDE integration। environment के अंदर command line से IDE शुरू करना कई साथियों को intuitive नहीं लगता, और मैंने इसे कई बार असली समस्या की root cause के रूप में diagnose किया है
    ज़रूरत पड़ने पर “असली Nix” तक नीचे जाने की कहानी क्या होगी, यह जानना चाहता हूँ। उदाहरण के लिए Rust cross-compile toolchain सेट करने जैसे थोड़े ज़्यादा जटिल environment में कहीं अचानक cliff से नीचे न गिरना पड़े, इसकी चिंता है
    Rust development के उदाहरण में, Rust-Analyzer सही से काम करे इसके लिए मुझे एक flake में लंबा shellHook डालना पड़ा था; Flox में ऐसी setting कैसे की जा सकेगी, यह जानना चाहूँगा
    क्या आप इस तरह की चीज़ों को abstract करना चाहते हैं, या अगर नहीं, तो Nix न जानने वाला user इसे कैसे खोज पाएगा, यह भी जानना चाहता हूँ
    मैं यह बिल्कुल नहीं कह रहा कि यह असंभव है; सच में चाहता हूँ कि यह अच्छा चले, लेकिन अभी तरीका साफ़ नहीं दिख रहा

    • ज़रूरत पड़ने पर “असली Nix” तक नीचे जाने वाले हिस्से पर हम पहले ही चर्चा कर चुके हैं, और जहाँ अतिरिक्त power चाहिए, वहाँ Nix को ही इस्तेमाल करने की सुविधा देने की योजना है
      अभी सोच यह है कि किसी खास field में flake reference की अनुमति दी जाए, या Nix-style entry point रखा जाए
      यह अभी publicly released या documented नहीं है, इसलिए थोड़ा इंतज़ार करें
      complexity छिपाने और capability expose करने के बीच सच में बहुत महीन रेखा होती है—इससे मैं पूरी तरह सहमत हूँ
  • सामान्य nix-shell या nix develop के बजाय Flox इस्तेमाल करने का फायदा क्या है, यह जानना चाहता हूँ

    • मैं Flox में काम करता हूँ। Nix tools से इसके संबंध पर पहले बात करूँ तो लक्ष्य इसे ज़्यादा user-friendly बनाना है
      मकसद यह है कि Nix expression language सीखे बिना या Nix के internals समझे बिना भी लोग सफल हो सकें
      साथ ही हमने कुछ direction और polish भी जोड़ी है। उदाहरण के लिए imperative/declarative mixed interface है, जहाँ flox install && flox list चलाने पर changes TOML में reflect होते हैं। जबकि nix develop में Nix expression edit करना पड़ता है
      nix develop bash shell में ले जाता है, लेकिन flox activate bash या zsh shell में ले जा सकता है, और fish support जोड़ने की भी योजना है
      Git से environment manage करना Nix tools की तरह supported है, साथ ही flox push/flox pull/flox activate -r जैसे environment sharing के तरीके भी जोड़े गए हैं, जो उन tools से संभव नहीं हैं
      account बनाने पर https://hub.flox.dev/mkenigs/default पर मेरे environment के packages देख सकते हैं, और अगर CLI है तो flox list -r mkenigs/default से check करके flox activate -r mkenigs/default से इस्तेमाल कर सकते हैं
      मेरे हिसाब से Nix expression language न जानने वाले व्यक्ति को flake.nix link करने की तुलना में यह कहीं ज़्यादा digestible है
    • दूसरे शब्दों में कहूँ तो, मुझे लगता है individual engineers के लिए underlying technology और उससे जुड़े tools सीखना बेहतर है
      Flox या devenv जैसे tools का end-of-life हो जाना, nixpkgs के साथ ठीक से pace न रख पाना, या software rot के कई तरीकों में से किसी एक का शिकार होना पूरी तरह संभव है
      दूसरी तरफ nix develop तब तक रहेगा जब तक Nix Flakes बने रहेंगे, और अगले तरीके पर जाने के लिए migration path देने की प्रेरणा भी होगी
      उससे भी महत्वपूर्ण बात यह है कि सभी abstractions leak करती हैं। Flox CLI ज़्यादा साफ़ दिख सकता है, लेकिन अंततः इसे प्रभावी ढंग से इस्तेमाल करने के लिए Nix सीखना ही पड़ेगा
      ज़रूरत से दोगुना सीखने की क्या वजह है, यही सोचता हूँ
    • या फिर https://devenv.sh भी है
  • मौजूदा Devbox project (https://www.jetpack.io/devbox) से इसकी तुलना कैसे होती है, यह जानना चाहता हूँ
    क्या Flox में optional cloud solution भी है, क्या Nix packages के specific versions install किए जा सकते हैं, और OS-specific dependencies को कैसे handle किया जाता है—यह भी जानना चाहूँगा
    मैं ऐसे tools 5 साल से इस्तेमाल कर रहा हूँ, और जानना चाहता हूँ कि Flox पहले से मौजूद चीज़ों की तुलना में नया क्या लाता है

  • सच में समझ नहीं आ रहा कि plain Nix के बजाय इसे क्यों इस्तेमाल करना चाहिए; क्या कोई समझा सकता है

    • मुझे हर project के लिए बस clean और repeatable environment चाहिए। मैंने कई बार Nix सीखना शुरू करने की कोशिश की, लेकिन Nix इतनी अलग-अलग चीज़ें करता है कि हर बार overwhelmed महसूस हुआ
      यह मुझे 100 गुना ज़्यादा simple लगता है
    • हम समझते हैं कि Nix बहुत सारी समस्याएँ हल करता है, और हमने सच में उसकी capability पर bet किया है। इसलिए Nix itself में भी काफी effort लगाया है
      लेकिन Nix को first principles से बनाया गया है और यह बहुत general-purpose है, इसलिए इसकी learning curve काफी steep है
      Flox problem scope को छोटा करता है और specialized abstractions व interfaces देता है, ताकि पहले दिन से Nix expert बने बिना भी Nix की power इस्तेमाल की जा सके
    • सहकर्मियों को Nix के लिए मनाने की तुलना में flox या devenv के लिए मनाना कहीं आसान है
  • reproducible development environments में मेरी बहुत दिलचस्पी है, और काम पर भी कई सालों से development containers अच्छे से इस्तेमाल कर रहा हूँ
    करीब 1 साल पहले Nix के बारे में सुना और शुरू में उसके promise को देखकर काफी उत्साहित था, लेकिन onboarding process मेरे लिए भयानक था
    जो development environment बनाना चाहता हूँ वह साफ़ है, पर approach में हमेशा लगता है कि कुछ न कुछ छूट रहा है
    overall experience सुधारने वाला नया tool देखकर खुशी है, और उम्मीद है कि कोशिश करते-करते किसी दिन समझ आ जाएगी
    आपके लिए किस पल Nix “click” हुआ था, यह जानना चाहता हूँ

    • सवाल के लिए धन्यवाद। यह ऐसा topic है जिस पर Bay Area आओ तो beer के साथ लंबी बात हो सकती है
      क्या आपने Microservices video देखा है? https://www.youtube.com/watch?v=y8OnoxKotPQ
      उस समय मैं Facebook में developer products team lead कर रहा था, और local development में remote capabilities inject करने वाला project शुरू किया था
      हजारों developers cold build के लिए 45 मिनट इंतज़ार कर रहे थे
      शुरुआती चरणों में से एक पूरे software development lifecycle को map करना था, ताकि पता चल सके कि toolchain के किन हिस्सों को दोबारा बनाना पड़ेगा
      video के आखिर में whiteboard देखकर याद आता है कि जिस पल हमने visualize किया कि हमने इसे कितना complex बना दिया है, तब मेरे मन में यह बात आई: “यह हमारे काम करने का तरीका नहीं हो सकता”
  • पिछली बार जब Nix इस्तेमाल किया था, तो flakes को लेकर काफी भ्रम था
    कुछ ट्यूटोरियल इसे इस्तेमाल करने को कहते थे, जबकि दूसरी जगह कहा जाता था कि यह अभी विकास में है; सोच रहा हूँ कि क्या स्थिति बेहतर हुई है

    • मेरे हिसाब से बेहतर हुई है। यहाँ सूचीबद्ध लगभग सभी, या शायद सभी, समाधान अंदरूनी तौर पर flakes इस्तेमाल करते लगते हैं: https://news.ycombinator.com/item?id=39696038
      flakes की समस्या मुझे दो चीज़ों से आती लगती है
      पहली यह कि लगभग 5 साल से इस पर experimental लेबल लगा है, जिससे नए users उलझ जाते हैं, लेकिन असल में यह लगभग हर जगह आम तौर पर इस्तेमाल होता है
      दूसरी यह कि https://determinate.systems/ और लंबे समय से Nix इस्तेमाल करने वाले users/developers के बीच रिश्ते कुछ खराब लगते हैं। लगता है Determinate Systems की आलोचना होती है कि वे Nix को अपने फायदे के लिए इस्तेमाल करते हैं लेकिन योगदान वापस नहीं देते
      मेरी समझ में Determinate Systems ने flakes पेश किया था, और शायद इसी वजह से कुछ लोग इसका विरोध करते हैं
      निष्कर्ष यह है कि लगभग सभी ने flakes अपना लिया है, और जो guides इसका इस्तेमाल नहीं करते वे आम तौर पर पुराने होने की संभावना रखते हैं
      संबंधित लिंक: https://discourse.nixos.org/t/introducing-flakehub/32044
    • आजकल flakes इस्तेमाल न करने की सलाह देने वाला कोई मुझे नहीं पता
      “experimental” लेबल का मतलब पूर्णता या bugs से ज़्यादा API stability से जुड़ा है
      कुछ स्थितियों में performance समस्याएँ हो सकती हैं, लेकिन workarounds हैं और स्थायी समाधान पर भी काम चल रहा है
      फिर भी मैं घर और काम दोनों जगह flakes खूब इस्तेमाल कर रहा हूँ
    • संदर्भ: नए CLI और Flakes को चरणबद्ध तरीके से stable बनाने की योजना https://github.com/NixOS/rfcs/pull/136
  • कल रात macOS पर Flox आज़माया, और देखा कि Nix-Darwin द्वारा /run/current-system/sw/bin में manage किए जाने वाले Nix से अलग, यह default profile में Nix install करता है और उस copy को /usr/local/bin में symbolic link कर देता है
    मौजूदा Nix users—यानी NixOS users या वे दूसरे distro users जिनके पास पहले से Nix installed है लेकिन Flox द्वारा supported distribution package format नहीं है—के लिए कोई guidance भी नहीं थी
    सोच रहा हूँ कि क्या ऐसा इसलिए है क्योंकि Flox, Nix का third-party profile manager है और unstable Nix profile manifest format जैसी चीज़ों पर निर्भर करता है, या फिर असल में इसे अलग-अलग Nix versions के साथ इस्तेमाल किया जा सकता है लेकिन बस test नहीं किया गया
    यह भी जानना चाहूँगा कि क्या Nix-based Flox installation को आगे support किए जाने वाले feature के रूप में सोचा जा रहा है
    साथ ही कहा गया था कि fish support आने वाला है; क्या बता सकते हैं कि activate subcommand का shell integration असल में Flox source या config में कहाँ है
    official fish support का इंतज़ार करते हुए fenv जैसी किसी चीज़ से अस्थायी तौर पर जोड़ने की कोशिश कर रहा था, लेकिन installed copy और source खंगालने पर भी plug-in करने लायक जगह साफ़ नहीं दिखी

    • लगता है आपने https://flox.dev/docs/install-flox/ के Nix/Generic और Nix/NixOS tabs मिस कर दिए। उत्सुक हूँ कि क्या वे आपके बताए parallel use case को पूरा करते हैं
      अभी fish इस्तेमाल करने का सबसे अच्छा तरीका मेरे हिसाब से FLOX_SHELL=zsh flox activate -- fish है। aliases support नहीं होंगे, लेकिन ज़्यादातर चीज़ें काम करेंगी
      यह भी जानना चाहूँगा कि क्या आप सच में source hack करना चाहते हैं, या workaround बनाने के लिए structure समझना चाहते हैं
      bash या zsh के अलावा shells में यह इस हिस्से के आसपास error देता है: https://github.com/flox/flox/blob/9e18a3ceaa185006bae95a4827...
      अगर आप खुद fix करने की कोशिश करना चाहते हैं, तो background समझाने में खुशी होगी