linux

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

Ramin_HAL9001, (edited ) in What are your opinions of Guix?

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.

OmnipotentEntity, (edited )
@OmnipotentEntity@beehaw.org avatar

Nix is also working on reproducible builds. In fact, the minimal installation CD for NixOS last release was reproducible. discourse.nixos.org/t/…/34756/

Atemu,
@Atemu@lemmy.ml avatar

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.

CanadaPlus,

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.

Ramin_HAL9001, (edited )

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.

mvirts, in Happy new year of the Linux Desktop!

The Linux desktop is forever, one year cannot contain it.

GustavoM,
@GustavoM@lemmy.world avatar

Indeed! I’m not planning to go back to Winblows unless I’m being paid for it.

TDCN, in Could 2024 be the year of the diagonal linux desktop?
@TDCN@feddit.dk avatar

Is it really 1st of April already

arthur,

The time is flying fast this year…

SmoochyPit, in New Linux user here. Is this really how I'm supposed to install apps on Linux?

Asking why something is the way it is makes you more of a “Linux user” than many.

You make a valid criticism; there’s definitely a learning curve to installing software if you choose to do it that way (since it’s not similar to other OSs), and it’s not automatically explained to new users by using the OS.

Here’s the understanding of it I’ve come to, if you’re interested:

Like others have said, the .deb file would be the equivalent of an .exe file on Windows. Like many .exe files, unless they include an auto-updater, they won’t automatically update.

A key difference I would like to point out is that Linux package managers often update and manage parts of the OS in addition to extra software. Windows and macOS both update their OS separately.

“Ubuntu Software Center” is similar to the “Microsoft Store” on Windows and the “App Store” on macOS. Like those, it’s user friendly and provides automatic updates, but it also doesn’t have every app. You can ensure those apps are safe because the company behind the OS verifies them.

“apt-get” is the default package manager for Ubuntu. That is the tool doing the heavy lifting underneath, and what those commands Mullvad gave are for.

Mullvad could have provided a script to download and run that executes those commands for you, but then you wouldn’t know what it’s doing, especially with it needing admin permission. With how security-oriented Mullvad’s brand is, I think that’s one potential reason they explain the steps and have the user do it instead.

bizdelnick,

the .deb file would be the equivalent of an .exe file on Windows

Not .exe. If you want to find an equivalent, .msi is the closest.

ptrckstr, (edited ) in Terminal Utility Mega list!
  • jq - parse json
  • Lazygit - UI for git
  • Lazydocker - ui for docker
  • pass - command line password store
  • zellij - tmux alternative
  • starship - terminal customization
  • tealdear - tldr in rust
  • rm-improved - rm, but moves stuff to /tmp
vox, (edited )
@vox@sopuli.xyz avatar

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)

ptrckstr,

It is! Nu looks really cool, haven’t gotten around to migrating yet myself.

Steamymoomilk,

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

ptrckstr,

You’re welcome! For tmux check out pain control, gives some alternative and maybe easier to remember bindings.

jbk, in Is DNS Bloat too?

My prediction is that we’ll go DNSSEC globally when IPv6 gets mainstream adoption. It sucks how many just don’t care enough.

domi,
@domi@lemmy.secnd.me avatar

when IPv6 gets mainstream adoption

At the current speed that would approximately be in 2087.

lolcatnip,

Whoa there, let’s not get ahead of ourselves.

Chobbes,

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.

risencode,

when IPv6 gets mainstream adoption.

After my death then. Alright, carry on.

filister, in Terminal Utility Mega list!

Can we move this to some community wiki? I think a lot of people can benefit from it and we can expand it with our own recommendations. Something like awesome-cli

urshanabi,
@urshanabi@lemmygrad.ml avatar

Yeah that would be a great idea. The piracy community on dbzer0 uses rentry.co, maybe that’s an option?

doidera,

They now use their own wiki

Geert, in Terminal Utility Mega list!
@Geert@lemmy.world avatar

Instead of tmux I would recommend Byobu

Steamymoomilk,

added thanks!

Geert,
@Geert@lemmy.world avatar

I think you forgot the header for it :)

max641,

Whats better with byobu

Geert,
@Geert@lemmy.world avatar

Byobu has more user-friendly interface and accessible features - but you can do the same things in tmux. I should probably have worded that better and supplied it as an alternative.

axelf, in What are your opinions of Guix?
@axelf@lemmy.ml avatar

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.

Spore, (edited )

Guix uses Guile everywhere. Nix uses string interpolated Bash and Perl for anything impure.

Now what do you think?

iopq,

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.

For example, enabling iwd is:


<span style="color:#323232;">networking.wireless.iwd.enable = true;
</span>

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?

Ramin_HAL9001, (edited )

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.

Atemu,
@Atemu@lemmy.ml avatar

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.

Spore,

No, monadic interface is used to programmatically access the store instead of being used to define packages. Packages are pure in Guix.

CanadaPlus,

So I guess they just wanted to use an established language?

callyral, in Terminal Utility Mega list!
@callyral@pawb.social avatar

nushell is a new type of shell that has some really cool features

lf is a file manager inspired by ranger

dash a POSIX-compliant /bin/sh that is fast and simple

eza is a modern alternative to ls

Steamymoomilk,

added to the list thanks!

Nyanix,
@Nyanix@lemmy.ca avatar

oooh, I’m going to have to try out nushell, I’m liking the look of that

OmnipotentEntity, (edited ) in Make Inkscape installed through Flatpak callable in the terminal as 'inkscape'?
@OmnipotentEntity@beehaw.org avatar

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.

cyberwolfie,

How does this deal with any flags passed?

OmnipotentEntity, (edited )
@OmnipotentEntity@beehaw.org avatar

If you need to pass flags you can use


<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.)

gnuhaut,

This is not a bashism. It’ll work fine with any sh.

OmnipotentEntity,
@OmnipotentEntity@beehaw.org avatar

Thanks, I wasn’t sure it worked in sh. I’ve been surprised a lot before by seemingly simple stuff like this.

SSUPII,

Or instead just make it an alias in your .bashrc

db2, in Make Inkscape installed through Flatpak callable in the terminal as 'inkscape'?

A good argument against containerization of programs tbh.

rotopenguin,
@rotopenguin@infosec.pub avatar

A good argument against DOS 2.0 adding directories

OsrsNeedsF2P,

Yup, pack it up folks. We spent years working to solve containerized applications with a granular permission system, but we can’t figure out how to make an executable run a command. It was a good run, but it’s over now.

db2,

Finally someone got the point instead of just downvoting. 🤣

cbarrick, in Terminal Utility Mega list!

s/ZHS/Zsh

You got some letters mixed up. Also, only the ‘Z’ should be capitalized. See www.zsh.org.

Steamymoomilk,

Fixed, Thanks for the help!

Penta,

The letters are still in the wrong order 💀

Steamymoomilk,

Actually fixed now LMAO sorry, im kinda brain-dead also have a nice new year!

Penta,

All good lol, and happy new year to you too!

ace, (edited ) in Make Inkscape installed through Flatpak callable in the terminal as 'inkscape'?
@ace@lemmy.ananace.dev avatar

Flatpak already creates executable wrappers for all applications as part of regular installs, though they’re by default named as the full package name.

For when inkscape has been installed into the system-wide Flatpak installation, you could simply symlink it like; ln -s /var/lib/flatpak/exports/bin/org.inkscape.Inkscape /usr/local/bin/inkscape

For the user-local installation, the exported runnable is in ~/.local/share/flatpak/exports/bin instead.

rotopenguin,
@rotopenguin@infosec.pub avatar

I handle it more like ln -s /var/lib/flatpak/exports/bin/org.inkscape.Inkscape ~/.local/bin/inkscape

.local/bin is a directory that you may have to make, but your shell’s startup scripts should automatically add it to the PATH after that.

ace,
@ace@lemmy.ananace.dev avatar

I personally use ~/.bin for my own symlinks, though I also use the user-specific installation instead of the system-wide one.
I wouldn’t guarantee that any automation handles ~/.local/bin or ~/.bin either, that would depend entirely on the distribution. In my case I’ve added both to PATH manually.

Axisential, in Darktable 4.6 Open-Source RAW Image Editor Released, Here's What's New

I really, really want to like Darktable, mostly because of the name lol. I must’ve tried it 8 or 10 times over the years, but I just can’t get my head around it. Something about the design language or the UI or something just doesn’t click for me and I can’t get decent images out of it. So I keep going back to Rawtherapee, even though I’d rather not…

Sina,

Personally i’m okay with the UI, but the default rendering is often so bad that I have to “fix” every single image. To me it’s either Raw therapee or just reboot into Windows …

manos_de_papel,

You should make a style to apply that brings you (close) to what you want. Out of the box, dakrtable shows you a minimally processed image. Its your job to take it from there.

Sina,

It shows me a very wrongly processed image. It was better when I used Fuji, but even then it was never anywhere close to what an unprocessed bland raw file should like.

manos_de_papel,

This is too vague to provide any further guidance. Again, darktable shows you a minimally processed raw image by default. You can get a good looking rendering by adding a few more modules in a style and applying that style by default.

manos_de_papel,

Have you read the basic editing section in the manual?

You can share a raw image at discuss.pixls.us and people will edit it and post the sidecar so you can see their edits.

RawTherapee is also good tho.

Axisential,

Yes, and I understand the process pretty well I think, as well as what I’m striving to output (long time Lightroom user). But the DT just doesn’t respond how I expect it to, with unexpected results. Frustrating.

Wasn’t aware of the pixls site though; I like that idea!

manos_de_papel,

If you expected to apply your lightroom workflow, then you will be frustrated, yes.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • linux@lemmy.ml
  • localhost
  • All magazines
  • Loading…
    Loading the web debug toolbar…
    Attempt #