▲ 106 ▼ Good Nix OS series: five articles for new users. (feddit.it) submitted 2 years ago by savbran@feddit.it to c/linux@lemmy.ml 46 comments fedilink hide all child comments I found these interesting Nix OS articles series for users that want to try it and learn first things, have a good reading! NixOS Series #1: Why Should You Consider Using NixOS? NixOS Series #2: How to Install NixOS on a Virtual Machine? NixOS Series #3: Install and Remove Packages in NixOS NixOS Series #4: Things To Do After Installing NixOS NixOS Series #5: How to set up home-manager on NixOS? #nixos #linux #tutorial #guide
[–] null@slrpnk.net 1 point 2 years ago (1 child) Flakes takes care of a lot of the imperative bits, but some people are wary of them since they're marked experimental. permalink fedilink source parent hideshow 2 child comments replies: [–] Laser@feddit.de 1 point 2 years ago* (1 child) I don't think flakes can do much more declarative than "legacy" nix, rather they increase reproducibility and purity. Also their tooling doesn't offer imperative stuff by default, but I'm not sure they cover use cases previously solved imperatively. E.g. I don't think you can install user software through a flake. Sure you can create shells with software available, but that is also possible without flakes. Maybe my understanding here is wrong though. permalink fedilink source parent hideshow 2 child comments replies: [–] null@slrpnk.net 2 points 2 years ago* (last edited 2 years ago) (1 child) They cover a few things -- most notably they replace channels, which are imperative. Unless I'm way off, you can also install user software through flakes if you add them as inputs. That's what I'm doing with Musnix. You can also pull a repo and 'nix run .#software' from the command-line, without entering a shell. That's how I'm using NixifiedAI. permalink fedilink source parent hideshow 2 child comments replies: [–] Laser@feddit.de 1 point 2 years ago (1 child) They cover a few things -- most notably they replace channels, which are imperative. True. I never considered channels imperative, but rather a purity issue. But I guess this is a matter of perspective. Unless I'm way off, you can also install user software through flakes if you add them as inputs. I don't know about this, but that doesn't mean anything. You can also pull a repo and 'nix run .#software' from the command-line, without entering a shell. True, though this by default only runs the default binary, and you're probably in a shell anyways, so it doesn't save that much. Also that output is, to my knowledge, not protected by garbage collection. But my knowledge of any imperative stuff is minimal, so I don't know if that's the case there. permalink fedilink source parent hideshow 2 child comments replies: [–] null@slrpnk.net 1 point 2 years ago* (1 child) I don't know about this, but that doesn't mean anything. Why doesn't it mean anything? You add the flake as an input (declarative) and then add the software to your config (also declarative). I'm not arguing that it's better, or saves time, just that it takes things that were done imperatively, and makes them declarative. permalink fedilink source parent hideshow 2 child comments replies: [–] Laser@feddit.de 1 point 2 years ago* (1 child) I meant that just because I don't know about it doesn't mean that it isn't possible. permalink fedilink source parent hideshow 2 child comments replies: [–] null@slrpnk.net 1 point 2 years ago Oh gotcha, sorry. For what it's worth, I'm still reasonably new to NixOS (but not Linux) so it's entirely possible I'm way off base. permalink fedilink source parent
[–] Laser@feddit.de 1 point 2 years ago* (1 child) I don't think flakes can do much more declarative than "legacy" nix, rather they increase reproducibility and purity. Also their tooling doesn't offer imperative stuff by default, but I'm not sure they cover use cases previously solved imperatively. E.g. I don't think you can install user software through a flake. Sure you can create shells with software available, but that is also possible without flakes. Maybe my understanding here is wrong though. permalink fedilink source parent hideshow 2 child comments replies: [–] null@slrpnk.net 2 points 2 years ago* (last edited 2 years ago) (1 child) They cover a few things -- most notably they replace channels, which are imperative. Unless I'm way off, you can also install user software through flakes if you add them as inputs. That's what I'm doing with Musnix. You can also pull a repo and 'nix run .#software' from the command-line, without entering a shell. That's how I'm using NixifiedAI. permalink fedilink source parent hideshow 2 child comments replies: [–] Laser@feddit.de 1 point 2 years ago (1 child) They cover a few things -- most notably they replace channels, which are imperative. True. I never considered channels imperative, but rather a purity issue. But I guess this is a matter of perspective. Unless I'm way off, you can also install user software through flakes if you add them as inputs. I don't know about this, but that doesn't mean anything. You can also pull a repo and 'nix run .#software' from the command-line, without entering a shell. True, though this by default only runs the default binary, and you're probably in a shell anyways, so it doesn't save that much. Also that output is, to my knowledge, not protected by garbage collection. But my knowledge of any imperative stuff is minimal, so I don't know if that's the case there. permalink fedilink source parent hideshow 2 child comments replies: [–] null@slrpnk.net 1 point 2 years ago* (1 child) I don't know about this, but that doesn't mean anything. Why doesn't it mean anything? You add the flake as an input (declarative) and then add the software to your config (also declarative). I'm not arguing that it's better, or saves time, just that it takes things that were done imperatively, and makes them declarative. permalink fedilink source parent hideshow 2 child comments replies: [–] Laser@feddit.de 1 point 2 years ago* (1 child) I meant that just because I don't know about it doesn't mean that it isn't possible. permalink fedilink source parent hideshow 2 child comments replies: [–] null@slrpnk.net 1 point 2 years ago Oh gotcha, sorry. For what it's worth, I'm still reasonably new to NixOS (but not Linux) so it's entirely possible I'm way off base. permalink fedilink source parent
[–] null@slrpnk.net 2 points 2 years ago* (last edited 2 years ago) (1 child) They cover a few things -- most notably they replace channels, which are imperative. Unless I'm way off, you can also install user software through flakes if you add them as inputs. That's what I'm doing with Musnix. You can also pull a repo and 'nix run .#software' from the command-line, without entering a shell. That's how I'm using NixifiedAI. permalink fedilink source parent hideshow 2 child comments replies: [–] Laser@feddit.de 1 point 2 years ago (1 child) They cover a few things -- most notably they replace channels, which are imperative. True. I never considered channels imperative, but rather a purity issue. But I guess this is a matter of perspective. Unless I'm way off, you can also install user software through flakes if you add them as inputs. I don't know about this, but that doesn't mean anything. You can also pull a repo and 'nix run .#software' from the command-line, without entering a shell. True, though this by default only runs the default binary, and you're probably in a shell anyways, so it doesn't save that much. Also that output is, to my knowledge, not protected by garbage collection. But my knowledge of any imperative stuff is minimal, so I don't know if that's the case there. permalink fedilink source parent hideshow 2 child comments replies: [–] null@slrpnk.net 1 point 2 years ago* (1 child) I don't know about this, but that doesn't mean anything. Why doesn't it mean anything? You add the flake as an input (declarative) and then add the software to your config (also declarative). I'm not arguing that it's better, or saves time, just that it takes things that were done imperatively, and makes them declarative. permalink fedilink source parent hideshow 2 child comments replies: [–] Laser@feddit.de 1 point 2 years ago* (1 child) I meant that just because I don't know about it doesn't mean that it isn't possible. permalink fedilink source parent hideshow 2 child comments replies: [–] null@slrpnk.net 1 point 2 years ago Oh gotcha, sorry. For what it's worth, I'm still reasonably new to NixOS (but not Linux) so it's entirely possible I'm way off base. permalink fedilink source parent
[–] Laser@feddit.de 1 point 2 years ago (1 child) They cover a few things -- most notably they replace channels, which are imperative. True. I never considered channels imperative, but rather a purity issue. But I guess this is a matter of perspective. Unless I'm way off, you can also install user software through flakes if you add them as inputs. I don't know about this, but that doesn't mean anything. You can also pull a repo and 'nix run .#software' from the command-line, without entering a shell. True, though this by default only runs the default binary, and you're probably in a shell anyways, so it doesn't save that much. Also that output is, to my knowledge, not protected by garbage collection. But my knowledge of any imperative stuff is minimal, so I don't know if that's the case there. permalink fedilink source parent hideshow 2 child comments replies: [–] null@slrpnk.net 1 point 2 years ago* (1 child) I don't know about this, but that doesn't mean anything. Why doesn't it mean anything? You add the flake as an input (declarative) and then add the software to your config (also declarative). I'm not arguing that it's better, or saves time, just that it takes things that were done imperatively, and makes them declarative. permalink fedilink source parent hideshow 2 child comments replies: [–] Laser@feddit.de 1 point 2 years ago* (1 child) I meant that just because I don't know about it doesn't mean that it isn't possible. permalink fedilink source parent hideshow 2 child comments replies: [–] null@slrpnk.net 1 point 2 years ago Oh gotcha, sorry. For what it's worth, I'm still reasonably new to NixOS (but not Linux) so it's entirely possible I'm way off base. permalink fedilink source parent
[–] null@slrpnk.net 1 point 2 years ago* (1 child) I don't know about this, but that doesn't mean anything. Why doesn't it mean anything? You add the flake as an input (declarative) and then add the software to your config (also declarative). I'm not arguing that it's better, or saves time, just that it takes things that were done imperatively, and makes them declarative. permalink fedilink source parent hideshow 2 child comments replies: [–] Laser@feddit.de 1 point 2 years ago* (1 child) I meant that just because I don't know about it doesn't mean that it isn't possible. permalink fedilink source parent hideshow 2 child comments replies: [–] null@slrpnk.net 1 point 2 years ago Oh gotcha, sorry. For what it's worth, I'm still reasonably new to NixOS (but not Linux) so it's entirely possible I'm way off base. permalink fedilink source parent
[–] Laser@feddit.de 1 point 2 years ago* (1 child) I meant that just because I don't know about it doesn't mean that it isn't possible. permalink fedilink source parent hideshow 2 child comments replies: [–] null@slrpnk.net 1 point 2 years ago Oh gotcha, sorry. For what it's worth, I'm still reasonably new to NixOS (but not Linux) so it's entirely possible I'm way off base. permalink fedilink source parent
[–] null@slrpnk.net 1 point 2 years ago Oh gotcha, sorry. For what it's worth, I'm still reasonably new to NixOS (but not Linux) so it's entirely possible I'm way off base. permalink fedilink source parent