Nix Dev Environments | Declare Your Coding Projects

Поделиться
HTML-код
  • Опубликовано: 11 янв 2025

Комментарии •

  • @Xorume.
    @Xorume. Год назад +109

    The censored rust logo lol

    • @vimjoyer
      @vimjoyer  Год назад +57

      The Rust foundation should not see that I recolored it

    • @Xorume.
      @Xorume. Год назад +60

      @@vimjoyer You mean the (Rust™ Foundation™)™?

    • @Rundik
      @Rundik 10 месяцев назад

      ​@@vimjoyerjust use crablang

    • @Danielo515
      @Danielo515 27 дней назад

      How do you know that it is the rust logo?

  • @dillon4248
    @dillon4248 Год назад +61

    At this rate, they should add your channel to the list of documentation resources. Thanks for this!

  • @technorazor976
    @technorazor976 Год назад +37

    I've been needing exactly this and struggled to find resources on it. You've quickly become one of my favorite programming RUclipsrs -- informative and straight to the point. Thank you!

  • @vimjoyer
    @vimjoyer  Год назад +24

    Hope you enjoy this video!

  • @lamprospitsillou6325
    @lamprospitsillou6325 Год назад +8

    I just love how you go above and beyond in these videos, helping us understand nix on a dipper level !

  • @faccc
    @faccc Год назад +4

    I'm really grateful for your content. There's not much documentation available, but yours is incredibly concise, clear, straight to the point, and it answers any doubts I may have. Keep it up! I truly believe Nix has great potential and is the future. Documentation is the only problem, but you're definitely addressing that. Hats off to you!

  • @gorudonu
    @gorudonu Год назад +3

    this is great! We need more nix content on youtube (and also in general). Thank you!

  • @minatonamikaze2637
    @minatonamikaze2637 Год назад +2

    you are so helpful, I just installed nix and you are making things easy for me

  • @papanito4802
    @papanito4802 Год назад +1

    Your videos are every nicely done, easy to follow and understand. great job

  • @demattejoao
    @demattejoao 9 месяцев назад +1

    oh man that was exactly what i was looking for!! thank you so much

  • @akibahmed229
    @akibahmed229 Год назад +2

    Thank you; it was helpful in setting up my development environment.

  • @NeonGrillz
    @NeonGrillz Год назад +1

    First off, great content! Love your videos and they help me enormously with my journey into Nix.
    Secondly, should I use Flakes to "clone" my Git repos (via inputs) or should I clone/fetch them manually first and then switch into my dev environment? It would be super convenient to just do it with a single Flake and update with 'nix flake update --update-input my-repo-input'.
    Also, please make a video on how to handle multiple Git accounts on NixOS and how to switch between them! Like if you have one for personal projects and one for work.

  • @bonsairobo
    @bonsairobo 5 месяцев назад +2

    The hardest thing for me to learn was the difference between packages, nativeBuildInputs, buildInputs, etc.

  • @zperk13
    @zperk13 8 месяцев назад +1

    2:18 wouldn't that break if the user has never installed lolcat before? Or does doing the pkgs. thing bring it in from the NixOS online repository? Why doesn't it need to be defined as a build input or something? If it pulls it from online, when does it do the download? Before all the other stuff? Or when it's needed? Because if it does it when it's needed, it'll look like
    welcome
    Installing lolcat
    Whatever nix says when installing stuff
    to my shell!
    Which is clearly not the intended effect.
    Also if it's not in the buildinputs, does it still get put in the flake.lock?

    • @vimjoyer
      @vimjoyer  8 месяцев назад

      It would not break. The packge interpolation evaluates the lolcat derivation, adding it to your shell dependencies. It will get downloaded after the nix code is evaluated, meaning that if you are in a shell, the lolcat is already there.

    • @zperk13
      @zperk13 8 месяцев назад

      yeah, just tested it
      to answer my questions in order
      wouldn't that break if the user has never installed lolcat before?
      no
      Or does doing the pkgs. thing bring it in from the NixOS online repository?
      yes
      Why doesn't it need to be defined as a build input or something?
      It's smart enough to figure it out
      If it pulls it from online, when does it do the download?
      Before all the other stuff. It doesn't create the example of an unintended output I made
      Also if it's not in the buildInputs, does it still get put in the flake.lock?
      Looks like the flake.lock just defines the git revision, so everything shares that (though I saw in another video you can get around that)

  • @keremcemerturk336
    @keremcemerturk336 Год назад +8

    Can you also cover about neovim with NixOS🥺

  • @MWLaboratories
    @MWLaboratories 4 месяца назад +1

    how would we add npm stuff that isn't in the nix store like vite/vue?

  • @hotdog2c
    @hotdog2c Год назад +1

    Incredible informative!

  • @bebbuinc7611
    @bebbuinc7611 2 месяца назад +1

    Hi, what about when you already have a nix configuration existed and want to try the dev env?
    Do you add the mkShell package inside the modules?

    • @vimjoyer
      @vimjoyer  Месяц назад

      You can have as many flakes as you want, so just create some new directory and create a dev env there. Alternatively, you can add your devenv as another input of your primary flake, or even create a separate shell.nix w/o a flake somewhere.

  • @yash1152
    @yash1152 5 месяцев назад +1

    3:10 _"feel free to check out "the" flake video on channel"_
    and he has got 3-4 videos with similar title on flake 🙄
    which do not seem to be even put in a particular order in the playlist

    • @yash1152
      @yash1152 5 месяцев назад +1

      * Nix flakes explained
      * Ultimate NixOS Guide | Flakes | Home-manager
      * Move your NixOS into a Flake!
      * Ultimate Nix Flakes Guide

    • @vimjoyer
      @vimjoyer  5 месяцев назад

      I didn't want to reference a specific video back then because I didn't really like them. As of today, I'd suggest watching the Ultimate guide one.

    • @yash1152
      @yash1152 5 месяцев назад

      @@vimjoyer thanks a lot for replying.
      yeah, i also figured out that the ultimate one is just 3 weeks old, so might be containing the info u deemed best and accumulated over the period since then :)
      > _"As of today, I'd suggest watching the Ultimate guide one."_

  • @dillon4248
    @dillon4248 Год назад +3

    Do you have an opinion about using the "flak-parts" utilities with nix flakes? Makes a lot of sense to break the home-manager flake up

    • @vimjoyer
      @vimjoyer  Год назад +4

      I don't necessarily have a strong opinion on whether you should or should not use it, but I want to make a video about flake-parts in the future for those who want to.

    • @dillon4248
      @dillon4248 Год назад +1

      Definitely tuning in to that one!

  • @SantiagoFraire
    @SantiagoFraire Год назад +5

    Amazing video, thank you! Could you do a video about secrets management? how to get started with agenix or sops-nix. Thanks!

  • @tomjuri
    @tomjuri 9 месяцев назад +1

    How would you use that for graphical ide's like jetbrains ide's though? You could enable the nix shell in the builtin terminal and run your commands in that, but what if you need to use some other feature not available in the terminal?

    • @vimjoyer
      @vimjoyer  9 месяцев назад +1

      Just launch the jetbrains ide from the shell

  • @korigamik
    @korigamik Год назад +1

    what editing software do you use? How do you add voiceover on the presentation? and what's the presentation software?

    • @vimjoyer
      @vimjoyer  Год назад

      I am currently using "motion canvas", but this video was made with blender video editor + personal imagemagick scripts.

  • @simonlauer9379
    @simonlauer9379 10 месяцев назад +1

    Is it possible to set an environmental variable that sets SHELL to zsh? Haven’t found a good way yet. Use it with nix-shell and python poetry 🎉

    • @vimjoyer
      @vimjoyer  10 месяцев назад

      you can use `--command ` with nix-shell and `-c ` with nix develop

  • @MiaLovesRod
    @MiaLovesRod Год назад +1

    LETS GOO

  • @bawahtanah4705
    @bawahtanah4705 Год назад +1

    bro, u just save my life :),

  • @solomonogu1393
    @solomonogu1393 Год назад +2

    i prefrer and use devenv + direnv this combo is superb

    • @WhiterockFTP
      @WhiterockFTP Год назад

      what is devenv all about? I see it‘s built upon nix-shell. A video about that would be amazing

    • @solomonogu1393
      @solomonogu1393 Год назад

      @WhiterockFTP devenv is nix-shell on steroids
      So basically, as a developer, i can set up what i need for each project without installing it directly on my machine
      Now imagine a project requiring node 14 and then your other package needs 18 and the rest you can basically have a specific version of node etc for each project etc (yes nvm) but its its way better because same can be done for php etc also database tools etc
      Let's say you need an environment where you need a special environment, let's say, for your video work
      And don't want to install them permanently
      You can create a folder and setup devenv and thats all no need to be typing nix shell -p and yes state is stored meaning on kill the process when you come back your previous state still exists but you can clear it if you want

    • @strandingstranger
      @strandingstranger Год назад +2

      i've tried looking everywhere, but no success in finding any info.
      please tell me, what's the difference between nix develop and devenv? just "simpler" configuration?

  • @Dwarf_Software
    @Dwarf_Software 4 месяца назад

    Why "nix shell nixpkgs#python3" and not "nix develop" on the flake part ?

  • @thepaulcraft957
    @thepaulcraft957 Год назад +3

    0:42 typo

  • @jarosawszyc8287
    @jarosawszyc8287 10 месяцев назад

    Amazing stuff

  • @pkoch
    @pkoch Год назад +2

    Weclome! :D

  • @Redyf
    @Redyf Год назад +1

    Nice video bro 😄