frontpage.
newsnewestaskshowjobs

Open Source @Github

fp.

Open in hackernews

Migrating from GNU Stow to Chezmoi

https://rednafi.com/misc/chezmoi/
31•speckx•2h ago

Comments

lucideer•1h ago
I must've tried to set up stow five or six times over the years, in between various hand rolled custom setups. I can't put my finger on why but I set up chez moi & it's been my setup since, much longer than any previous solution.

Chez moi is definitely not without its rough edges but it seems to have gotten the subtle essentials right enough for adhd me to not have abandoned it yet.

guhcampos•1h ago
I used stow for a long time, then tried Ansible, but eventually settled into good old Make.

`make dotfiles` just creates a bunch of symlinks, takes 5 minutes, all good and happy. Everything is modular, declarative, simple. Never looked back.

sureglymop•1h ago
Same here. I would say chezmoi has almost a bit too many features. If one is into yak shaving there is a lot to explore. It's only a negative for me because I forget half of them everytime I read the docs. But I can hardly blame it for that, it's great!
linhns•58m ago
I nearly jumped from GNU Stow, but settled when I find the —-no-folding flag
drdexebtjl•1h ago
I had similar problems with GNU Stow, but switched to Nix and Home Manager instead.

I think Chezmoi's templates and file naming conventions don't click for me, but it's nice to see a good variety in this problem space.

colordrops•48m ago
People shy from Nix because of supposed complexity but it really is the only real solution to this sort of problem. It's not really that much more difficult to learn, and in fact if you are willing, AI works really well generating nix config.
chungy•44m ago
Guix solves the same problem in similar ways, though it uses Scheme as its configuration language.
drdexebtjl•37m ago
Sadly it doesn't work on macOS, unlike Nix.
pkulak•35m ago
Or hardware.
drdexebtjl•10m ago
It took me a single afternoon to learn the basics and start using it. Contrary to what I initially thought, I didn't have to migrate all of my dotfiles at once. Then over the next couple of days, Codex migrated everything else for me.

One major benefit for me is that I no longer need to have once-in-a-while tools installed, because I can always spin up a temporary shell with `nix-shell -p packageName`. This significantly decreased the amount of software I have in my environment.

This works great with agentic coding. Agent wants to run `ripgrep`, but you don't have it? Tell it to run `nix run nixpkgs#ripgrep` instead.

But the biggest benefit is that now that you know Nix! So you can start using it to create reproducible development environments and uninstall mise, asdf, nvm, pyenv, etc. You can spin up reproducible servers running NixOS and never touch Ansible again. You can even install it in your router.

Or you can do none of that and continue just using it for your dotfiles. It plays nice with other tools.

rochak•1h ago
I've been using [yadm](https://yadm.io/) instead which works really well!
laurentlbm•21m ago
I've been happy with yadm for few years now. I had tried chezmoi, but preferred yadm. I don't remember my exact reasons though...
markstos•7m ago
I looked at Stow and Chezmoi and also have stuck with YADM. The exact reason is that YADM is so simple and intuitive because it's basically Git-for-dotfiles with so little to learn. Yet it also manages to support alternate and template files.
spudlyo•1h ago
It's great to manage your dotfiles, but I took it a step farther. I rebuilt the minimal Linux desktop environment of my dreams (startx, xinit, i3, i3status etc) with Ansible. It begins from a vanilla Ubuntu server 24.04.4 install. I bootstrapped it using a KVM + spice setup (using a spare physical SSD rather than a virtual one) and iterating over and over again until I finally got everything mostly working. I then booted off that physical disk, and kept iterating until everything was perfect. I've since adapted the setup to work on virtual aarch64 on macOS. I just recently tuned it to work on a crappy old Haswell Dell laptop, now properly detecting and configuring hardware vaapi capabilities, backlight, battery, trackpad, trackpoint, etc.

Pretty snazzy, watching YouTube in Firefox on a 13 year old laptop with hardware h264 decode and everything tuned exactly to my liking.

anuramat•47m ago
don't want to be that guy, but have you tried nix?
spudlyo•30m ago
I tried GUIX a few times, but ultimately I couldn't quite get it working exactly the way I wanted it to work. I also didn't like the ugly filesystem layout that the store requires. I may get over it and revisit at some point. It will be a lot of work, but on the plus side I'll have a reason to learn scheme.
mmh0000•59m ago
I’ve always managed this problem in a different way. I don’t know if my way is better, but it works really well for me.

I treat my powerful desktop computer as my main machine. Then I have a bunch of laptops.

Then I just rsync my entire home directory out to all the laptops.

From there. The rule is quite simple. Any file created on a laptop are considered ephemeral. If I create data that I have to keep. It gets rsynced back the other direction to the main machine.

This process has served me well for at least 15 years now and is supported by a small handful of shell scripts to automate this process

shevy-java•53m ago
Interesting. I go about this differently. I have one master setting and from there ruby just autogenerates anything I'd ever need on other computers. If ruby is unavailable then I just copy the generated files. But I only edit the master setting to enable what I need.

> This process has served me well for at least 15 years now and is supported by a small handful of shell scripts to automate this process

I feel in a similar way but not with shell scripts. Ruby autogenerates them if I need them too. Ruby is my ultimate glue to hold together everything.

arrakeen•57m ago
i feel like using GNU stow to manage your dotfiles has always been a hack.. has it ever been a supported usecase?

stow is an indispensable tool for me to manage /usr/local for manually installed software. my workflow goes:

  ./configure --prefix=/usr/local/stow/myapp
  make && make install
  stow myapp
now, myapp and all its supporting files are in the right place in /usr/local. if i want to "uninstall", i just run

  stow -D myapp
shevy-java•55m ago
I hate . dirs. In fact, I hate them so much that I don't use them.

My configuration lives primarily in .yml files. These are kept super-simple. When need be and another format is required, ruby autogenerates these for me. For instance, all my bash aliases are kept in .yml files which then get turned into bash rc files or any other target format for other shells. Same for most of my other configuration too - not always .yml but usually some text file. I never understood the neet for .foobar directories or files. They just hide a system that is intrinsically ugly and needlessly complicated.

QwenGlazer9000•44m ago
Chezmoi strikes a nice balance between the overkill of home-manager while still being more powerful than simpler solutions.

Yadm is another alternative, the main thing I don't like about it though is that I'm not a fan of cross OS dotfiles. Having niri files on my work Mac and aerospace dotfiles on Linux annoys me quite a bit.

As powerful as the templating in chezmoi is, I think it should be considered a last resort and only used for simple files. They break your editor features like highlighting.

pkulak•35m ago
Once you hit the Chezmoi stage, you're only about 6 months from Nix and Home Manager. I mean, why climb _almost_ to the top of a mountain and then just sit down?
vsviridov•20m ago
Switched to Chezmoi from random assortment of manually authored scripts. The workflow takes some getting used to, because I constantly edit the actual files without calling `chezmoi edit` first, and have to merge.

I like that when combined with `mise` (https://mise.jdx.dev) I can roll out a new computer in 2-3 commands and have my entire environment configured the way I like, with neovim and all the plugins and language servers.

groos•10m ago
~50 years of distributed systems research and this is a problem we still have to deal with today. Sad!
jdxcode•9m ago
It’s quite new but I’ve been cooking up some new bootstrapping features with mise which people may find relevant here: https://mise.jdx.dev/bootstrap.html

It’s for things like dotfiles, apt/brew packages, and LaunchAgents/systemd.

bkummel•27m ago
I didn't even know that managing dotfiles was a "problem space".
awesome_dude•15m ago
Even just as a user of nix there has been this problem of how to manage dotfiles - people have git repositories for them but they are copies, because the actual dotfile in use is never tracked

For a System administrator the problem is many orders of magnitude worse

A website that lists websites to submit your website to

https://www.submission.directory/
294•azeemkafridi•4h ago•73 comments

I found 10k GitHub repositories distributing Trojan malware

https://orchidfiles.com/github-repositories-distributing-malware/
393•theorchid•7h ago•109 comments

Swiss parliament lifts ban on new nuclear power plants

https://www.bluewin.ch/en/news/switzerland/parliament-lifts-ban-on-new-nuclear-power-plants-32575...
438•leonidasrup•4h ago•264 comments

Migrating from GNU Stow to Chezmoi

https://rednafi.com/misc/chezmoi/
34•speckx•2h ago•29 comments

Hospitals and universities repurposing drugs at 90% lower cost

https://www.kcl.ac.uk/news/hospitals-and-universities-repurposing-drugs-at-90-lower-cost
227•giuliomagnifico•8h ago•93 comments

Launch HN: TesterArmy (YC P26) – Agents that test web and mobile apps

https://tester.army
64•okwasniewski•4h ago•32 comments

The Harajuku Moment

https://tim.blog/2024/02/09/harajuku-moment/
49•abhaynayar•3h ago•24 comments

Advanced Compilers: The Self-Guided Online Course

https://www.cs.cornell.edu/courses/cs6120/2025fa/self-guided/
201•ibobev•8h ago•31 comments

The founder of Craigslist has given away half a billion dollars

https://www.independent.co.uk/us/money/craigslist-multimillionaire-craig-newmark-b2980681.html
129•Tomte•2h ago•83 comments

Modos Color Monitor Pushes E-Paper Displays Further

https://spectrum.ieee.org/modos-e-paper-monitor
159•Vinnl•7h ago•38 comments

The AI Hate Progression

https://www.xodium.net/2026/06/the-ai-hate-progression.html
62•gpi•44m ago•32 comments

TerraPower in Deal with Meta for Eight Natrium 345 MW Advanced Nuclear Plants

https://neutronbytes.com/2026/01/09/terrapower-in-mega-deal-with-meta-for-eight-natrium-345-mw-ad...
73•mpweiher•4h ago•72 comments

Show HN: Gerrymandle - Daily puzzle game where you redraw electoral districts

https://gerrymandle.cc/
71•realmofthemad•4h ago•31 comments

Emacs, how it all started (for me)

https://xvw.lol/en/articles/emacs-start.html
69•nukifw•3d ago•23 comments

Emacs 31 is around the corner: The changes I'm daily driving

https://www.rahuljuliato.com/posts/emacs-31-around-the-corner
325•frou_dh•7h ago•182 comments

DeepSeek Introduces Vision

https://chat.deepseek.com/
404•RIshabh235•12h ago•164 comments

The Token Compression Illusion: Why I'm Skeptical of RTK

https://mroczek.dev/articles/the-token-compression-illusion-why-im-skeptical-of-rtk/
15•lackoftactics•1h ago•39 comments

.gitignore Isn't the Only Way to Ignore Files in Git

https://nelson.cloud/.gitignore-isnt-the-only-way-to-ignore-files-in-git/
171•FergusArgyll•8h ago•48 comments

How Alberta Eradicated Rats

https://worksinprogress.co/issue/albertas-war-on-rats/
78•tzury•6h ago•69 comments

Has W Social switched to closed source?

https://blog.elenarossini.com/w-social-public-institutions-and-the-theater-of-european-digital-so...
135•nemoniac•6h ago•90 comments

Local Qwen isn't a worse Opus, it's a different tool

https://blog.alexellis.io/local-ai-is-not-opus/
426•alphabettsy•16h ago•225 comments

My LSM tree was slower than a B-tree. Then I profiled it

https://aasheesh.vercel.app/blog/lsm-tree
4•aasheeshrathour•3d ago•0 comments

Microsoft new Outlook takes 10 seconds to do what Outlook Classic does instantly

https://www.windowslatest.com/2026/06/15/microsofts-new-outlook-takes-10-seconds-to-do-what-outlo...
421•Adam-Hincu•6h ago•300 comments

Ubiquiti: Enterprise NAS, Built on ZFS

https://blog.ui.com/article/introducing-enterprise-nas
156•ksec•4h ago•148 comments

We built a persistent agent memory layer on Elasticsearch with 0.89 recall

https://www.elastic.co/search-labs/blog/agent-memory-elasticsearch
82•showmypost•7h ago•34 comments

Midjourney Medical

https://www.midjourney.com/medical/blogpost
1219•ricochet11•17h ago•822 comments

I need your clothes, your boots, and your motorcycle

https://rbelmont.mameworld.info/?p=1725
109•ingve•10h ago•102 comments

Vinyl Cache and Varnish Cache

https://vinyl-cache.org/organization/on_vinyl_cache_and_varnish_cache.html#org-vinyl-varnish
73•embedding-shape•3d ago•34 comments

Migrate from OpenClaw

https://hermes-agent.nousresearch.com/docs/guides/migrate-from-openclaw
97•JumpCrisscross•4h ago•77 comments

Unity vs. Floating Point

https://aras-p.info/blog/2026/06/11/Unity-vs-floating-point/
42•ibobev•3d ago•20 comments