Between wanting to do more with local LLMs, wsl annoyances, and the direction tech companies have been going lately, I think it’s time I start exploring a full Linux migration

I’m a software dev, I’m comfortable in the command line, and I used to write the node configuration piece of something similar to chef (flavor/version agnostic setup of cloud environments)

So for me, Linux has always been a “modify the script and rebuild fresh” kind of deal… Even my dev VMs involved a lot of scripts and snapshots. I don’t enjoy configuration and I really hate debugging it, but I can muddle through when I have to

Web searches have pushed me towards Ubuntu for LLM work, but I’ve never been a big fan of the window Managers. I like little flourishes like animation and lots of options I can set graphically, I use multiple desktop multiple monitors

I’ve tried the one it comes standard with, gnome, and kde (although it’s been about 5 years since I’ve last given them a real shot).

I’m mostly looking for the most reasonable footprint that is “good enough”, something that feels polished to at least the Windows XP level - subtle animations instead of instant popups, rounded borders, maybe a bit of transparency here and there.

I’m looking at Ubuntu w/

  • kde w/ plasma (I understand it’s very configurable, I don’t love the look and it seems to be a bigger footprint

  • budgie (looks nice, never heard of it before today)

  • kylin (looks very Windows 10 which is nice, a bit skeptical about the Chinese focus)

  • mate (I like the look, but it seems a bit dubiously centralized)

  • unity (looks like the standard Ubuntu taken to it’s natural conclusion)

  • rhino Linux (something new which makes me skeptical, but pretty and seems more like existing tools packaged together which makes me think the issues might not impact actual workflow)

  • anything the community is big on for this, personally I’d pick opensuze, but I need to maximize compatibility with bleeding edge LLM projects

My hardware and hard requirements are:

  • nvidia 1060ti
  • ryzen 5500u
  • 16g ram
  • 4 drives nearly full, because it’s a computer of Theseus running the same (upgraded) vista license that came with the case like 15 years ago
  • multi desktop, multi monitor
  • can handle a lot of browser Windows/tabs
  • ideally the setup is just a package mana ger install script with all my dependencies
  • gaming support would be nice, but I’ll be dual booting for VR anyways

I’ve been out of the game for a while, I’d love to hear what the feeling is in the community these days

(Side note, is pine as cool a company as it seems?)

  • I use NixOS btw @lemmy.world
    link
    fedilink
    arrow-up
    5
    ·
    1 year ago

    From how you’ve described modifying your distro, that’s literally NixOS. Your entire config is declared in a git repo, when you update the system it rebuilds it from that repo. But you’ll have to learn the nix language, and it’s not a easy-to-use, beginner-friendly distro.

  • rutrum@lm.paradisus.day
    link
    fedilink
    English
    arrow-up
    4
    ·
    edit-2
    1 year ago

    Never forget that no matter the distro (well most of them) you can install whatever desktop environment you want. That said, if you want to dip your toes in first time, I’d go with Mint. Its debian based, so most stackoverflow solutions will already have the apt install command you need for you. It has a variety of DE options out of the box on their website too.

    Also, KDE and Gnome have changed a lot over the last 5 years. Id give each of them another shot.

    EDIT: yes, pine is based

  • Gunpachi@lemmings.world
    link
    fedilink
    arrow-up
    4
    arrow-down
    1
    ·
    edit-2
    1 year ago

    My recommendstions would be -

    1. Linux Mint / vanilla debian
    2. Fedora / Nobara
    3. Opensuse tumbleweed (Like fedora, but rolling release and has btrfs snapshots configured out of the box)
    4. Endavour OS / vanilla arch ( if you want to configure everything manually)
    5. NixOS (very different distro, you can configure your entire system with a single file)

    People have a misconception that Linux Mint is a newbie distro but don’t let that stop you from using it. It’s quite stable and will serve you very well.

    For Desktop Environment -

    You can try out XFCE, it doesnt look great out of the box, but it has all the options you’ll need to make it look to your liking.

    Then there is also Cinnamon, it doesn’t have many configuration options but is really nice in general. The flagship version of Linux Mint comes with Cinnamon.

    • HumanPerson@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      I agree with those recommendations recommendations but perhaps the Debian based Mint instead. I am not aware of any major change Ubuntu has made to Debian other than DE and spyware. Also budgie desktop looks great and never broke / broke anything for me.

  • unbuckled@lemm.ee
    link
    fedilink
    arrow-up
    2
    ·
    1 year ago

    I’m really happy with Fedora Workstation. I actually think Gnome is pretty great these days.

  • nottheengineer@feddit.de
    link
    fedilink
    arrow-up
    1
    ·
    1 year ago

    You’ll probably want KDE as it has the most options to set graphically and still just works out of the box. It has a theme store so you can just try a few different ones.

    The footprint is still about a hundred times smaller than windows, so don’t worry about that.

    For a distro, I’d recommend not using ubuntu because it tries to force snaps on its users and they cause a ridiculous amount of issues. Especially if you want to do anything in python.

  • 52fighters@kbin.social
    link
    fedilink
    arrow-up
    1
    ·
    1 year ago

    If you want Budgie, give Solus a try. It is an easy to maintain system, is rolling, stable, and independent.

  • Dandroid@dandroid.app
    link
    fedilink
    arrow-up
    1
    ·
    1 year ago

    I have used Ubuntu for about 5 years for my server, dual booting my desktop, and previously for a work laptop. In my experience, it’s solid on desktops, but I always had some issues on the laptop with Ubuntu, I think related to the graphics drivers. Literally last night I installed openSUSE Tumbleweed on my laptop with KDE Plasma. Man, I love Plasma. It’s so much better than Gnome. And I don’t have any of the weird issues with the graphics driver, although I suspect that everything is running on the GPU, which will kill my battery. But I haven’t don’t any investigating yet. I did zero setup for Optimus. I just installed the proprietary Nvidia driver and launched a game to verify if it used the integrated graphics or dedicated graphics, and it was using the dedicated.

    I like that literally all Linux software works for Ubuntu. By that I mean every software has a .deb package. You will always find guides for how to do things on Ubuntu. It’s a great beginner’s distro for this reason. There are even better distros based on it for beginners, too. I like apt a lot. It’s quick. I’m used to the syntax and commands. It comes with repositories by default that give you a massive selection of software. I don’t like that Ubuntu takes forever to get kernel upgrades. And the default apt repositories have very old versions of software.

    OpenSUSE, while it’s not nearly as popular as Ubuntu, and therefore won’t have as many guides to do things, it fixes my issues with software being outdated and kernel upgrades lagging behind. Zypper is just okay imo. It’s slow. But the syntax and commands make sense to me (I don’t like pacman’s syntax or commands at all).

    Idk, I’m happy with OpenSUSE for now. But I have only had it installed for half a day now.

  • LinusWorks4Mo@kbin.social
    link
    fedilink
    arrow-up
    0
    ·
    1 year ago

    pro tip use Linux distro from any of the lists posted here, use docker for your local llm, which are often Ubuntu based. consider getting a more modern graphics card like 30 series with 16gb vram

    • theneverfox@pawb.socialOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      I had a contract come up and had to shelve this for a bit, and your comment immediately annoyed me, because it really isn’t what I wanted to hear

      But it also stuck with me because it sounded like the advice I throw at new devs starting a project, knowing it’s a PITA up front, but pays dividends pretty quick.
      So I looked it up, and despite my bad experiences with docker and kubernetes (I was tasked with doing weird, off label things with them and it sucked), I’ve decided to take your advice and stop looking for docker workarounds

      And since it seems like it comes from a place of experience, I figured I’d share a bit more about what I want to do and see if you had any more advice

      Basically, I want to link together basic models trained to do different things, with the end goal being something between a conversation partner and an assistant. The idea being I build very specific prompts to bypass the limitations of smaller models - the first goal is to take one LLM and a conventional management program and summarize key information, then use very specific structured prompts to generate a response to be vocalized and metadata that changes the state of the management system.

      My thought is to take something like alpaca or falcon 7B to track and summarize relevant information, feed it into another such model trained as a conversation partner with this input and output format, then throw together a web interface and do text<->speech on my phone or dev computer.

      When it comes to neural networks and LLMs, I have a good understanding of the theory of them and a great one of how brains work, but I’m mostly looking to use these systems as a black box initially. My initial goals are to generate dialogue trees for games and maybe practice my Spanish with a chatbot - accuracy and capabilities don’t matter too much, I’ve played with projects that could do this by just sending prompts to an endpoint

      Down the road, the goal is to have something extremely modular. This tech is moving fast and I envision linking a bunch of modules together to perform different tasks, and as better modules come out or I add/upgrade hardware, I want to be able to write something to act like autopilot in my ide or pilot a model in a game engine

      The main objective is to learn and to run agents on my own hardware. I’m looking for a side project that will be useful enough to keep up my interest, but also give me a starting point to modify from so I’m not sitting at a python terminal forcing myself through a tensor flow course before I get to the good stuff

      Any thoughts, advice, or projects you think I should know about when starting this journey?

  • BCsven@lemmy.ca
    link
    fedilink
    arrow-up
    0
    ·
    1 year ago

    Since you want GUI config go with OpenSUSE. it has Yast2-gtk GUI for all admin config, server config, software install, etc. And if you mess anything up you do a boot from previous snapshot to get back to normal operation, if all is good issue snapper rollback command, and that snapshot is now your default boot. (No need to diagnose what is wrong, more time being productive) if you can’t find a package in the GUI search (of default repos) then software.opensuse.org has OBS community and experimental packages (like arch AUR). During the install summary you can go into software details and remove all, or any packages you want, or add…so you don’t have to do the full install of everything if you like more minimal system.

    • Gunpachi@lemmings.world
      link
      fedilink
      arrow-up
      0
      ·
      1 year ago

      I really enjoyed my time with tumbleweed some time back. The installer has a lot of useful options but it might be a bit daunting to new users. The installer could use a UI/UX improvement.

      • BCsven@lemmy.ca
        link
        fedilink
        arrow-up
        1
        ·
        1 year ago

        It is a lot of info. When I was new to it I did a few installs because I was getting used to what MBR vs GPT was, or separate home from system, etc. So many options in the disk partitioner during install without enough “this is used to do x, advantages are y”, etc

  • cerement@slrpnk.net
    link
    fedilink
    arrow-up
    1
    arrow-down
    1
    ·
    1 year ago
    • “I don’t enjoy configuration and I really hate debugging it, but I can muddle through when I have to”
    • “but I’ve never been a big fan of the window Managers”
    • as for “bleeding edge” distros
      • NixOS (above)
      • Debian Sid (unstable branch) – Ubuntu is based on Debian but is community run, you’re not subject to the whims of Canonical’s choices
      • Arch or EndeavourOS (Arch based) – most of the problems people have is indiscriminate use of AUR (user packages) rather than sticking with official package channels
      • openSUSE Tumbleweed – rolling release channel of openSUSE, uses btrfs snapshots for rollback and recovery