(Edit: I always forget that Beehaw will convert every ampersand character in code segments to &. Have this in mind when reading the code below. Do you have these problems too with your instance?)

If you update your system from terminal, do you have a shortcut that bundles bunch of commands? I’m on EndevourOS/Arch using Flatpak. Rustup is installed and managed by itself. The empty command is a function to display and delete files in the trash using the program trash-cli. In my .bashrc:

alias update='eos-update --yay \
    ; flatpak uninstall --unused \
    ; flatpak update \
    ; rustup update \
    ; empty'

empty() {
    trash-empty -f --dry-run |
        awk '{print $3}' |
        grep -vF '/info/'
    trash-empty -f
}

I just need to type update. Also there are following two aliases, which are used very rarely, at least months apart and are not part of the main update routine:

alias mirrors='sudo reflector \
        --protocol https \
        --verbose \
        --latest 25 \
        --sort rate \
        --save /etc/pacman.d/mirrorlist \
    && eos-rankmirrors --verbose \
    && yay -Syyu'

alias clean='paccache -rk3 \
    && paccache -ruk1 \
    && journalctl --vacuum-time=4weeks \
    && balooctl6 disable \
    && balooctl6 purge \
    && balooctl6 enable \
    && trash-empty -f'

This question is probably asked a million times, but the replies are always fun and sometimes reveals improvements from others to adapt.

  • The Doctor@beehaw.org
    link
    fedilink
    English
    arrow-up
    0
    ·
    1 month ago

    I don’t, because stuff like that is a little too touchy to wrap in a cute shell alias. If I’m going to update a box, I’m going to update a box. If I’m going to reboot a machine, I want to be reminded that I’m going to reboot a machine (which in turn is a reminder that there are other people using stuff there and not to fuck their days up without at least a little warning).

    • thingsiplay@beehaw.orgOP
      link
      fedilink
      arrow-up
      0
      ·
      1 month ago

      It’s just bunch of commands run with a single call, an automation. As long as I know exactly what each command is doing and if I wrote the alias myself, then I think its not a problem. What problem do you see with an update-alias such as I did there? The update-command does exactly that, it updates the box with all relevant package managers.

      However if other people are also using the box, then its obviously a different situation. I wouldn’t want to be reckless in the operation either; respect other users, even if you can do whatever you want.

      • The Doctor@beehaw.org
        link
        fedilink
        English
        arrow-up
        0
        ·
        1 month ago

        It’s not that. It’s not getting complacent by eliding the semantics of what you’re doing. It’s being consciously aware that you’re doing something that could possibly fuck stuff up.

    • toastal@lemmy.ml
      link
      fedilink
      English
      arrow-up
      0
      ·
      1 month ago

      You should at least consider nixos-rebuild --use-remote-sudo switch over raw-dogging sudo.

      • flashgnash@lemm.ee
        link
        fedilink
        arrow-up
        0
        ·
        1 month ago

        What does remote sudo actually do I thought it was meant to be for doing remote builds over ssh

        • toastal@lemmy.ml
          link
          fedilink
          arrow-up
          0
          ·
          1 month ago

          It’ll call sudo at the point it needs to at the end regardless of remote or not. There have been a couple of bugs in the past trying to run the whole process under sudo & --use-remote-sudo was always recommended as a fix.

          • flashgnash@lemm.ee
            link
            fedilink
            arrow-up
            0
            ·
            1 month ago

            Have tried using it this way though the glaring issue for me is that I have to type the password at the end rather than start, meaning I’ll start a rebuild, go for something else then it’ll time out on the sudo password

            • toastal@lemmy.ml
              link
              fedilink
              arrow-up
              0
              ·
              edit-2
              1 month ago

              That is a different story & a usability pain I can share 😅 …but assuming there wasn’t a GC, the build is cached, just needs another switch—& I am willing to take that as opposed to having the whole process running as root.

              • flashgnash@lemm.ee
                link
                fedilink
                arrow-up
                0
                ·
                1 month ago

                I suppose I could write a custom script that runs sudo echo or something so it’s cached

  • toastal@lemmy.ml
    link
    fedilink
    arrow-up
    0
    ·
    edit-2
    1 month ago
    #!/usr/bin/env dash
    
    set -e
    
    cd $HOME/nixcfg
    
    # flake inputs to update
    for input in nixpkgs nixos-hardware home-manager hosts; do
    	nix --extra-experimental-features flakes --no-warn-dirty flake update $input
    done
    
    # rebuild NixOS
    nixos-rebuild --use-remote-sudo switch --keep-going --fallback --flake $HOME/nixcfg#$(hostname)
    
    # check for firmware upgrades
    fwupdmgr get-updates
    
    # print hard drive status info
    sudo smartctl -H /dev/nvme0n1
    sudo zpool status -v -x
    
  • rumschlumpel@feddit.org
    link
    fedilink
    arrow-up
    0
    ·
    1 month ago

    I made a shell script titled “update”, it updates system packages, flatpaks and python packages. Too many lines for an alias for my tastes.

  • 𝘋𝘪𝘳𝘬@lemmy.ml
    link
    fedilink
    arrow-up
    0
    ·
    1 month ago

    I actually just run the update commands individually when I feel like.

    su -l 'pacman -Syu'  # All regular packages
    pakku -Syu           # All AUR packages (I know this updates regular packages, too.)
    flatpak-update       # Update Flatpak packages with a function I wrote
    

    Since I do not trust Flatpak (especially when it comes to driver updates and properly removing unused crap) I once created this monstrosity.

    flatpak-update () { 
        LATEST_NVIDIA=$(flatpak list | grep "GL.nvidia" | cut -f2 | cut -d '.' -f5)
        flatpak update
        flatpak remove --unused --delete-data
        flatpak list | grep org.freedesktop.Platform.GL32.nvidia- | cut -f2 | grep -v "$LATEST_NVIDIA" | xargs -o flatpak uninstall
        flatpak repair
        flatpak update
    }
    

    The initial problem with Flatpak thinking it would be a good idea to add dozens of Nvidia drivers and re-download and update all of them on every update (causing a few gigabytes of downloaded files on every run of a normal flatpak update even if nothing needed to be updated) is reportedly fixed, but I just got used to my command.

    • thingsiplay@beehaw.orgOP
      link
      fedilink
      arrow-up
      0
      ·
      1 month ago

      The initial problem with Flatpak thinking it would be a good idea to add dozens of Nvidia drivers and re-download and update all of them on every update (causing a few gigabytes of downloaded files on every run of a normal flatpak update even if nothing needed to be updated)

      100% agree! Up until last year I was also using Nvidia and the Flatpak drivers for Nvidia got out of hand. I was using just a handful of applications in Flatpak, yet I had 6 different versions of the driver, each 350 MB and every of them was downloaded fully and updated every time. And that is besides other updates and other stuff. I would have needed your function so badly back then. :D

  • superkret@feddit.org
    link
    fedilink
    arrow-up
    0
    ·
    1 month ago
    #!/usr/bin/env bash
            systemctl --failed -q
            yay -Pw
            sudo reflector --save /etc/pacman.d/mirrorlist -c de -p "https" --ipv6 --completion-percent 100 -l 10 --sort age
            yay -Syu
            pacman -Qqnte > ~/.local/share/applications/pkglist.txt
            pacman -Qqdtt > ~/.local/share/applications/optdeplist.txt
            pacman -Qqem > ~/.local/share/applications/foreignpkglist.txt
            yay -Sc > /dev/null
            pacman -Qtd
            pacman -Qm
            sudo find /etc -name *.pac*
    
    • Noxious@fedia.io
      link
      fedilink
      arrow-up
      0
      ·
      1 month ago

      An Alpine user, cool! What is it like to use it as your primary desktop OS? I have only played around with it on servers or in VMs and containers.

      • cerement@slrpnk.net
        link
        fedilink
        arrow-up
        0
        ·
        1 month ago

        still in the setup phase and running LabWC rather than a full desktop – but actually rather enjoying it and have been stumbling across a lot of cases finding out that even with a GUI installed, terminal programs do just as good a job if not better than their graphical counterparts (ex. I don’t think I’ll ever be a full vim/emacs convert, but for basic text editing, nano does just as well as mousepad/leafpad/featherpad/xed/gedit)

      • Varyag@lemmy.dbzer0.com
        link
        fedilink
        English
        arrow-up
        0
        ·
        1 month ago

        May I ask why? I’m a recent Arch user, and yay seems just fine for me so far. Haven’t looked into paru much yet. Is it because it’s made on Rust, or are there more/better features?

  • tasankovasara@sopuli.xyz
    link
    fedilink
    arrow-up
    0
    ·
    edit-2
    1 month ago

    My hot tip: initial capital so that your aliases are just a capital letter + tab away. Cache cleanup, update and Bleachbit:

    alias Päivi=‘sudo pacman -Suy --noconfirm’

    alias Siivous=‘sudo pacman -Sc --noconfirm;sudo pacman -Rns –noconfirm $(sudo pacman -Qtdq)’

    alias SuurSiivous=‘sudo bleachbit -c system.trash system.ro tated_logs system.localizations java.cache journald.clean b ash.history’

  • JustMarkov@lemmy.ml
    link
    fedilink
    English
    arrow-up
    0
    ·
    1 month ago

    I am a former openSUSE user, so my alias is: dup. It just refers to ujust-update, as Aurora is my current daily-driver.

  • Hyacin (He/Him)@lemmy.ml
    link
    fedilink
    English
    arrow-up
    0
    ·
    1 month ago
    alias update='sudo apt update && sudo apt upgrade -y && sudo apt dist-upgrade -y && sudo apt autoremove -y'
    alias update-and-reboot='sudo apt update && sudo apt upgrade -y && sudo apt dist-upgrade -y && sudo apt autoremove -y && sudo reboot'
    alias update-and-poweroff='sudo apt update && sudo apt upgrade -y && sudo apt dist-upgrade -y && sudo apt autoremove -y && sudo poweroff'
    
  • Julian@lemm.ee
    link
    fedilink
    English
    arrow-up
    0
    ·
    1 month ago

    The Mint upgrade tool got flatpak support so I don’t even use the terminal to update anymore.