My Neovim & Tmux Terminal Dev Workflow As A Principal Engineer

  Рет қаралды 48,666

DevOps Toolbox

DevOps Toolbox

Күн бұрын

Пікірлер: 109
@devopstoolbox
@devopstoolbox 4 ай бұрын
Join 1000+ subscribers getting one dev/sec/ops tip every Friday: signup.omerxx.com
@flokkq7931
@flokkq7931 4 ай бұрын
Great video, really makes me happy to see that even though im only going at cs for 2.5 years (started from 0 at 15yo), atleast in setup we have a 95% similarity. Only difference is i dont use lazyigt nor lazydocker since (in my opinion) it only gets in the way of already super fast (and easy) tools
@devopstoolbox
@devopstoolbox 4 ай бұрын
If I’m completely honest, both these tools are only completing existing tooling (Neogit and docker CLI) but I do pop them from time to time for demos or better visualizations
@lawkig
@lawkig 4 ай бұрын
nice, the recipe for success /s
@yanushkowalsky1402
@yanushkowalsky1402 4 ай бұрын
i like standard vim because its very easy to install and migrate to different environment. with neovim it's the opposite. there's a big number of non standard packages, npm... i'm not sure if the difference between these two is big enough for me to jump to nvim.
@sorvex9
@sorvex9 3 ай бұрын
Ok, I use this as a junior though
@my42vids
@my42vids 4 ай бұрын
Great video and setup, very similar to mine. Maybe one addition I can't live without is atuin: Database backed history management on steroids synced across different machines. Like: "Which git command did I run in this directory last week on my other machine?" by just pressing Ctrl+r. You should give it a try, it will complement your setup. And it is written in Rust 🙂
@devopstoolbox
@devopstoolbox 4 ай бұрын
Definitely checking it out! Thanks!
@fishberk
@fishberk 4 ай бұрын
ooh man, that Moonlander setup looks so comfy... Would you be so kind and tell me where you got those keyboard stands from?
@devopstoolbox
@devopstoolbox 4 ай бұрын
This is the ZSA platform! Very comfortable but a bit pricy. There are plenty great 3D printed solutions also downloadable from ZSA!
@mischavandenburg
@mischavandenburg 4 ай бұрын
That title reminds me of a popular video on this topic 😁 Keep up the good work man! 🚀
@devopstoolbox
@devopstoolbox 4 ай бұрын
I definitely think you and another creator were the initial inspiration ! I’ve been also following your recent change and the DevOps community and it sounds incredible! Keep up the inspiration 🙏🏽
@mentalmarvin
@mentalmarvin 4 ай бұрын
All these tools are lightweight and efficient, but why are you still on Mac?
@GOTHICforLIFE1
@GOTHICforLIFE1 4 ай бұрын
the laptops feels nicer, are generally better (and for a lot of companies you get them as business devices so you don't pay for them) and it supports a lot more of the commercial software that your business might use. Mac unlike windows doesn't drain your ram and cpu in idle, so when going lightweight your pc can easily last for days without charging.
@devopstoolbox
@devopstoolbox 4 ай бұрын
One simple reason: work 😉 Definitely moving to Linux soon
@devopstoolbox
@devopstoolbox 4 ай бұрын
@@GOTHICforLIFE1 very true.
@siuyutpang2335
@siuyutpang2335 4 ай бұрын
How to disable show timestamp in scrollback buffer like you in tmux 🤔
@devopstoolbox
@devopstoolbox 4 ай бұрын
I don’t remember ever using a timestamp or seeing it, but my entire config is here: dotfiles.omerxx.com
@naranyala_dev
@naranyala_dev 4 ай бұрын
next: VR workflow
@hesperauxyo
@hesperauxyo 4 ай бұрын
For some reason xargs has always baffled me. Would you mind expounding on it a little bit on a future video? It probably doesn't need an entire video if its own. I'm gonna look into it again regardless. Also still need to give sessionx a try. Been busy and just trying to stay sane!
@devopstoolbox
@devopstoolbox 4 ай бұрын
Definitely!
@eduardabramovich1216
@eduardabramovich1216 4 ай бұрын
Question, I'm learning Neovim with Lazyvim, I feel comfortable using it, but I'm not a pro. I want to add tmux to my workflow, should I learn that or better Zellij?, which seems to be a modern alternative.
@MrVanshajSaxena
@MrVanshajSaxena 4 ай бұрын
Learn tmux, it will add agility and freedom to do more. It is also good if you ever need to work on remote servers.
@devopstoolbox
@devopstoolbox 4 ай бұрын
Here’s my 2 cents: Zellij is way easier to get started with and a super solid choice! Tmux is more flexible, easier to extend and is already present in many remote systems and very easy to install on ephemeral cloud instances (present in most package managers for years) Either way you’d be making a good choice. There’s no wrong answer 😉
@eduardabramovich1216
@eduardabramovich1216 4 ай бұрын
@@devopstoolbox Thanks, I think I'm going with tmux then. It fits my long-term goals.
@williamseipp9691
@williamseipp9691 4 ай бұрын
nice. I use kitty and tabs instead of tmux but interested I think I might outgrow it soon and use tmux instead.
@devopstoolbox
@devopstoolbox 4 ай бұрын
I’ll be here when you’re ready 😉
@vladimirnicolescu1342
@vladimirnicolescu1342 4 ай бұрын
Exactly. You have tabs in kitty, splits and buffers in lazyvim, why would you use Tmux? For saving sessions I guess.. idk. I'll try it eventually but I don't feel like I *need* it now
@mthalter
@mthalter 4 ай бұрын
​@@vladimirnicolescu1342for DevOps and sys admin tasks, it's a better tool to learn because we work with terminals a lot more often than a desktop environment. Not to mention it's cross platform... In the sense that I can use my workflow anywhere I have access to a terminal
@MrVanshajSaxena
@MrVanshajSaxena 4 ай бұрын
​@@vladimirnicolescu1342because tmux is independent of the terminal emulator. It works everywhere you'll ever need, whereas your terminal emulator might not.
@devopstoolbox
@devopstoolbox 4 ай бұрын
@@vladimirnicolescu1342 there’s no wrong answer. It’s preference and workflow. I don’t like using nvim splits especially not for terminals (video coming soon), and I do like having sessions preconfigured with different areas of my systems that I need to switch between (work projects / open source projects / configurations / obsidian notes etc) So tmux it is for me 😉
@Skatox
@Skatox 4 ай бұрын
Thanks! I managed to learn new things like eza (i was using exa) and lazygit and lazydocker, thanks for the video!
@devopstoolbox
@devopstoolbox 4 ай бұрын
No problem! Was using EXA myself until I realized it wasn’t maintained
@robimalco
@robimalco 4 ай бұрын
mate you are insanely good
@markzaharov2345
@markzaharov2345 4 ай бұрын
I've heard tmux already have an ability to show sixel images. Have you tried it?
@devopstoolbox
@devopstoolbox 4 ай бұрын
Not really, but if you have an example Id love to see it!
@byte.raccoon
@byte.raccoon 4 ай бұрын
do you use tmux only for session management? afaik wezterm is pretty sufficient for multiplexing
@devopstoolbox
@devopstoolbox 4 ай бұрын
I use Tmux for everything. It’s my terminal operating system! Wezterm has *some* capabilities so I prefer using something that cover all options. Plus, in my line of work, being able to run it remotely and use in various cases proves it’s worth quite often :)
@jesusrag
@jesusrag 4 ай бұрын
hey man, what kinde of keyboard do you use?
@devopstoolbox
@devopstoolbox 4 ай бұрын
ZSA Moonlander!
@micahwalter76
@micahwalter76 21 күн бұрын
Do you have a video on how you organize your file system?
@devopstoolbox
@devopstoolbox 20 күн бұрын
Not really. You mean, organization within my local storage? I find this to be very specific...
@ViniciusGehrke
@ViniciusGehrke 3 ай бұрын
Why did you leave Yabai? Using anything else?
@devopstoolbox
@devopstoolbox 3 ай бұрын
For the longest time I've been rocking Yabai and even preparing a video around my workflow with it. But after strugling for a while to find something that I really feel confident to share it felt like it was creating more friction than removing it. Maybe that's my own take because I'm running an ultra wide setup (49") but I couldn't make it work the way I hoped
@markzaharov2345
@markzaharov2345 4 ай бұрын
Why starship over p10k? Many users noticed that last one is faster.
@devopstoolbox
@devopstoolbox 4 ай бұрын
I’ve been running p10k for a couple of years, it quickly gets out of hand and the configuration is not to my taste (after realizing something slick and lean like starship is optional) I think it’s a matter of taste… And I’m comparison it feels like starship is FLYING… but I’m guessing this depends on what you have configured on both prompts
@RaulMartinez-nl7jh
@RaulMartinez-nl7jh 4 ай бұрын
Hi there, ty a lot for your content, can u tell us how to put trasparent bg on tmux config pls?? I reply same dotfiles config but still not trasparent
@devopstoolbox
@devopstoolbox 4 ай бұрын
Thank you 🙏🏽 Tmux isn’t the blocker here - the underlying emulator is, so you’d have to configure that. If you run something inside Tmux - like Nvim you’d have to have that run a transparent background, either with a plugin or a dedicated config. Do note that my dotfiles have a plugin for that but I rarely use it. When I work there’s a solid bg for focus. The terminal is transparent in the video for the nicer visuals and to help with seeing what’s going on in the keyboard.
@RaulMartinez-nl7jh
@RaulMartinez-nl7jh 4 ай бұрын
@@devopstoolbox ok mate, ty so much for quick answer! hope to see more devops content, I'm kinda new in this world hehe. In addition, watching your plugins on nvim I created a few small bash scripts that use fzf to apply obsidian templates and create new notes with a single alias, didn't realize obsidian plugin on nvim before watching your stuff, have a good sunday mate
@devopstoolbox
@devopstoolbox 4 ай бұрын
@@RaulMartinez-nl7jh thank you!
@Maisonier
@Maisonier Ай бұрын
Amazing video!!
@gachikuku
@gachikuku 4 ай бұрын
how do you get the images to show in wezterm? using viu?
@devopstoolbox
@devopstoolbox 4 ай бұрын
Yazi!
@ismbks
@ismbks 4 ай бұрын
emacs + screen
@devopstoolbox
@devopstoolbox 4 ай бұрын
Can’t go wrong there
@zerodev_exe
@zerodev_exe 3 ай бұрын
Emacs is a great operating system. It's kinda sad it never came with a decent text editor.
@ismbks
@ismbks 3 ай бұрын
@@zerodev_exe overused meme
@scriptmunkee
@scriptmunkee 4 ай бұрын
Thank you for introducing me to Yazi!
@DUDOS_
@DUDOS_ 4 ай бұрын
Great video! I noticed you're using Nix and Nix Flakes. Do you consider that to be a game-changers for managing development environments? I'd love to see a video on that topic!
@devopstoolbox
@devopstoolbox 4 ай бұрын
It’s in the works! Both the video and my developing opinion 😂
@RaffaelN
@RaffaelN 23 күн бұрын
Thank you so much!! I’m falling in love with this environment setup. Even though I am a beginner with the terminal use (Hence, I’m pausing every second to lookup the meaning of the many of terminologies you are saying as they are so cool and easy to threw me off many topics 😅) Thank you again. I would love to see a video of the best DevOps certification and courses you recommend for a beginner like myself 🙏🏼☺️ YOU ROCK!! 🎉
@devopstoolbox
@devopstoolbox 23 күн бұрын
Thank you so much! I don't have such certificates I can recommend unfortunately, because I had to learn everything the hard way. I am working on devops specific courses (one teaching Kubernetes from scratch comes out VERY soon). It will be followed with other DevOps basic courses but these will take some more time
@RaffaelN
@RaffaelN 19 күн бұрын
@@devopstoolbox All the best!! 💪
@Clarkezoneusa
@Clarkezoneusa 4 ай бұрын
Great video nice work! Which matrix visualizer are you using in the background of the video?
@devopstoolbox
@devopstoolbox 4 ай бұрын
Thanks! this is `cmatrix` :)
@rogertinsley3968
@rogertinsley3968 3 ай бұрын
Brilliant video, loving your dotfiles! Gives me inspiration, thanks for doing this video 👍
@devopstoolbox
@devopstoolbox 3 ай бұрын
🙏
@alejandroo-pc
@alejandroo-pc 4 ай бұрын
Hey, my journey is pretty similar! I went from iTerm2, Alacritty, and I am now here haha. You have a sweet setup, I def picked up on a couple of things. I did have one question though, how how are you able to keep transparency while in nvim/text editor mode? I really love this feature from iterm but can't seem to get it working after I nvim into some file. Awesome work! 🔨
@devopstoolbox
@devopstoolbox 4 ай бұрын
Thanks! To put the terminal in transparent mode and I set the levels in Wez but sounds like you’ve got that covered. For Nvim I use a plugin that toggles the mode on and off, so you have to have both for the effect to show. That said, I actually stopped using it bc it was too distracting and it’s just an editing effect for the video :)
@alejandroo-pc
@alejandroo-pc 4 ай бұрын
​@@devopstoolbox Gotcha, thanks for the tip! At some point I should just leave my config alone and use what I have haha Thanks!
@zephyrthesearchrescuedog8358
@zephyrthesearchrescuedog8358 4 ай бұрын
What did you mean about native windows for wezterm on MacOS?
@devopstoolbox
@devopstoolbox 4 ай бұрын
It’s niche (and I didn’t put it correctly if I’m honest) but if you try to port Wezterm with SKHD for example, it won’t work. Probably due to the difference in how Wezterm starts a process vs picking a running one. I think this is one of the related issues: github.com/wez/wezterm/discussions/1208 IIRC Alacritty has a similar issue: while it’s picked up, if you run multiple processes it creates ambiguity in macOS so things like CMD+~ for alternate window switching doesn’t work…
@adibhanna
@adibhanna 4 ай бұрын
Amazing video as usual!
@devopstoolbox
@devopstoolbox 4 ай бұрын
🙏🏽❤️
@jizhang2407
@jizhang2407 4 ай бұрын
Another golden video full of condensed experiences ready for learning, again. Thank you!
@devopstoolbox
@devopstoolbox 4 ай бұрын
🙏
@grantmcallister4359
@grantmcallister4359 4 ай бұрын
Great video! Curious if you have any thoughts on running into issues with showing images through tmux. I use wezterm and I live in tmux and I am always annoyed with the inability to render images without having to detach. I have looked around but I have not found a great solution.
@devopstoolbox
@devopstoolbox 4 ай бұрын
I’m running Yazi in tmux (in wezterm) and it renders images just fine! Other than that there isn’t another use case I had other than maybe writing content here and there but that’s pretty rare that I have to incorporate images…
@grantmcallister4359
@grantmcallister4359 4 ай бұрын
Cool! My previous experience was with wezterm’s imgcat, cool to see yazi handles it without any configuration needed!
@karamanliev
@karamanliev 4 ай бұрын
I stole the definitions preview plugin from your dotfiles. It was something that I was looking for. Thanks! I'd like to know how you manage the multiple diagnostics virtual text that you show at 8:07. The one where you have an info and error severity text and it shows only the error and the box before it gets split with blue/red to indicate there's another one. For example I had to disable the virtual text from the lsp and leave only the linter ones because of the visual clutter. Also I had to setup it so, that only messages above warning severity are shown.
@devopstoolbox
@devopstoolbox 4 ай бұрын
Enjoy! Re LSP config - my config is here: dotfiles.omerxx.com And I’m planning on releasing a dedicated LSP nvim guide soon, but until then if my config doesn’t work for you ask away 😉
@karamanliev
@karamanliev 4 ай бұрын
@@devopstoolbox Yeah, I scanned over it but didn't see anything relevant to the virtual_text diagnostics
@devopstoolbox
@devopstoolbox 4 ай бұрын
@@karamanliev this is it - github.com/omerxx/dotfiles/blob/master/nvim/lua/plugins/lsp.lua Nothing fancy though. Try dropping it into your config and see if this makes more sense visually
@ukeshrestha
@ukeshrestha 4 ай бұрын
How are you previewing images in the terminal?
@devopstoolbox
@devopstoolbox 4 ай бұрын
Wezterm + Yazi :)
@Yadobler
@Yadobler 4 ай бұрын
What about lsd instead of eza?
@devopstoolbox
@devopstoolbox 4 ай бұрын
Do you see a big difference?
@x53LL33
@x53LL33 4 ай бұрын
NIX!!!
@FaintArt
@FaintArt 4 ай бұрын
you are a principal engineer?
@devopstoolbox
@devopstoolbox 4 ай бұрын
It appears so 😅
@codeman99-dev
@codeman99-dev 4 ай бұрын
The sentence "My entire neovim setup is covered in a video" is why I'll never even try it. No editor should have a configuration so complex that you need to explain it in such a format.
@zephyrthesearchrescuedog8358
@zephyrthesearchrescuedog8358 4 ай бұрын
Lol... For real?
@ejazahmed4609
@ejazahmed4609 4 ай бұрын
This is such a childish remark. Every editor has configuration. You will find tons custom vscode configs videos online as well. If you don't want to do that, you can always use something like LazyVim or neovim without any config. We have choices.
@jhonyortiz5
@jhonyortiz5 4 ай бұрын
In the case of Neovim, complexity is just a result of the amount of freedom you have. With vscode YOU have to adapt to the way vscode does things. With Neovim you take a bare bones editor and bend it to your will. Neovim adapts to your workflow. Cli applications are always more modular in nature than gui applications. Although there are many extensions for vscode, the amount of cli tools that you can make use of from or in hand with Neovim is just incomparably larger. For example don't want to use the find or ls or ripgrep, use fd, lsd, and rg. Or any of the other alternatives. This is all to say, it's not just about the editor. It's also about the ecosystem in vscode versus the ecosystem that you can make use of in the terminal. I'm not trying to make it seem less complex than it is to configure, I'm just trying to explain why it is. I don't even use Neovim, I use Helix and before that I used vscode for a few years. But my favorite part of using the terminal is not having to wait at all to open a single file or a large project. Vscode is fast for an electron app but helix and Neovim are just instantaneous.
@codeman99-dev
@codeman99-dev 4 ай бұрын
@@jhonyortiz5 I totally understand that. I use plenty of CLI tools. Most of the time when vscode is "slow" the cause is usually related to having too many extensions all watching the same editor buffer. VSCode is genuinely faster in WSL than it is on Windows. I think the socket files help a lot? Anyway, I used GNU nano professionally as my primary editor for many years. Genuinely a great editor until you want features only language servers can provide. That can be configured with a single file in about 12 minutes by simply reading the example configuration. I also really love devcontainers. Which means I push my configuration into shared, executable documentation.
@devopstoolbox
@devopstoolbox 4 ай бұрын
1. This is not the title of the video 😉 2. There’s definitely one coming soon covering my nvim config though. But I get it, some people like vanilla, there’s nothing wrong with that
@monisprabu1174
@monisprabu1174 4 ай бұрын
thanks
Docker Crash Course for Absolute Beginners [NEW]
1:07:39
TechWorld with Nana
Рет қаралды 1,7 МЛН
My Neovim configuration in 2024
20:48
Andrew Courter
Рет қаралды 8 М.
HAH Chaos in the Bathroom 🚽✨ Smart Tools for the Throne 😜
00:49
123 GO! Kevin
Рет қаралды 16 МЛН
WORLD BEST MAGIC SECRETS
00:50
MasomkaMagic
Рет қаралды 54 МЛН
I'm Never Using Neovim's Terminal The Same Again
8:43
DevOps Toolbox
Рет қаралды 41 М.
My Neovim Dev Workflow
41:37
Lazar Nikolov
Рет қаралды 32 М.
The Perfect Neovim Note Takers Setup
11:24
DevOps Toolbox
Рет қаралды 21 М.
Why Neovim nerds are so obsessed with the terminal
6:44
Joshua Morony
Рет қаралды 96 М.
Atuin Has Forever Changed The Way I Use Command History
8:16
DevOps Toolbox
Рет қаралды 14 М.
My Forever Dev Workflow
16:02
typecraft
Рет қаралды 94 М.
30 Vim commands you NEED TO KNOW (in just 10 minutes)
10:27
typecraft
Рет қаралды 99 М.
Как быстро освоить Vim / Neovim?
23:31
PurpleSchool | Anton Larichev
Рет қаралды 58 М.
Tmux has forever changed the way I write code.
13:30
Dreams of Code
Рет қаралды 999 М.
I'm Never Using Tmux The Same Again!
6:58
DevOps Toolbox
Рет қаралды 22 М.
HAH Chaos in the Bathroom 🚽✨ Smart Tools for the Throne 😜
00:49
123 GO! Kevin
Рет қаралды 16 МЛН