惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

F
Full Disclosure
WordPress大学
WordPress大学
小众软件
小众软件
Cloudbric
Cloudbric
AWS News Blog
AWS News Blog
腾讯CDC
量子位
人人都是产品经理
人人都是产品经理
大猫的无限游戏
大猫的无限游戏
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
V
Vulnerabilities – Threatpost
Scott Helme
Scott Helme
Hugging Face - Blog
Hugging Face - Blog
博客园_首页
C
CXSECURITY Database RSS Feed - CXSecurity.com
The Hacker News
The Hacker News
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
IT之家
IT之家
Jina AI
Jina AI
Attack and Defense Labs
Attack and Defense Labs
S
SegmentFault 最新的问题
Simon Willison's Weblog
Simon Willison's Weblog
The Cloudflare Blog
阮一峰的网络日志
阮一峰的网络日志
T
Tailwind CSS Blog
Last Week in AI
Last Week in AI
博客园 - 【当耐特】
Google Online Security Blog
Google Online Security Blog
美团技术团队
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
V
Visual Studio Blog
罗磊的独立博客
L
LINUX DO - 最新话题
博客园 - Franky
博客园 - 叶小钗
Apple Machine Learning Research
Apple Machine Learning Research
The Last Watchdog
The Last Watchdog
J
Java Code Geeks
AI
AI
C
Cisco Blogs
酷 壳 – CoolShell
酷 壳 – CoolShell
C
Cyber Attacks, Cyber Crime and Cyber Security
Cisco Talos Blog
Cisco Talos Blog
博客园 - 三生石上(FineUI控件)
雷峰网
雷峰网
Help Net Security
Help Net Security
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
云风的 BLOG
云风的 BLOG
I
Intezer
S
Securelist

drew's dev blog

Hunting a production-only proxy bug in SvelteKit Artisanal Handcrafted Git Repositories Everything you need to know about Python 3.13 – JIT and GIL went up the hill How Postgres stores oversized values – let's raise a TOAST How Postgres stores data on disk – this one's a page turner Bumper Comtrade QuEST Rust Wrapper How long is a cucumber? 🥒 Jekyll KaTeX Block Using make and latexmk for easy LaTeX compilation Calculating the overlap of aerial photos Custom Jekyll plugins with GitHub Pages Calculating meters per pixel from aerial photographs Proper line numbers with Jekyll Compiling zsh without root Coding cheatsheet | drew's dev blog
Dotfiles
Drew Silcock · 2024-07-15 · via drew's dev blog

· 6 min read ·4

I’ve had a few people enquire after my terminal setup, so I put my dotfiles up on GitHub so that anyone else can quickly spin it up and use it.

It includes configurations for things like neovim and tmux as well as automatically installing a bunch of CLI tools I can’t live without, like ripgrep, bat, eza and delta, among many others.

It’s also got a big list in the README of all the tools I like to install on a fresh machine - you might find something you’ve not heard of or used before, so it’s worth a look!

Here are some of my absolute go-to day-to-day tools:

For writing code

When I’m working in the terminal, I use neovim with the NvChad setup. This comes pre-bundled with everything you could need to package managers and LSP installers, so check out the NvChad docs to see how to set it up.

When I’m writing code on my local machine, I use VSCode with the Catppuccin theme.

For writing Go code

Although I use VSCode for most code editing, I really like Goland from IntelliJ - the code completion and debugging tools are excellent.

For making notes

I use Obsidian for all my note-taking and knowledge management. People rave about the graph-linking capabilities, but I pretty much just use it to splurge out some thoughts and ideas in meetings. I really like how there’s just a “today’s notes” button so that I don’t have to think about what to call each note.

For version control management

Obviously, I use git for version control, but I also use Sublime Merge as a git GUI. I really like the graph view and find it just much easier to perform common actions like creating branches, merging branches, rebasing, etc. There is a small charge for the full version with the dark mode but it’s very much worth it IMO.

Application launcher

I used Alfred for a long, but I’ve long since moved onto the Raycast gravy train and the gravy is sweet.

Window management

I use Rectangle for window management - it’s free and does everything I need it to do.

Terminal

I tried out a few different terminals and I really like the configuration from Alacritty, but I just end up using iTerm2.

It’s a really minor thing, but I find Itsycal to be a really nice little calendar app that sits in the menu bar. I change the system time to just be a small analog clock and then turn Itsycal’s menu bar entry into my actual date and time indicator - it gives you a lot more control.

Database management

I use TablePlus for my database management - it’s got a nice, clean GUI that feels both modern and intuitive and also not incredibly bloated like the other ones (**cough** DataGrip **cough**).

I listed a few CLI tools already, here’s a list of my favourite CLI tools that I use on a daily basis:

  • Fish Shell - you can get the same kind of setup from zsh, but you have to put a lot more effort in. With Fish, it all comes out of the box. Also I like the more modern shell scripting syntax.
  • eza - we’re well into the 21st century now, why do we still need to use the same ls written in the 80s? eza is ls but better. It used to be called exa but then the exa maintainer disappeared, so the community forked it as eza.
  • Starship - a prompt that is pretty, unobtrusive and only tells you the things it thinks you need to know. For instance, it’ll show you the current Python version, but only if it detects you’re in a Python project.
  • jq - a JSON processor, useful for formatting JSON output from APIs and for manipulating JSON objects so that you can pass them around between scripts or iterate over them.
  • fd - like find but a billion times faster, and more intuitive to use.
  • bat - like cat but with syntax highlighting and line numbers.
  • hexyl - command-line hex viewer, with syntax highlighting.
  • ripgrep - like grep but much faster and doesn’t feel like it’s from the 90s.
  • delta - a better differ for git, with more human readable output, syntax highlighting, etc.
  • task - stop writing makefiles for Go projects (in fact, stop writing makefiles altogether, but that’s a different conversation). Task is a task runner that uses a Taskfile.yml to define tasks and dependencies in an intuitive and human readable way.
  • tealdeer - 95% of the time when I don’t know how to use a CLI tool, I just want to know the most common use cases. tldr is a collaborative community-driven effort to simplify man pages into something that I can quickly read and understand. Tealdeer is a CLI interface to the tldr repository.
  • bottom - like top but better. I’ve tried a few of these and this is the one I like the most.
  • atuin - sync your shell history across multiple machines. I have disabled the up arrow and enabled the ctrl-r search, so really I’m just using it so I can search my shell history from any machine.
  • rye - rye is like pyenv and Poetry bundled together. It’s also really fast, which is nice. It uses uv for package management which makes it insanely fast to install Python packages (no really, it is). It’s from the same guy who created ruff and uv , both excellent tools.
  • ncdu - a disk usage analyzer with an ncurses interface.

Fonts

Fonts are such a personal choice that I really think you should use whatever you feel like - I have always liked Ubuntu Mono for some reason, so I use the Ubuntu Mono Nerd Font.

Colour schemes and themes

I go through about a new colour scheme every month, but at the moment I’m into catppuccin - it’s just really soothing and pastelly. They’ve also got a setup / config for every conceivable tool and text editor, so it’s nice to have it all consistent with each other.