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 mpd
55
56apk add -y \
57 ibus \
58 anthy \
59 ibus-anthy
60
61apk add xwayland-satellite --repository=http://dl-cdn.alpinelinux.org/alpine/edge/testing/
62
63# Create manager
64adduser manager
65adduser manager wheel # doas
66adduser manager plugdev # Allow WiFi management.
67su -Dl manager
68
69# Install basic apps
70flatpak install -y flathub \
71 org.gnome.Epiphany \
72 org.scratchmark.Scratchmark \
73 dev.neovide.neovide \
74 org.keepassxc.KeePassXC \
75 net.ankiweb.Anki \
76 dev.vencord.Vesktop \
77 org.gnome.Fractal \
78 md.obsidian.Obsidian \
79 io.github.htkhiem.Euphonica \
80 org.pulseaudio.pavucontrol \
81 de.schmidhuberj.tubefeeder \
82 org.kde.kid3
83
84# Flatpak configuration
85# Allow Fractal to access gnome-keyring
86flatpak --user override --talk-name=org.freedesktop.secrets org.gnome.Fractal
87# Allow Kid3 to access ~/Music/
88flatpak --user override --filesystem=~/Music/ org.kde.kid3
89
90# Icon theme (La Capitaine)
91mkdir -p ~/.icons/
92cd ~/.icons/
93git clone --depth=1 https://github.com/keeferrourke/la-capitaine-icon-theme.git
94cd -
95
96gsettings set org.gnome.desktop.interface icon-theme 'la-capitaine-icon-theme'
97gsettings set org.gnome.desktop.interface cursor-theme 'capitaine-cursors-dark'
98
99# Wallpaper
100mkdir -p ~/Pictures/Wallpapers/
101curl -Lo ~/Pictures/Wallpapers/forest1.png https://i.redd.it/4vztk5m7p9651.jpg
102
103# Copy configs
104mkdir -p ~/.config/
105cp -r ./.config/* ~/.config/
106
107# Copy .profile
108cp ./profile ~/.profile
109
110# Git configuration
111git config --global init.initialBranch main
112
113# Create distroboxes
114mkdir -p ~/Boxes/
115distrobox create -Y -i debian:latest -n dev -H ~/Boxes/dev -ap "git vim build-essential ccache gdb valgrind"
116