Stage 8: developer profile with dprofile (0.6.0)

dprofile (das-helpers 0.2.0) installs profiles listed in
/usr/share/das/profiles: packages from the Void repository between a
snapper pre/post pair, their services and groups, subordinate IDs and a
shared root mount for rootless Podman, and optional IDEs from Flathub.
The installed system can't see the Das OS repository yet, so a das-dev
metapackage could not be installed there; Void packages always can.

The dev profile: Go, Python, Node.js, Git, Docker, Podman and command-line
tools everywhere, VS Code (code-oss), Meld and Flatpak on a desktop, with
Android Studio and JetBrains IDEs on demand. Questions come before sudo.

das-welcome (das-tools 0.4.0) gets a developer profile row that runs
dprofile in a terminal; das-server-install mentions it at the end.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
das
2026-10-20 08:49:53 +03:00
co-authored by Claude Opus 5.5
parent acb7532a4f
commit fe043711a0
13 changed files with 572 additions and 23 deletions
@@ -0,0 +1,47 @@
# Das OS developer profile, installed with "dprofile install dev".
# shellcheck shell=bash disable=SC2034
title_uk="Розробник"
title_en="Developer"
desc_uk="Go, Python, Node.js, Git, Docker і Podman, VS Code; середовища JetBrains і Android Studio з Flathub"
desc_en="Go, Python, Node.js, Git, Docker and Podman, VS Code; JetBrains IDEs and Android Studio from Flathub"
# Without a graphical session
server_desc_uk="Go, Python, Node.js, Git, Docker і Podman, консольні інструменти"
server_desc_en="Go, Python, Node.js, Git, Docker and Podman, command-line tools"
# Packages from the Void repository, on every system
packages="
base-devel gdb strace
git git-lfs github-cli lazygit
go gopls delve golangci-lint
python3-pip python3-virtualenv uv
nodejs
docker docker-compose docker-buildx lazydocker
podman podman-compose
jq ripgrep fd fzf direnv shellcheck sqlite"
# Only with a graphical session
desktop_packages="
vscode meld
flatpak xdg-desktop-portal xdg-desktop-portal-gtk"
# runit services to enable
services="docker"
# Groups the user who installs the profile joins (docker is root-equivalent)
groups="docker"
# Rootless Podman needs subordinate user and group IDs, and a shared root
# mount (runit leaves / private)
subids=yes
shared_root=yes
# Optional applications from Flathub (desktop only): ID and name
apps="
com.google.AndroidStudio Android Studio
com.jetbrains.IntelliJ-IDEA-Community IntelliJ IDEA Open
com.jetbrains.IntelliJ-IDEA-Ultimate IntelliJ IDEA Ultimate
com.jetbrains.PyCharm-Professional PyCharm
com.jetbrains.GoLand GoLand
com.jetbrains.WebStorm WebStorm
com.visualstudio.code Visual Studio Code (Microsoft)"