13
votes
Let's talk about tooling.
Hey! Since it's a small community at the moment, I think we can have a very genreral thread about anything regarding tooling: interesting technologies you use at work/home, your editor, plugins, themes, bruh let's even share some screenshots. I find this kind of shit exciting and know more people like me exist out there :)
I use Neovim and write plain Python 3.7 at work. After a couple of months messing around, I think I found the most fitting setup for my workflow: ALE-vim with
mypy
andpylint --disable=missing-docstrings
configured as linters, and also pyls for completions. I wish I could somehow make jedi-vim work asynchronously, but I figured I'm wasting way too much time on it already :)I also use PaperColor theme which is quite pleasant. Here's a screenshot!
this setup for firefox was shared by @cfabbro the other day, I'd much recommend it.
Otherwise I've been using i3 for a few months now, and I'm liking it more and more.
I also just rewired the sound system I've got which I'm very happy with but It's nothing exciting enough to take pictures of (just wires running nicely flush along baseboards, behind things, etc).
I'm not on my computer right now, so I'll have to do it from memory:
For coding (I mostly write python and web stuff) I use VS code, which has been an absolute joy. I came from atom, and VS code's been so responsive (comparatively) and it looks really nice. Think I'm using a material dark theme. For coding I use the plugins for the language I'm using, everything has been very well supported.
I recently finished learning python basics and now I am playing with curses and working on a small project. I was using neovim-language and deoplete.nvim for auto completion, but it felt like too much for my needs so now I am using supertab plugin and I am happy with it.
Screenshot
WM - i3-gaps
Editor - neovim
Vim Theme - Material Vim
Terminal - Kitty
Interestingly, as I've aged, I've stopped using complex tooling setups and instead care mostly about simplicity, consistency, and speed.
As such, I use:
I have very few changes from the defaults (mostly around codestyle).
I'm really boring but I spend very little time having to configure anything, which is especially nice if (for some reason) I have to do a fresh install of tools.
I use (Neo)Vim for all my code editing, with the Atom One Dark colour scheme. I’m glad to see that there are a lot of Vim users here :)
I also occasionally hop into VS Code, mostly for reading larger amounts of code. The search in files feature, along with the peek definition feature make it really helpful for that.
Here's a new article about various CLI tools and the "old-school" counterparts they can replace: https://remysharp.com/2018/08/23/cli-improved
And a thread on reddit: https://www.reddit.com/r/linux/comments/99yk72/lesser_known_terminal_utilities/
shout out to direnv which you can you use with pass to get per project encrypted credentials loaded on demand. I use this kind of thing all the time for terraform / aws credentials / maven / artifactory etc. direnv can also mostly subsume all those different virtualenv thingys.
Want to share debugging some random box without needing to explictly share credentials? tmate is the bomb.
Want some lowkey git repo? keybase has lots of cool features but shareable client-side encrypted git repos is outstanding.
Want to track your .dotfiles? If you don't you should. I can recommend both homeshick and stow. I am currently leaning towards stow, as it's a bit more flexible and allows for some nice modularity which is indispensible if you work on a diverse set of machines / platforms. I am currently setting up a shell script per machine that pulls my repo then stows the relevant packages and hosting them so I can do
curl https://install.artfuldodge.io/copperhouse | sh
and have my laptop ready to go or whatever.Want mostly hassle free backups manageable from the cli and shipped to almost any target you can think of? duplicity all the way.
If you are grepping over trees of any decent size ditch whatever you are using and start using ripgrep. It's mad how much faster it is in the recursive case.
If you are consuming json at all you owe it to yourself to spend an evening with jq. Yes it has it's own language, but it's super powerful and it has shell scripts that were previously a nightmare to write into rock solid workhorses. Example: last night I used it 1. manipulate the keybase chat client to page though the history of an entire channel via it's json api then 2. consume the content to turn it into a nice human readable format. ez.
Interesting topic! Let's see ...
Editors: IntelliJ (Java, Kotlin), VS Code (everything else), Sublime (quick notes), Vim (editing over SSH)
OS: Windows 10 (home main), Arch + xfce4 (home dev VM), OSX (at work), Android (phone)
Terminals: iterm2 + zsh + oh my zsh + snazzy (OSX), tilix + bash (Arch), Git bash (Windows)
VS Code extensions: Beautify, Better Jinja, ESLint, Go, Indenticator, Python, SaltStack, TODO Highlight, Vetur, Docker, Vagrantfile Support, XML Tools
VCS: Git (home), Perforce (work)
Languages: Python (home), Go (home, work), JS (home, work), Java (work), Kotlin (work)
Tildes theme: Dracula, via the Stylus extension in Firefox
One of my favorite things I have done was add this CSS script to change my address bar in Firefox to display site security. Simple and I actually quite like the look of the green address bar with the dark Firefox theme.
I'm in the process of switching from Eclipse to Intellij.
There's an awful lot of hype around Intellij, and I have to say, I'm not fully convinced yet.
The UI is nice, the debugger is cool too. I'm definitely missing Eclipse's perspectives though, and I'm not keen on how Intellij builds and stores my war files.
Right now I'm trying to figure out how I can build on maven command line in a way that Intellij will like. As best I can tell I need to get maven to deploy in a specific folder for Intellij, because Intellij doesn't deploy to the deployments folder on my server the way Eclipse or Maven do.