fedora.just
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