4
submitted 7 months ago* (last edited 7 months ago) by drndramrndra@lemmygrad.ml to c/linux@lemmy.ml

Idea: Debian + Nix == stable and funky fresh

I first came across Declarative Package Management in the manual. So I started making these packages based on it.

The install works (nix-env -iA nixpkgs.my-emacs), but nix-env -u doesn't update changes (adding and removing packages from the paths). Do I need to reinstall my- packages to get updates as well? Does nix-env -u update package definitions (apt update)?

After that I came across zero-to-nix. This approach wasn't mentioned at all in the quick start, and I came across comments that people shouldn't use nix-env anymore. Should I create flakes instead of packages, and export their paths to have them available globally?

How do you use Nix to manage your packages? Do you have any examples?

nix-env/nix profile/home-manager?

top 5 comments
sorted by: hot top controversial new old
[-] Atemu@lemmy.ml 6 points 7 months ago

That's a really hacky method and should not be in the manual tbh.

You should be able to update by "installing" your env again though.

It's a bit overkill but for declarative package management under non-NixOS, I use home-manager's home.packages option. It does essentially this but wraps it in a nice package and home-manager can do a lot of other things too.

As for flakes: No, you don't require them to do any of this. They solve an entirely different problem.

[-] lupec@lemm.ee 3 points 7 months ago

I second home-manager, it was my Nix gateway drug and I can't recommend it enough!

[-] drndramrndra@lemmygrad.ml 2 points 7 months ago

That’s a really hacky method and should not be in the manual tbh.

That's why I'm asking, it seemed really odd.

home-manager

Thanks, this makes a lot more sense. Any good resources besides the wiki? Is there a way to break down home.packages into smaller chunks for modularity?

As for flakes: No, you don’t require them to do any of this. They solve an entirely different problem.

So they're just to ensure reproducibility?

[-] chayleaf@lemmy.ml 3 points 7 months ago

Is there a way to break down home.packages into smaller chunks for modularity?

home-manager uses the NixOS module system, so you can use everything that comes with it, like imports

So they're just to ensure reproducibility?

That and for easier importing of other people's Nix code

[-] drndramrndra@lemmygrad.ml 2 points 7 months ago

Nice, thanks

this post was submitted on 01 Feb 2024
4 points (83.3% liked)

Linux

47355 readers
1384 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS