Write a
wayland compositor
Honestly, this one's kinda hard to get with a good integration with
systemd going. It's a complicated spec, and niri and cosmic have already
done a really good job at it.
Implement
an Xscreensaver equivalent for wayland, in rust
This should be fairly straightforward.
ext-session-lock-v1 already takes care of most of the
security features that xscreensaver implements. All that's needed is a
UI toolkit and the ability to load gifs. awww, the
wallpaper daemon should have the code for loading gifs and caching them
into memory. gtklock should already contain the code to
launch the gtk dialog box and such. There is a POC gtk4 port as well,
and I'd likely base it off of that and allow folks to load gifs. And
that should be done. However, it'd be in C, so a rust port would also be
needed.
Edit: this will
help
Create your own OS
Should be doable in the long run? Atleast qemu emulation and init to
sh shouldn't be impossible.
This is especially annoying as I have to load the entire book every
single time or I have to download it to the local device.
UPDATE: Maybe not anymore, Kavita works sooo welll!
Create
a package manager that can be used akin to nix, but easier
supac is
already a thing, and is pretty usable too! Check it out!
Create
a mechanism to easily describe and hold bwrap wrappers
- This should have all the bells and whistles, like having portal
access and such.
- It should work well.
- There's a default list of allowed seccomp-whitelists, should look
into that too.
- Wrap around with the config and such.
- Desktop entries for launchers as well if possible.
- Integrate with supac?
- Relevant
- Parse TOML and then use that to create it?
- Provide optional starter template to the tool for further
generation
- How will it have portal access? Need to see that part. UPDATE: It
cannot.
- Relevant
- Portal support needs to be baked in the application and used at
runtime, you cannot intercept filesystem requests or such and redirect
them to the portal.
Create
a mechanism to manage dotfiles right alongside packages in supac
- Probably work by keeping symlinks/specifying links directly all over
the place?
- Basically create a living code-based system to interact with the
entire OS
- Need to flesh it out
Create an entire
shell UI/framework of your own
Needs the bare minimum of this all:
Basic system stuff:
- sound
- brightness
- network interfaces
- bluetooth
- notification support
- lock screen support
- system tray
- polkit daemon
- idle inhibitor and idle timer
Actual system stuff:
- CPU utilization per-core
- Disk utilization
- process management API
- uptime
- clock
- temperature monitor
- Battery management
- filesystem indexing
- DBus snooping
random interfaces:
- unix socket abstractions
- screencasting support ala xdg-desktop-portal-gnome
- niri workspace support
random pickers and stuff:
- color picker/color creator
- wallpaper
- clipboard
- emoji picker
Things to consider:
- iced? Is it too complex? Maybe the libcosmic fork. It sure seems
interesting though
- Fully rust? There are haskell forks. Do you want external
contributions?
- gtk4 + libadwaita? Not sure how much that'd fare though. It can be
extremely expensive to work with it.
Answer: go for iced: it's based on rendered state, and allows you to
basically update parts of it instead of the whole view
Relevant
Relevant
Create a launcher using
nushell
This will be fun. Use input list for this. Support the
following features from vicinae: Relevant
Create a
rust binary to output a kitty panel detail
- niri current workspace name (using socket)
- volume levels (see how ironbar does it)
- current volume source
- bluetooth source
- wifi speed
- tailscale status
- battery level
- time and date
- CPU temp
- CPU freq
- CPU usage
- memory usage
contribute TUIs using
pimalaya project