10 ms·
My .config Ship of Theseus
- clircle 5mo agoI’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
- kalmar 5mo agoSeparately from guix-the-distribution? Any chance your config in online somewhere?
- clircle 5mo agoYes, 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.
- clircle 5mo agoHere's some good configs https://github.com/podiki/dot.me https://github.com/podiki/dot.me (nonguix maintainer) https://codeberg.org/hako/Testament https://codeberg.org/hako/Testament (guix and nonguix maintainer) https://codeberg.org/cmargiotta/dotfiles https://codeberg.org/cmargiotta/dotfiles (good gaming stuff) https://codeberg.org/daviwil/dotfiles/src/branch/guix-home https://codeberg.org/daviwil/dotfiles/src/branch/guix-home (I modeled off this) https://gitlab.com/pjotrp/guix-notes https://gitlab.com/pjotrp/guix-notes
- Cyph0n 5mo agoSame, but Nix Home Manager for me.
- nailer 5mo agoNever understood the point of having a dotfile for all of config when config is the point of dotfiles.
- tuckerman 5mo agoBesides 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.
- zenoprax 5mo agoI find that there is a tendency to make too many things hidden. I just assume I'll have to show hidden items by default in all contexts now.
- wpm 5mo agoAs I said in a different comment here, I have 94 files and folders in my home, 84 of which are hidden, approximately zero of which actually needed to be hidden. If anything, it's the reason this is such a common issue, the dot lets everyone shit files out all over the place but oh it's hidden so no big deal.
- deleted 5mo ago[deleted]
- PunchyHamster 5mo agoIf all apps abode to it it would be nice because you could just backup config and skip all the other stuff. <type>/app hierarchy is much better than <app>/type because that allows for example of easily excluding ~/.cache from backups. ... but of course some apps must be super special flowers that need their own dir
- tuckerman 5mo agoYeah, I find it especially annoying when apps do use the XDG directories but use them incorrectly (dumping a bunch of state/data in .config is unfortunately too common). If apps want to do that I wish they would just grab $HOME/.appname rather than mess up my .config dir.
- Leonard_of_Q 5mo agoI 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 (wc -l now shows 263) I made over the years which I dump in a new environment plus a few additions to .bashrc (yes, bash, not one of the fancy replacements (zsh, fish, oil, ...) which are supposed to be better but in reality just end up being different) to set custom paths etc.
- saysjonathan 5mo agoI 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`), along with my dwm.tmux[0] as window manager, but I feel like I can generally operate in most environments as long as base tools are present. If others haven't tried it, I recommend giving it a go. Try being bravely default. [0] https://github.com/saysjonathan/dwm.tmux https://github.com/saysjonathan/dwm.tmux
- froh 5mo agoah, ed, "the unix standard text editor" but why not awk then?
- saysjonathan 5mo agoOh, 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-MgN0H1joIoDVoIC7/The_AWK_Programming_Language.pdf https://ia800708.us.archive.org/25/items/pdfy-MgN0H1joIoDVoI...
- threecheese 5mo agoAnd 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<TAB>’ habit, and “nd” is juuuuuust ahead of “nf”. It *used to* be ‘~/c<TAB>’ before .claude crapped itself into existence..
- chrisweekly 5mo agoI feel you. My solution is leaning into `z` ("frecency" heuristic), and selective use of "extra" zshrc aliases.
- flexagoon 5mo agoI usually treat an app putting stuff into $HOME with no reason to change that as a reason to not use the app. I've genuinely switched software multiple times because of the old one doing this. I also suggest you try xdg-ninja, which automatically scans your home directory and shows which of those directories you can change to a different location: https://github.com/b3nj5m1n/xdg-ninja https://github.com/b3nj5m1n/xdg-ninja I have a big shell config file that sets proper locations for all sort of programs I use: https://github.com/flexagoon/dotfiles/blob/main/dot_config/fish/conf.d/xdg.fish https://github.com/flexagoon/dotfiles/blob/main/dot_config/f...
- wpm 5mo agoI 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 a perfectly good Library folder they could have dumped themselves in instead but whatever. At least I can see them without unhiding hidden files. The rest? The other EIGHTY FUCKING TWO items in "my home"?? Hidden dot file BULLSHIT. 11 for Zsh related bullshit. Eleven! Are you fucking serious? .wget-hsts? What the fuck is even that? Fuck off! What absolute slop! What an incredibly stupid and shitty way to create caches and configurations. Braindead. I feel like im taking crazy pills. I'm gobsmacked that every time I look into "can I move this dogshit" I find a GitHub issue where the devs seem taken aback and confused "why would you want to do that". Eat shit! What do you mean the plaintext json files we put your config into and never built a GUI for should go into a folder you can see and navigate too easily? Whaaaat?? What do you mean "$XDG_CONFIG" exists? Hmmm no, checking for that would take 5 lines of code so no. Also, assholes, macOS doesn't canonically use goddamn XDG environment variables. Just because it uses a terminal you recognize doesn't mean it's fucking Linux! Take your .config and .cache and .local shite out of here. And I've tried to fight it, but eventually you give up. It's a losing battle against tasteless patterns and asshole, careless developers. 150 something versions of Firefox and only recently could you move .mozilla. OpenSSH will never not pollute your home directory, they said so! My desktop is now my home directory. It's mine. My terminal starts up there. Folders of stuff I actually give a fuck about go there. My browsers download into ~/Desktop/Downloads. I'm done fighting. My home was trashed. Crimes occurred. So I moved. God I fucking hate dotfiles. EDIT: Oh yeah, my favorite part is that on macOS, the Desktop folder is protected by TCC, so I can easily tell if some background app or something is trying to access it and deny it right then and there. It's a far safer place to keep things like AWS keys and secrets and my SSH keys, but NNoOOoOoOOoO that goes in my home folder that has nothing but POSIX file system level permissions. But don't worry, it's hidden by default! No one will know its there! At least the AWS cli lets you point somewhere else but that comes with a bunch of extra friction. Apps require full disk access to read my Safari cookie jar database, but they can grab my SSH keys without any issue. Great system we got here! .stupid .bozo .bullshit
- PunchyHamster 5mo agoUsing actual configuration management (in my case Puppet, tho Ansible is lighter choice) is just all around better way First: you can template stuff easily. Like having config that have different parameters (say a display name to display stuff on) between devices. Second: You can do "the everything else" of the machine setup, not just configs but also installed apps and various quirks and tweaks.
- sgarland 5mo agoGenerally I agree, though for lighter-weight stuff like personal config management, I’ve grown fond of chezmoi [0]. It has templating support, so I can do things like auto-detect if it’s a work machine or personal, and render the appropriate files where needed. I think it can also do rudimentary app management via storing a lockfile, but I haven’t tried that out. 0: https://chezmoi.io/ https://chezmoi.io/
- deleted 5mo ago[deleted]