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
15echo 'permit :wheel' > /etc/doas.d/doas.conf
16
17# Desktop
18apk add -y \
19 niri \
20 font-dejavu \
21 nerd-fonts-all \
22 alacritty \
23 nautilus \
24 fuzzel \
25 mako \
26 grim \
27 swayidle \
28 swaylockd \
29 swaybg \
30 brightnessctl \
31 wl-clipboard \
32 xwayland \
33 xdg-utils \
34 libnotify \
35 gnome-keyring \
36 capitaine-cursors
37
38apk add xwayland-satellite --repository=http://dl-cdn.alpinelinux.org/alpine/edge/testing/
39
40# Create manager
41adduser manager
42adduser manager wheel # doas
43adduser manager plugdev # Allow WiFi management.
44su -Dl manager
45
46# Install basic apps
47flatpak install -y flathub \
48 org.gnome.Epiphany \
49 org.scratchmark.Scratchmark \
50 dev.neovide.neovide \
51 org.keepassxc.KeePassXC \
52 net.ankiweb.Anki \
53 dev.vencord.Vesktop \
54 org.gnome.Fractal \
55 md.obsidian.Obsidian
56
57# Allow Fractal to access gnome-keyring
58flatpak --user override --talk-name=org.freedesktop.secrets org.gnome.Fractal
59
60# Icon theme (La Capitaine)
61mkdir -p ~/.icons/
62cd ~/.icons/
63git clone --depth=1 https://github.com/keeferrourke/la-capitaine-icon-theme.git
64cd -
65
66# Wallpaper
67mkdir -p ~/Pictures/Wallpapers/
68curl -Lo ~/Pictures/Wallpapers/forest1.png https://i.redd.it/4vztk5m7p9651.jpg
69
70# Copy configs
71mkdir -p ~/.config/
72cp -r ./.config/* ~/.config/
73
74# Copy .profile
75cp ./profile ~/.profile
76
77# Git configuration
78git config --global init.initialBranch main
79
80# Create distroboxes
81mkdir -p ~/Boxes/
82distrobox create -Y -i debian:latest -n dev -H ~/Boxes/dev -ap "git vim build-essential ccache gdb valgrind"
83