💾 Archived View for gemini.spam.works › users › emery › reform.gmi captured on 2020-10-31 at 00:49:13. Gemini links have been rewritten to link to archived content

View Raw

More Information

⬅️ Previous capture (2020-09-24)

🚧 View Differences

-=-=-=-=-=-=-

Notes on the MNT Reform2 Beta

These are my notes on using the Reform which I will continuously update.

NixOS installer image

https://source.mntmn.com/ehmry/nixos-installer-mnt-reform

Screen locking

The Reform is oblivous to whether the lid of the laptop is open or closed. I prefer this to fighting against systemd. Needless to say the backlight stays active, so I made a sway keybinding that both locks the screen and kills the backlight.

Nix configuration snippet:

{ pkgs, ... }: {
  home-manager.users.emery = {
    home.packages = with pkgs;
      [
        (writeScriptBin "reform-screenlock" ''
          #!/bin/sh
          BRIGHTNESS=$(${brightnessctl}/bin/brightnessctl g)
          ${brightnessctl}/bin/brightnessctl s 0
          ${swaylock}/bin/swaylock -u
          ${brightnessctl}/bin/brightnessctl s $BRIGHTNESS
        '')
      ];

    wayland.windowManager.sway = {
      enable = true;
      config = {
        keybindings = let
          cfg = config.home-manager.users.emery.wayland.windowManager.sway;
          mod = cfg.config.modifier;
        in { "${mod}+Escape" = "exec reform-screenlock"; };
      };
    };
  };
}

Terminal emulator

Sway seems to use the Alacritty terminal emulator by default, but it fails to initialize. I appreciate that Alacritty is fast but I distrust anything rewritten in Rust, moreso if it uses the GPU to render text.

Alacritty encountered an unrecoverable error:

        There was an error initializing the shaders: Failed compiling shader at
/build/source/alacritty/../res/text.v.glsl: 0:14(10): error: GLSL 3.30 is not supported. Supported versions are: 1.10, 1.20, and 1.00 ES

I'm still using st. The latency is not good, but it does the job and doesn't do anything extra.

https://st.suckless.org/

I've swapped the default dark color scheme for white on black using Ametameric pallette.

Ametameric is as a system palette that provides the standard CGA/ANSI colors accomodating various forms of human color blindness/color vision deficiencies. 16 colors (including white, black and two grays) that all provide sufficient contrast for all common types of color vision. When working as intended, TUIs made to work well with the system colors (rather than 256/true color) should become accesible for color vision deficient users without further tweaks needed.

https://pippin.gimp.org/ametameric/

st-config.h

/* ... */

static char *font = "Hasklig:pixelsize=16:antialias=true:autohint=true";

static const char *colorname[] = {
	/* 8 normal colors */
	"#000000",
	"#a02929",
	"#4aa08b",
	"#878453",
	"#2424ed",
	"#ab4adf",
	"#3b6bb1",
	"#c3c3c3",

	/* 8 bright colors */
	"#6f6f6f",
	"#edac82",
	"#99edba",
	"#e9d808",
	"#82b4ed",
	"#d66fed",
	"#1de1ed",
	"#ffffff",

	[255] = 0,

	/* more colors can be added after 255 to use with DefaultXX */
	"#307f30",
	"#bdbdbd",
};

/* ... */

st.nix

{ config, pkgs, ... }:

{

  fonts = {
    fonts = with pkgs; [ hasklig ];
    enableDefaultFonts = true;
  };

  nixpkgs.overlays = [
    (self: super: {
      st = super.st.override { conf = builtins.readFile ./st-config.h; };
    })
  ];

}