![DevOps Toolbox](/img/default-banner.jpg)
- 83
- 1 652 448
DevOps Toolbox
United Kingdom
Registrace 2. 12. 2022
Join 1000+ subscribers getting one dev/sec/ops tip every Friday: signup.omerxx.com
CLI, Tmux, Neovim , Dev, Sec, and Ops, everything that's fun!
CLI, Tmux, Neovim , Dev, Sec, and Ops, everything that's fun!
Is Nix Your New Terminal SUPERPOWER?
Get another discount on top of Hostinger's great pricing using this link: hostinger.com/devopstoolbox
Or, use `DEVOPSTOOLBOX` code when checking out!
---
Nix maybe most known as an operating system but it's also the largest package manager to date. In this video I'm exploring Nix basics, terminology, modern ways of doing things, and why everyone are going crazy of it!
Ways to support this channel:
🎓 Build a Second Brain With Neovim in Under 90 Minutes: learn.omerxx.com/courses/second-brain-neovim
📰 Become a better engineer in just 3 minutes a week: signup.omerxx.com
⌨️ Tech I use: kit.co/omerxx/my-battle-station
LINKS
▶ github.com/omerxx/dotfiles
⏱ Timestamps
00:00 - Intro
00:52 - What is it
01:47 - Installing a package
03:50 - One off shells
05:20 - Modern Nix
08:00 - Hostinger
09:00 - Flakes
13:33 - NixOS
#nix #nixos #nixpkgs #neovim #vim #nvim #tmux #terminal #config #dev #devops #software #development
Or, use `DEVOPSTOOLBOX` code when checking out!
---
Nix maybe most known as an operating system but it's also the largest package manager to date. In this video I'm exploring Nix basics, terminology, modern ways of doing things, and why everyone are going crazy of it!
Ways to support this channel:
🎓 Build a Second Brain With Neovim in Under 90 Minutes: learn.omerxx.com/courses/second-brain-neovim
📰 Become a better engineer in just 3 minutes a week: signup.omerxx.com
⌨️ Tech I use: kit.co/omerxx/my-battle-station
LINKS
▶ github.com/omerxx/dotfiles
⏱ Timestamps
00:00 - Intro
00:52 - What is it
01:47 - Installing a package
03:50 - One off shells
05:20 - Modern Nix
08:00 - Hostinger
09:00 - Flakes
13:33 - NixOS
#nix #nixos #nixpkgs #neovim #vim #nvim #tmux #terminal #config #dev #devops #software #development
zhlédnutí: 16 127
Video
I'm Never Using Neovim's Terminal The Same Again
zhlédnutí 31KPřed 2 dny
After delaying it over and over - this my entire Neovim setup from scratch. Lua files, plugin structure, what I use daily and how I configure everything. Ways to support this channel: 🎓 Build a Second Brain With Neovim in Under 90 Minutes: learn.omerxx.com/courses/second-brain-neovim 📰 Become a better engineer in just 3 minutes a week: signup.omerxx.com ⌨️ Tech I use: kit.co/omerxx/my-battle-st...
SECRET Git Tricks No One Knows!
zhlédnutí 4,5KPřed 14 dny
Git has so many subcommands no body can track all of them. If you look closely there are some really good ones, hiding in plain sight. Moreover, new features are begin released and most of them aren't really shared, in this video I'm sharing them after watching Scott Chacon's talk earlier this year. Ways to support this channel: 🎓 Building a Second Brain with Neovim in under 90 minutes://learn....
My Entire Neovim Setup From Scratch After 8 Years
zhlédnutí 26KPřed 21 dnem
After delaying it over and over - this my entire Neovim setup from scratch. Lua files, plugin structure, what I use daily and how I configure everything. Ways to support this channel: 🎓 My course: learn.omerxx.com/courses/second-brain-neovim 📰 Become a better engineer in just 3 minutes a week: signup.omerxx.com ⌨️ Tech I use: kit.co/omerxx/my-battle-station LINKS ▶ My Nvim config with every plu...
My Neovim & Tmux Terminal Dev Workflow As A Principal Engineer
zhlédnutí 37KPřed měsícem
Every terminal setup is built with layers and different components, including an emulator, a prompt, tooling, hotkeys, and more. Here's my blueprint, structured from the ground up in a way that's easy to follow and replicate or, better yet, use as a boilerplate to make it your own! Ways to support this channel: 🎓 My course: learn.omerxx.com/courses/second-brain-neovim 📰 Become a better engineer...
The HIDDEN Git Trick for Resolving Merge Conflicts
zhlédnutí 18KPřed měsícem
This handy trick, that even Git's docs consider "hidden", could have saved me so much frustration in the past... Better late than never I guess: meet Git "rerere". Ways to support this channel: 🎓 My course: learn.omerxx.com/courses/second-brain-neovim 📰 Become a better engineer in just 3 minutes a week: signup.omerxx.com ⌨️ Tech I use: kit.co/omerxx/my-battle-station LINKS ▶ git-scm.com/book/en...
Build FASTER Using Git Trees, Neovim and LazyGit
zhlédnutí 9KPřed měsícem
Knowing the processes behind git, and how operations use them is crucial for speed. Avoiding merge commits can improve build times and make you (or your DevOps teams) life's better, and who doesn't want that? Ways to support this channel: 🎓 My course: learn.omerxx.com/courses/second-brain-neovim 📰 Become a better engineer in just 3 minutes a week: signup.omerxx.com ⌨️ Tech I use: kit.co/omerxx/...
Git Rebase --interactive: EXPLAINED
zhlédnutí 7KPřed měsícem
This is a slightly different style I'm testing. This video took long DAYS to creates so if you're reading this please leave a comment with some feedback - was it helpful? Fun to watch? Ways to support this channel: 🎓 My course: learn.omerxx.com/courses/second-brain-neovim 📰 Become a better engineer in just 3 minutes a week: signup.omerxx.com ⌨️ Tech I use: kit.co/omerxx/my-battle-station LINKS ...
3 Methods I Use to Customize Tmux Like a PRO
zhlédnutí 5KPřed 2 měsíci
Tmux is incredible, but you already know that. Amongst many features, one of the cool things about it is its extendability - writing plugins can be as easy as one short script, or you can write a full blown project and open source it, so it can be install-able with something like TPM. In this video I'll be covering all the options for creating your own plugins! This video is kindly sponsored by...
I Used ONLY A Keyboard For 30 Days - Here's What I Found!
zhlédnutí 10KPřed 2 měsíci
When it comes to Neovim and Git, there isn't one tool to rule them all, but with modern developments, I believe this setup comes close to perfection! Ways to support this channel: 🎓 My course: learn.omerxx.com/courses/second-brain-neovim 📰 Become a better engineer in just 3 minutes a week: signup.omerxx.com ⌨️ Tech I use: kit.co/omerxx/my-battle-station LINKS ▶ Home row mods: precondition.githu...
Deploy Your Own Productivity System Using Containers
zhlédnutí 3,9KPřed 3 měsíci
In this video, we explore AFFiNE, a local-first platform that empowers users with complete control over their data while providing rich editing features for managing knowledge. Highlights of AFFiNE include its seamless offline collaborative editing capabilities, a user-friendly interface for creating and organizing content, and the option to sync files online through AFFiNE Cloud for greater ac...
The Holy Grail of Neovim Git Integrations
zhlédnutí 30KPřed 3 měsíci
When it comes to Neovim and Git, there isn't one tool to rule them all, but with modern developments, I believe this setup comes close to perfection! Ways to support this channel: 🎓 My course: learn.omerxx.com/courses/second-brain-neovim 📰 Become a better engineer in just 3 minutes a week: signup.omerxx.com ⌨️ Tech I use: kit.co/omerxx/my-battle-station LINKS ▶ Neogit: github.com/NeogitOrg/neog...
Hidden Tmux POWER: The Missing 50%
zhlédnutí 20KPřed 3 měsíci
There's no really good way to control sessions in Tmux and that's a shame! Such a powerful concept without a proper interface. So I created one! Introducing - Tmux-SessionX. github.com/omerxx/tmux-sessionx Ways to support this channel: 🎓 My course: learn.omerxx.com/courses/second-brain-neovim 📰 Become a better engineer in just 3 minutes a week: signup.omerxx.com ⌨️ Tech I use: kit.co/omerxx/my-...
Rethinking Neovim as a Tool For Writers
zhlédnutí 16KPřed 4 měsíci
If you're already invested into Neo/Vim, you know all the motions, move life fire when editing text. What's the point in ditching it when actually editing longer pieces of text? I mean, essays, blogs, notes, any text that isn't an actual phone text, would be easier in Vim (or with it's motions) then Notion or Apple notes or what have you. Let's make VIm a heaven for writers. Best ways to suppor...
Git Better Than 95% of People
zhlédnutí 18KPřed 5 měsíci
Lazy Git is my new buddy when it comes to anything beyond pull/push/commit. I combined it with Tmux for extra sweetness, and in this video I cover the main features, motions, and the why & how I use it. ▶ github.com/jesseduffield/lazygit ▶ github.com/omerxx/dotfiles Best ways to support this channel: 🎓 My course: learn.omerxx.com/courses/second-brain-neovim 📰 Become a better engineer in just 3 ...
I Tried Every AI Coding Assistant for Neovim
zhlédnutí 25KPřed 5 měsíci
I Tried Every AI Coding Assistant for Neovim
Your shell prompt, ON STEROIDS // Starship
zhlédnutí 29KPřed 8 měsíci
Your shell prompt, ON STEROIDS // Starship
Is Neovim the ULTIMATE note taking tool?
zhlédnutí 49KPřed 8 měsíci
Is Neovim the ULTIMATE note taking tool?
You need to see what Zellij just released!
zhlédnutí 19KPřed 8 měsíci
You need to see what Zellij just released!
These HIDDEN MOTIONS in Neovim will CHANGE how you work
zhlédnutí 21KPřed 9 měsíci
These HIDDEN MOTIONS in Neovim will CHANGE how you work
The Ultimate Database Control. Right WITHIN NEOVIM
zhlédnutí 51KPřed 9 měsíci
The Ultimate Database Control. Right WITHIN NEOVIM
Git Worktrees and Neovim: A Match Made in Coding Heaven
zhlédnutí 26KPřed 10 měsíci
Git Worktrees and Neovim: A Match Made in Coding Heaven
Lightning Fast Neovim Startup Time! // Migrating to Lazy
zhlédnutí 10KPřed 10 měsíci
Lightning Fast Neovim Startup Time! // Migrating to Lazy
The Memory Leak Solution You Wish You Knew Sooner
zhlédnutí 4,5KPřed 11 měsíci
The Memory Leak Solution You Wish You Knew Sooner
I like writing unit tests.
This video editing format is sooooo satisfying
This was a great intro! I gotta ask, though, what is that stand you have for your Moonlander?
Thank you! This is the ZSA Platform. Quite pricy, but I love it. You can find some 3D-printable ones on their website if you don't want to spend this much on a tenting kit
do floatx and sessionx only run in linux?
I'm using a mac, and I don't see a reason why it can't be used on Windows as well. Both are bash using native tmux commands to run
My wife left me
I'm not currently a Vim user, but this *may* convince me to switch to Obsidian if they embody the same privacy values as Logseq.
It does as far as I know.
ok. I installed nix on fedora and installed some hyprland stuff, waybar, and wofi. Currently installing a s**tload of dependencies that seems excessive, and its worrying me. Is this a normal thing when using using nix on a non-nixos distro?
Except that dogs DON'T only see in black and white; they see in shades of blue and yellow. I get the sentiment, but it's factually incorrect.
nix not exist in ur dotefiles hhhh
Wasn’t pushed remotely yet… needs some cleaning up. It will be soon though 🤞
This is really good, however, sending code as image files should be a warcrime.
I find myself do it quite often to show examples - refer to a public source quote in a nicer more readable way
I was with you up until you started talking about flakes. It seemed like you started hopping around in and out of environments(nix-shells?) without much explanation as to what was happening, and that is the part I am trying to wrap my dense head around. I understand that a flake is a way to kinda provide 'everything for a project' but when a flake is created does it become part of the OS or do you have to 'jump into it' every time you want to use something that is in the flake? For instance, lets say I want to add a few programs or configurations into a flake so I don't mess with my base system. As far as I understand I have to 'go into' the flake to use them correct? what if I decide I want this config to live on my main system now do I 'merge' the flake it with my system or what am I missing?
NixOS is not lacking documentation. Sure any binary only apps is hard to get to know. But everything with source code is perfectly fine. Thus it has as much documentation as it has packages.. Embrace the insanity! 🔥🔥💪😁 🌱🌱🌱🌱🌱🌱🌱🌱🌱🌱🌱🌱🌱🌱🌱🌱🌱🌱🌱🌱🌱🌱🌱🌱🌱🌱🌱🌱🌱🌱🌱🌱🌱🌱🌱🌱🌱😁🌱🌱🌱😁
You could have used flake-utils, which allows you to make a derivation be replicated for every architecture like this: { inputs.flake-utils.url = "github:numtide/flake-utils"; outputs = { self, nixpkgs, flake-utils }: flake-utils.lib.eachDefaultSystem (system: let pkgs = nixpkgs.legacyPackages.${system}; in { # Package hello now will be available for every system and architecture that nix supports without copy pasting packages = rec { hello = pkgs.hello; default = hello; }; } ); }
Question: how did you record terminal as well as the keys pressed?
screen capture and a camera :)
I would say be careful don’t dive too deep into the nixos rabbit hole. Because you might end up trying to make everything “pure” but this really has no end to it
NixOS seems like a rabbit hole, but Nix itself on top of another system looks really interesting. I think using it for servers looks to be something really valuable.
what is the name of your installed plugin that shows your errors in the code?
You mean the LSP?
@@devopstoolboxyup
I TOLD YOU THE NIX VIDEO WAS COMING
😅
@@devopstoolboxThank you! Nix is awesome but tutorials like this are few and far between!
Was running NixOS for almost a year, but recently dropped it for OpenSuse tumbleweed. The technology has so much potential and customisability, but the community was just the most unpleasant I've had to deal with, and so many members being unreasonably hostile and rude to new users.
I tried NixOS and actually it is a mess. You can see at packages and configuration, that maintainers and contributors dont have a common vision. If you already use a Linux distribution and you are happy with it: Just ignore Nix/NisOS for your own mental health. Especially If you want to keep your real Linux next to it: Dual Boot ist nothing NixOS likes
I went down the rabbit hole as well. But you should learn the nix language FIRST. It will demystify a lot of the config as a language style. It comes down to this: I want the same setup on every machine I work on. My job is to ship development environments to other devs as well, so this rabbit hole is worth it. I have seen companies using Nix for this reason as well.
I would argue that Nix is a functional language rather than a DSL, but great vid, appreciate going back to the old style of vids, and looking forward to more nix content cheers!
Tried setting up nixos. One giant issue with it is that i can’t use it without doing major changes to my configs. I feel like the documentation, is really scattered, and hard to find what i’m looking for
Clicked the like and subscribe, with the bell icon, but my nix config still does not work. What did I do wrong?
Strange. Try liking all the videos on the channel that should definitely do it
@@devopstoolbox I did that already! I will try to dislike a then like them again. By the way, have you heard about devbox?
@@Danielo515 of course. On it 😉
nix + hyprland
I spent 2 hours today trying to build a package in nix and it never worked. Best 2 hours of my day, while also hating myself.
😅
Awesome stuff. What are some good resources to learn more about Nix?
Great question 😉 this is one the problems. Nobody knows, there’s tons of docs, there’s a lively subreddit, flakes dedicated platforms, but nothing central that I found… nix.dev and zero-to-nix.com/ are good options to start with
@@devopstoolbox thanks! I'm about to nuke my old laptop and give it a go
Holy shit, This is awesome
Whats the minimal browser thing he used? Or it just editing magic?
It’s actually Arc with a minimized sidebar, but if your after a minimal option try Min
Looking forwrad to your next video!
Yeah, yeah, nixos is a rabbit hole, we all know at this point, now please create a playlist for Nix stuff and upload more tutorials about flakes and configs for neovim, shell, etc, etc, etc, etc, etc, etc, etc. We need that stuff please!
Nixos is not for newbies. Has very unique approaches to handling packages. Unlike other distros.
Very much so…
I was hoping flakes would be a simple toggle in the installer by now. Ideally I'd, make the first thing the installer presents to the user an option to select a github repo so they can use or clone a systemConfig
It’s still an “experimental” feature that half of the community is against 🤷♂️
i just wish i knew how to replace my dev environment from asdf to flakes, but i can't find a tutorial. i currently developing react native on Mac os and i need node, java and ruby. ASDF works great changing binaries from system to a specific version but nix seems to be good knowledge to have
ASDF is fine. It's the tool of choice if you are time poor and actually need to get shit done.
Nix is certainly one heck of a rabbit hole. Hard to get into if you're new, and even harder to get _out_ of if you're not.
NO DOUBT
Top quality content, as always! Thank you!
In the end these are the same approaches to database management, just a nicer UI. Sorry man. It's not a coincidence that dbeaver and similar "complex" tools exist. The worst part is you don't even know those features are missing until someone shows you in action.
Nothing to be sorry about :) I totally agree. My point with this is that for most simple usage you don’t have to fire up an overkill system. In fact, you don’t even have to leave your IDE. Some will find it useful, other will find it adds friction. If it works for you, use it. If it doesn’t, bin it 😅
Nix, istant like
😅
Nope. Still don't get it. Not even the package management! 🙂 I'm on macos. Don't I need to install 'something' before I can use terminal commands like 'nix-env'. Thanks for this introductory video! And will not packages installed by Nix clash with the previously packages installed by brew? So many questions.
Yep I had hard time getting it too 😅 But when I figured *anything* can become a flake, including my esoteric tmux plugin, and receive build instructions so it can literally run anywhere, I started digging
Combining it with direnv and you can automatically create and start/stop temporary shells with your required dependencies when you cd in/out of your project is pretty neat! Localised environments, configured as code in your repo, without the overhead of running Docker :D
NixOS is great but this warning don’t explain why it’s just hard. If you are not a programmer I really warn you about NixOS since you need to understand what is Nix and the derivations and the NixOS program who will generate from your nix evaluation which files and services it needs to configure. If you don’t know how a Linux distribution works and when I say HOW I mean, Systemd, grub, disk partition, how shared libraries and linking works. NixOS is a linux distribution, the big difference with all of those it’s we don’t have a standard glibc where all are binary compiled against. With the nix package manager and nix store, every program are linked from specific versions in the store. That means external binary who depends on a shared library in a specific directory won’t just works. There are patch and way to solve this but this is not something you are supposed to do when using nix. If you don’t want to have everything in the nix package manager, meaning to create your own derivation for none packaged yet package. You will have a bad time believe me.
0:26 thats just the stable tho... unstable on the other hand...
true 😅
Nix-darwin is as close as you can get on macOS to a “full” NixOS experience. I’m not going full nixOS because nix-darwin does all I need paired with home-manager. Well worth the learning curve, especially for “self-configuring” projects with a little help from numtide devshell and direnv. Devbox abstracts away a bit too much for my liking.
Nix is a great idea with a horrible implementation. Sure, it can install a command line tool if you're lucky somebody maintains is. As soon as your setup becomes a little more advanced debugging anything becomes cumbersome. And if you're using Flakes you have to submit your hardware config with the repo --- so you can't have a single repo unless you submit the config from all the computers you want to use it with. Which kinda defies the whole purpose of having a config that you supposedly should be able to deploy in minutes anywhere. 🤣
This. There is no bridge between the simple hello world examples and a more complex real world use case. I just want a list of binary dependencies and for the environment to keep my node modules up to date on entry. Gotask can run conditional commands that watch package.json and package-lock.json and .tool-versions for ASDF to achieve this. Spent a week trying to do this with nix and dropped in favour of a solution that was working in about 3 hours using gotask and ASDF. I'd love to learn nix but I'm time poor and have shit to do.
Would love a full nix/nixOS series !
Let's start with Nix tooling, and slowly build up toward the OS :)
@@devopstoolbox I’ll take anything, very little nix content that hits this quality :D
@@Apollo1_ Thank you! ❤
Hi can you make a tutorial for beginners how to customize the terminal
Does this work? czcams.com/video/yCgieVu13VQ/video.htmlsi=5zJPqTw_SnrXz-yX Or do you have something else in mind? I did think of making something "from scratch", I just wonder whether this answers the request or no...
@@devopstoolbox not. Help enough sir and thank you for your time
I love devbox with direnv, it's amazing to not polute my entire system with project related tools. Also the version managment is so easy. Only some flakes/packages do not compile on silicon.
1. Definitely getting there! 2. Maybe a n00b question - isn't part of the flakes idea is that you have the instructions to build it locally so that anything eventually can support every arch?
@@devopstoolbox 2. Should be, but seems like many flakes are not tested on aarch64, or some of their deps.
@@rwz makes sense
Brew is hugely more supported on the Mac than nix is and it's much simpler to use if all you want is a Mac OS compatible package manager.
That's not the point of Nix and despite being "less supported", nix is rock-solid and almost unbreakable compared to homebrew.
Apples and oranges…
Mostly true, especially for other apps, but like others mentioned, there's other selling points - extreme reproducibility, the one-off shell tools and that configurable environment. Brew is good with packages and especially wide range of GUIs, but it's something different...
@@c_kemper I like fruit :)
@@RegrinderAlert What part of what I said is not the point? Is it that it brew has a magnitude more support? No, it can't be that because that is true. Is it that brew is simple to use because it does one thing and does it well? No, it can't be that because that is true. Blind loyalty can sometimes short circuit one's critical thinking.
I transitioned from MacOS to NixOS a few months ago and I'm loving it. I use it for both private and professional use (as a developer). The combination of NixOS, flakes and home-manager is awesome. Yes there is a steep learning curve but to be able to declaratively manage your system outweighs the lenrning curve. Now I can have identical setup on my laptop and desktop pc and even a part of it on my MacBook. Since you can rollback from any update, i can use the unstable version without any fear of breaking my system 😅
Sounds incredible! This is where I want to be.
how do u compare the use of macos only apps like Arc, Linear, Raycast that are not on nixOS (linux)
@@jjmachan I don't use any of those ones on Mac 😅 I tried for a while Arc but it was buggy to me (maybe it improved since). They are few apps that I miss on Linux but none of the ones you mentioned: DEVONthink and Photos and I still use a Mac for those two. For the web, I really like Firefox (especially for web development). For launching apps, I have a custom app launcher in my tiling window manager (Hyprland). For the rest, I use the same apps on both Mac and Linux, especially Tmux, Neovim, docker, a bunch of terminal cli, yazi... I would say especially for development involving docker images, Linux is much faster. Using flakes for my projects means I can manage not only the package dependencies (such as python packages via poetry) but also the toolings themselves (python, poetry, make...) and have everything explicitly declared in the flakes. When i use any project on another Nix ready machine (not necessarily nixos), then I am ensured to get the same exact version of all the tools and packages used for any given project and when I exit the project folder, none of them exists anymore, which is great because there is no dependency conflict between projects or the system.
@@jjmachana few of those apps are linux knock offs
@@jjmachannixOS isn't linux
arch is better btw
Can't think of a single advantage Arch has over nix other than requiring little knowledge to setup.
I WON'T BITE 😅
@@RegrinderAlertunlike nixOS, Arch has true documentation/wiki