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 font-noto-cjk \ 34 nerd-fonts-all \ 35 alacritty \ 36 nautilus \ 37 fuzzel \ 38 mako \ 39 swayidle \ 40 swaylockd \ 41 swaybg \ 42 brightnessctl \ 43 wl-clipboard \ 44 xwayland \ 45 xdg-utils \ 46 libnotify \ 47 gnome-keyring \ 48 capitaine-cursors 49 50apk add -y \ 51 pipewire \ 52 wireplumber \ 53 pipewire-pulse 54 55apk add -y \ 56 ibus \ 57 anthy \ 58 ibus-anthy 59 60apk add xwayland-satellite --repository=http://dl-cdn.alpinelinux.org/alpine/edge/testing/ 61 62# Create manager 63adduser manager 64adduser manager wheel # doas 65adduser manager plugdev # Allow WiFi management. 66su -Dl manager 67 68# Install basic apps 69flatpak install -y flathub \ 70 org.gnome.Epiphany \ 71 org.scratchmark.Scratchmark \ 72 dev.neovide.neovide \ 73 org.keepassxc.KeePassXC \ 74 net.ankiweb.Anki \ 75 dev.vencord.Vesktop \ 76 org.gnome.Fractal \ 77 md.obsidian.Obsidian \ 78 io.github.htkhiem.Euphonica \ 79 org.pulseaudio.pavucontrol \ 80 de.schmidhuberj.tubefeeder 81 82# Allow Fractal to access gnome-keyring 83flatpak --user override --talk-name=org.freedesktop.secrets org.gnome.Fractal 84 85# Icon theme (La Capitaine) 86mkdir -p ~/.icons/ 87cd ~/.icons/ 88git clone --depth=1 https://github.com/keeferrourke/la-capitaine-icon-theme.git 89cd - 90 91gsettings set org.gnome.desktop.interface icon-theme 'la-capitaine-icon-theme' 92 93# Wallpaper 94mkdir -p ~/Pictures/Wallpapers/ 95curl -Lo ~/Pictures/Wallpapers/forest1.png https://i.redd.it/4vztk5m7p9651.jpg 96 97# Copy configs 98mkdir -p ~/.config/ 99cp -r ./.config/* ~/.config/ 100 101# Copy .profile 102cp ./profile ~/.profile 103 104# Git configuration 105git config --global init.initialBranch main 106 107# Create distroboxes 108mkdir -p ~/Boxes/ 109distrobox create -Y -i debian:latest -n dev -H ~/Boxes/dev -ap "git vim build-essential ccache gdb valgrind" 110