You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Daniel Barlow c485e59c3a explain how to start eufon on ssh connection 10 months ago
bin make an installable derivation 10 months ago
blinkenlicht merge blinkenlicht, add modeline 1 year ago
crier fudging to make it work as buildable derivation 10 months ago
just fudging to make it work as buildable derivation 10 months ago
kiwmi initial support for touch events 11 months ago
saturn fudging to make it work as buildable derivation 10 months ago
.gitignore make an installable derivation 10 months ago
LICENSE Create LICENSE 1 year ago
README.md explain how to start eufon on ssh connection 10 months ago
build.nix add kiwmi as git subtree and derivation to build it 1 year ago
carousel.png add some very professional icons 1 year ago
close-window.png add some very professional icons 1 year ago
default.nix Merge branch 'main' of gti.telent.net:dan/eufon 10 months ago
eufon.fnl fudging to make it work as buildable derivation 10 months ago
fennelrun.lua fudging to make it work as buildable derivation 10 months ago
init.lua fudging to make it work as buildable derivation 10 months ago
kiwmi.nix kiwmi debug build 1 year ago
launcher.png add some very professional icons 1 year ago
lua-dbus-proxy.nix add dependencies for saturn 1 year ago
matrix.fnl add some matrix functions 11 months ago
modeline.css merge blinkenlicht, add modeline 1 year ago
modeline.fnl fudging to make it work as buildable derivation 10 months ago
module.nix stuff 10 months ago
pinephone.nix some generally (I hope) useful config for the Pinephone 11 months ago
refresh-bootfs.nix some generally (I hope) useful config for the Pinephone 11 months ago
run.sh kiwmi verbose log and sensible syslog identifier 11 months ago
shell.nix explain how to start eufon on ssh connection 10 months ago
socket-repl.fnl extract function 11 months ago
texture.fnl extract texture-from-file into module 11 months ago

README.md

eufon

Broken, not ready for use

euphony: noun Harmonious arrangement of sounds in composition; a smooth and agreeable combination of articulate elements in any piece of writing.

A mostly Fennel-based graphical environment tailored for Linux-based mobile devices. The principles we aspire to are

  • "habitable software" - build the system in such a way that a technically competent user may change it to serve their needs, potentially even in ways that weren't anticipated in the original design. Emacs has this quality.

  • optimised for touchscreens. My phone has no hardware keyboard and few hardware buttons, let's play to its strengths instead of compensating for its weaknesses

As of 2022 these principles are more aspirational than actual. This repo is basically in an advanced state of brokenness

Running the shell/apps locally

$ nix-shell
nix-shell$ kiwmi -c init.lua 

This works on desktop or on mobile - Kiwmi is built on wlroots, which will open a window on your existing Wayland or X11 desktop if you're running one.

If you're connected over ssh and want to run Kiwmi on the console, further contortions are required as you don't have the permissions by default: run this before attempting to start Kiwmi

 nix-shell -p seatd --run "sudo -b seatd -u $USER"

Connecting to the repl

By default Eufon opens a Unix socket to which you can connect to interact with a Fennel REPL. The eufonctl script is a wrapper around socat

$ eufonctl $WAYLAND_DISPLAY

Building for a device

Eufon can be installed as a Mobile NixOS module, by adding module.nix to the imports in your configuration.nix. For example, on my development phone I have

  imports = [
    (import <mobile-nixos/lib/configuration.nix> {
      device = "motorola-potter";
    })
    /home/dan/src/phoen/eufon/module.nix
  ];

Instructions for using Mobile NixOS are currently outside the scope of this README.

TODO

Packages

  • notifications (crier)
  • web browser (just)
  • keyboard
  • wifi network chooser
  • settings: toggle network interfaces, change volume & screen brightness

Other

  • better window management

  • some way to add launcher shortcuts for Fennel functions

  • hook up system to session bus, to handle incoming calls

  • kiwmi: support reloading config or otherwise making live changes

  • why are overlay windows overlapping regular view?

  • screen lock