Live data from Hacker News

My .config Ship of Theseus

shift1w.com

31–40 of 40 posts

Re: My .config Ship of Theseus

#31
post #12

And then you get friends like Claude - dozens of them - which prefer to crap all over $HOME. The app ‘Conductor’ does this, and I had to uninstall it; I just can’t crack my ‘ls ~/.co ’ habit, and “nd” is juuuuuust ahead of “nf”. It *used to* be ‘~/c ’ before .claude crapped itself into existence..

I have given up on my home directory. On my Mac, there are 94 items in my home directory. 10 of them are expected, coming from either the user template or from single user installations of applications. Two of the additions are not hidden: go and quicklisp. I don't actually mind this. Hidden folders are stupid if I am expected to be navigating into them either in the GUI or in the CLI. Slightly annoying since there's…

Given that most software hides dot files by default, where do you see them so often?

The only place I've encountered where they are visible by default and do get in the way is bash filename completion, and you can change this via the readline config file:

  # ~/.inputrc:
  set match-hidden-files off

Re: My .config Ship of Theseus

#32

I sort of get the appeal of fine-tuning the terminal environment to perfection but after fiddling with such things for many years - decades - I ended up using mostly stock settings with a very few changes. The advantage of that approach is that I feel at home just about anywhere instead of just on my one or few customised systems. My customisations mostly consist of a local /bin directory with a few hundred scripts (…

I like this approach. I feel like my end result is somewhat similar nonetheless. I prefer to stick with as many defaults as I can and try and learn those first. I try to only change what I see really adds to my workflow.

Re: My .config Ship of Theseus

#33
post #16

Earlier quoted context omitted.

I landed on near the same thing. I also went too far the other way at various points: ed as editor, weirder shells (posix sh, rc, es, rush (ruby shell), pdksh), suckless everything (even on MacOS, where possible). I found my healthy balance between using more modern tools and learning the defaults to avoid too much configuration. I still have 281 lines in dotfiles (according to `git ls-files | xargs cat | wc -l`), al…

ah, ed, "the unix standard text editor" but why not awk then?

Oh, I've used some awk too. My favorite (and most ridiculous) application was using the qawk from The AWK Programming Language[0] book to make a flat-file relational database of CSV files. Ultimately I just moved to sqlite but I learned a lot about awk in the process!

0: https://ia800708.us.archive.org/25/items/pdfy-MgN0H1joIoDVoI...

Re: My .config Ship of Theseus

#34
post #3

Never understood the point of having a dotfile for all of config when config is the point of dotfiles.

Besides cleanliness which is more a preference I agree, separating config, data, and cache makes it easy to know what can/should be backed up, what can be synced across machines, etc.

[deleted]

Re: My .config Ship of Theseus

#35
post #28
post #22

Earlier quoted context omitted.

> I have a Mac, not an XDG desktop. I would only expect and want X applications I run through Xquartz (all zero of them) to follow that. XDG has nothing to do with X11. XDG stands for "Cross-Desktop Group," and is designed specifically for any Unix or Unix-like operating system, which includes macOS.

XDG stands for X Desktop Group. It absolutely does not stand for Cross Desktop Group and has nothing to do with macOS or Windows, outside of aforementioned X apps on Quartz via XQuartz which as far as I know is completely dead.

Err, nope, it is 100% Cross Desktop Group: https://www.freedesktop.org/wiki/

That said, you are correct that it has nothing to do with Windows (and I never said that it did).

Re: My .config Ship of Theseus

#36
post #35
post #28

Earlier quoted context omitted.

XDG stands for X Desktop Group. It absolutely does not stand for Cross Desktop Group and has nothing to do with macOS or Windows, outside of aforementioned X apps on Quartz via XQuartz which as far as I know is completely dead.

Err, nope, it is 100% Cross Desktop Group: https://www.freedesktop.org/wiki/ That said, you are correct that it has nothing to do with Windows (and I never said that it did).

That is a backronym[1], it absolutely meant X Desktop Group and likely changed to "Cross Desktop Group" when they switched to Wayland. D-Bus, .desktop files, MPRIS are all listed as FDO specifications alongside the Desktop basedir spec and none of them are appropriate for macOS either.

FDO applies to Linux and "Unix-Like" Operating Systems. macOS is not "UNIX-like", Apple still bothers to get it certified under UNIX 2003 so it is technically not a Unix-like. Again, just because it has a /usr folder and a /var folder and can run a bash shell out of the box doesn't mean all the same mostly just OK standards from Linux should be copy-pasted over.

[1] https://lwn.net/2000/0427/a/freedesktop.html

Re: My .config Ship of Theseus

#37
post #12

Earlier quoted context omitted.

I have given up on my home directory. On my Mac, there are 94 items in my home directory. 10 of them are expected, coming from either the user template or from single user installations of applications. Two of the additions are not hidden: go and quicklisp. I don't actually mind this. Hidden folders are stupid if I am expected to be navigating into them either in the GUI or in the CLI. Slightly annoying since there's…

Given that most software hides dot files by default, where do you see them so often? The only place I've encountered where they are visible by default and do get in the way is bash filename completion, and you can change this via the readline config file: # ~/.inputrc: set match-hidden-files off

> Given that most software hides dot files by default, where do you see them so often?

I see them when I have to show unhidden files to find some massively bloated folder taking up space or go and manually modify any of the files in those hidden folders, which is quite often! Is it not unexpected to want to navigate to my configuration files? Why is .config hidden? Why not just put it in a folder called "Appropriate-Synonym-For-Stuff-You-Are-Unlikely-To-Want-To-See-Daily/config" I get you're trying to be helpful, but I know that I can hide them and they are hidden by default. The problem is not seeing them. It's that there are 94 top level items in "my" home directory and I'd rather there not be, and yet, I am doomed to suffer this, and I can't most of it because most apps do a piss-poor job of following XDG basedir standards or incorrectly apply them to platforms where they are absolutely not a valid or even sensible specification, and just lazily hardcode their code to pile shit into $HOME/.fucking_garbage.

It is a beyond stupid convention that a . automatically hides a file or folder. It is my computer. Files should always be visible in the GUI or in the terminal. If they should not be for convenience, then that is enough of a "type" or "classification" of a file to group them all together and collapse all that clutter into a folder that is still visible, and easily browsable without switching modes in my graphical file browser or having to add extra flags to commands and what not. Otherwise, the only person who should be hiding anything on my computer is me, via a file system flag (chflags first appeared in BSD 4.4, non-existent on Linux) or manually in the file manager GUI.

Re: My .config Ship of Theseus

#38
post #29
post #28

Earlier quoted context omitted.

XDG stands for X Desktop Group. It absolutely does not stand for Cross Desktop Group and has nothing to do with macOS or Windows, outside of aforementioned X apps on Quartz via XQuartz which as far as I know is completely dead.

the successor to xdg, freedesktop.org, however is acknowledging the need for cross platform openness. that's exactly why you indeed can configure where the three main "stores" of compliant applications, their config, their data and their caches. you can point them to %APPDATA%..., ~/Library or the Linux defaults. my point in this is: there are free and open conventions and we wouldn't need this "my HOME is cluttered"…

> the need for cross platform openness.

The need for cross platform openness? Did anyone at FDO ask Apple or Microsoft if they wanted to comment or make suggestions on the basedir spec? Did FDO look at either of the platforms' existing specifications and see if there were any ideas they could copy? Or did they just do a Linux-oid thing, disregarding norms and specifications that exist already on the other platforms they didn't invite to the party, and force some weird thing onto those platforms under the assumption that it was good because its open and cross platform.

My complaints come from two things.

1. On my Linux computers, I am inundated by bad applications that do not follow the conventions set out by XDG for basedir. The one good thing basedir lets me do is set my own goddamn directories that aren't dot-file trash, but I still can't depend on it being followed or respected. On this, we seem to agree. But I think the defaults from basedir are terrible and dot-files in general are terrible stupid things, hence the rant.

2. On my Windows and Mac computers, there is no reason for XDG envvars to be set because they do not purport to follow XDG basedir specifications. Thus, even though I could set an envvar for XDG_CONFIG and so on, they are more often ignored by crappy developers. However, I am still highly annoyed by now having at least two places where all of this crap might be, because even if an app developer follows XDG, it is up to me to force them to follow the platforms conventions. All of the basedir directories already have better analogue on macOS, it's ~/Library. Why shouldn't it be on the developer to do a simple `if macOS then put config data in ~/Library/Application Support/APPNAME and caches into ~/Library/Caches/APP_NAME` as is expected and typical on the Mac? Especially since there are no easy ways to set envvars for GUI applications on the Mac, what, am I supposed to make my own shortcuts for everything to set 5 XDG_BLANK envvars to launch an app instead of double-clicking an app bundle?

Re: My .config Ship of Theseus

#39
post #11
post #2

I’m moving slowly in the direction of Guix home for dotfile management, but until it covers all my bases, I’m fond of the gnu stow method

Separately from guix-the-distribution? Any chance your config in online somewhere?

Yes, separately. At home i run guix system but at work i use Guix package manager on Ubuntu wsl. My dots are private but Ill share some good repos to learn from when i get back to my desktop.

Re: My .config Ship of Theseus

#40
post #11
post #2

I’m moving slowly in the direction of Guix home for dotfile management, but until it covers all my bases, I’m fond of the gnu stow method

Separately from guix-the-distribution? Any chance your config in online somewhere?

Here's some good configs

https://github.com/podiki/dot.me (nonguix maintainer) https://codeberg.org/hako/Testament (guix and nonguix maintainer) https://codeberg.org/cmargiotta/dotfiles (good gaming stuff) https://codeberg.org/daviwil/dotfiles/src/branch/guix-home (I modeled off this) https://gitlab.com/pjotrp/guix-notes

Post reply on HN