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:
@@ -1,5 +1,5 @@
|
||||
// Command das-welcome is the Das OS first-login window: interface language,
|
||||
// home folder names, updates, settings and help.
|
||||
// home folder names, updates, the developer profile, settings and help.
|
||||
//
|
||||
// das-welcome show the window
|
||||
// das-welcome --autostart show it only if the user did not turn that off
|
||||
@@ -207,6 +207,9 @@ func newWindow(app *gtk.Application) (*gtk.ApplicationWindow, error) {
|
||||
row, _ := b.row("software-update-available", i18n.T("welcome.update"), i18n.T("welcome.update.desc"),
|
||||
b.button(i18n.T("welcome.update.open"), func() { launch("das-update") }))
|
||||
add(row)
|
||||
if row := profileRow(b); row != nil {
|
||||
add(row)
|
||||
}
|
||||
}
|
||||
row, _ := b.row("preferences-desktop", i18n.T("welcome.settings"), i18n.T("welcome.settings.desc"),
|
||||
b.button(i18n.T("welcome.open"), func() { launch("xfce4-settings-manager") }))
|
||||
@@ -249,6 +252,23 @@ func launch(name string, args ...string) {
|
||||
}
|
||||
}
|
||||
|
||||
// profileRow installs the developer profile in a terminal, where dprofile
|
||||
// asks for the password and which IDEs to add. It returns nil without dprofile.
|
||||
func profileRow(b *builder) *gtk.Box {
|
||||
if _, err := exec.LookPath("dprofile"); err != nil {
|
||||
return nil
|
||||
}
|
||||
desc, label := i18n.T("welcome.dev.desc"), i18n.T("welcome.dev.install")
|
||||
if exec.Command("dprofile", "check", "dev").Run() == nil {
|
||||
desc, label = i18n.T("welcome.dev.installed"), i18n.T("welcome.dev.apps")
|
||||
}
|
||||
row, _ := b.row("applications-development", i18n.T("welcome.dev"), desc,
|
||||
b.button(label, func() {
|
||||
launch("xfce4-terminal", "--hold", "--title", i18n.T("welcome.dev"), "-x", "dprofile", "install", "dev")
|
||||
}))
|
||||
return row
|
||||
}
|
||||
|
||||
// languageRow offers the UTF-8 locales the system has built. It returns nil
|
||||
// when there is nothing to choose from.
|
||||
func languageRow(b *builder) *gtk.Box {
|
||||
|
||||
@@ -111,6 +111,11 @@ var messages = map[string]message{
|
||||
"welcome.update": {"Оновлення", "Updates"},
|
||||
"welcome.update.desc": {"Перед кожним оновленням створюється знімок системи для відкату.", "A system snapshot is taken before every update so it can be rolled back."},
|
||||
"welcome.update.open": {"Перевірити", "Check"},
|
||||
"welcome.dev": {"Профіль розробника", "Developer profile"},
|
||||
"welcome.dev.desc": {"Go, Python, Node.js, Git, Docker і Podman, VS Code; за бажанням JetBrains і Android Studio з Flathub.", "Go, Python, Node.js, Git, Docker and Podman, VS Code; JetBrains IDEs and Android Studio from Flathub if you like."},
|
||||
"welcome.dev.installed": {"Встановлено. Середовища JetBrains і Android Studio можна додати з Flathub.", "Installed. JetBrains IDEs and Android Studio can be added from Flathub."},
|
||||
"welcome.dev.install": {"Встановити", "Install"},
|
||||
"welcome.dev.apps": {"Додати середовища", "Add IDEs"},
|
||||
"welcome.settings": {"Налаштування", "Settings"},
|
||||
"welcome.settings.desc": {"Тема, екран, клавіатура, принтери та інше.", "Theme, display, keyboard, printers and more."},
|
||||
"welcome.open": {"Відкрити", "Open"},
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# Template file for 'das-tools'
|
||||
# In-tree package: Go sources are in files/src (FILESDIR).
|
||||
pkgname=das-tools
|
||||
version=0.3.0
|
||||
version=0.4.0
|
||||
revision=1
|
||||
create_wrksrc=yes
|
||||
# Like build_style=go: the Go linker decides about PIE, xbps-src must not check it
|
||||
|
||||
Reference in New Issue
Block a user