eufon

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

README.md (2714B)


      1 # eufon
      2 
      3 **Broken, not ready for use**
      4 
      5 > *euphony*: _noun_ Harmonious arrangement of sounds in composition; a smooth and agreeable combination of articulate elements in any piece of writing.
      6 
      7 A mostly Fennel-based graphical environment tailored for Linux-based
      8 mobile devices. The principles we aspire to are
      9 
     10 * "habitable software" - build the system in such a way that a
     11   technically competent user may change it to serve their needs,
     12   potentially even in ways that weren't anticipated in the original
     13   design.  Emacs has this quality.
     14 
     15 * optimised for touchscreens. My phone has no hardware keyboard and few
     16   hardware buttons, let's play to its strengths instead of compensating for
     17   its weaknesses
     18 
     19 As of 2022 these principles are more aspirational than actual. _This
     20 repo is basically in an advanced state of brokenness_
     21 
     22 ## Running the shell/apps locally
     23 
     24     $ nix-shell
     25     nix-shell$ kiwmi -c init.lua 
     26 
     27 This works on desktop or on mobile - Kiwmi is built on wlroots, which
     28 will open a window on your existing Wayland or X11 desktop if you're
     29 running one.
     30 
     31 If you're connected over ssh and want to run Kiwmi on the console,
     32 further contortions are required as you don't have the permissions
     33 by default: run this before attempting to start Kiwmi
     34 
     35      nix-shell -p seatd --run "sudo -b seatd -u $USER"
     36 
     37 ## Connecting to the repl
     38 
     39 By default Eufon opens a Unix socket to which you can connect to
     40 interact with a Fennel REPL. The `eufonctl` script is a wrapper around
     41 [socat](http://www.dest-unreach.org/socat/)
     42 
     43     $ eufonctl $WAYLAND_DISPLAY
     44 
     45 
     46 ## Building for a device
     47 
     48 Eufon can be installed as a [Mobile NixOS](https://github.com/NixOS/mobile-nixos/) module, by adding
     49 `module.nix` to the `imports` in `your configuration.nix`. For example, on my development phone I
     50 have 
     51 
     52 ```nix
     53   imports = [
     54     (import <mobile-nixos/lib/configuration.nix> {
     55       device = "motorola-potter";
     56     })
     57     /home/dan/src/phoen/eufon/module.nix
     58   ];
     59 ```
     60 
     61 Instructions for using Mobile NixOS are currently outside the scope of
     62 this README.
     63 
     64 
     65 
     66 # TODO
     67 
     68 ## Packages
     69 
     70 - [X] notifications (crier)
     71 - [X] web browser (just)
     72 - [ ] keyboard
     73 - [ ] wifi network chooser
     74 - [ ] settings: toggle network interfaces, change volume & screen brightness
     75 
     76 ## Other
     77 
     78 - [ ] better window management
     79 	- gestures to switch view
     80 	- gesture to launch terminal?
     81 	- some way to kill an app
     82 	- finish adding touch support to Kiwmi - https://github.com/buffet/kiwmi/pull/64
     83 
     84 - [ ] some way to add launcher shortcuts for Fennel functions
     85 - [ ] hook up system to session bus, to handle incoming calls
     86 - [X] kiwmi: support reloading config or otherwise making live changes
     87 - [ ] why are overlay windows overlapping regular view?
     88 - [ ] screen lock