A spin of Alpine Linux for my personal usage
1#!/usr/bin/env sh 2 3set -eux 4 5# Setup 6setup-wayland-base 7 8# Basics 9apk add -y \ 10 doas \ 11 flatpak \ 12 vim \ 13 openssh \ 14 udisks2 \ 15 gvfs \ 16 gvfs-archive \ 17 gvfs-fuse \ 18 gvfs-afc \ 19 fuse-openrc 20 21# For me to mount iOS devices. 22apk add ifuse --repository=http://dl-cdn.alpinelinux.org/alpine/edge/testing 23 24rc-update add fuse 25 26echo 'permit :wheel' > /etc/doas.d/doas.conf 27 28# Desktop 29apk add -y \ 30 niri \ 31 font-dejavu \ 32 font-noto-all \ 33 nerd-fonts-all \ 34 alacritty \ 35 nautilus \ 36 fuzzel \ 37 mako \ 38 swayidle \ 39 swaylockd \ 40 swaybg \ 41 brightnessctl \ 42 wl-clipboard \ 43 xwayland \ 44 xdg-utils \ 45 libnotify \ 46 gnome-keyring \ 47 capitaine-cursors 48 49apk add -y \ 50 pipewire \ 51 wireplumber \ 52 pipewire-pulse 53 54apk add xwayland-satellite --repository=http://dl-cdn.alpinelinux.org/alpine/edge/testing/ 55 56# Create manager 57adduser manager 58adduser manager wheel # doas 59adduser manager plugdev # Allow WiFi management. 60su -Dl manager 61 62# Install basic apps 63flatpak install -y flathub \ 64 org.gnome.Epiphany \ 65 org.scratchmark.Scratchmark \ 66 dev.neovide.neovide \ 67 org.keepassxc.KeePassXC \ 68 net.ankiweb.Anki \ 69 dev.vencord.Vesktop \ 70 org.gnome.Fractal \ 71 md.obsidian.Obsidian \ 72 io.github.htkhiem.Euphonica \ 73 org.pulseaudio.pavucontrol \ 74 de.schmidhuberj.tubefeeder 75 76# Allow Fractal to access gnome-keyring 77flatpak --user override --talk-name=org.freedesktop.secrets org.gnome.Fractal 78 79# Icon theme (La Capitaine) 80mkdir -p ~/.icons/ 81cd ~/.icons/ 82git clone --depth=1 https://github.com/keeferrourke/la-capitaine-icon-theme.git 83cd - 84 85gsettings set org.gnome.desktop.interface icon-theme 'la-capitaine-icon-theme' 86 87# Wallpaper 88mkdir -p ~/Pictures/Wallpapers/ 89curl -Lo ~/Pictures/Wallpapers/forest1.png https://i.redd.it/4vztk5m7p9651.jpg 90 91# Copy configs 92mkdir -p ~/.config/ 93cp -r ./.config/* ~/.config/ 94 95# Copy .profile 96cp ./profile ~/.profile 97 98# Git configuration 99git config --global init.initialBranch main 100 101# Create distroboxes 102mkdir -p ~/Boxes/ 103distrobox create -Y -i debian:latest -n dev -H ~/Boxes/dev -ap "git vim build-essential ccache gdb valgrind" 104