A spin of Alpine Linux for my personal usage

Initial commit

Emmeline aeba16af

+9
config/alacritty/alacritty.toml
··· 1 + [general] 2 + import = ["flexoki-light.toml"] 3 + 4 + [window] 5 + padding = { x = 10, y = 10 } 6 + 7 + [font] 8 + normal = { family = "Mononoki Nerd Font", style = "Regular" } 9 +
+39
config/alacritty/flexoki-dark.toml
··· 1 + [colors.bright] 2 + black = "0x100F0F" 3 + blue = "0x4385BE" 4 + cyan = "0x3AA99F" 5 + green = "0x879A39" 6 + magenta = "0xCE5D97" 7 + red = "0xD14D41" 8 + white = "0xFFFCF0" 9 + yellow = "0xD0A215" 10 + 11 + [colors.cursor] 12 + cursor = "0xFFFCF0" 13 + text = "0xFFFCF0" 14 + 15 + [colors.dim] 16 + black = "0x100F0F" 17 + blue = "0x205EA6" 18 + cyan = "0x24837B" 19 + green = "0x66800B" 20 + magenta = "0xA02F6F" 21 + red = "0xAF3029" 22 + white = "0xFFFCF0" 23 + yellow = "0xAD8301" 24 + 25 + [colors.normal] 26 + black = "0x100F0F" 27 + blue = "0x205EA6" 28 + cyan = "0x24837B" 29 + green = "0x66800B" 30 + magenta = "0xA02F6F" 31 + red = "0xAF3029" 32 + white = "0xFFFCF0" 33 + yellow = "0xAD8301" 34 + 35 + [colors.primary] 36 + background = "0x282726" 37 + bright_foreground = "0xFFFCF0" 38 + dim_foreground = "0xFFFCF0" 39 + foreground = "0xFFFCF0"
+39
config/alacritty/flexoki-light.toml
··· 1 + [colors.bright] 2 + black = "#100F0F" 3 + blue = "#4385BE" 4 + cyan = "#3AA99F" 5 + green = "#879A39" 6 + magenta = "#CE5D97" 7 + red = "#D14D41" 8 + white = "#FFFCF0" 9 + yellow = "#D0A215" 10 + 11 + [colors.cursor] 12 + cursor = "#100F0F" 13 + text = "#FFFCF0" 14 + 15 + [colors.dim] 16 + black = "#100F0F" 17 + blue = "#4385BE" 18 + cyan = "#3AA99F" 19 + green = "#879A39" 20 + magenta = "#CE5D97" 21 + red = "#D14D41" 22 + white = "#FFFCF0" 23 + yellow = "#D0A215" 24 + 25 + [colors.normal] 26 + black = "#100F0F" 27 + blue = "#4385BE" 28 + cyan = "#3AA99F" 29 + green = "#879A39" 30 + magenta = "#CE5D97" 31 + red = "#D14D41" 32 + white = "#FFFCF0" 33 + yellow = "#D0A215" 34 + 35 + [colors.primary] 36 + background = "#FFFCF0" 37 + bright_foreground = "#100F0F" 38 + dim_foreground = "#100F0F" 39 + foreground = "#100F0F"
+17
config/fuzzel/fuzzel.ini
··· 1 + font = Mononoki Nerd Font:size=12 2 + anchor = top 3 + y-margin = 8 4 + icon-theme = "la-capitaine-icon-theme" 5 + 6 + [colors] 7 + background = FFFCF0FF 8 + text = 100F0FFF 9 + prompt = 100F0FFF 10 + placeholder = 6F6E69FF 11 + input = 100F0FFF 12 + match = 66800BFF 13 + selection = DAD8CEFF 14 + selection-text = 6F6E69FF 15 + selection-match = 66800BFF 16 + border = E6E4D9FF 17 +
+11
config/mako/config
··· 1 + font=Mononoki Nerd Font 11 2 + icon-path=~/.icons/la-capitaine-icon-theme/ 3 + background-color=#FFFCF0FF 4 + text-color=#100F0FFF 5 + margin=4 6 + border-size=3 7 + border-color=#E6E4D9FF 8 + border-radius=8 9 + anchor=top-center 10 + default-timeout=10000 11 +
+224
config/niri/config.kdl
··· 1 + input { 2 + focus-follows-mouse max-scroll-amount="0%" 3 + workspace-auto-back-and-forth 4 + 5 + keyboard { 6 + xkb { 7 + layout "us" 8 + options "compose:caps" 9 + } 10 + 11 + numlock 12 + } 13 + 14 + touchpad { 15 + tap 16 + natural-scroll 17 + accel-speed 0.2 18 + accel-profile "flat" 19 + } 20 + } 21 + 22 + output "eDP-1" { 23 + mode "1920x1080@60.020" 24 + scale 1 25 + transform "normal" 26 + } 27 + 28 + layout { 29 + gaps 16 30 + always-center-single-column 31 + center-focused-column "never" 32 + background-color "transparent" 33 + 34 + default-column-width { 35 + proportion 0.5 36 + } 37 + 38 + preset-column-widths { 39 + proportion 0.33333 40 + proportion 0.5 41 + proportion 0.66667 42 + } 43 + 44 + border { 45 + width 3 46 + active-color "#879A39" 47 + inactive-color "#6F6E69" 48 + } 49 + 50 + focus-ring { 51 + off 52 + } 53 + 54 + shadow { 55 + on 56 + softness 30 57 + spread 5 58 + offset x=0 y=5 59 + color "#0007" 60 + } 61 + 62 + tab-indicator { 63 + width 8 64 + gap 6 65 + length total-proportion=0.3 66 + gaps-between-tabs 4 67 + corner-radius 4 68 + 69 + active-color "#879A39" 70 + inactive-color "#E6E4D9" 71 + } 72 + 73 + } 74 + 75 + overview { 76 + workspace-shadow { 77 + off 78 + } 79 + } 80 + 81 + recent-windows { 82 + highlight { 83 + active-color "#E6E4D9FF" 84 + urgent-color "#D14D41FF" 85 + padding 20 86 + corner-radius 8 87 + } 88 + } 89 + 90 + 91 + spawn-at-startup "waybar" 92 + spawn-at-startup "mako" 93 + spawn-sh-at-startup "swaybg -m fill -i $(find ~/Pictures/Wallpapers/ -type f | shuf -n1)" 94 + 95 + hotkey-overlay { 96 + skip-at-startup 97 + } 98 + 99 + prefer-no-csd 100 + 101 + screenshot-path "~/Pictures/Screenshots/Screenshot from %Y-%m-%d %H-%M-%S.png" 102 + 103 + environment { 104 + QT_QPA_PLATFORM "wayland" 105 + } 106 + 107 + cursor { 108 + xcursor-theme "capitaine-cursors-dark" 109 + xcursor-size 32 110 + } 111 + 112 + window-rule { 113 + match app-id=r#"zen$"# title="^Picture-in-Picture$" 114 + open-floating true 115 + } 116 + 117 + window-rule { 118 + match app-id=r#"^org\.keepassxc\.KeePassXC$"# 119 + block-out-from "screen-capture" 120 + } 121 + 122 + window-rule { 123 + geometry-corner-radius 8 124 + clip-to-geometry true 125 + } 126 + 127 + layer-rule { 128 + match namespace="^wallpaper$" 129 + place-within-backdrop true 130 + } 131 + 132 + binds { 133 + Mod+Return { spawn "alacritty"; } 134 + Mod+D { spawn "fuzzel"; } 135 + Mod+L { spawn "swaylock"; } 136 + 137 + XF86AudioRaiseVolume allow-when-locked=true { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.1+ -l 1.0"; } 138 + XF86AudioLowerVolume allow-when-locked=true { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.1-"; } 139 + XF86AudioMute allow-when-locked=true { spawn-sh "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"; } 140 + XF86AudioMicMute allow-when-locked=true { spawn-sh "wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"; } 141 + 142 + XF86AudioPlay allow-when-locked=true { spawn-sh "playerctl play-pause"; } 143 + XF86AudioStop allow-when-locked=true { spawn-sh "playerctl stop"; } 144 + XF86AudioPrev allow-when-locked=true { spawn-sh "playerctl previous"; } 145 + XF86AudioNext allow-when-locked=true { spawn-sh "playerctl next"; } 146 + 147 + XF86MonBrightnessUp allow-when-locked=true { spawn "brightnessctl" "--class=backlight" "set" "+10%"; } 148 + XF86MonBrightnessDown allow-when-locked=true { spawn "brightnessctl" "--class=backlight" "set" "10%-"; } 149 + 150 + Mod+O repeat=false { toggle-overview; } 151 + Mod+Shift+Q repeat=false { close-window; } 152 + 153 + Mod+Left { focus-column-left; } 154 + Mod+Down { focus-window-down; } 155 + Mod+Up { focus-window-up; } 156 + Mod+Right { focus-column-right; } 157 + 158 + Mod+Shift+Left { move-column-left; } 159 + Mod+Shift+Down { move-window-down; } 160 + Mod+Shift+Up { move-window-up; } 161 + Mod+Shift+Right { move-column-right; } 162 + 163 + Mod+U { focus-workspace-down; } 164 + Mod+I { focus-workspace-up; } 165 + Mod+Shift+U { move-column-to-workspace-down; } 166 + Mod+Shift+I { move-column-to-workspace-up; } 167 + 168 + Mod+1 { focus-workspace 1; } 169 + Mod+2 { focus-workspace 2; } 170 + Mod+3 { focus-workspace 3; } 171 + Mod+4 { focus-workspace 4; } 172 + Mod+5 { focus-workspace 5; } 173 + Mod+6 { focus-workspace 6; } 174 + Mod+7 { focus-workspace 7; } 175 + Mod+8 { focus-workspace 8; } 176 + Mod+9 { focus-workspace 9; } 177 + Mod+Shift+1 { move-column-to-workspace 1; } 178 + Mod+Shift+2 { move-column-to-workspace 2; } 179 + Mod+Shift+3 { move-column-to-workspace 3; } 180 + Mod+Shift+4 { move-column-to-workspace 4; } 181 + Mod+Shift+5 { move-column-to-workspace 5; } 182 + Mod+Shift+6 { move-column-to-workspace 6; } 183 + Mod+Shift+7 { move-column-to-workspace 7; } 184 + Mod+Shift+8 { move-column-to-workspace 8; } 185 + Mod+Shift+9 { move-column-to-workspace 9; } 186 + 187 + Mod+R { switch-preset-column-width; } 188 + Mod+Shift+R { switch-preset-column-width-back; } 189 + Mod+F { maximize-column; } 190 + Mod+Shift+F { fullscreen-window; } 191 + Mod+Ctrl+F { expand-column-to-available-width; } 192 + Mod+C { center-column; } 193 + Mod+Ctrl+C { center-visible-columns; } 194 + 195 + Mod+Space { toggle-window-floating; } 196 + Mod+Shift+Space { switch-focus-between-floating-and-tiling; } 197 + 198 + 199 + Mod+BracketLeft { consume-or-expel-window-left; } 200 + Mod+BracketRight { consume-or-expel-window-right; } 201 + Mod+Comma { consume-window-into-column; } 202 + Mod+Period { expel-window-from-column; } 203 + Mod+W { toggle-column-tabbed-display; } 204 + 205 + Mod+P { screenshot; } 206 + Mod+Ctrl+Print { screenshot-screen; } 207 + Mod+Alt+Print { screenshot-window; } 208 + 209 + Mod+Escape allow-inhibiting=false { toggle-keyboard-shortcuts-inhibit; } 210 + 211 + Mod+Shift+E { quit; } 212 + Mod+Shift+P { power-off-monitors; } 213 + } 214 + 215 + gestures { 216 + dnd-edge-workspace-switch { 217 + trigger-height 30 218 + } 219 + 220 + hot-corners { 221 + off 222 + } 223 + } 224 +
+18
config/waybar/config.jsonc
··· 1 + { 2 + "layer": "top", 3 + "modules-left": ["niri/workspaces"], 4 + "modules-center": ["niri/window"], 5 + "modules-right": ["network", "battery", "clock"], 6 + "network": { 7 + "interface": "wlan0", 8 + "format": "{essid}", 9 + "format-disconnected": "disconnected" 10 + }, 11 + "battery": { 12 + "format": "{capacity}% {icon}", 13 + "format-icons": ["󰂃", "󰁽", "󰁿", "󰂁", "󰁹"] 14 + }, 15 + "clock": { 16 + "format-alt": "{:%a, %d. %b %H:%M}" 17 + } 18 + }
+37
config/waybar/flexoki-full.css
··· 1 + /* 2 + * https://stephango.com/flexoki 3 + */ 4 + 5 + @define-color black #100f0f; 6 + @define-color base-950 #1c1b1a; 7 + @define-color base-900 #282726; 8 + @define-color base-850 #343331; 9 + @define-color base-800 #403e3c; 10 + @define-color base-700 #575653; 11 + @define-color base-600 #6f6e69; 12 + @define-color base-500 #878580; 13 + @define-color base-300 #b7b5ac; 14 + @define-color base-200 #cecdc3; 15 + @define-color base-150 #dad8ce; 16 + @define-color base-100 #e6e4d9; 17 + @define-color base-50 #f2f0e5; 18 + @define-color paper #fffcf0; 19 + 20 + @define-color red-600 #af3029; 21 + @define-color orange-600 #bc5215; 22 + @define-color yellow-600 #ad8301; 23 + @define-color green-600 #66800b; 24 + @define-color cyan-600 #24837b; 25 + @define-color blue-600 #205ea6; 26 + @define-color purple-600 #5e409d; 27 + @define-color magenta-600 #a02f6f; 28 + 29 + @define-color red-400 #d14d41; 30 + @define-color orange-400 #da702c; 31 + @define-color yellow-400 #d0a215; 32 + @define-color green-400 #879a39; 33 + @define-color cyan-400 #3aa99f; 34 + @define-color blue-400 #4385be; 35 + @define-color purple-400 #8b7ec8; 36 + @define-color magenta-400 #ce5d97; 37 +
+31
config/waybar/flexoki-light.css
··· 1 + /* 2 + * https://stephango.com/flexoki 3 + */ 4 + 5 + @define-color bg #fffcf0; 6 + @define-color bg-2 #f2f0e5; 7 + @define-color ui #e6e4d9; 8 + @define-color ui-2 #dad8ce; 9 + @define-color ui-3 #cecdc3; 10 + @define-color tx-3 #b7b5ac; 11 + @define-color tx-2 #6f6a69; 12 + @define-color tx #100f0f; 13 + 14 + @define-color re #af3029; 15 + @define-color or #bc5215; 16 + @define-color ye #ad8301; 17 + @define-color gr #66800b; 18 + @define-color cy #24937b; 19 + @define-color bl #205ea6; 20 + @define-color pu #5e409d; 21 + @define-color ma #a02f6f; 22 + 23 + @define-color re-2 #d14d41; 24 + @define-color or-2 #da702c; 25 + @define-color ye-2 #d0a215; 26 + @define-color gr-2 #879a39; 27 + @define-color cy-2 #3aa99f; 28 + @define-color bl-2 #4385be; 29 + @define-color pu-2 #8b7ec8; 30 + @define-color ma-2 #ce5d97; 31 +
+65
config/waybar/style.css
··· 1 + @import "flexoki-light.css"; 2 + 3 + * { 4 + border: none; 5 + border-radius: 0; 6 + font-family: 'Mononoki Nerd Font'; 7 + font-size: 13px; 8 + min-height: 0; 9 + } 10 + 11 + window#waybar { 12 + background: @bg; 13 + border-bottom: 3px solid @ui; 14 + color: @tx; 15 + } 16 + 17 + tooltip { 18 + background: @bg-2; 19 + border: 1px solid @ui-2; 20 + } 21 + 22 + tooltip label { 23 + color: @tx; 24 + } 25 + 26 + #network, 27 + #battery, 28 + #clock, 29 + #workspaces button { 30 + padding: 5px 10px; 31 + background: @gr-2; 32 + border-bottom: 3px solid @gr; 33 + color: @tx; 34 + } 35 + 36 + #network, 37 + #battery, 38 + #clock { 39 + margin-left: 4px; 40 + } 41 + 42 + #workspaces button { 43 + background: transparent; 44 + border-color: transparent; 45 + padding: 5px; 46 + } 47 + 48 + #workspaces button.focused { 49 + background: @gr-2; 50 + border-color: @gr; 51 + } 52 + 53 + @keyframes blink { 54 + to { 55 + background: @re-2; 56 + border-color: @re; 57 + } 58 + } 59 + 60 + #battery.warning:not(.charging) { 61 + background: @ye-2; 62 + border-color: @ye; 63 + animation: blink 0.5s steps(12) infinite alternate; 64 + } 65 +
+74
install.sh
··· 1 + #!/usr/bin/env sh 2 + 3 + set -eux 4 + 5 + # Setup 6 + setup-wayland-base 7 + 8 + # Basics 9 + apk add -y \ 10 + doas \ 11 + flatpak \ 12 + vim \ 13 + openssh 14 + 15 + echo 'permit :wheel' > /etc/doas.d/doas.conf 16 + 17 + # Desktop 18 + apk 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 + 38 + # Create manager 39 + adduser manager 40 + adduser manager wheel # doas 41 + adduser manager plugdev # Allow WiFi management. 42 + su -Dl manager 43 + 44 + # Install basic apps 45 + flatpak install -y flathub \ 46 + org.gnome.Epiphany \ 47 + org.scratchmark.Scratchmark \ 48 + dev.neovide.neovide \ 49 + org.keepassxc.KeePassXC \ 50 + net.ankiweb.Anki \ 51 + dev.vencord.Vesktop \ 52 + org.gnome.Fractal \ 53 + md.obsidian.Obsidian 54 + 55 + # Allow Fractal to access gnome-keyring 56 + flatpak --user override --talk-name=org.freedesktop.secrets org.gnome.Fractal 57 + 58 + # Icon theme (La Capitaine) 59 + mkdir -p ~/.icons/ 60 + cd ~/.icons/ 61 + git clone --depth=1 https://github.com/keeferrourke/la-capitaine-icon-theme.git 62 + cd - 63 + 64 + # Wallpaper 65 + mkdir -p ~/Pictures/Wallpapers/ 66 + curl -Lo ~/Pictures/Wallpapers/forest1.png https://i.redd.it/4vztk5m7p9651.jpg 67 + 68 + # Copy configs 69 + mkdir -p ~/.config/ 70 + cp -r ./.config/* ~/.config/ 71 + 72 + # Git configuration 73 + git config --global init.initialBranch main 74 +
+27
preinstall.sh
··· 1 + #!/usr/bin/env sh 2 + 3 + set -eux 4 + 5 + # Network 6 + apk add -y \ 7 + networkmanager \ 8 + networkmanager-tui 9 + 10 + echo "[main] 11 + dhcp=internal 12 + plugins=ifupdown,keyfile 13 + 14 + [ifupdown] 15 + managed=true 16 + 17 + [device] 18 + wifi.scan-rand-mac-address=yes 19 + wifi.backend=wpa_supplicant" > /etc/NetworkManager/NetworkManager.conf 20 + 21 + rc-service networking stop 22 + rc-service wpa_supplicant stop 23 + rc-service networkmanager restart 24 + rc-update add networkmanager default 25 + rc-update del networking boot 26 + rc-update del wpa_supplicant boot 27 +
+33
readme
··· 1 + elastic os 2 + ========== 3 + 4 + Preconfigured Alpine spin with: 5 + - Distrobox 6 + - Niri 7 + - Flatpak 8 + 9 + Made for my personal uses! Odds are you won't like it. 10 + 11 + Install 12 + ------- 13 + 14 + Alpine: 15 + 16 + # apk add -y git 17 + # git clone https://tangled.org/emmeline.girlkisser.top/elastic 18 + # cd elastic 19 + # sh preinstall.sh 20 + Make sure you're connected to internet again. preinstall 21 + changes Alpine to use networkmanager. 22 + # sh install.sh 23 + # cd .. 24 + # rm -rf elastic 25 + # reboot 26 + 27 + Then log in as `manager`. There shouldn't be a password. 28 + 29 + Desktop 30 + ------- 31 + 32 + Theme: https://stephango.com/flexoki 33 +
+12
scripts/rebuild.sh
··· 1 + #!/usr/bin/env sh 2 + 3 + rm -rf config 4 + mkdir config 5 + cp -r \ 6 + ~/.config/alacritty \ 7 + ~/.config/fuzzel \ 8 + ~/.config/mako \ 9 + ~/.config/niri \ 10 + ~/.config/waybar \ 11 + ./config/ 12 +
+5
wallpapers.txt
··· 1 + forest1.jpg: 2 + Source: https://www.reddit.com/r/wallpaper/comments/hd7a1j/forest_rays_38402160/ 3 + Download: https://www.reddit.com/media?url=https%3A%2F%2Fi.redd.it%2F4vztk5m7p9651.jpg 4 + Direct: https://i.redd.it/4vztk5m7p9651.jpg 5 +