nix-files/TODO.md

6.0 KiB

BUGS

  • nixpkgs date is incorrect (1970.01.01...)
  • ringer (i.e. dino incoming call) doesn't prevent moby from sleeping
  • nix operations from lappy hang when desko is unreachable
    • could at least direct the cache to http://desko-hn:5001

REFACTORING:

  • fold hosts/common/home/ssh.nix -> hosts/common/users/colin.nix

sops/secrets

  • attach secrets to the thing they're used by (sane.programs)
  • rework secrets to leverage sane.fs
  • remove sops activation script as it's covered by my systemd sane.fs impl

roles

  • allow any host to take the role of uninsane.org
    • will make it easier to test new services?

upstreaming

  • split out a sxmo module usable by NUR consumers
  • bump nodejs version in lemmy-ui
  • add updateScripts to all my packages in nixpkgs
  • fix lightdm-mobile-greeter for newer libhandy
  • port zecwallet-lite to a from-source build
  • REVIEW/integrate jellyfin dataDir config: https://github.com/NixOS/nixpkgs/pull/233617

upstreaming to non-nixpkgs repos

IMPROVEMENTS:

security/resilience

  • validate duplicity backups!
  • encrypt more ~ dirs (~/archives, ~/records, ..?)
    • best to do this after i know for sure i have good backups
  • have sane.programs be wrapped such that they run in a cgroup?
    • at least, only give them access to the portion of the fs they need.
    • Android takes approach of giving each app its own user: could hack that in here.
    • systemd-run takes a command and runs it in a temporary scope (cgroup)
    • flatpak does this, somehow
    • apparmor? SElinux? (desktop) "portals"?
    • see Spectrum OS; Alyssa Ross; etc
    • bubblewrap-based sandboxing: https://github.com/nixpak/nixpak
  • canaries for important services
    • e.g. daily email checks; daily backup checks
    • integrate nix check into Gitea actions?

faster/better deployments

  • remove audacity's dependency on webkitgtk (via wxwidgets)

user experience

moby

  • fix cpuidle (gets better power consumption): https://xnux.eu/log/077.html
  • SwayNC:
    • don't show MPRIS if no players detected
      • this is a problem of playerctld, i guess
    • add option to change audio output
    • fix colors (red alert) to match overall theme
  • moby: tune GPS
    • run only geoclue, and not gpsd, to save power?
    • tune QGPS setting in eg25-control, for less jitter?
    • direct mepo to prefer gpsd, with fallback to geoclue, for better accuracy?
    • configure geoclue to do some smoothing?
    • manually do smoothing, as some layer between mepo and geoclue/gpsd?
  • moby: show battery state on ssh login
  • moby: improve gPodder launch time
  • moby: theme GTK apps (i.e. non-adwaita styles)
  • phog: remove the gnome-shell runtime dependency to save hella closure size

non-moby

  • RSS: integrate a paywall bypass
    • e.g. self-hosted ladder (like 12ft.io)
  • neovim: set up language server (lsp; rnix-lsp; nvim-lspconfig)
  • Helix: make copy-to-system clipboard be the default
  • firefox/librewolf: persist history
    • just not cookies or tabs
  • package Nix/NixOS docs for Zeal
  • have xdg-open parse `repo:... URIs (or adjust them so that it can parse)
  • sane-bt-search: show details like 5.1 vs stereo, h264 vs h265
    • maybe just color these "keywords" in all search results?
  • uninsane.org: make URLs relative to allow local use (and as offline homepage)
  • email: fix so that local mail doesn't go to junk
    • git sendmail flow adds the DKIM signatures, but gets delivered locally w/o having the sig checked, so goes into Junk
    • could change junk filter from "no DKIM success" to explicit "DKIM failed"

perf

  • add pkgs.impure-cached.<foo> package set to build things with ccache enabled
    • every package here can be auto-generated, and marked with some env var so that it doesn't pollute the pure package set
    • would be super handy for package prototyping!
  • fix desko so it doesn't dispatch so many build jobs to servo by default

NEW FEATURES: