Last active
February 10, 2023 12:20
-
-
Save rafaelkallis/251cc59830ee8ba2a7b7a82ff15a3b52 to your computer and use it in GitHub Desktop.
Fedora Scripts
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# | |
# | |
# tpm2 luks | |
# https://fedoramagazine.org/automatically-decrypt-your-disk-using-tpm2/ | |
# | |
sudo dnf install clevis clevis-luks clevis-dracut clevis-udisks2 clevis-systemd | |
sudo dracut -fv --regenerate-all | |
sudo systemctl reboot | |
sudo clevis luks bind -d /dev/nvme... tpm2 '{"pcr_ids":"1,4,5,7"}' | |
# | |
# fish | |
# https://fedoramagazine.org/fish-a-friendly-interactive-shell/ | |
# | |
sudo dnf install fish util-linux-user | |
chsh -s /usr/bin/fish | |
# | |
# vim | |
# https://ask.fedoraproject.org/t/switch-back-to-vim-globally-fedora-33/9969/3 | |
# | |
sudo dnf install vim-enhanced vim-default-editor --allowerasing | |
# | |
# gpg | |
# https://fedoraproject.org/wiki/Creating_GPG_Keys#Creating_GPG_Keys_Using_the_Command_Line | |
# | |
gpg2 --full-gen-key | |
# | |
# gpg agent forwarding | |
# https://mlohr.com/gpg-agent-forwarding/ | |
# | |
# | |
# vpn | |
# | |
sudo dnf install openvpn | |
# | |
# https://fedoraproject.org/wiki/OpenVPN | |
# https://www.davekb.com/browse_computer_tips:openvpn_client_on_fedora:txt | |
# | |
# git credential helper | |
sudo dnf install git-credential-libsecret | |
git config --global user.name "Rafael Kallis" | |
git config --global user.email "[email protected]" | |
git config --global credential.helper "libsecret" | |
git config --global core.editor "vim" | |
# | |
# dotnet | |
# | |
sudo dnf install dotnet-sdk-6.0 | |
fish_add_path "$HOME/.dotnet/tools" | |
# | |
# git credential manager | |
# | |
# | |
sudo dnf install pass | |
echo 'set -gx GPG_TTY (tty)' >> .config/fish/config.fish # needed | |
git config --global credential.credentialStore gpg | |
dotnet tool install --global git-credential-manager | |
git-credential-manager | |
git-credential-manager configure | |
# https://github.com/GitCredentialManager/git-credential-manager/blob/release/docs/credstores.md#gpgpass-compatible-files | |
gpg --list-secret-keys --keyid-format=long | |
# OUTPUT: 4E32BE7F032D66C6 is the gpg-id | |
# | |
# sec rsa4096/4E32BE7F032D66C6 2023-01-13 [SC] | |
# C4F10F34BF3B68A5FC253EF14E32BE7F032D66C6 | |
# uid [ultimate] Rafael Kallis (rafaelkallis-server) <[email protected]> | |
# ssb rsa4096/26A3339C19B294C1 2023-01-13 [E] | |
# | |
git config --global user.signingKey "<gpg-id>" | |
git config --global commit.gpgSign true | |
# | |
# docker (CE needed for nvidia container toolkit) | |
# https://docs.docker.com/engine/install/fedora/#install-using-the-repository | |
# | |
sudo dnf remove docker docker-compose moby-engine | |
sudo dnf config-manager --add-repo https://download.docker.com/linux/fedora/docker-ce.repo | |
sudo dnf install docker-ce docker-ce-cli containerd.io docker-compose-plugin | |
sudo systemctl enable docker | |
sudo usermod -aG docker $USER | |
# | |
# nvidia drivers+cuda | |
# https://blog.monosoul.dev/2022/05/17/automatically-sign-nvidia-kernel-module-in-fedora-36/ | |
# https://rpmfusion.org/Howto/NVIDIA#Current_GeForce.2FQuadro.2FTesla | |
# | |
sudo dnf install kmodtool akmods mokutil openssl | |
sudo kmodgenca -a | |
sudo mokutil --import /etc/pki/akmods/certs/public_key.der | |
sudo systemctl reboot | |
# First select “Enroll MOK“, then “Continue“, then “Yes” and enter the password. | |
sudo dnf install gcc kernel-headers kernel-devel | |
sudo dnf install akmod-nvidia xorg-x11-drv-nvidia-cuda | |
# wait 5 minutes | |
# | |
# nvidia container toolkit | |
# https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html#installing-on-centos-7-8 | |
# https://jchuynh.medium.com/how-to-install-nvidia-docker-on-fedora-36-cc8516dcb4af | |
# | |
sudo dnf config-manager --add-repo https://nvidia.github.io/libnvidia-container/centos8/libnvidia-container.repo | |
sudo dnf install -y nvidia-container-toolkit | |
sudo nvidia-ctk runtime configure --runtime=docker | |
sudo systemctl restart docker | |
docker run --rm --runtime=nvidia --gpus all nvidia/cuda:11.6.2-base-ubuntu20.04 nvidia-smi | |
# | |
# vscode | |
# (https://code.visualstudio.com/docs/setup/linux#_rhel-fedora-and-centos-based-distributions) | |
# | |
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc | |
sudo sh -c 'echo -e "[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/vscode.repo' | |
sudo dnf check-update | |
sudo dnf install code | |
# | |
# brave browser | |
# https://brave.com/linux/ | |
# | |
sudo rpm --import https://brave-browser-rpm-release.s3.brave.com/brave-core.asc | |
sudo dnf install dnf-plugins-core | |
sudo dnf config-manager --add-repo https://brave-browser-rpm-release.s3.brave.com/x86_64/ | |
sudo dnf install brave-browser | |
# | |
# python | |
# | |
fish_add_path "$HOME/.local/bin" | |
# | |
# nodejs | |
# | |
sudo dnf install nodejs npm | |
# add to PATH | |
echo "# npm" >> .config/fish/config.fish | |
echo "set -x PATH \$PATH \"$HOME/.node_modules/bin\"" >> .config/fish/config.fish | |
echo "set -x npm_config_prefix \"$HOME/.node_modules\"" >> .config/fish/config.fish | |
# | |
# dotnet | |
# | |
sudo dnf install dotnet-sdk-6.0 | |
fish_add_path "$HOME/.dotnet/tools" | |
dotnet tool install --global dotnet-ef | |
# | |
# java | |
# | |
sudo dnf install java-11-openjdk | |
# development | |
sudo dnf install gcc gcc-c++ make cmake python3-devel cargo rust gtk3-devel postgresql git-lfs | |
pip install --user mssql-cli podman-compose psutil jupyterlab numpy pandas matplotlib seaborn azure-cli | |
npm install --global yarn typescript heroku | |
# | |
# docker credential helper | |
# | |
curl -sSL "https://github.com/docker/docker-credential-helpers/releases/download/v0.6.4/docker-credential-secretservice-v0.6.4-amd64.tar.gz" | |
| sudo tar -xz --directory /usr/local/bin/ | |
mkdir .docker | |
touch .docker/config.json | |
echo "{" >> .docker/config.json | |
echo ' "credsStore": "secretservice"' >> .docker/config.json | |
echo "}" >> .docker/config.json | |
# ledger usb support | |
# https://github.com/LedgerHQ/udev-rules/blob/master/add_udev_rules.sh | |
curl -sL "https://raw.githubusercontent.com/LedgerHQ/udev-rules/2776324af6df36c2af4d2e8e92a1c98c281117c9/add_udev_rules.sh" | sudo bash | |
# | |
# system | |
# | |
# sensors | |
sudo dnf install lm_sensors | |
# smart monitoring | |
# https://fedoraproject.org/wiki/Smartctl | |
# https://www.smartmontools.org/ | |
sudo dnf install smartmontools | |
# bluetooth autosuspend | |
# sudo grubby --update-kernel=ALL --args="btusb.enable_autosuspend=0" | |
# sudo grubby --update-kernel=ALL --remove-args="btusb.enable_autosuspend" | |
# | |
# battery | |
# | |
#sudo dnf install powertop | |
#sudo powertop --calibrate | |
#sudo systemctl enable powertop | |
# tlp https://linrunner.de/tlp/installation/fedora.html | |
#dnf install tlp tlp-rdw | |
# tlp status | |
#tlp-stat | |
# extras if needed! | |
# dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm | |
# dnf install https://repo.linrunner.de/fedora/tlp/repos/releases/tlp-release.fc$(rpm -E %fedora).noarch.rpm | |
# install missing kernel modules as recommended by "tlp-stat -b" | |
# dnf install kernel-devel akmod-acpi_call akmod-tp_smapi | |
# fingerprint "6BED 8C16 80E0 E9DC D310 94FB 274D 8DB1 A690 281B" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
docker network create \ | |
--driver macvlan \ | |
--gateway 192.168.178.1 \ | |
--subnet 192.168.178.0/24 \ | |
--ip-range 192.168.178.32/27 \ | |
--opt parent=eno2 \ | |
macvlan-32-63 | |
docker run -d \ | |
--name pihole \ | |
--net macvlan-32-63 \ | |
--ip 192.168.178.2 \ | |
-e TZ="Europe/Zurich" \ | |
-v "$HOME/pihole/etc-pihole:/etc/pihole:z" \ | |
-v "$HOME/pihole/etc-dnsmasq.d:/etc/dnsmasq.d:z" \ | |
--restart=unless-stopped \ | |
--hostname pi.hole \ | |
-e VIRTUAL_HOST="pi.hole" \ | |
-e PROXY_LOCATION="pi.hole" \ | |
-e FTLCONF_LOCAL_IPV4="127.0.0.1" \ | |
pihole/pihole:latest | |
# systemd service | |
# https://github.com/pi-hole/docker-pi-hole/blob/203f6f4ea368762a4c2df00abca8e2a5e2928d86/examples/pihole.service |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment