Skip to content

Commit

Permalink
rlxos 2.0 (#236)
Browse files Browse the repository at this point in the history
  • Loading branch information
itsManjeet authored Sep 6, 2024
1 parent db4b0ad commit 16f3f5b
Show file tree
Hide file tree
Showing 117 changed files with 2,995 additions and 1,266 deletions.
7 changes: 3 additions & 4 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
[submodule "src/initial-setup"]
path = src/initial-setup
url = [email protected]:itsmanjeet/initial-setup
[submodule "src/srclang"]
path = src/srclang
url = [email protected]:itsmanjeet/srclang

[submodule "src/pkgupd"]
path = src/pkgupd
url = [email protected]:itsmanjeet/pkgupd
[submodule "src/capsule"]
path = src/capsule
url = [email protected]:itsmanjeet/capsule
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ export OSTREE_GPG_CONFIG
export PKGUPD
export CACHE_PATH

.PHONY: clean all docs version.yml channel.yml ostree-branch.yml apps
.PHONY: clean all docs version.yml channel.yml ostree-branch.yml apps TODO.ELEMENTS

all: $(PKGUPD) version.yml ostree-branch.yml channel.yml
ifdef ELEMENT
Expand Down
144 changes: 61 additions & 83 deletions TODO.ELEMENTS
Original file line number Diff line number Diff line change
@@ -1,95 +1,73 @@
components/rustc: update to latest version for firefox

components/gcr.yml: check and fix update url version
components/gcr.yml: fix documentation
components/qt.yml: fix configuration files
components/qt.yml: check dependencies
components/proot.yml: fix patch
system/repo.yml: FIX components/pam.yml integration
components/icon-naming-utils.yml: fix update url
components/system-config-printer.yml: Why we need to do this manually??
components/gnome/gnome-epub-thumbnailer.yml: fix update url
components/gnome/gdm.yml: We need to setup and use our PAM configuration
components/spice-vdagent.yml: fix configurations
components/baloo.yml: check and update
components/pcsclite.yml: fix update url
components/colord-gtk.yml: enable documentation and manuals
components/libkcddb.yml: fix update url
components/lxd.yml: fix service file
components/gcr-4.yml: check and fix update url version
components/gcr-4.yml: fix documentation
components/vaapi-driver.yml: fix update url
components/postfix.yml: fix user creation
components/postfix.yml: fix systemd service file
components/bsdiff.yml: fix patch
components/kbd.yml: check for patch
components/cdparanoia.yml: check with inbuilt autotools
components/spice.yml: enable gstreamer
components/libsecret.yml: enable docs and manpages
components/devel.yml: convert to layer
components/folks.yml: check build configurations
components/openssh.yml: build with builtin autotools
components/dbus-c++.yml: fix patches
components/dnsmasq.yml: fix service file
components/mariadb.yml: fix configuration file
components/colord.yml: enable bash_completion, docs and manuals
components/glibc-dbg.yml: merge this with glibc
components/lxcfs.yml: fix service file
components/lxcfs.yml: enable docs
components/cppgir.yml: fix update url
components/opencv3.yml: fix update url
components/apr-util.yml: fix update url
components/weston.yml: enable vaapi, pipewire, freerdp, xwayland, gstreamer
components/dbus-c++.yml: fix patches
components/libgssglue.yml: fix configuration
components/colord-gtk.yml: enable documentation and manuals
components/debian-archive-keyring.yml: fix update url
components/dnsmasq.yml: fix service file
components/schroot.yml: fix patch file
components/lm-sensors.yml: fix configuration
components/kbd.yml: check for patch
components/firefox-src.yml: libpng doesn't have APNG support
components/firefox-src.yml: update rustc compiler
components/firefox-src.yml: update nss
components/gcr.yml: check and fix update url version
components/gcr.yml: fix documentation
components/audit.yml: Learn More about it
components/audit.yml: check config path patch
components/fcron.yml: fix configurations
components/xfce4-session.yml: fix update url
components/exo.yml: fix update url
components/glm.yml: fix configuration file
components/nvidia-utils.yml: check update url
components/nvidia-utils.yml: merge into nvidia layer
components/cups.yml: fix pam configuration
components/plymouth.yml: fix configurations
components/xfce4-panel.yml: fix update url
components/gtk-doc.yml: fix update url
components/icon-naming-utils.yml: fix update url
components/nginx.yml: fix service file
components/nginx.yml: fix configuration file
components/dconf-editor.yml: check version
components/dqlite.yml: run autoreconf
components/proot.yml: fix patch
components/libsecret.yml: enable docs and manpages
components/python2.yml: check deprecated
components/pciutils.yml: fix update script
components/dotnet.yml: fix update url
components/appstream-glib.yml: check stemmer requirement
components/egl-wayland.yml: fix nvidia wayland configuration
components/bluez.yml: enable manpages
components/protobuf.yml: fix update url
components/gnupg.yml: check version and update url
components/dpp.yml: fix update url
components/vaapi-driver.yml: fix update url
components/colord.yml: enable bash_completion, docs and manuals
components/tracker.yml: enable documentation
components/audit.yml: Learn More about it
components/audit.yml: check config path patch
components/libgssglue.yml: fix configuration
components/lxc.yml: fix service file
components/spice-vdagent.yml: fix configurations
components/lm-sensors.yml: fix configuration
components/fuse2.yml: fix update url
components/gnome-epub-thumbnailer.yml: fix update url
components/schroot.yml: fix patch file
components/containerd.yml: build from source
components/espeak-ng.yml: check patch
components/espeak-ng.yml: build using builtin autotools
components/berkeley-db.yml: Fix update url
components/berkeley-db.yml: check direct source
components/gc.yml: check patch
components/openjdk.yml: fix update url
components/nvidia-settings.yml: check patch
components/lxd.yml: fix service file
components/udisks.yml: check update url
components/openjdk-bin.yml: fix update url
components/openldap.yml: fix post-script and configurations
components/apr-util.yml: fix update url
components/plasma-pam.yml: fix pam configuration
components/xfce4-whiskermenu-plugin.yml: Enable GTK layer shell support
components/debian-archive-keyring.yml: fix update url
components/drkonqi.yml: fix update url
components/postfix.yml: fix user creation
components/postfix.yml: fix systemd service file
components/gtk.yml: fix update url
components/dconf.yml: enable bash_completion
components/elementary-xfce-icons.yml: build using builtin autotools
components/clutter.yml: check configure options
components/libyaml-cpp.yml: fix update url
components/pcsclite.yml: fix update url
components/ca-certificates.yml: better work around
components/xfce4/exo.yml: fix update url
components/xfce4/panel-plugins/xfce4-whiskermenu-plugin.yml: Enable GTK layer shell support
components/xfce4/xfce4-panel.yml: fix update url
components/protobuf.yml: fix update url
components/dqlite.yml: run autoreconf
components/cppgir.yml: fix update url
components/lxc.yml: fix service file
components/opencv3.yml: fix update url
components/libblockdev.yml: enable nvme support
components/libkcddb.yml: fix update url
components/gnupg.yml: check version and update url
components/egl-wayland.yml: fix nvidia wayland configuration
components/dconf.yml: enable bash_completion
components/pam_wrapper.yml: fix update url
components/bluez.yml: enable manpages
components/openssh.yml: build with builtin autotools
components/plasma/plasma-pam.yml: fix pam configuration
components/plasma/drkonqi.yml: fix update url
components/gcr-4.yml: check and fix update url version
components/gcr-4.yml: fix documentation
components/nginx.yml: fix service file
components/nginx.yml: fix configuration file
components/folks.yml: check build configurations
components/elementary-xfce-icons.yml: build using builtin autotools
components/cdparanoia.yml: check with inbuilt autotools
components/spice.yml: enable gstreamer
components/glew.yml: fix patch
components/libblockdev.yml: enable nvme support
components/flatpak.yml: fix configurations
components/dpp.yml: fix update url
components/weston.yml: enable vaapi, pipewire, freerdp, xwayland, gstreamer
apps/dia.yml: check better way
apps/eog.yml: build with portol support
components/openldap.yml: fix post-script and configurations
components/dconf-editor.yml: check version
8 changes: 8 additions & 0 deletions apps/welcome/assets/welcome.desktop
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
[Desktop Entry]
Version=1.0
Name=Welcome Tour
Comment=Guided tutorial for new users
GenericName=Welcome Tour
Exec=welcome
Terminal=false
StartupNotify=true
22 changes: 22 additions & 0 deletions apps/welcome/config/config.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
package config

import (
"os"
"path"
)

const (
GtkDarkTheme = "Orchis-Dark"
GtkLightTheme = "Orchis-Light"

IconDarkTheme = "Tela-dark"
IconLightTheme = "Tela-light"

SoftwareCenter = "gnome-software"

SupportUrl = "https://github.com/itsManjeet/rlxos/discussions"
)

var (
DoneFile = path.Join(os.Getenv("HOME"), ".welcome-done")
)
22 changes: 22 additions & 0 deletions apps/welcome/locale/hi.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
- string: Welcome
translation: Welcome
- string: Welcome to RLXOS
translation: Welcome to RLXOS
- string: Back
translation: Back
- string: Looks and feel
translation: Looks and feel
- string: Applications
translation: Applications
- string: Finalize
translation: Finalize
- string: Help and Support
translation: Help and Support
- string: Finish
translation: Finish
- string: Next
translation: Next
- string: Follow to step-by-step guide to know more about rlxos
translation: Follow to step-by-step guide to know more about rlxos
- string: Get your favorite apps here
translation: Get your favorite apps here
17 changes: 17 additions & 0 deletions apps/welcome/locale/locale.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
package locale

import (
_ "embed"
"rlxos/pkg/localize"
)

//go:embed hi.yaml
var hi []byte

func init() {
localize.Add("hi", hi)
}

func T(s string) string {
return localize.Translate(s)
}
36 changes: 36 additions & 0 deletions apps/welcome/main.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
package main

import (
"github.com/diamondburned/gotk4/pkg/gdk/v4"
"github.com/diamondburned/gotk4/pkg/gio/v2"
"github.com/diamondburned/gotk4/pkg/gtk/v4"
"os"
"rlxos/apps/welcome/config"
"rlxos/apps/welcome/window"
"rlxos/apps/welcome/window/style"
)

func main() {
app := gtk.NewApplication("dev.rlxos.Welcome", gio.ApplicationFlagsNone)

if _, err := os.Stat(config.DoneFile); err == nil && os.Getenv("WELCOME_TOUR_AS_APP") == "" {
os.Exit(0)
}

app.ConnectStartup(func() {
gtk.StyleContextAddProviderForDisplay(
gdk.DisplayGetDefault(), style.Provider(),
gtk.STYLE_PROVIDER_PRIORITY_APPLICATION)
})

app.ConnectActivate(func() {
win := app.ActiveWindow()
if win == nil {
win = &window.NewWindow().Window
app.AddWindow(win)
}
win.Present()
})

os.Exit(app.Run(os.Args))
}
12 changes: 12 additions & 0 deletions apps/welcome/window/page.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
package window

import "github.com/diamondburned/gotk4/pkg/gtk/v4"

type IPage interface {
gtk.Widgetter

CanGoBack() bool
CanGoForward() bool

Title() string
}
71 changes: 71 additions & 0 deletions apps/welcome/window/pages/apps/apps.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
package apps

import (
_ "embed"
"github.com/diamondburned/gotk4/pkg/glib/v2"
"github.com/diamondburned/gotk4/pkg/gtk/v4"
"log"
"os/exec"
"rlxos/apps/welcome/config"
. "rlxos/apps/welcome/locale"
)

type Page struct {
gtk.Box
}

func NewAppsPage() *Page {
p := &Page{Box: *gtk.NewBox(gtk.OrientationVertical, 0)}
p.setupUI()
return p
}

func (p *Page) setupUI() {
p.SetVAlign(gtk.AlignCenter)
p.SetHAlign(gtk.AlignCenter)

icon := gtk.NewImageFromIconName("applications-all-symbolic")
icon.SetPixelSize(64)
icon.SetMarginBottom(12)
p.Append(icon)

heading := gtk.NewLabel(T("Get your favorite apps here"))
heading.AddCSSClass("heading")
p.Append(heading)

subheading := gtk.NewLabel(T("Browse and install your favorite apps effortlessly.\nExplore new tools, utilities, and games—all available directly in the Software Center."))
subheading.SetJustify(gtk.JustifyCenter)
subheading.SetMarginBottom(24)
p.Append(subheading)

button := gtk.NewButtonWithLabel(T("Browse apps"))
button.ConnectClicked(func() {
button.SetSensitive(false)
button.SetLabel(T("Starting..."))

cmd := exec.Command(config.SoftwareCenter)
if err := cmd.Start(); err != nil {
log.Println("failed to start software center", err)
} else {
go func() {
if err := cmd.Wait(); err != nil {
log.Println("failed to wait for software center", err)
}
glib.IdleAdd(func() bool {
button.SetSensitive(true)
button.SetLabel(T("Browse apps"))
return true
})
}()
}
})
button.SetHAlign(gtk.AlignCenter)
button.SetVAlign(gtk.AlignCenter)
p.Append(button)
}

func (p *Page) CanGoBack() bool { return true }

func (p *Page) CanGoForward() bool { return true }

func (p *Page) Title() string { return T("Applications") }
Loading

0 comments on commit 16f3f5b

Please sign in to comment.