this post was submitted on 14 May 2023
28 points (100.0% liked)

Linux

48307 readers
1073 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
 

I have always been discovering new things about Linux distros while distro hopping. And when I get something I really like, I just copy the package name and make sure I install it in every distro I use in the future.

Let me start:

  1. Clipboard manager (Gpaste)
  2. KDE connect
top 34 comments
sorted by: hot top controversial new old
[–] lhotze@lemmy.ml 19 points 2 years ago (4 children)

Everything NixOS (https://nixos.org) does. I am 99% sure that if anyone tries it out and gets comfortable with it they will never change again.

  • Your configuration is written in code, it is therefore persistent. Do you know that annoying feeling of "oh shit, how did I configure x program that I want to install on this other machine"? Never again.
  • You can wipe your machine and recover your config in no time. I have 3 machines working with the same config except for small variations. If I change the command to take a screenshot it changes in all of them. If I change my firefox bookmarks it is persisted accross them too. Its awesome.
  • NixOS generates revisions of your config automatically. Ifyou change something and it breaks you can always use a previous version of your system that you know works to fix it.
  • The Nix package repository is the largest (by far) in all the linux ecosystem. And, even if a package you want is missing, adding it yourself is not that hard.

I am probably missing other nice things, but those are awesome already. It's true that the learning curve it a bit steeper than usual, but there is no distro quite like it and even for non coders you can get a lot out of it.

[–] yaru 3 points 2 years ago (1 children)

Nix has been on my mind for a while, but I've been hesitant to go all in. Unfortunately, messing around a bit with VMs I still don't feel like I have a good handle on how it all works.

One question I'd ask you is how much upfront work it is to get, say, a stable setup for a laptop where all of the little things are working (opening/closing the lid, connecting to external screen, switching audio outputs, media keys. Laptop stuff!)

As context, a long time ago I ran Gentoo and later Arch, so I'm not technically clueless, but eventually decided to switch to easier distros that came with a reasonable system defaults that works out of the box. I'm super interested in NixOS for all the reasons you mentioned, but worried about how time I'll end up spending just getting that config file to where I want it!

[–] lhotze@lemmy.ml 1 points 2 years ago (1 children)

The stable setup on the laptop you can get by using a DE like Gnome that comes with batteries included. If you go for more minimal setups like a window manager it will take quite a bit longer. NixOS as a distribution is pretty easy to get running, if you are familiar with the desktop environment that you install in your system getting it setup is much much simpler than doing so in other distros like Arch, since it usually consists of adding a line like desktopEnvironment.gnome.enable = true to your config and the system takes care of almost everything. I even think that gnome gets installed by default on the first run.

[–] yaru 1 points 2 years ago (1 children)

Thanks! I ended up messing with Nixos a bunch in the past few weeks. My impression is generally positive, though while many of the things it does are very elegant (like the gnome example you mentioned), a lot of it also seems a bit hacky. Ultimately, figuring out how to declaratively configure specific things seems to take so much more time than my current approach of a written document detailing the steps of setting up my system.

I'm going to keep tinkering in a VM though, and maybe I'll have a breakthrough. Keeping configs working across two computers especially is tempting (read: an excuse to get a second computer).

One last question - one of the things I worked on was Firefox with home manager. How did you get it set up so bookmarks were included in the config?

[–] lhotze@lemmy.ml 2 points 1 year ago

When you set a FF profile there is a key called bookmarks. You can set them there:

programs.firefox = {
  enable = true;
  extensions = [
    pkgs.nur.repos.rycee.firefox-addons.vimium
    ...
  ];
  profiles = {
    my-profile = {
      name = "yourname";
      settings = {};
      bookmarks = [
         {
           name = "This is a folder";
           toolbar = true;
           bookmarks = [
             {
               name = "You can nest folders";
               bookmarks = [
                 {
                   name = "This is a lemmy bookmark";
                   keyword = "lemmy";
                   url = "https://lemmy.ml/";
                 }
            ...
        ];
      ];
    };
  };
};

You can always look at the home manager reference, I usually look here.

[–] Owell1984@lemmy.ml 3 points 2 years ago

undefined> Your configuration is written in code, it is therefore persistent. Do you know that annoying feeling of “oh shit, how did I configure x program that I want to install on this other machine”? Never again.

This is sick! thank you!

[–] Zach777@fosstodon.org 1 points 2 years ago

@lhotze @Owell1984 This singlehandedly makes me want to switch off Ubuntu.

[–] Tiuku@sopuli.xyz 1 points 2 years ago (1 children)

It's quite reasonable to switch to Guix, as it too is "a functional distro".

[–] Laser@feddit.de 1 points 2 years ago

I recently tried NixOS and was considering Guix as well, however what made me decide on NixOS was the fact that it doesn't restrict you to free packages by the distro default choice.

Does Guix have an equivalent to flakes or does it even need one? I never looked closer into the design.

[–] Ephera@lemmy.ml 12 points 2 years ago (1 children)

BTRFS snapshots like openSUSE and now also Fedora has it. I don't want to use a distro without them anymore. Unfortunately, configuring them yourself is a bit more involved than just installing a package...

[–] Secunergy@social.tchncs.de 2 points 2 years ago (1 children)

@Ephera @Owell1984 Do you a good source for a tutorial how to configure snapshots? (on OpenSUSE)

[–] Ephera@lemmy.ml 5 points 2 years ago (1 children)

Oh, on openSUSE, you don't need to configure anything. Just install with the default partition setup and it will automatically take snapshots of your operating system (/home/ is excluded) whenever there are changes.

It uses incremental snapshots, so they won't take up infinite space...

[–] Secunergy@social.tchncs.de 1 points 2 years ago (1 children)

@Ephera Thanks, I noticed that my system does take snapshots automatically (I am new to openSUSE) but thought maybe there is still something to optimize 👍🏼

[–] jumanjimanju@lemmy.ml 2 points 2 years ago

Look on the the arch wiki, you can tweak snapshot/cleanup frequencies, which is nice

[–] sxan@midwest.social 10 points 2 years ago* (last edited 2 years ago) (1 children)

For KDE Connect, there's a headless program called mconnect with no Qt (or KDE) dependencies. I use it with the KDE Connect Android app, and it works well. All of the commands on the Linux end are CLI, and many of the functions are supported.

Supported functions

Edit: link to source

[–] Owell1984@lemmy.ml 4 points 2 years ago (1 children)

really sorry, I don't understand the point of this app. I mean, KDE connect works well, so why change?

Are you talking about a situation where it's not possible to install those Qt or KDE dependencies (then it might be useful to me)

Thank you for your output either way!

[–] finickydesert@lemmy.ml 1 points 2 years ago (1 children)
[–] Ascend@social.vivaldi.net 3 points 2 years ago

@finickydesert
It is okay, just you what you like :)

[–] russjr08@outpost.zeuslink.net 8 points 2 years ago (2 children)

I'd probably say the vast amount of packages that can be installed via the AUR, but since the rising popularity of Flatpak, we're getting incredibly close to this.

My next want would be having the ability to make your system declarative (at least, the initial config) in a fashion that NixOS and Guix do.

[–] eshep@social.trom.tf 2 points 2 years ago (1 children)

@Owell1984 @russjr08 Things usually have a .deb or .rpm available which almost always unpack and run with no issue regardless of distro.

[–] russjr08@outpost.zeuslink.net 3 points 2 years ago

Oh for sure (and a lot of AUR packages are exactly just that), but nothing beats the simplicity and speed of running a quick sudo pacman -S package_name and then being up and running :)

[–] sxan@midwest.social 2 points 2 years ago

I have really come to depend on rolling-release systems. I have a few alliances that run Ubuntu, because of a dependency on vendor packages and insufficient interest in fighting with software+hardware issues, and I hate when I have to deal with them. The paupacy of software, the frequent breakage on release upgrades; I don't know how people who prefer these systems justify how bad they are in comparison to Arch (or Nix, or any other rolling release-based distro).

I haven't yet done it, but Arch is so reliable I'm tempted to create a daily -Syu cron job (or, more precisely, a systemd timer job, because I'm only yet running Artix on a couple of systems). The only thing that gives me pause are the kernel updates, which are frequency and necessitate system reboots.

Those kernel updates really make me wish Linus had focused on a microkernel architecture.

[–] eshep@social.trom.tf 7 points 2 years ago (1 children)

@Owell1984 Having #vim and #tmux in liveOS should be standard practice.

[–] Owell1984@lemmy.ml 2 points 2 years ago (3 children)

I didn't know about tmux. I haven't heard much about it. What's it's purpose and what use would it have for a general user?

[–] normalmode@mastodon.social 2 points 2 years ago (1 children)

@Owell1984 @eshep It has 2 basic functions:

  1. It allows you to add (effectively) tab pages to your shell, and split each page into multiple windows. Yes your terminal can likely do this, but this is running inside your shell, so it works the same way if you’re logged in locally or running over SSH.

1/2

[–] normalmode@mastodon.social 5 points 2 years ago* (last edited 2 years ago) (1 children)

@Owell1984 @eshep 2. Your tmux session runs in a server process, so if you close the enclosing terminal or disconnect from your SSH session, everything in your tmux session keeps running and you can reconnect to it later on.

You can also have a bunch of tmux sessions running in a single tmux server, and switch between them with a couple of keystrokes.

Once you start using tmux (or screen) it’s very hard to imagine going back to life without it!

2/2

[–] eshep@social.trom.tf 3 points 2 years ago

@Owell1984 @normalmode I'm perty sure I'd go mad if I had no way of installin one of em. 😅

[–] eshep@social.trom.tf 2 points 2 years ago (1 children)

@Owell1984 It's a terminal multiplexer. If you've heard of screen, it's very similar. Maybe not so useful for a "general user", but I find it indispensably useful on those occasions where I need a live disc.

[–] Owell1984@lemmy.ml 3 points 2 years ago

@eshep@social.trom.tf @normalmode@mastodon.social Thanks guys, I will be trying to learn Bash soon, I am gonna install tmux. As for vim, obv, I have it installed :')

[–] 4pK2@aus.social 2 points 2 years ago

@Owell1984 @eshep tmux and Vim are the 2 things I return to every couple of years. I commit to using them everywhere so everything gets stuck in muscle memory and it all becomes second nature. And then I get sick of it and say screw that (for a year or two).

[–] Vorthas@lemmy.ml 2 points 1 year ago

I would say AUR access with either Xfce or MATE as a default and first-class option for DEs. It's hard to go to a distro without AUR access for a lot of what I use, doable, but hard.

[–] finickydesert@lemmy.ml 1 points 2 years ago (1 children)
[–] Pantherina@feddit.de 1 points 2 years ago

Kde has Klipper and everything else? Maybe I miss stability, because currently its a buggy mess sometimes.

MXLinux's Conky manager... havent got it to run normally again.

load more comments
view more: next ›