@Atemu@lemmy.ml avatar

Atemu

@Atemu@lemmy.ml

Interested in Linux, FOSS, data storage systems, unfucking our society and a bit of gaming.

Nixpkgs committer.

github.com/Atemu
reddit.com/u/Atemu12 (Probably won’t be active much anymore.)

This profile is from a federated server and may be incomplete. Browse more on the original instance.

Atemu,
@Atemu@lemmy.ml avatar

In regular FHS distros, an upgrade to libxyz can be done without an update to its dependants a, b and c. The libxyz.so is updated in-place and newly run processes of a, b and c will use the new shared object code.

In Nix’ model, changing a dependency in any way changes all of its dependants too. The package a that depends on libxyz 1.0.0 is treated as entirely different from the otherwise same package a that depends on libxyz 1.0.1 or libxyz 1.0.0 with a patch applied/new dependency/patch applied to the compiler/anything.

Nix encodes everything that could in any way influence a package’s content into that package’s “version”. That’s the hash in every Nix store path (i.e. /nix/store/5jlfqjgr34crcljr8r93kwg2rk5psj9a-bash-interactive-5.2-p15/bin/bash). The version number in the end is just there to inform humans of a path’s contents; as far as Nix is concerned, it’s just an arbitrary name string.

Therefore, any update to “core” dependencies requires a rebuild of all dependants. For very central core packages such as glibc, that means almost all packages in existence. Because those packages are “different” from the packages on your system without the update, you must download them all again and, because they have different hashes, they will be in separate paths in your Nix store.

This is what allows Nix to have parallel “installation” of any version of any package and roll back your entire config to a previous state because your entire system is treated as a “package” with the same semantics as described above.

Unless you have harsh data caps, extremely slow connections or are extremely tight on disk space, this isn’t much of a concern though.
Additionally, you can always “garbage collect” old paths that are no longer referenced and Nix can deduplicate whole files that are 1:1 the same across the whole Nix store.

Atemu,
@Atemu@lemmy.ml avatar

Any distro that ships relatively recent libraries and kernels.

With the exception of Debian, RHEL, SLES and the like, pretty much everything.

Atemu,
@Atemu@lemmy.ml avatar

As in, build a NixOS VM that’s otherwise the exact same as your current system but with a different DE enabled. nixos-rebuild build-vm

Atemu, (edited )
@Atemu@lemmy.ml avatar

Guix might also be able to do this but I don’t think the others can.

This relies on NixOS’ declarative configuration which Silverbluae and the like do not have; they are configured imperatively.

Atemu,
@Atemu@lemmy.ml avatar

Well, you can roll back with a switch too; no reboot required.

The VM protects you from accidental state modification however (i.e. programs enabled by some DE by default writing their config files everwhere) and its ephemeral nature makes a few things easier.

Atemu,
@Atemu@lemmy.ml avatar

Post the journal after wakeup, not before.

Atemu,
@Atemu@lemmy.ml avatar

TL;DR Amazon is building a Linux distro that starts a chromium to run react native apps. Apparently, you need hundreds of people for that.

Atemu,
@Atemu@lemmy.ml avatar

There is none. NTFS is a filesystem you should only use if you need Windows compatibility anyways. Eventhough Linux natively supports it these days, it’s still primarily a windows filesystem.

Atemu,
@Atemu@lemmy.ml avatar

If you’re only using this filesystem on Linux anyways, absolutely.

Atemu,
@Atemu@lemmy.ml avatar

From what I’ve seen, that’s a great way to corrupt your filesystem.

Atemu,
@Atemu@lemmy.ml avatar

I’m still in the process of optimizing stuff around Linux (e.g. media drive filesystem)

What do you mean by that?

Atemu, (edited )
@Atemu@lemmy.ml avatar

I dont want weird archives or anything, just to copy my filesystem to another drive.

For proper backups, you do want “weird archives” with integrity checks, versioning, deduplication and compression. Regular files cannot offer that (at least not efficiently so).

Atemu,
@Atemu@lemmy.ml avatar

Even with btrfs “weird archives” such as Borg’s or restic’s are preferred for backups.

Atemu,
@Atemu@lemmy.ml avatar

Make sure that device doesn’t require proprietary drivers (commonly WiFi or GPU). If the hardware in question needs those and you need the component to work, I wouldn’t take it for free because you’d be stuck with shitty support on an ancient kernel.

Most commonly, thio affects broadcom WiFi and Nvidia GPUs.

Atemu,
@Atemu@lemmy.ml avatar

I can highly recommend using Nix on macOS! We never randomly update your apps (wtf?)

Atemu,
@Atemu@lemmy.ml avatar

I haven’t used brave but I can see that we’re on the release before the one yesterday. I’d expect a PR in the coming days.

Atemu,
@Atemu@lemmy.ml avatar

Minor version bumps should be mostly trivial: Change version and hash, package that into commit+PR (ckeck guidelines on that!) and that’s it most of the time.

The harder part is QA; ensuring it still works as expected. Therefore, even just testing update PRs as they come in would be a great help.
If the code change is trivial and a user of the package said it still works for them, a commiter coming along is likely convinced of the PR’s quality and just merges it.

It’s super easy to contribute to Nixpkgs in a meaningful manner :)

Atemu,
@Atemu@lemmy.ml avatar

You don’t.

No, seriously. Let the distros package your software; they know how to do that best.

What are the rules of buying used storage?

I am currently expanding my Homelab setup, and want to buy a 10TB drive, for media storage. It’s a Seagate Ironwolf disk, so perfect for the job. But, it’s second hand. It was originally bought in 2019, but stopped being used after 2022. Only used for static storage, it’s been booted less than 50 times. I can get it for...

Atemu,
@Atemu@lemmy.ml avatar

Original price doesn’t matter, you need to compare it against current new offerings. A drive like that, I’d buy for 8-10€/TB at max. because current new HDD pricing is 15€/TB at the low end.

What you also need is SMART output. Watch out for high uncorrectable errors, writes and whatever. I’d never buy a drive without having seen its SMART data.

Atemu,
@Atemu@lemmy.ml avatar

Are there any in-vitro studies planned?

Atemu,
@Atemu@lemmy.ml avatar

It used to use Google search results but they switched to Bing. It is worse than Google.

That’d be news to me and an ad hoc comparison I just did shows results much closer to Google than Bing with results usually just locally having switched places while on Bing it’s an entirely different order.

They do(did?) use Bing for mobile search results because daddy Google forced them to not be competitive on the platform they’re most interested in.

Atemu,
@Atemu@lemmy.ml avatar

For the first year or two, that’s common. Getting feature updates for anything even approaching >5 years is near unthinkable for Android devices however. You only get that with custom ROMs and even there it’s only half of the story as they can’t provide security updates for vendor blobs which is kind of a big yikes.

The iPhone 8 will get cut off the newest feature updates in the upcoming iOS 17; 6 years after launch. Security updates will likely be available for years to come. For comparison, my OnePlus 5 from 2017 (1 year younger) received its last update (any update whatsoever) in 2020 (3 years ago).

With an Android device, you’d be lucky to get security patches in any regularity at all, much less >3 years after release. That only happens with a couple few vendors who actually care such as Nokia and maybe Google (to a degree).

Atemu,
@Atemu@lemmy.ml avatar

The vendor blobs in custom ROMs come from the stock vendor ROM. When the vendor stops publishing their stock ROM, the custom ROM’s will also stop coming. In some cases some BLOBs can be taken from similar devices that might be supported a bit longer but I believe this is quite rare.

The ROM itself still gets updates through the AOSP but vendor BLOBs stay where they are and open source devs can do little to nothing about that.

Atemu,
@Atemu@lemmy.ml avatar

I homebrew the ROM on my personal phone and I can tell you from first hand experience that you need the vendor dirs extracted from the OEM ROM. You can read up on that on the wiki pages for building any device ROM.

You can also come to that conclusion the other way around: How else would you (or LOS maintainers) get your hands on proprietary blobs full of secret sauce that vendors sometimes even try to actively block access to?

  • All
  • Subscribed
  • Moderated
  • Favorites
  • localhost
  • All magazines
  • Loading…
    Loading the web debug toolbar…
    Attempt #