justfile recipes for Fedora
fedora.just
153 lines 3.1 kB view raw
1# Aliases for DNF 2 3# Clean package cache 4[group('aliases')] 5dnfc: 6 sudo dnf clean all 7 8# Install package groups 9[group('aliases')] 10dnfgi +groups: 11 sudo dnf groupinstall {{ groups }} 12 13# List package groups 14[group('aliases')] 15dnfgl: 16 sudo dnf grouplist 17 18# Remove package groups 19[group('aliases')] 20dnfgr +groups: 21 sudo dnf groupremove {{ groups }} 22 23# Install package(s) 24[group('aliases')] 25dnfi +pkgs: 26 sudo dnf install {{ pkgs }} 27 28# List packages 29[group('aliases')] 30dnfl: 31 dnf list 32 33# List installed packages 34[group('aliases')] 35dnfli: 36 dnf list installed 37 38# Make package cache 39[group('aliases')] 40dnfmc: 41 dnf makecache 42 43# Get info about a package 44[group('aliases')] 45dnfp pkg: 46 dnf info {{ pkg }} 47 48# Remove package(s) 49[group('aliases')] 50dnfr +pkgs: 51 sudo dnf remove {{ pkgs }} 52 53# Search packages 54[group('aliases')] 55dnfs pkg: 56 dnf search {{ pkg }} 57 58# Update system 59[group('aliases')] 60dnfu: 61 sudo dnf update 62 63# Install Fedora packages 64[group('install')] 65install-fedora-packages: 66 #!/usr/bin/env bash 67 sudo dnf copr enable -y atim/starship 68 sudo dnf copr enable -y varlad/zellij 69 sudo dnf install -y \ 70 "@c-development" \ 71 "@development-tools" \ 72 autossh \ 73 bat \ 74 borgbackup \ 75 borgmatic \ 76 butane \ 77 cmake \ 78 cmark \ 79 curl \ 80 diff-so-fancy \ 81 fastfetch \ 82 fd-find \ 83 ffmpeg-libs \ 84 fzf \ 85 git \ 86 git-core \ 87 glow \ 88 golang \ 89 gum \ 90 hugo \ 91 jc \ 92 jq \ 93 libuuid-devel \ 94 lsd \ 95 lynx \ 96 ncurses-devel \ 97 neovim \ 98 npm \ 99 nu \ 100 parallel \ 101 pipx \ 102 python3-devel \ 103 ripgrep \ 104 rsync \ 105 rustup \ 106 ShellCheck \ 107 shfmt \ 108 sl \ 109 starship \ 110 tealdeer \ 111 tidy \ 112 w3m \ 113 wget \ 114 wl-clipboard \ 115 xclip \ 116 zellij \ 117 zsh 118 119# Fedora/RHEL-specific functions 120 121# Delete selected yum repos 122[group('utilities')] 123delete-yum-repo: 124 #!/usr/bin/env bash 125 selection=$(find /etc/yum.repos.d -type f -name "*.repo" | gum choose --no-limit) 126 format_string_array=("# You selected the following repo file(s):\n") 127 echo "$selection" | while read -r line; do format_string_array+=("- $line\n"); done 128 echo "${format_string_array[@]}" | gum format 129 echo "" 130 if gum confirm "Are you sure you want to delete?"; then 131 sudo rm -v $(echo "$selection") 132 else 133 echo ":raised_eyebrow: Oh, okay then. Carry on." | gum format -t emoji 134 fi 135 136# Remove old kernels 137[group('utilities')] 138rm-old-kernels: 139 #!/usr/bin/env bash 140 old_kernels=($(dnf repoquery --installonly --latest-limit=1 -q)) 141 if [ "${#old_kernels[@]}" -eq 0 ]; then 142 echo "No old kernels found" 143 exit 0 144 fi 145 146 if ! sudo dnf remove "${old_kernels[@]}"; then 147 echo "Failed to remove old kernels" 148 exit 1 149 fi 150 151 echo "Successfully removed old kernels" 152 153# vim: ts=4 sts=4 sw=4 et ft=just