The abysmal adoption of DNSSEC is just embarrassing, and I haven’t heard any good arguments for why we shouldn’t do it. There’s one blog post that gets passed around as justification for not adopting DNSSEC, but it doesn’t really go into any technical detail and is mostly just the author saying “I’m scared of governments and TLDs”… which is maybe fair, but you still have to trust them for regular CA certs and everything, so why not make thr base secure?
Honestly, I might care slightly more about DNSSEC than IPv6 adoption… IPv4 exhaustion and NATing everywhere sucks, but the fact that you can’t trust DNS is like… insane.
cut is actually next to useless, because it cannot understand that multiple spaces can still be a single separator in most text files in /etc. You have to use AWK.
The idea behind it really appeals to me. However, Guix is so niche that I felt like it was not worth the effort to actually daily drive it. I went the NixOS way instead and have been daily driving it now for almost 2years. I’m really satisfied with the paradigm immutable and reproducible os. I also manage my servers this way and it makes it really easy to rollback stuff.
The learning curve is the same as for any language but you have to relearn how to manage an os this way as it can be really different than a trad os. It forces you to really understand for example how packages traditionally expect to link to various libs available on your system.
I tried it out one single time and it failed to install or update or something. Had to then find all the places it had inserted itself into in my system. Later I found out it’s based on some LISP variant. Even later I found out you can’t install firefox with it because of gnu or something?
That all combined dissuaded me from touching it again.
nix has terrible documentation, but it’s kinda worked for me, so I’m sticking with it.
It’s actually easier this way because you keep everything in one place.
I edited some file on Ubuntu to merge my audio channels into one because one of my speakers broke. Do you think I know what change I made to what file now? When I update, do you think I can merge my changes with the new file and make everything work? Of course not, I am several years into forgetting what I did
But configuration.nix is one file, I usually get a deprecation notice for some stuff and just change a line here and there from time to time. All of my changes are in there and they are in git. When I switched to flakes I also added flake.nix in there, but it’s still just two files in one folder I play around with. Not only that, but the maintainers already gave me the options I need for my services. I don’t have to follow some guide online to set something up, I just enable it and it works immediately.
I just did that and it worked. I commented it out and it went back to whatever the default package is. Is this as easy to toggle back and forth in other distros?
Using Scheme instead of a purely functional language like Nix as the Nix/Guix expression language is a bold choice I am not sure I agree with.
Scheme is the most functional of all non-purely-functional languages that I know of. What’s more, the parts of Guix in which packages are defined are quite pure, even using monads for some things, so it is really not too different from the Nix language.
the parts of Guix in which packages are defined are quite pure, even using monads for some things
Monads have nothing to do with purity. In fact, one of the most infamous usages of them is Haskell’s IO monad which is probably the most impure construct in the entire language.
it is really not too different from the Nix language.
Hm, I can’t help but think that a lisp dialect can never really be similar to any language except another lisp.
I’d rather just use the nu shell than tools like jq
i basically use it to write all of my scripts nowadays, it’s structured data approach is amazing (kinda similar to PowerShell, but done right)
Added to the list, thanks for your help! I will have to check out zellij and starship. I recently checked out network Chuck’s video about tmux which tmux is SUPER powerful and useful on my Gentoo computers I’m excited to see how plugins work with zellji! and starship looks like i get to rice my terminal some more :D Cheers and happy new years! [tmux Video] invidious.no-logs.com/watch?v=nTqu6w2wc68
I think that it’s a great project, and I hope it succeeds. My sense is that there is more momentum around Nix, so for a lot of uses it just makes more sense.
Guix and Nix both have the same issue imo, which is using a loosely typed language with an odd syntax. I feel like something both strongly typed and with a more common syntax would be easier to edit and faster to evaluate.
So, I actually learned about Guix via GNU Shepard. It sounds like NixOS just uses systemd, which I don’t love. Not in a dramatic way, and I’m currently running systemd, but it does break the Unix philosophy.
A Haskell-based package manager would be pretty dope (seeing as that’s the gold standard for that sort of language). I wonder if someone’s working on it.
So I think Guix (and Nix) is the most technologically advanced package manager in existence, and I hope someday all package managers work like Guix.
One other very interesting feature about Guix (which I don’t think Nix is doing yet) (which Nix also does) is that they have implemented a fully verifiable bootstrap, meaning every step of building the kernel, including the steps taken to build the C compiler toolchain, are produced by code that is simple enough for a group of humans to check for correctness and safety. Also, every step of the build process exists in the package repository, with no reliance on externally built binaries for anything, not even the C compiler toolchain. They accomplish this with a multi-phase bootstrap process, where a smaller, simpler C compiler is used to build GCC.
Do I use Guix? Well, no. Simply put, it is not quite to the point where it just works on a lot of the computer hardware that I own. With a bit more work, with a few more developers, and a bit more money invested, Guix could pretty soon become as reliable and useful as Debian or Fedora. But it is not quite there yet. And frankly, I have other more important things to do than worry about debugging problems with the operating system I am using.
Nix is also working on reproducible builds. In fact, the minimal installation CD for NixOS last release was reproducible. discourse.nixos.org/t/…/34756/
meaning every step of building the kernel, including the steps taken to build the C compiler toolchain, are produced by code that is simple enough to check for correctness and safety.
Full-source bootstrap isn’t about just the kernel, it affects every piece of software. With GUIX and Nix, every single package can be fully traced back to the bootstrap seed.
Though it should be noted that you do require a running Linux kernel on an x86 machine in order to bootstrap.
it is not quite to the point where it /just works/ on a lot of the computer hardware that I own.
Unless we get some serious money, effort and/or regulation w.r.t. OSS firmware, that will likely never be the case.
That has nothing to do with its technology though, that’s a political issue. GUIX is a GNU project and acts like proprietary software does not exist/is not a basic necessity in 2023.
Another interesting thing about Guix is that it compiles everything itself (with an option to outsource the heavy lifting in case you’re on a Raspberry Pi or something). Layers of abstraction not talking to each other properly is a conceptual pet peeve of mine, so I like the idea of everything being visible to the compiler like that.
As far as I understand it, Guix will download pre-built binaries for most packages from a cache by default, and the Guix OS distribution makes sure the x86_64 binaries for the latest package descriptions are always cached, so you should usually not have to locally build packages.
But of course you can easily tweak the default configuration of packages you install and trigger a local re-build of those packages, since changing the configuration of any package causes a cache miss.
Yeah, I tried this, and it works from my session, but I still got the same error from trying to run the program. I figured it was because it is called outside the bash session so the run commands have not been run, but is that perhaps not true?
Thanks! I was trying to implement this, and was trying to figure out how to pass all the arguments! This worked for me! I got some other errors, but they don’t seem related to this, so now to find out what they are all about 😅
Put a shell script in your PATH named inkscape with the following content:
<span style="color:#323232;">#!/bin/sh
</span><span style="color:#323232;">
</span><span style="color:#323232;">flatpak run org.inkscape.Inkscape
</span>
Note that you can use a local folder in your home directory to house small executables and scripts like this, so you don’t have to touch your system config. I generally recommend using something like ~/.local/bin and add it to your PATH via your Shell’s RC file.
<span style="color:#323232;">flatpak run org.inkscape.Inkscape "$@"
</span>
To forward all of the arguments to the script. Note that this might be a bashism, so you might need to change your hash bang to /bin/bash as well. Double check though.
(An easy way to check if something is working as you assume is just prepend the line with echo.)
Why don’t you check for both and use the one that’s available, otherwise print an error. Additionally you could read an env INKSCAPE_BIN and also include that in your checks.
So one could for example do INKSCAPE_BIN=‘distrobox enter arch – inkscape’ python main.py
It is not my package, but I could of course go ahead and change the source code directly to handle this. But I’d prefer a solution that would persist through updates.
linux
Oldest
This magazine is from a federated server and may be incomplete. Browse more on the original instance.