I am unsure whether to learn :rust: #Rust or :haskell: #Haskell next. (Not that I have time to, but one may dream, right? 😉).
Knowing Haskell would allow me to contribute to some software I deeply care about (#hledger, :gitannex: #gitAnnex). Rust on the other hand looks *much* easier to get going with coming from #Python (and embedded #C / #Cpp). Its cargo toolchain and ecosystem also looks nicer, plus easier availability on all architectures (aarch64!).
#rust #haskell #hledger #gitannex #python #c #cpp
There is no in-depth example video for #gitannex out there.
#linux #youtubers where are you at?
I want pass a nice "From zero to 100 with git annex" video to a friend, but everything I find is the _absolute_ basics, nothing that gets in really deep!
@Atemu @musicmatze Ah, backing up your whole system state with #gitAnnex doesn't work, right. With the assistant you don't have to care about unused files, they'll get moved around automatically. But yes, they're not as easily accessible as the presently checked-out files.
While the concept may have become foreign to us #NixOS snobs who cleanly separate system state from user data, when people hear "backup tool", that includes the ability to back up your system state for them.
While you could abuse a directory special remote with importtree=yes to achieve something like that, #gitAnnex is really not built for that.
#gitAnnex is also not an archival tool. While it retains history, unused keys are second-class citizen.
@musicmatze Hm. A bit flip in something like a borg backup could surely have more devastating consequences and potentially cause more than one file being broken, right? #GitAnnex can at least do something about bit flips (auto-get or tell you where to get it from), fancy backup systems will just choke, won't they? 🤔
@musicmatze I wonder why :gitannex: #gitAnnex is not considered to be a backup system¹. I use it as such and always have one or more remotes that retain everything. Restoring a broken local repo is then a matter of cloning from those remotes, done. If that is not a backup system, I don't understand what is 😅
@musicmatze :gitannex: #gitAnnex rocks for file syncing, file catalogization, hiding secrets from public repos, archival, backups and so much more 💪
This is a real annoyance when syncing files cross-OS. In my case with :gitannex: #gitAnnex where #git luckily doesn't bother too much except always showing those files as deleted or something.
And then this whole iCloud thing that randomly shoves your files elsewhere if you run out of space. Also not great for syncing systems...
:gitannex: #gitAnnex 10.20230802 is out with some exciting features and fixes:
- new command 'git annex satisfy' syncs content as configured without touching your git branch
- a new --explain option in many places to better understand why things are (not) happening
- easier setup to get 'git diff' work on diff'able annexed files
- a new 'onlyingroup' preferred content expression that helps e.g. ignoring offline backups
- many important fixes here and there
@gianarb I solved it by tracking the secrets not with git but with :gitannex: #gitAnnex. Your secrets then only reside on your PCs or where you have them synced. Your secrets are as secure as the hash function you chose. You can salt it by adding random stuff to your secret files (comments, etc.)
https://gitlab.com/nobodyinperson/nixconfig/-/tree/main/secrets?ref_type=heads
@realestninja Can't confirm boot slowness rumor, I just switched from #Manjaro to #NixOS for the same reasons and NixOS boots faster for me.
NixOS is not only stable but you can also quite easily get the absolute latest versions if you like.
For example for #gitAnnex here: https://gitlab.com/nobodyinperson/nixconfig/-/blob/fa29c15afdee1d45e89c2ec0ec4dab4d644cc177/pkgs/git-annex.nix
@abcdw Indeed. Though I think about adding :gitannex: #gitAnnex support to #pass. Putting the gpg-encrypted password files into git directly is not so great. I guess the script could be made to auto-detect if the repo has an annex and then use git annex add instead of git add when appropriate.
@Ganneff Sounds very cool!
I have set up a :gitannex: #gitAnnex repo for 4 mailboxes and a total of 30k mails now. Works very well and mbsync does a good job of syncing, so does git annex for archoving and backup.
However, despite Expunge/Create/Remove=Both in the config, it doesn't really propagate changes I do in the local storage back to the server. 🤷 Might be doing something wrong...
@nobodyinperson I sync 6 different "accounts/mailboxes" (around 800 actual folders) with around 1.a little million mails using mbsync to a local directory. One subdir in there per account. afew to apply sind mass tag changes based on some filters i want. And then notmuch to index and (via its emacs interface) read/ search/ reply/ write/....
Works pretty well. That maildir i get out of this is backed up using some restic, unsure what git would do with the amount of files.
#gitannex #mbsync #mutt #neomutt #supmail #nmail #alpine
Thanks for all the suggestions. Maildir format is the term I was looking for, apparently. I'm not on a journey trying #mbsync. It's amazing so far and works very well with :gitannex: #gitAnnex. The indexing and search is the next step then.
mbsync puts local info like the sync time and the hostname into the Maildir email files. Might make a mess when running mbsync from different PCs. Though git annex will deduplicate it anyway and cleanup shouldn't be too hard.
I am looking for a solution to my email problem. I need a searchable backup system for all my email adresses, preferrably in a format that's (:gitannex: #gitAnnex) sync friendly (e.g. all just .eml files). A terminal-based Thunderbird alternative would also be nice. I see there's #mbsync #mutt #neomutt #supMail #nmail #alpine and so many more but no concise overview with feature comparison. What would you recommend?
#gitannex #mbsync #mutt #neomutt #supmail #nmail #alpine
Hm, for #hledger it's unfortunately not that easy to build the latest version on :nixos: #NixOS 🫤
The problem is that hledger's dependencies apparently vary quite a bit between releases (not the case for :gitannex: #gitAnnex? Did I just get lucky above?) so all of its dependencies need to be repackaged as well 🫤
Maybe that's the reason hledger is still at 1.27.1 even on unstable...
https://gitlab.com/nobodyinperson/nixconfig/-/blob/main/pkgs/hledger.nix?ref_type=heads
@fabiscafe #gitAnnex's license is indeed AGPL, but also others. How does that translate to a binary build? 🤔 @joeyh