Compare commits

...

7144 Commits

Author SHA1 Message Date
de070bd5d8 sane-vpn: fix to provide bunpen with the gateway address for "sane-vpn do none ..." 2025-01-31 03:38:19 +00:00
ac58b884db sane-vpn: dont show the ip-check dialog for none region 2025-01-31 03:15:14 +00:00
d52844ddca sane-vpn: fix typos in recently-modified sane-vpn {up,down} paths 2025-01-31 02:44:02 +00:00
8c660e3c07 WIP: sane-vpn: fix "sane-vpn up none" to correctly delegate all DNS to the DHCP-provided servers when using BIND
previously this only worked when using hickory-dns as the local resolver
2025-01-31 02:03:50 +00:00
b536a30919 fonts: switch to Monaspace Argon
this one is especially easy for reading code comments
2025-01-29 23:35:17 +00:00
ec71b0219a fonts: try Monaspace... but dont commit to it right now 2025-01-29 23:24:24 +00:00
41b1ed0c31 cross: update upstreaming status 2025-01-29 00:24:47 +00:00
9fbb9c0c07 uassets: 2025-01-26 -> 2025-01-28 2025-01-28 23:24:10 +00:00
f90faf4516 nixpkgs-wayland: 0-unstable-2025-01-27 -> 0-unstable-2025-01-28 2025-01-28 23:24:02 +00:00
0d6ae1cc3a nixpkgs: 0-unstable-2025-01-27 -> 0-unstable-2025-01-28 2025-01-28 23:23:48 +00:00
b40c5abaf4 nixpkgs-wayland: 0-unstable-2025-01-26 -> 0-unstable-2025-01-27 2025-01-27 21:23:36 +00:00
063c897b43 nixpkgs: 0-unstable-2025-01-26 -> 0-unstable-2025-01-27 2025-01-27 21:23:28 +00:00
63bba23ff2 nixpkgs-wayland: 0-unstable-2025-01-21 -> 0-unstable-2025-01-26 2025-01-26 11:13:13 +00:00
214bd1e696 nixpkgs: 0-unstable-2025-01-25 -> 0-unstable-2025-01-26 2025-01-26 11:13:04 +00:00
3d584cb07b uassets: 0-unstable-2025-01-25 -> 0-unstable-2025-01-26 2025-01-26 11:12:46 +00:00
6f0f54f0ae geary: try to reduce dbus access, but then abort because i notice it uses xdg-dbus-proxy internally, which doesnt yet support nesting! 2025-01-26 09:06:28 +00:00
5f8d64cdb5 nwg-panel: restrict dbus access 2025-01-26 09:06:02 +00:00
049011e7db gnome-calls: restrict dbus
tested, can receive calls, it rings, notifies on missed call, notification can be clicked to call back, in-call audio works and mute button works (on lappy)
2025-01-26 09:03:32 +00:00
40e2cbec2c wireplumber: grant access to the system bus
this is required for bluetooth audio
2025-01-26 06:28:00 +00:00
65997c9f00 programs: definitions for blueman, but dont actually enable it 2025-01-26 06:27:39 +00:00
3c41a0bd29 blueberry: enable bluetooth.service
i'm still not able to connect to a bluetooth speaker yet...
2025-01-26 05:34:56 +00:00
88ef815717 blueberry: patch for cross compilation, and ship it
note that this doesn't do anything yet, as i need to re-enable bluez (bluetooth.service), first
2025-01-26 05:07:35 +00:00
3f0e2c5cb2 aarch64/moby: fix papers cross-compilation and use that as my PDF viewer instead of zathura 2025-01-26 03:04:54 +00:00
54a23fd109 cross: push vpnc-related changes upstream to nixpkgs 2025-01-26 01:38:15 +00:00
ccb90e7e4e cross: update upstreaming status 2025-01-26 01:05:27 +00:00
8ab56cbe8e feeds: unsubscribe from 60 Minutes
too informationally sparse
2025-01-25 21:45:20 +00:00
f3fb303cbf nixpkgs: 0-unstable-2025-01-24 -> 0-unstable-2025-01-25 2025-01-25 21:01:53 +00:00
85cdef4b4e uassets: 0-unstable-2025-01-21 -> 0-unstable-2025-01-25 2025-01-25 21:01:43 +00:00
5ed6df90c2 cross: push networkmanager plugin patches toward upstream 2025-01-25 12:42:37 +00:00
63281e5486 postgresql: increase log level 2025-01-25 12:34:20 +00:00
3debab9a7a servo: shelvacu: allow to start/stop/restart units 2025-01-25 12:33:59 +00:00
de6845834f servo: add Shelvacu as postgres admin 2025-01-25 12:09:51 +00:00
d99a2382ff add missing file to git 2025-01-25 10:57:19 +00:00
2a1b0cc90c nixpkgs: 0-unstable-2025-01-23 -> 0-unstable-2025-01-24 2025-01-25 01:52:40 +00:00
b9cfd504cc nixpkgs-bootstrap.master: fix hash
how do these 0-hashes sneak in without breaking builds sooner?
2025-01-24 20:07:59 +00:00
429bb604d7 nixpkgs-wayland: intra-day bump 2025-01-24 05:57:00 +00:00
bb32cadc4a nixpkgs: 2025-01-22 -> 2025-01-23 2025-01-24 05:56:46 +00:00
fcaa2079e1 firefox-extensions.sidebery: 5.3.0 -> 5.3.1 2025-01-24 05:56:29 +00:00
dba7949943 firefox-extensions.sponsorblock: 5.11.3 -> 5.11.5 2025-01-24 05:56:16 +00:00
a368fb3fb2 gnome-maps: associate with geo: URI (seen via fosdem.org, and gnome-maps copy-to-clipboard) 2025-01-24 05:55:59 +00:00
37bb0cf076 nixpkgs-bootstrap: include the name "nixpkgs" in the source derivation, for easier debugging 2025-01-23 21:42:39 +00:00
1a59005cef firefox-extensions: dont update to beta versions 2025-01-22 21:10:18 +00:00
2364e9a819 pipeline: remove (upstreamed into nixpkgs) 2025-01-22 21:06:52 +00:00
b9237d9c46 libcap-with-captree: remove (upstreamed into main libcap) 2025-01-22 21:06:52 +00:00
74deec9bbf directoryListingUpdater2: remove leftover files (my changes for this were upstreamed) 2025-01-22 21:06:52 +00:00
34eb0ed749 buffybox: remove (upstreamed into nixpkgs) 2025-01-22 21:06:52 +00:00
47a433d42a blast-ugjka: remove (upstreamed, as sblast) 2025-01-22 21:06:52 +00:00
c05771ba0b nixpkgs-bootstrap: fix hash for nautilus cross patch 2025-01-22 21:06:37 +00:00
977859776b servo: ship a bunch more kiwix archives
can't ship khanacademy yet because it takes literal days to download
2025-01-22 20:46:08 +00:00
9bbd4f0887 nixpkgs: 2025-01-21 -> 2025-01-22 2025-01-22 20:37:55 +00:00
742f1ab700 euicc-manual: 0-unstable-2024-12-10 -> 0-unstable-2025-01-05 2025-01-22 20:37:25 +00:00
b2c0ca0b42 firefox-extensions.sponsorblock: 5.11.2 -> 5.11.3 2025-01-22 20:36:32 +00:00
c1565efb2d sane-reclaim-disk-space: fix capability sandboxing 2025-01-22 10:50:49 +00:00
83477b9e70 zim packages: add a bunch more
the khanacademy one is taking ages to download...
2025-01-22 10:50:36 +00:00
e8ef317468 nixpkgs: 2025-01-20 -> 2025-01-21 2025-01-21 18:34:52 +00:00
a741962f1f nixpkgs-wayland: 0-unstable-2025-01-19 -> 0-unstable-2025-01-21 2025-01-21 18:34:42 +00:00
080de3d9ce sops-nix: assets-unstable-2025-01-10 -> assets-unstable-2025-01-20 2025-01-21 18:34:30 +00:00
05f97dc836 firefox-extensions.sideberry: 5.2.0 -> 5.3.0 2025-01-21 18:34:17 +00:00
dc54383632 uassets: 0-unstable-2025-01-20 -> 0-unstable-2025-01-21 2025-01-21 18:34:00 +00:00
78feb634ad servo: postgresql: fix Restart=on-failure 2025-01-21 18:07:42 +00:00
5740718d08 servo: gitea: rate limit the restarts 2025-01-21 11:31:32 +00:00
a7010f597d servo: matrix: tune restart settings 2025-01-21 11:10:52 +00:00
ffa9153101 servo: postgres: regulate the restarting a bit more to prevent systemd from disabling it 2025-01-21 10:37:29 +00:00
8374418abc postgresql: WIP script to recollate the database 2025-01-21 06:41:59 +00:00
8607f3c2fd servo: postgres: move to subdirectory 2025-01-21 06:31:50 +00:00
7f1be0d933 systemctl: fix sandboxing 2025-01-21 05:51:42 +00:00
8fbf0e416b syshud: 0-unstable-2024-11-25 -> 0-unstable-2025-01-13 2025-01-21 05:51:41 +00:00
73c7dbb27a nixpkgs: 0-unstable-2025-01-19 -> 0-unstable-2025-01-20
this includes a kernel update from 6.12.x -> 6.13.0
2025-01-21 05:51:41 +00:00
ac9a44cb48 firefox-extensions.sponsorblock: 5.11.1 -> 5.11.2 2025-01-21 05:51:41 +00:00
ffaba82483 uassets: 0-unstable-2025-01-19 -> 0-unstable-2025-01-20 2025-01-21 05:51:41 +00:00
e43ad983cd nixpkgs: 0-unstable-2025-01-18 -> 0-unstable-2025-01-19
this includes a staging -> master merge, yay
2025-01-21 05:51:41 +00:00
e0447581d4 nixpkgs-wayland: 0-unstable-2025-01-04 -> 0-unstable-2025-01-19 2025-01-21 05:51:41 +00:00
4365babde2 uassets: 0-unstable-2025-01-18 -> 0-unstable-2025-01-19 2025-01-21 05:51:41 +00:00
ea9d42b778 snapper: enable for ALL hosts 2025-01-21 05:51:41 +00:00
ffd3ecd465 programs: ship snapper 2025-01-21 05:51:41 +00:00
2b34ef8ba4 desko: enable snapper 2025-01-21 05:51:41 +00:00
a46faff066 btrfs-progs: fix sandboxing for btrfs subvolume ops 2025-01-21 05:51:41 +00:00
68c9cf7189 desko: remove dead hickory-dns disable line 2025-01-21 05:51:41 +00:00
0738bc7395 feeds: subscribe to WHYcast 2025-01-19 01:41:58 +00:00
cb8b7676b6 erdtree: ship 2025-01-18 22:16:24 +00:00
fe28340922 bunpen: support --bunpen-autodetct existingDir 2025-01-18 22:16:17 +00:00
67e5a386a6 nixpkgs-bootstrap: 2025-01-17 -> 2025-01-18 2025-01-18 21:42:31 +00:00
8a79c0e995 firefox-extensions.sponsorblock: 5.11 -> 5.11.1 2025-01-18 21:33:54 +00:00
1ad46f7411 uassets: 2025-01-13 -> 2025-01-18 2025-01-18 21:33:40 +00:00
271ac808fa nixpkgs: 0-unstable-2025-01-14 -> 0-unstable-2025-01-17 2025-01-18 04:50:19 +00:00
1d8b45f37a reminders: init at 5.0.rc-unstable-2023-05-03
this is just translated from <https://github.com/NixOS/nixpkgs/pull/363748>
2025-01-17 08:48:56 +00:00
38a9c3baf4 todo.md: sync 2025-01-14 23:37:26 +00:00
9fccd2cf86 programs: gnome-frog: split into own file; hopefully fix dbus sandboxing 2025-01-14 23:31:41 +00:00
65633eea57 cross: upstream patches for nautilus, gnome-settings-daemon 2025-01-14 08:30:13 +00:00
3bd57f7370 overlays/cross: update upstreaming notes 2025-01-14 06:44:23 +00:00
9f49a12dac nixpkgs: 0-unstable-2025-01-13 -> 0-unstable-2025-01-14 2025-01-14 06:43:46 +00:00
df0ade9319 docs: dns/BIND: show how to invoke the service manually 2025-01-13 21:23:14 +00:00
5b358c8460 nixpkgs: 0-unstable-2025-01-12 -> 0-unstable-2025-01-13 2025-01-13 19:47:30 +00:00
9bb6866b85 sops-nix: assets-unstable-2025-01-05 -> assets-unstable-2025-01-10 2025-01-13 19:46:53 +00:00
8d30074c79 uassets: 0-unstable-2025-01-06 -> 0-unstable-2025-01-13 2025-01-13 19:46:41 +00:00
66bcd52341 firefox-extensions.sponsorblock: 5.10.5 -> 5.11 2025-01-13 11:23:37 +00:00
09fbe8f64e feeds: link to podcast charts 2025-01-13 09:09:55 +00:00
219b18d157 feeds: subscribe to Chapo Trap House (havent listened yet) 2025-01-13 08:43:22 +00:00
630278dedb feeds: subscribe to Advent of Computing (havent listened to it yet) 2025-01-13 08:28:02 +00:00
121e86e78b feeds: unsub from All-In
what a whiplash yeesh
2025-01-13 08:17:12 +00:00
3988191739 nixpkgs: 0-unstable-2025-01-11 -> 0-unstable-2025-01-12 2025-01-12 07:27:51 +00:00
ccca829c79 lpac: 2.2.0 -> 2.2.1 2025-01-12 00:45:04 +00:00
8e5dba2dc1 libdng: 0.2.1-unstable-2024-12-27 -> 0.2.1-unstable-2025-01-07 2025-01-11 23:15:16 +00:00
013ddec10c nixpkgs: 0-unstable-2025-01-10 -> 0-unstable-2025-01-11 2025-01-11 23:15:03 +00:00
6c55b4ae1c programs: fractal: add missing mesa cache dir 2025-01-11 21:30:41 +00:00
f014a9066e programs: dissent: add missing mesa cache dir 2025-01-11 21:30:23 +00:00
b228ea123d servo: clightning: rebalance channels in the background, always 2025-01-11 10:56:32 +00:00
cdbb128fbe nixpkgs patches: update; disable lua-language-server cross patch 2025-01-11 10:55:52 +00:00
162c3d16c6 clightning-sane: improve docs 2025-01-11 09:54:10 +00:00
de83d06f48 clightning-sane: show node aliases, not just pubkeys, on a best-effort 2025-01-11 09:30:18 +00:00
8d6b336100 clightning-sane: handle nodes w/o aliases 2025-01-11 07:23:27 +00:00
616e4c645d radicale: remove source override (upstream has released new version; no longer necessary to patch) 2025-01-11 00:45:27 +00:00
4f2c14f341 nixpkgs: 0-unstable-2025-01-05 -> 0-unstable-2025-01-10 2025-01-11 00:45:27 +00:00
b03b20f2f4 try (but fail) to enable dbus sandboxing for more apps: seems xdg-dbus-proxy doesnt nest! 2025-01-11 00:45:27 +00:00
5ea4e07847 programs: foliate: restrict dbus 2025-01-11 00:45:27 +00:00
06840bde34 programs: epiphany: restrict dbus 2025-01-11 00:45:27 +00:00
fe149e699e programs: portfolio: restrict dbus 2025-01-11 00:45:27 +00:00
b1690b5d8c programs: komikku: fix launch failure due to missing dbus access 2025-01-11 00:45:27 +00:00
91d56a8538 programs: feedbackd: restrict dbus 2025-01-11 00:45:27 +00:00
ec816311f9 programs: dino: restrict dbus 2025-01-11 00:45:27 +00:00
3fffc50975 modules/programs: allow access to the ProxyResolver portal 2025-01-11 00:45:27 +00:00
23513e34f2 programs: signal-desktop: restrict dbus 2025-01-11 00:45:27 +00:00
22a362ea4b programs: gnome-clocks: restrict dbus 2025-01-11 00:45:27 +00:00
d942498282 programs: gnome-contacts: restrict dbus 2025-01-11 00:45:27 +00:00
133f8703dc programs: firefox-xdg-open: restrict dbus 2025-01-11 00:45:27 +00:00
b40d2cc2a5 programs: discord: restrict dbus 2025-01-11 00:45:27 +00:00
95839bfad8 programs: dissent: restrict dbus 2025-01-11 00:45:27 +00:00
7ad1ca4e6b gnome-keyring: restrict dbus 2025-01-11 00:45:27 +00:00
07525a7000 gpodder: restrict dbus 2025-01-11 00:45:27 +00:00
35ce9a412d rofi-run-command: restrict dbus
can't restrict ALL of rofi, for some reason. maybe dbus proxies don't nest well?
2025-01-11 00:45:27 +00:00
14b475a0a6 sane-open: restrict dbus 2025-01-11 00:45:27 +00:00
a3ebeb0543 modules/programs: enable org.freedesktop.DBus.Introspectable.Introspect for portal users 2025-01-11 00:45:27 +00:00
7faa36b225 docs: matrix/irc: record some random .onion address i found for oftc 2025-01-11 00:45:27 +00:00
1721839c8d firefox: sandbox dbus
it's possible this breaks camera access; have not extensively tested
2025-01-11 00:45:27 +00:00
9b13717ecd tor-browser: sandbox dbus 2025-01-11 00:45:27 +00:00
5cae0edb12 mpv: sandbox dbus 2025-01-11 00:45:27 +00:00
4c56ea3e6b modules/programs: add more portal sandboxing options, and MPRIS option 2025-01-11 00:45:27 +00:00
091de5c788 refactor: fractal: sort sandboxing items 2025-01-11 00:45:27 +00:00
02669d3ef4 clightning-sane: dont crash when printing channels for which the scid hasnt been allocated yet 2025-01-09 04:23:37 +00:00
fa5fcaa2bf clightning-sane: default to "status" action when none specified 2025-01-09 04:04:51 +00:00
ff9b1538fe papers: disable sandboxing until i figure out why it cant open embedded media 2025-01-08 01:09:08 +00:00
de1acf946d uassets: 0-unstable-2025-01-05 -> 0-unstable-2025-01-06 2025-01-06 22:54:06 +00:00
65da9bd004 fractal: restrict dbus access a bit tighter 2025-01-06 11:25:35 +00:00
0915957337 bunpen: fix bracket mismatch 2025-01-06 10:02:21 +00:00
2a1d6fff08 programs: refactor whitelistDbus 2025-01-06 10:02:21 +00:00
365d9c2457 bunpen: dbus: replace "talk" with "call" specifier
the latter serves *mostly* as a more capable version of the former
2025-01-06 08:53:33 +00:00
5644dde395 bunpen: address a trivial todo 2025-01-06 03:11:16 +00:00
cce27f52fb bunpen: dbus: dont override stdin/stdout with dup2'd fds; just use normal dup instead
seems clearing non-0/1/2 fd's is a thing specific to pasta
2025-01-06 03:07:52 +00:00
d3a3231861 bunpen: pasta: fix to not keep the non-sandboxed file open after exec'ing into the user program 2025-01-06 03:00:35 +00:00
7f069b0f23 bunpen: tests: add a timeout for each integration test 2025-01-06 02:58:58 +00:00
57ef42991e bunpen: dbus: fix to not keep the non-sandboxed file open after exec'ing into the user program 2025-01-06 02:52:46 +00:00
db45fabb9c bunpen: dbus proxy: get it working even when --bunpen-keep-pid 2025-01-06 02:34:49 +00:00
8ac9ea4a91 bunpen: backfill tests that cover dbus proxying in a partial sandbox 2025-01-06 01:09:07 +00:00
94ffab5874 bunpen: dbus: backfill talk/own test cases 2025-01-06 00:42:30 +00:00
5814ae82fb nix-tree: ship it (for x86 only) 2025-01-05 22:34:19 +00:00
865b6a0679 nixpkgs-bootstrap.staging: 0-unstable-2025-01-03 -> 0-unstable-2025-01-05 2025-01-05 20:46:34 +00:00
513fe937ba nixpkgs-wayland: 0-unstable-2025-01-03 -> 0-unstable-2025-01-04 2025-01-05 20:46:05 +00:00
bac941d16a sops-nix: assets-unstable-2024-12-29 -> assets-unstable-2025-01-05 2025-01-05 20:45:52 +00:00
0df054fac4 uassets: 0-unstable-2025-01-03 -> 0-unstable-2025-01-05 2025-01-05 20:45:39 +00:00
52bc98741c moby: re-enable some packages which do cross-compile 2025-01-05 11:43:13 +00:00
9b9a1ba22a cross: enable lua-language-server, via upstream nixpkgs PR 2025-01-05 10:54:20 +00:00
f22ffd1fda WIP: nixpkgs: 0-unstable-2025-01-03 -> 0-unstable-2025-01-05 2025-01-05 10:42:02 +00:00
6878d3f65b bunpen: dbus: disable proxy if it would disrupt the main dbus daemon 2025-01-05 08:12:59 +00:00
93934eb609 bunpen: make pasta logging more verbose 2025-01-05 07:52:19 +00:00
884b99048f bunpen: xdg-dbus-proxy: place in its own user namespace separate from the user program 2025-01-05 07:51:50 +00:00
b4ff9eb4ae bunpen: refactor: dbus: use path::abs in place of strings::hasprefix 2025-01-05 06:39:06 +00:00
2f717dc770 bunpen: wait for xdg-dbus-proxy to be ready before continuing execution 2025-01-05 06:33:55 +00:00
35f24282c7 bunpen: dbus proxy: no longer crashes, but xdg-dbus-proxy dies still
error is 'No socket path given'
2025-01-04 02:25:55 +00:00
b005897d84 bunpen: backfill some integration tests for dbus operation inside the sandbox
the proxy appears not to work (yet)
2025-01-03 22:59:56 +00:00
4260909d2d todo.md: new item for alacritty failing to cd 2025-01-03 22:21:51 +00:00
22f3a19165 bunpen: finish wiring the xdg-dbus-proxy instance
this isn't tested, except to see that it doesn't interfere with the *existing* bunpen use
2025-01-03 11:55:46 +00:00
66103854fa bunpen: if --bunpen-dbus-* is specified, then include DBUS_SESSION_BUS_ADDRESS in the parent sandbox
this is just setup for what the dbus proxy will require in the near future
2025-01-03 10:51:34 +00:00
93f140e0e4 sway: document why i run the nixpkgs-wayland (unstable) version 2025-01-03 09:54:10 +00:00
51e5f13c06 nixpkgs-bootstrap: 0-unstable-2025-01-02 -> 0-unstable-2025-01-03 2025-01-03 09:41:54 +00:00
fd58ec6e24 nixpkgs-wayland: 0-unstable-2024-12-22 -> 0-unstable-2025-01-03 2025-01-03 09:41:41 +00:00
5ae42ce797 lpac: 2.1.0 -> 2.2.0 2025-01-03 09:41:25 +00:00
3842c4204b uassets: 0-unstable-2025-01-02 -> 0-unstable-2025-01-03 2025-01-03 09:41:15 +00:00
2b9700d2a6 bunpen: parse dbus config options
these aren't actually *consumed* yet, though
2025-01-03 05:19:33 +00:00
4f4538c44d bunpen: refactor: lift dbus_resources out of restrict/dbus_proxy -> resources 2025-01-03 05:11:11 +00:00
27365ff602 bunpen: dbus_proxy: implement restrict_dbus, totally untested function to shell out to xdg-dbus-proxy 2025-01-03 03:41:03 +00:00
f25eba7f37 bunpen: dbus_proxy: rename get_dbus_socket() -> get_dbus_session_path() 2025-01-03 03:19:01 +00:00
7c857f39e6 bunpen: dbus_proxy: define a function to parse the DBUS_SESSION_BUS_ADDRESS 2025-01-03 03:01:06 +00:00
0b9b9a8271 bunpen: dbus-proxy: document the --own flag 2025-01-03 02:37:49 +00:00
e803a5959f opencellid: 0-unstable-2024-12-17 -> 0-unstable-2025-01-02 2025-01-03 02:37:49 +00:00
10429055f9 firefox-extensions.ublock: 1.61.3b11 -> 1.62.0 2025-01-03 02:37:49 +00:00
77dde6057c uassets: 0-unstable-2024-12-31 -> 0-unstable-2025-01-02 2025-01-03 02:19:38 +00:00
92584b351b nixpkgs: 2025-01-01 -> 2025-01-02 2025-01-03 02:19:19 +00:00
713e7247b3 bunpen: add prototype xdg-dbus-proxy to git 2025-01-02 14:05:23 +00:00
ee57b94658 bunpen: pasta: better isolate
it still runs in the same user namespace as the main sandboxer.

it's technically possible to also unshare the user ns, but would appear to require an additional process
2025-01-02 11:49:02 +00:00
3fc6571294 programs: don't persist mesaCacheDir by default
and explicitly add it to every program that uses mesa.

wow, that's a *lot*
2025-01-02 05:36:19 +00:00
863468e402 programs: remove old fontconfig persistence/references 2025-01-02 03:09:17 +00:00
1c87ef5625 feeds: fix rephonic link 2025-01-02 02:28:05 +00:00
cfc2a2fc80 feeds: podcasts: add name comments where previously missing 2025-01-02 02:16:02 +00:00
3a09943a19 feeds: unsubscribe from Last Week in AI: each individual ep is not nearly info-dense enough 2025-01-02 02:12:59 +00:00
4cf3889d7a feeds: unsubscribe from Atlast Obscura; low signal/noise 2025-01-02 02:11:52 +00:00
63cc309cfd feeds: podcasts: subscribe to This Wont Last 2025-01-02 02:07:48 +00:00
a02be29c02 feeds: podcasts: subscribe to History 102 2025-01-02 02:06:32 +00:00
332c2b3493 feeds: podcasts: subscribe to Econ 102 w/ Noah Smith 2025-01-02 02:05:12 +00:00
737ac7329b feeds: subscribe to ChinaTalk podcast 2025-01-02 01:58:17 +00:00
54e6b62778 feeds: unsubscribe from Sustain OSS 2025-01-02 01:58:16 +00:00
002286e1ea feeds: subscribe to Ben+Marc podcast 2025-01-02 01:58:16 +00:00
5a487c18db xdg-terminal-exec: add a TODO for removing an override 2025-01-02 00:14:52 +00:00
0de134e208 nixpkgs: 0-unstable-2024-12-30 -> 0-unstable-2025-01-01 2025-01-02 00:14:39 +00:00
05a7bad26c uassets: 2024-12-21 -> 2024-12-30 2025-01-01 22:19:34 +00:00
c47f4179a0 python3-repl: enable numpy/scipy 2025-01-01 00:55:17 +00:00
6b0a78bee0 pipewire: remove upstreamed libcamera patch 2024-12-31 07:32:31 +00:00
7093385f98 programs: integrate nvimpager into man to make text reflow correctly
also get marginally better syntax highlighting! the cursor movements are a little strange, but overall net improvement
2024-12-30 20:25:45 +00:00
fee5c7042b firefox: add aur search shortcut 2024-12-30 17:42:21 +00:00
4d54877776 sops-nix: assets-unstable-2024-12-18 -> assets-unstable-2024-12-29 2024-12-30 17:09:09 +00:00
fdf038bf90 uassets: 0-unstable-2024-12-24 -> 0-unstable-2024-12-30 2024-12-30 17:09:09 +00:00
3ed002ea88 programs: less: enable color highlighting 2024-12-30 17:09:09 +00:00
0a9e5b9f68 bunpen: pasta: share /proc/self/ns/net with pasta in a way that will be friendlier to sandboxing 2024-12-30 16:58:26 +00:00
2d989327f7 todo.md: sync 2024-12-30 16:40:33 +00:00
ce447cf674 gpodder-adaptive: 3.11.4+1 -> 3.11.5+1 2024-12-30 14:35:13 +00:00
2b1637652a megapixels-next: 2.0.0-alpha1-unstable-2024-12-24 -> 2.0.0-alpha1-unstable-2024-12-27 2024-12-30 14:35:13 +00:00
64b7a75664 rofi-snippets: remove dependency on non-wayland rofi 2024-12-30 14:35:13 +00:00
d18cd69536 nixpkgs-bootstrap: 0-unstable-2024-12-29 -> 0-unstable-2024-12-30 2024-12-30 14:35:13 +00:00
da27a0e857 bunpen: pasta: fix to send the full 4bytes of the netns fd across the pipe 2024-12-30 13:46:40 +00:00
93782cd71c bunpen: pasta: share the netns via fd instead of path
this *should* allow for operation even when the sandboxed program wants access to all of / and we therefore can't make files like /bunpen-private/netns

however it may complicate future sandboxing efforts, as it requiires the child to read fd's from the parent
2024-12-30 13:35:31 +00:00
42ac5353f1 bunpen: use /proc/self/fd in place of /dev/fd
/dev/fd just symlinks to /proc/self/fd, hence using /proc/self requires strictly fewer resources (e.g., it's safe to unmount /dev now)
2024-12-30 09:22:25 +00:00
5c0418ac6a sane-vpn: find vpn configs, even when running under sudo 2024-12-30 08:18:58 +00:00
fc8a6a2144 BIND: disable IPv6
this makes it work (more reliably, at least) inside sane-vpn
2024-12-30 08:17:07 +00:00
acd20e23d9 common: net: switch DNS resolver from unbound to BIND 2024-12-30 07:29:01 +00:00
424f61f782 WIP: enable BIND DNS recursive resolver 2024-12-30 03:15:42 +00:00
d2540f97ee matrix-synapse: fix build 2024-12-29 16:14:56 +00:00
d7be319067 coturn: fix build 2024-12-29 16:14:42 +00:00
43df4e1574 mesa cross fix: push patch upstream 2024-12-29 16:14:27 +00:00
2a6ed9adb9 nixpkgs-bootstrap: 0-unstable-2024-12-28 -> 0-unstable-2024-12-29 2024-12-29 16:14:09 +00:00
925d49efcc curlftpfs-sane: fix version 0 -> 0.9.2 2024-12-29 16:13:19 +00:00
3fe4831f89 common/quirks: remove dead UV_USE_IO_URING=0 libuv/neovim patch 2024-12-29 16:12:38 +00:00
38372c60a1 stepmania: replace with itgmania, since the former no longer builds 2024-12-29 15:25:07 +00:00
3815f069fa nixpkgs-bootstrap: patch to fix mesa cross compilation 2024-12-29 12:56:47 +00:00
bd647bd62b cross: disable hyprland-qtutils, to fix the system build 2024-12-29 12:56:21 +00:00
4606b00b73 nixpkgs-bootstrap: 0-unstable-2024-12-26 -> 0-unstable-2024-12-29 2024-12-29 10:30:33 +00:00
f7ee19042e nixpkgs-bootstrap.staging: fix hash 2024-12-28 23:56:08 +00:00
4ad470469f scripts/update: pass through nix flags like --show-trace 2024-12-28 14:13:48 +00:00
8585c7ce4b overlays/preferences: prefer binary electron (for element-desktop) over from-source electron 2024-12-27 10:17:05 +00:00
3e7a8e138f nixpkgs-bootstrap: fix numpy 2024-12-27 03:36:59 +00:00
e210f10379 nixpkgs-bootstrap: -> 2024-12-23 -> 2024-12-26 2024-12-27 00:45:43 +00:00
f1d901d1a5 curlftpfs-sane: patch for newer libfuse3 2024-12-27 00:45:43 +00:00
09d5fcc514 firefox-extensions.sponsorblock: 5.10.4 -> 5.10.5 2024-12-27 00:45:43 +00:00
65d6685161 bunpen: fix so that outer sandbox doesnt need to fork a new PID ns
it was failing because i was bind-mounting /proc, and then later /proc/self. solution was to just swap the order. RIP the last *3 days* of my life
2024-12-26 10:01:45 +00:00
100dd34509 bunpen: implement --bunpen-seal and show that nested sandboxing *does* work, currently 2024-12-26 09:39:12 +00:00
93e56a3757 bunpen: backfill a test for how /proc functions in the sandbox 2024-12-26 05:52:21 +00:00
949d7af62a bunpen: integration tests: fix naming/ordering of test_06* 2024-12-26 05:36:00 +00:00
2e139c56d5 bunpen: FIX /proc sandboxing (at a hefty cost)
this implementation requires an entire extra PID namespace at the top layer, and i should work to remove that

... but at least it _works_
2024-12-25 10:45:06 +00:00
19d939c811 bunpen: restrict_namespace: cleanup the --bunpen-try-keep-users impl 2024-12-25 10:45:06 +00:00
50f1a86f26 WIP: bunpen: refactor to facilitate future work of placing pasta and user program in mutually distinct PID namespaces
TODO: fix pasta, e.g.
> PATH=/nix/store/ylld0m96sqf497vs2g7ca8nw9x1q4ycm-bunpen-0.1.0/bin:$PATH gnome-calls --bunpen-drop-shell --bunpen-debug=3

for now the user program is in a sub-pidspace of pasta.
moving pasta to its own PID namespace is slightly more involved than
expected, because one can't (reliably) unshare PID NS more than once.
2024-12-25 10:45:06 +00:00
09fa4f336a todo.md: note that gnome-calls is totally broken, on at least lappy and moby 2024-12-25 10:44:55 +00:00
1936e2cd45 todo.md: note that dissent has a memory leak 2024-12-25 10:40:28 +00:00
6810885945 nixpkgs-wayland: 0-unstable-2024-12-18 -> 0-unstable-2024-12-22 2024-12-24 21:36:26 +00:00
f1cbc0d89b megapixels-next: 1.6.1-unstable-2024-11-30 -> 2.0.0-alpha1-unstable-2024-12-24 2024-12-24 21:35:54 +00:00
f3a589a511 firefox-extensions: -> latest 2024-12-24 21:35:18 +00:00
8c030f836c uassets: 0-unstable-2024-12-20 -> 0-unstable-2024-12-24 2024-12-24 21:34:46 +00:00
3499869225 feeds: subscribe to Justin Robert Young's PX3 2024-12-24 03:20:51 +00:00
d64f273ead bunpen: implement (but disable) setns and pidfd_open syscalls
i thought i could use this to drop into a new PID NS, and then return back, but it is not so simple; i think one cannot setns into a PID NS unless you're owner of that namespace (i.e. CAP_SYS_ADMIN for the user ns which created that pid ns ...?

so it works *sometimes*, but not in the times where i'd actually want it
2024-12-23 06:05:45 +00:00
73b31cb085 bunpen: pasta: invert so that pasta is a child of the primary bunpen process, instead of vice-versa 2024-12-23 03:37:53 +00:00
3774e61ec7 bunpen: exec: log more verbosely 2024-12-23 03:16:09 +00:00
c12a6ae57e bunpen: logging: annotate log statements with the PID issuing the log 2024-12-23 02:54:43 +00:00
272ad49265 re-silence the "multiple password options" warning
its format changed a while ago
2024-12-23 01:19:35 +00:00
9bcbeb458a nixpkgs-bootstrap.master: 0-unstable-2024-12-22 -> 0-unstable-2024-12-23
this fixes neovim compilation, broken by the previous nixpkgs update
2024-12-23 01:08:37 +00:00
6f615d916f nixpkgs-bootstrap: 0-unstable-2024-12-21 -> 0-unstable-2024-12-22 2024-12-22 19:42:57 +00:00
5956e121d8 bunpen: isolate pasta into its own PID namespace
this can and will be improved: i'm just proving the approach
2024-12-22 06:39:44 +00:00
eacf23da47 bunpen: log *which* PID exits when a child exits 2024-12-22 06:15:00 +00:00
fd97b6fea9 servo: gitea: cleanup the database config 2024-12-22 02:29:18 +00:00
641d553675 nixpkgs-bootstrap.master: 0-unstable-2024-12-20 -> 0-unstable-2024-12-21 2024-12-21 23:30:29 +00:00
0397eacaca feeds: subscribe to Dwarkesh Patel podcast (speculatively) 2024-12-20 20:42:47 +00:00
56515e622f mpv-image-viewer: remove (upstreamed) 2024-12-20 11:16:43 +00:00
ffa52bea83 remove directoryListingUpdater2 (upstreamed) 2024-12-20 11:15:51 +00:00
640ff7452c sops-nix: assets-unstable-2024-12-12 -> assets-unstable-2024-12-18 2024-12-20 11:14:13 +00:00
09b403bf63 sops-nix: 0-unstable-2024-12-17 -> 0-unstable-2024-12-20 2024-12-20 11:14:04 +00:00
57e6f3b768 nixpkgs-bootstrap: update (2024-12-20 -> 2024-12-20) 2024-12-20 11:13:50 +00:00
9e17836663 nixpkgs-bootstrap: 0-unstable-2024-12-19 -> 0-unstable-2024-12-20 2024-12-20 10:09:17 +00:00
c63d8001bc bunpen: pasta: wait for pasta to be ready before executing the user program 2024-12-20 09:49:23 +00:00
fad36e97a1 bunpen: restrict/pasta: better comments 2024-12-20 06:52:20 +00:00
14f6087143 firefox-xdg-open: dont duplicate the menu entries 2024-12-20 01:18:58 +00:00
6922387088 programs: firefox: drop librewolf-specific bits from config
arkenfox is great; dont expect to switch back to librewolf
2024-12-20 00:56:18 +00:00
bd54291925 networkmanager patch: update the GH patch 2024-12-19 22:57:08 +00:00
f0f908c3b1 bonsaid: update nixpkgs PR 2024-12-19 22:28:09 +00:00
70734e154b overlays/cross: push calls,geary patches upstream 2024-12-19 22:28:09 +00:00
9047d72fe7 overlays/cross: remove the unused iotas patch (which probably doesnt work anyway) 2024-12-19 22:28:09 +00:00
1c25deabbb cross: hyprland: remove patches
hyprland cross-compiles on nixpkgs master ... for now
2024-12-19 22:28:09 +00:00
ca85054498 nixpkgs-wayland: 0-unstable-2024-12-17 -> 0-unstable-2024-12-18 2024-12-19 22:28:09 +00:00
d14d225800 nixpkgs-bootstrap: -> latest 2024-12-19 22:28:09 +00:00
8158045205 overlays/cross: remove more commented-out bits which have been upstreamed 2024-12-19 22:28:09 +00:00
49727b9453 overlays/cross: update upstreaming status 2024-12-19 22:28:09 +00:00
18903a68bb cross: evolution-data-server: ship the compile fix partially upstream 2024-12-19 22:28:09 +00:00
6a60077e44 overlays/cross: update upstreaming status; remove patches for packages which are no longer supported in upstream nixpkgs 2024-12-19 22:28:09 +00:00
0fd00938aa overlays/cross: refactor: split the gnome scope 2024-12-19 22:28:09 +00:00
c09045c87e overlays/cross: remove dead networkmanager-{iodine,fortisslvpn} patches (misuzu upstreamed them, yay) 2024-12-19 22:28:09 +00:00
3598ca7657 overlays/cross: remove dead code which has been successfully upstreamed 2024-12-19 22:28:09 +00:00
39eb2cf08b services: remove buffyboard (upstreamed into nixpkgs, yay) 2024-12-19 22:28:09 +00:00
87b5bb4296 bonsaid: update nixpkgs PR 2024-12-19 22:28:09 +00:00
5f0308125d nixpkgs-bootstrap: 0-unstable-2024-12-17 -> 0-unstable-2024-12-19 2024-12-19 22:28:09 +00:00
930f4da164 htop: fix systemd sandboxing 2024-12-19 22:26:33 +00:00
01c7bae542 bunpen: pasta setup (ip ...): never outlive parent bunpen instance 2024-12-19 08:06:11 +00:00
27e67748d4 bunpen: pasta: never outlive the parent bunpen lifetime 2024-12-19 07:53:33 +00:00
066bf3c3d4 bunpen: refactor: split fork_and_die_with_parent out as a standalone helper 2024-12-19 07:48:31 +00:00
8a8bb0f0bd bunpen: refactor: split fork/exec helpers out of namespace.ha 2024-12-19 07:37:19 +00:00
33ce256f14 bunpen: fork_and_propagate: forward SIGKILL as SIGKILL, not SIGTERM 2024-12-19 07:30:18 +00:00
d493e4885e bunpen: ensure child processes never outlive the parent
surprised this wasn't causing notable problems; i guess most programs are just well behaved and/or i wasnt using kill -9 much
2024-12-19 07:14:30 +00:00
b3acc27265 phog: 0.1.6 -> 0.1.7 (untested. i dont use this package; it was an automated update) 2024-12-19 03:13:55 +00:00
8c5d10fb39 nixpkgs-bootstrap: 0-unstable-2024-12-16 -> 0-unstable-2024-12-17 2024-12-19 03:09:29 +00:00
ee257bb78d megapixels-next: 1.6.1-unstable-2024-11-04 -> 1.6.1-unstable-2024-11-30 2024-12-19 03:09:01 +00:00
331842020e nixpkgs-wayland: 0-unstable-2024-12-15 -> 0-unstable-2024-12-17 2024-12-19 03:08:31 +00:00
51eecca60f opencellid: 0-unstable-2024-11-29 -> 0-unstable-2024-12-17 2024-12-19 03:08:01 +00:00
1408a69811 uassets: 0-unstable-2024-12-16 -> 0-unstable-2024-12-17 2024-12-19 03:07:43 +00:00
b6796d05d4 fontconfig: disable user-dir fc cache 2024-12-19 03:07:24 +00:00
dae1c4b50e cross: send gnome-user-share, gnome-online-accounts patches upstream 2024-12-17 16:17:58 +00:00
e6759ac34e overlays/cross: update upstreaming status 2024-12-17 16:17:58 +00:00
159f8ccf98 bunpen: dont make /tmp a new tmpfs in the sandboxed environment
this makes fs use more visible, e.g. Signal is storing 60+MB in /tmp
2024-12-17 16:17:58 +00:00
a29995762a firefox: define tmpdir 2024-12-17 10:58:25 +00:00
bc15a876ff programs: place TMPDIR on ephemeral storage for select programs which demand a lot of it 2024-12-17 10:26:34 +00:00
ebd55cdf3b nixpkgs-bootstrap: 0-unstable-2024-12-15 -> 0-unstable-2024-12-16 2024-12-16 21:13:20 +00:00
66bf274866 signal-desktop-from-src: 7.35.0 -> 7.37.0
i did not verify that the blobs are up-to-date, but the package builds fine
2024-12-16 21:12:33 +00:00
ab6f0e74bb nixpkgs-wayland: 0-unstable-2024-12-10 -> 0-unstable-2024-12-15 2024-12-16 21:11:23 +00:00
4123ad3413 sops-nix: assets-unstable-2024-12-09 -> assets-unstable-2024-12-12 2024-12-16 21:11:01 +00:00
5aa792e339 uassets: 0-unstable-2024-12-10 -> 0-unstable-2024-12-16 2024-12-16 21:10:28 +00:00
7fde4cc251 firefox-extensions -> latest 2024-12-16 21:10:05 +00:00
7bfb913425 assorted: persist some more caches to ephemeral storage 2024-12-16 07:10:03 +00:00
42a80fcfe4 bunpen: expose the bare / tmpfs at /unbacked, to allow for debugging ramdisk usage 2024-12-16 06:57:17 +00:00
ad319417b5 bunpen: docs: elaborate why i remount MS_SLAVE 2024-12-16 04:04:52 +00:00
3cd5a1b598 bunpen: refactor: backfill tests for --bunpen-path option 2024-12-16 02:49:30 +00:00
3b0f97a795 sane-input-handler: EXPERIMENTAL: power-tap-hold to restart bonsaid when screen is off
it may be i need power_pressed.power_pressed (w/ no power_released in between) for this to work
2024-12-16 01:31:48 +00:00
e145a8f003 assorted: remove the mesa cache for apps which aren't using it 2024-12-16 01:30:32 +00:00
cec413720e programs: change the default mesa persistence directory 2024-12-16 00:08:27 +00:00
08ca65c2a4 programs: persist mesa dirs for every wayland application
this is certainly *not* perfect (it incorrectly persists some wayland utils like wtype; it has the wrong name for e.g. grimshot), but it's a good start
2024-12-16 00:06:31 +00:00
2e7a9c777c programs: port mesa_shader_cache persistors over to sandbox.mesaCacheDir 2024-12-15 23:39:17 +00:00
a0ade73638 modules/programs: allow using custom mesa cache dirs, when sandboxed 2024-12-15 23:31:50 +00:00
2130e517fc bunpen: tests: refactor 2024-12-15 23:04:00 +00:00
3da9874176 bunpen: kill --bunpen-{home,run}-path in favor of shell-style expansion/parameterization 2024-12-15 23:03:52 +00:00
843fdb0dfe bunpen: refactor: split out an abstraction that will allow substituting of env vars for whitelisted paths
as with --bunpen-env. i can use this to consolidate the variants of --bunpen-path
2024-12-15 22:20:18 +00:00
60575640fd bunpen: support --bunpen-env KEY=VALUE flag
this performs some variable expansion, and will be useful for e.g. `--bunpen-env 'MESA_SHADER_CACHE_DIR=$HOME/.cache/my-app/mesa_shader_cache_db'`
2024-12-15 11:04:17 +00:00
8141c94948 scripts/sync: refactor and also sync ~/knowledge 2024-12-15 01:59:14 +00:00
4d3caba74e todo.md: task to make bunpen apps more introspectable 2024-12-14 22:10:41 +00:00
c5a2b63162 nixpkgs-bootstrap.master: 0-unstable-2024-12-14 -> 0-unstable-2024-12-15 2024-12-14 22:01:21 +00:00
e6090045ac feeds: unsubscribe from mintcast
it's a very different kind of linux user than me: good that those exist, but i'm more interested in the dev side and deeper tech dives
2024-12-14 21:56:44 +00:00
d4621abbdd radicale: fix optionals -> optionalAttrs typo 2024-12-14 21:39:44 +00:00
e9fd7328cf nixpkgs-bootstrap.master: 0-unstable-2024-12-10 -> 0-unstable-2024-12-14 2024-12-14 21:29:36 +00:00
db4e79fde8 modules/persist: support nested persistence
especially, support persisting 'parent' and 'parent/child' to the same backing store

this is mechanically the same as persisting parent, and ensuring parent/child gets created, but explicit support will allow for automating the persistence of more things which *might* be subdirs of other persisted items (e.g. ~/.cache/my-program/mesa_shader_db)
2024-12-14 12:08:40 +00:00
c00ebddb85 sane-open: change title of the Open Clipboard action to be more searchable 2024-12-14 11:01:02 +00:00
d1f5ac6cc1 sane-screenshot: fix that it couldnt save screenshots on moby, by bypassing grimshot 2024-12-14 10:59:18 +00:00
9a3cb6711a gnome-contacts: fix to allow opening the Maps app for a contacts location 2024-12-14 09:48:41 +00:00
a105a1f028 doc: more info about how to (maybe, someday) precompile mesa shader caches 2024-12-14 07:53:11 +00:00
36281a94a2 gnome-contacts: enable mesa shader cache so moby doesnt complain about not being able to find primary contacts (misleading!) 2024-12-14 07:09:46 +00:00
b5d7f3d861 evolution: integrate with Radicale for vcard contacts storage 2024-12-14 04:27:55 +00:00
4788170e8a programs: ensure gnome-keyring is started before the things which need it
notably, this seems to ensure dissent reliably logs on at start
2024-12-14 02:06:14 +00:00
87f0ac232f evolution-data-server: more docs 2024-12-13 01:52:43 +00:00
c403a3cc6e evolution-data-server: disable webkitgtk features 2024-12-12 21:21:05 +00:00
eab6cf88dd evolution-data-server: init, using local address book and calendar 2024-12-12 21:08:30 +00:00
a7ba40cace sway: fix idle inhibition, especially for gnome-maps 2024-12-12 02:30:54 +00:00
d3a7586803 xdg-desktop-portal-nautilus: investigate org.gnome.NautilusPreviewer (but choose to not integrate it) 2024-12-12 02:15:23 +00:00
296ca4f0fa xdg-desktop-portal: try, but decide against, integration the Documents portal 2024-12-12 01:56:12 +00:00
1d4b7777c3 nixpkgs-bootstrap: 0-unstable-2024-12-09 -> 0-unstable-2024-12-10 2024-12-11 00:41:58 +00:00
76e06be424 nixpkgs-wayland: 0-unstable-2024-12-09 -> 0-unstable-2024-12-10 2024-12-11 00:41:44 +00:00
87d906b0e9 sops-nix: assets-unstable-2024-12-02 -> assets-unstable-2024-12-09 2024-12-11 00:41:29 +00:00
9c209fb5a0 uassets: 0-unstable-2024-12-09 -> 0-unstable-2024-12-10 2024-12-11 00:36:32 +00:00
9c7c628491 firefox-extensions.sponsorblock: 5.10.1 -> 5.10.2 2024-12-11 00:36:19 +00:00
cca4f07501 euicc-manual: 0-unstable-2024-12-09 -> 0-unstable-2024-12-10 2024-12-11 00:36:05 +00:00
79ab098558 buffybox: 3.2.0-unstable-2024-11-10 -> 3.2.0-unstable-2024-12-09 2024-12-11 00:34:04 +00:00
c80694f865 calls: document what lives in folks 2024-12-10 08:47:41 +00:00
d64b28a3b2 gnome-maps: associate with maps: scheme handler 2024-12-10 02:38:34 +00:00
caf25fde69 nixpkgs-bootstrap: 0-unstable-2024-12-08 -> 0-unstable-2024-12-09 2024-12-09 23:13:34 +00:00
13bc81fb6a programs: patch udev rules more effectively 2024-12-09 23:13:22 +00:00
9d20f55815 nixpkgs-wayland: 0-unstable-2024-12-08 -> 0-unstable-2024-12-09 2024-12-09 23:12:47 +00:00
30154033ec euicc-manual: 0-unstable-2024-11-25 -> 0-unstable-2024-12-09 2024-12-09 23:12:30 +00:00
c551d9dac3 firefox-extensions.ublock: 1.61.3b5 -> 1.61.3b6 2024-12-09 23:12:16 +00:00
10878dad5a uassets: 0-unstable-2024-12-08 -> 0-unstable-2024-12-09 2024-12-09 23:11:57 +00:00
cae7f5cdf9 Revert "opencellid: fix hash"
This reverts commit 86a03e7e1d.

Rate limiting means i can't actually update this package right now...
2024-12-09 10:44:29 +00:00
dbea2c1606 trivial-builders: format 2024-12-09 10:38:22 +00:00
9efb42e186 rofi: fix mismatched close/cancel action 2024-12-09 10:35:40 +00:00
327d1b7dae dbus-user: disable dbus activation more broadly 2024-12-09 10:35:40 +00:00
ebb7d0b4e1 treewide: replace runCommandLocal with runCommand + preferLocalBuild
the former prevents all substitution; the latter is just a hint to Nix on how to prioritize available builders
2024-12-09 10:35:24 +00:00
86a03e7e1d opencellid: fix hash 2024-12-09 10:34:31 +00:00
d44bddf696 ripgrep: fix .ignore po/ logic 2024-12-09 08:52:26 +00:00
e84af727ee nixpkgs-bootstrap: update hickory-dns patch hash 2024-12-09 08:52:04 +00:00
0a0abe55bc calls: update patch; *actually* remove dep on webkitgtk 2024-12-08 23:48:56 +00:00
5cd292bdc8 nixpkgs: 0-unstable-2024-12-05 -> 0-unstable-2024-12-08 2024-12-08 23:22:13 +00:00
86b9419cc2 servo: autologin as root 2024-12-08 23:13:07 +00:00
9d32e199ea vpn: formatting fixes 2024-12-08 23:12:50 +00:00
04283627c0 wg-home: port to systemd.networks 2024-12-08 23:12:28 +00:00
8ab1e1ed5f nixpkgs-wayland: 0-unstable-2024-12-05 -> 0-unstable-2024-12-08 2024-12-08 20:07:34 +00:00
8fada3bb4a uassets: 0-unstable-2024-12-05 -> 0-unstable-2024-12-08 2024-12-08 20:07:16 +00:00
4c952109e9 firefox-extensions.ublock: 1.61.3b3 -> 1.61.3b5 2024-12-08 20:07:01 +00:00
af1dc32eb9 gnome-calls: push update patch upstream 2024-12-08 10:54:40 +00:00
65a1caf206 gnome-calls: 47.beta -> 47.0 2024-12-08 05:19:58 +00:00
f672823214 hickory-dns: push patches to upstream nixpkgs 2024-12-08 02:09:02 +00:00
6af75f470c hickory-dns: simplify further by exposing configFile in nixpkgs 2024-12-08 00:54:21 +00:00
5362fc9276 hickory-dns: simplify config, push the zonedir into nixpkgs upstream attrs 2024-12-08 00:34:42 +00:00
19078d3da1 yt-dlp: configure for better file naming 2024-12-07 23:24:05 +00:00
106a4fd67c sane-open-clipboard: init; integrate with sway 2024-12-07 23:23:42 +00:00
7ef6916b04 sane-open: format with nixfmt 2024-12-07 21:06:19 +00:00
338559296c sane-open: refactor 2024-12-07 21:02:51 +00:00
ac82d8f72a sane-cast: fix typo 2024-12-07 20:05:38 +00:00
2ceda7d298 sane-wipe: add rofi subcommand 2024-12-06 01:36:03 +00:00
eab5cd57d5 sane-color-picker: fix sandboxing 2024-12-06 01:27:01 +00:00
cc6be7a407 assorted: use Title Casing for .desktop desktopName entries 2024-12-06 01:24:42 +00:00
85675465f4 sane-screenshot: fix desktopName for better casing 2024-12-06 01:21:02 +00:00
c3f2bf537f sane-color-picker: init 2024-12-06 01:20:52 +00:00
ca513aeb0e nixpkgs-bootstrap: update sblast patch hash 2024-12-06 00:34:16 +00:00
fd5d6cd23d firefox: customize the reader mode 2024-12-06 00:16:40 +00:00
c3c212b6dd ollamaPackages.mkOllamaModel: sanity checks during development that you actually specify all the needed blobs 2024-12-05 22:11:33 +00:00
ec1d573ddb ollamaPackages.athene-v2-72b-q2_K: init
this is a tuned version of qwen
2024-12-05 22:11:08 +00:00
94e44951f8 mkOllamaModel: add diagnostics to help in packaging new models 2024-12-05 21:46:17 +00:00
b0059e74dc ollama: add new models: qwq-32b (from the qwen team), marco-o1 (also from Alibaba) 2024-12-05 21:46:04 +00:00
410d63f08e nixpkgs-bootstrap: 0-unstable-2024-12-04 -> 0-unstable-2024-12-05 2024-12-05 19:28:39 +00:00
163ac472a1 nixpkgs-wayland: 0-unstable-2024-12-03 -> 0-unstable-2024-12-05 2024-12-05 19:28:28 +00:00
263b66aa68 firefox-extensions.ublock: 1.61.3b2 -> 1.61.3b3 2024-12-05 19:28:16 +00:00
5135adb673 uassets: 0-unstable-2024-12-04 -> 0-unstable-2024-12-05 2024-12-05 19:27:57 +00:00
85fae592f6 push apache cross fixes upstream 2024-12-05 12:53:06 +00:00
fb21826666 enable /dev/dri access for some programs which can hopefully make use of that for better perf 2024-12-05 11:32:58 +00:00
d9c6476afa nautilus: fix cross compilation 2024-12-05 10:28:57 +00:00
48ff85492d xdg-desktop-portal: ship Nautilus instead of gnome 2024-12-05 08:23:18 +00:00
2d40717d04 xdg-desktop-portal: simplify the plumbing of .portal files; no more ~/.config/xdg-desktop-portal/portals 2024-12-05 08:21:24 +00:00
f46b0ec73e common/net: unbound: configure to serve expired records
anecdotally, this seems to aid with the networking blips i see, where hosts are marked down in the infra-cache?
2024-12-05 06:32:21 +00:00
d8b16bacf3 firefox: user.js: enable the downloads button in UI 2024-12-05 04:49:59 +00:00
2afc99bd00 xdg-desktop-portal: allow spawned processes to survive service restarts 2024-12-05 03:36:58 +00:00
78ec98301e sway/xdg-desktop-portals: fix moby so app chooser is provided by gnome portal, even as the requirements for camera access are provided by gtk 2024-12-05 00:52:58 +00:00
a8810d336c sysctl: ship it 2024-12-05 00:06:43 +00:00
e1c8d0d610 man: sandbox; and fix the cache for e.g. man-db 2024-12-04 23:54:54 +00:00
7de16fa95b refactor: replace ps with unixtools.ps, which is just nixpkgs upstream logic that does exactly what i was doing to extract it from procps 2024-12-04 22:47:49 +00:00
aa82d50879 feeds: unsubscribe from The Intercept
idk man, report on events, provide your narrative of the truth, but dont water down newsworthy reports with 10-minute-long moral sermons or unchallenged monologues from iffy sources
2024-12-04 21:39:00 +00:00
bafc1cd85f nixpkgs-bootstrap: 0-unstable-2024-12-03 -> 0-unstable-2024-12-04 2024-12-04 21:15:53 +00:00
fe63675093 nixpkgs-wayland: 0-unstable-2024-12-02 -> 0-unstable-2024-12-03 2024-12-04 21:15:42 +00:00
875e788b87 signal-desktop-from-src: fix hash (?) 2024-12-04 21:15:29 +00:00
154b84809e sops-nix: assets-unstable-2024-11-25 -> assets-unstable-2024-12-02 2024-12-04 21:15:09 +00:00
29b8831064 uassets: 2024-12-02 -> 2024-12-03 2024-12-04 21:14:56 +00:00
1619321aac desko: make it possible to build nixosTests 2024-12-04 21:14:34 +00:00
bc56ecf199 firefox: add reload button back to the UI 2024-12-04 19:02:43 +00:00
894b149dd5 scripts/deploy: add a timeout to the nix copy step 2024-12-04 18:19:32 +00:00
253a9ecc7e common/net/dns/unbound: enable DNS prefetch 2024-12-04 09:24:25 +00:00
716aa4be33 doc: common/net/dns/unbound: cleanup the explanations for why i set what i do 2024-12-04 09:24:07 +00:00
3fcf3bca8a unbound: fix up to better handle network blips
the notes here are not all up-to-date. but the new config is better than the old, which could have failed DNS for 900s post-boot
2024-12-04 04:32:26 +00:00
192771c99f hosts/common: dns: cleanup hickory-dns file 2024-12-03 23:28:47 +00:00
6af6768160 unbound: fix NTP/DNS circular dependency by disabling DNSSEC for pool.ntp.org. 2024-12-03 23:28:16 +00:00
4de9fcc09a refactor: hosts/common/dns: split into separate files 2024-12-03 21:13:50 +00:00
5c69765759 unbound-dns: tweak options to avoid connectivity issues
seems lots of unbound config options combine to create bad effects: best to leave as much as possible defaulted
2024-12-03 21:07:41 +00:00
c950d286d4 net: unbound: remove negative caching for better stability
else sometimes addresses are unresolvable at early boot, and never become reachable again
2024-12-03 17:42:48 +00:00
a72bc90e90 nixpkgs-bootstrap: 0-unstable-2024-12-01 -> 0-unstable-2024-12-03 2024-12-03 17:12:31 +00:00
6f84e33d80 nixpkgs-wayland: 0-unstable-2024-11-29 -> 0-unstable-2024-12-02 2024-12-03 17:12:19 +00:00
b69a0da7f7 uassets: 0-unstable-2024-12-01 -> 0-unstable-2024-12-03 2024-12-03 17:12:03 +00:00
532194b862 servo: speculative wg tunnel fix 2024-12-03 04:49:24 +00:00
535268d6a8 servo: switch back to random wireguard ports 2024-12-03 04:38:16 +00:00
08c5f5661f modules/netns: make the wg port optional 2024-12-03 04:23:53 +00:00
770928357e todo.md: remove outdated moby wlan action 2024-12-03 04:19:19 +00:00
ccb15b2c82 todo.md: remove PPP camera work 2024-12-03 03:52:55 +00:00
cb9aba095d exiftool: fix sandboxing
and with that, also fixes Megapixels open-image button :)
2024-12-03 03:52:29 +00:00
6340a35fb9 hal: pinephone-pro: remove CMA 2024-12-03 03:33:45 +00:00
559ce84e47 megapixels-next: fix so it can save images as .jpg instead of just .dnf 2024-12-03 02:58:30 +00:00
e6bf0e76dc todo.md: update 2024-12-03 02:19:03 +00:00
fc239cfa34 modules/programs: support mime.priority when handling duplicated env keys 2024-12-03 02:18:48 +00:00
38fc2ffb82 megapixels-next: patch to save photos in the right directory (i hope) 2024-12-03 02:02:18 +00:00
2ac3a755e0 blast: port from my own blast-ugjka to the out-for-PR sblast 2024-12-02 23:12:04 +00:00
7affd0f343 firefox: configure laptop zoom to 1.20, keep desktop at 1.70 2024-12-02 22:35:49 +00:00
633e9c64ab firefox: fix uBlock managed-storage
i can finally browse stackoverflow again w/o cookie banners????? IT'S LIKE 2010 AGAIN I LOVE YOU
2024-12-02 21:42:21 +00:00
c5b014c001 firefox-extensions.default-zoom: remove unneeded data 2024-12-02 21:41:38 +00:00
491b489997 programs: firefox: add a few more user.js settings, likely redundant thanks to arkenfox 2024-12-02 21:35:49 +00:00
5521c6c5b6 firefox-extensions.default-zoom: load the zoom from managed storage
this allows it to be configurable per device

this changeset probably does *too* much -- a lot can likely be dropped
2024-12-02 21:35:20 +00:00
8f757d906e feeds: subscribe to https://substack.com/@chlamchowder 2024-12-02 20:37:15 +00:00
84aa332cdb hal: aarch64: disable firefox/browserpass-extension 2024-12-02 19:29:00 +00:00
82f6d630d7 moby: disable unused eg25-manager 2024-12-02 19:28:45 +00:00
b4823f0c41 programs: firefox: tune user.js settings 2024-12-02 18:45:09 +00:00
bdfd0a8901 programs: firefox: un-block about:debugging 2024-12-02 18:44:46 +00:00
a45193f592 programs: firefox: use arkenfox prefs instead of librewolf prefs 2024-12-02 17:52:21 +00:00
16adf6f983 programs/firefox: switch from librewolf back to firefox
done such that (1) i can still load unsigned browser extensions and (2) i get all the privacy preferences of LW.

at this point staying closer to mainline Firefox means easier debugging, and without much lost
2024-12-02 06:19:31 +00:00
6f04f3d558 firefox: allow either librewolf OR firefox to load unsigned addons 2024-12-02 03:01:41 +00:00
b5581b57f3 firefox-extensions.default-zoom: tune defaultZoom, 1.8 -> 1.7 2024-12-01 23:34:19 +00:00
285ebf915f firefox-extensions.default-zoom: note about lappy comfort levels 2024-12-01 22:55:54 +00:00
8720a3ca39 firefox-extensions.default-zoom: tune defaultZoom, 1.7 -> 1.8 2024-12-01 22:37:46 +00:00
e2f3491131 firefox-extensions.default-zoom: tune defaultZoom, 2.0 -> 1.7 2024-12-01 22:35:28 +00:00
2b7d457e2a firefox-extensions.firefox-xdg-open: simplify by removing background.html 2024-12-01 22:31:50 +00:00
ec29c399f7 firefox-extensions: add default-zoom so that new tabs are readable by default 2024-12-01 22:27:23 +00:00
8a5629ec13 firefox: update prefs, especially sidebar/vertical tabs 2024-12-01 21:40:47 +00:00
047dc0bd21 firefox: port to native vertical tabs
it's not perfect; i can hopefully tweak this more

but committing this now because firefox is insanely fragile about these preferences and i don't know that i could recreate these withoput another hour of testing
2024-12-01 20:51:45 +00:00
f1242d28d4 nixpkgs-bootstrap: 0-unstable-2024-11-26 -> 0-unstable-2024-12-01 2024-12-01 18:31:54 +00:00
17654b4716 nixpkgs-wayland: 0-unstable-2024-11-26 -> 0-unstable-2024-11-29 2024-12-01 18:31:41 +00:00
96de70fcc2 signal-desktop-from-src: fix hash? 2024-12-01 18:31:27 +00:00
35d3bc40d5 firefox-extensions -> latest 2024-12-01 18:31:14 +00:00
fe62a75416 opencellid: 0-unstable-2024-11-19 -> 0-unstable-2024-11-29 2024-12-01 18:31:02 +00:00
8e6517f909 uassets: 0-unstable-2024-11-26 -> 0-unstable-2024-12-01 2024-12-01 18:30:38 +00:00
56b58d3506 moby: switch back to mainline rt5640 driver
camera and audio still work
2024-12-01 06:53:11 +00:00
ce7f2ee2d6 nixpkgs-bootstrap: link to libcamera patch, merged into staging-next 2024-12-01 06:05:18 +00:00
983e2043bc hal: pinephone-pro-camera: cleanup
this doesn't change any functionality; just shuffling things around and better documenting the bits
2024-11-29 18:41:37 +00:00
de182e117d modules/programs: enable even more /dev/video devices inside the relevant sandboxes 2024-11-29 18:33:35 +00:00
02286a24ba modules/programs: add more /dev/video devices required by pinephone-pro rear camera 2024-11-29 18:29:35 +00:00
dfe06af8d3 pipewire,wireplumber: fix sandboxing to allow portal-based camera apps (i.e. snapshot) 2024-11-29 18:28:22 +00:00
947660ec8f sway: fix portal ordering so that snapshot camera app can request camera perms 2024-11-29 18:27:10 +00:00
09df3f69f6 millipixels: drop; it doesnt support any of my devices 2024-11-29 18:25:29 +00:00
2225ae8cf7 gnome-calendar: mark as buildCost = 2 because of its dep on webkitgtk 2024-11-29 18:24:56 +00:00
9153841159 envelope: mark as buildCost = 2 2024-11-29 18:24:19 +00:00
360167fbb7 gnome calls: drop dependency on webkitgtk_6_0, for faster rebuilds 2024-11-29 18:24:05 +00:00
95fd526100 megapixels-next: unstable-2024-09-03 -> 1.6.1-unstable-2024-11-04 2024-11-29 18:23:23 +00:00
86dec329f1 moby: ship megis rt5640 sound driver (experimental. it still boots, but pipewire/wireplumber still crash-loops) 2024-11-29 05:19:12 +00:00
045acca8e2 programs: sqlite: un-sandbox
the sandbox had to have been broken: it would have never allowed the db into the sandbox
2024-11-29 03:40:26 +00:00
58894a7f9b moby: enable rear camera
this works with megapixels-next (at least, with sandboxing disabled). however it breaks pipewire: will investigate
2024-11-29 03:40:26 +00:00
4c6712d6a4 linux-megous: link to where the libcamera patches come from 2024-11-29 03:16:19 +00:00
593f70488d systemd: configure coredumpctl to be less of a drag on the system 2024-11-29 03:16:03 +00:00
5e7476a47c cross: import patches to allow xdg-desktop-portal-gtk to build 2024-11-29 03:15:33 +00:00
65243100f2 moby: speculatively increase the CMA pool size 2024-11-27 20:53:40 +00:00
4aa9877861 nixpkgs-bootstrap: 0-unstable-2024-11-25 -> 0-unstable-2024-11-26 2024-11-27 20:52:13 +00:00
d0f5a51fce nixpkgs-wayland: 0-unstable-2024-11-25 -> 0-unstable-2024-11-26 2024-11-27 20:51:47 +00:00
6d2a7eecd9 sops-nix: assets-unstable-2024-11-21 -> assets-unstable-2024-11-25 2024-11-27 20:51:29 +00:00
7253533cb3 uassets: 0-unstable-2024-11-25 -> 0-unstable-2024-11-26 2024-11-27 20:50:45 +00:00
e3b6482997 zeal-lynx-cli: init
it's hard to tell if it's all working

i think the 'list all functions for language FOO' function is working, but the 'dump docs for item BAR' isnt
2024-11-26 22:49:04 +00:00
96ca0b5e7f docsets.lua-std: properly distinguish between methods/functions/variables 2024-11-26 20:04:14 +00:00
b5b15dc074 docsets.lua-std: simplify the module matching logic 2024-11-26 19:51:39 +00:00
45ce9d2e66 docsets: ship Lua stdlib 2024-11-26 19:36:20 +00:00
0519cafbec signal-desktop-from-src: enable updateScript and update 7.34.0 -> 7.35.0 2024-11-26 13:03:01 +00:00
874fece378 signal-desktop-from-src: format 2024-11-26 12:43:09 +00:00
9870ef77f1 signal-desktop-from-src: simplify the build by borrowing from nixpkgs' signal-desktop package
motivation is that i can *nearly* automate the updates now
2024-11-26 12:42:16 +00:00
29cb38f300 signal-desktop: docs: show how to (optionally) use the binary signal-desktop package 2024-11-26 12:01:46 +00:00
45ad799ebb signal-desktop-from-src: 7.26.0 -> 7.34.0 2024-11-26 10:28:52 +00:00
2939e9a278 nixpkgs-bootstrap: update buffyboard patch 2024-11-26 09:32:31 +00:00
f653906c37 nixpkgs-bootstrap: 0-unstable-2024-11-23 -> 0-unstable-2024-11-25 2024-11-26 07:03:58 +00:00
ff97457545 nixpkgs-wayland: 0-unstable-2024-11-23 -> 0-unstable-2024-11-25 2024-11-26 07:03:44 +00:00
21ae1b20f1 euicc-manual: 0-unstable-2024-11-14 -> 0-unstable-2024-11-25 2024-11-26 07:03:23 +00:00
c8425c93d8 syshud: 0-unstable-2024-11-12 -> 0-unstable-2024-11-25 2024-11-26 07:03:08 +00:00
150bc4c67b uassets: 0-unstable-2024-11-22 -> 0-unstable-2024-11-25 2024-11-26 07:02:48 +00:00
04315d35b8 pinephone-pro: WIP support for camera
i can't get images out of it, but the ov8858 appears to be detected by media-ctl (?)
2024-11-25 21:32:55 +00:00
6be6c08e7c servo: hardcode the doof/ovpns listen ports, and forward them through the NAT 2024-11-25 18:07:37 +00:00
3ed0ff6611 netns: make it *slightly* more debuggable 2024-11-25 15:55:23 +00:00
ba8c3f8123 mpv: fix music auto-profile detection when mpv is invoked inside the ~/Music directory itself 2024-11-25 13:07:31 +00:00
e60faa08ea mpv: nit: prefer get for auto-profiles so the log spams fewer errors 2024-11-25 13:06:45 +00:00
3bf4447ab1 mpv: disable playback resumption for ~/Music files 2024-11-25 12:55:32 +00:00
a84cf3dd90 podcasts: subscribe to Chris Chinchilla - Tech Lounge 2024-11-25 11:10:28 +00:00
3669780afe podcasts: Sustain OSS: subscribe 2024-11-25 10:54:26 +00:00
e1a6f09667 buffyboard: acquire from upstream nixpkgs PR 2024-11-25 10:44:56 +00:00
4405f1bed0 buffyboard: push upstream (out for PR) 2024-11-25 10:05:00 +00:00
953c61d6cb nixpkgs-bootstrap: patches: update samba hash 2024-11-25 10:05:00 +00:00
2686b5329c nixpkgs-review: restrict to just /nix/var
granting all of /nix also gives /nix/persist :o
2024-11-25 09:39:41 +00:00
da5d52abed nixpkgs-hammering: ship 2024-11-25 09:39:14 +00:00
00e2f48bfe buffybox: fix service to be output to the correct directory 2024-11-25 07:57:19 +00:00
1581151af5 rofi: snippets: add nixpkgs-hammering 2024-11-25 07:33:54 +00:00
51b627878b migrate search shortcuts rofi -> firefox 2024-11-25 07:24:29 +00:00
cee29af431 buffybox: 3.2.0-unstable-2024-10-05 -> 3.2.0-unstable-2024-11-10 2024-11-25 07:15:05 +00:00
0104dcc92b servo: replace raid disks 2024-11-25 05:18:44 +00:00
babe95034f htop: fix reporting of zram stats under sandboxing 2024-11-24 15:38:50 +00:00
dd8bf6e482 nixpkgs-bootstrap: 0-unstable-2024-11-22 -> 0-unstable-2024-11-23 2024-11-24 11:42:34 +00:00
929eba2ead nixpkgs-wayland: 0-unstable-2024-11-18 -> 0-unstable-2024-11-23 2024-11-24 11:42:19 +00:00
ca78b723b3 sops-nix: 2024-11-11 -> 2024-11-21 2024-11-24 11:42:02 +00:00
f63c8a490e feeds: subscribe to Matt Stoller - Organized Money 2024-11-23 17:26:42 +00:00
e588ce6de0 samba: fix cross build 2024-11-22 23:30:05 +00:00
95f04580f4 nixpkgs-bootstrap: 0-unstable-2024-11-19 -> 0-unstable-2024-11-22 2024-11-22 22:18:16 +00:00
ca6cd4b0cb uassets: 0-unstable-2024-11-14 -> 0-unstable-2024-11-22 2024-11-22 22:17:55 +00:00
5286a2cb8a firefox-extensions.ublock: 1.61.1b5 -> 1.61.3b0 2024-11-22 22:17:36 +00:00
4b444134a2 nixpkgs-bootstrap: 0-unstable-2024-11-16 -> 0-unstable-2024-11-19
and also simplify my overlays; rework things to be more cache-friendly
2024-11-22 04:27:52 +00:00
1029e36fed libreoffice: run stable version so that i can reliably grab it from cache 2024-11-22 03:54:15 +00:00
23f6a301a4 firefox-extensions.ublock: 1.61.1b4 -> 1.61.1b5 2024-11-22 03:53:42 +00:00
cfd4a7a54b opencellid: 0-unstable-2024-11-16 -> 0-unstable-2024-11-19 2024-11-22 03:53:23 +00:00
cc857db8bf firefox: add search shortcut for rottentomatoes.com 2024-11-21 17:05:51 +00:00
92faecc7c7 wireplumber: note when sandbox might require net connection 2024-11-21 09:00:36 +00:00
1b7c9cf2a0 easylpac: init at 0.7.6.5 2024-11-21 07:28:24 +00:00
d75de67fca lpac: init at 2.1.0
but it gives errors on launch...
2024-11-21 07:01:35 +00:00
3c0893224f euicc-manual: init at 0-unstable-2024-11-14 2024-11-21 07:01:35 +00:00
348d9f9352 secrets: net: update wifi 2024-11-21 07:01:35 +00:00
2f703ef694 bandwhich: ship 2024-11-18 20:52:16 +00:00
c975831cc4 servo: jellyfin: sync DLNA profile with upstream 2024-11-18 06:05:19 +00:00
c4c8141977 servo: jellyfin: persist more selectively
hoping in time i can get a config that persists even *less* to the point that i dont have to worry as much about BS packaging changes like what happened with the DLNA
2024-11-18 03:49:05 +00:00
c34bcfcdd9 servo: jellyfin: tame the logging 2024-11-18 03:49:05 +00:00
b355dcfaf5 servo: switch back to jellyfin, and fix it to (mostly) work as it did before 2024-11-18 03:49:05 +00:00
fe7281c393 servo: switch minidlna -> gerbera 2024-11-17 23:11:12 +00:00
00329a8bd3 servo: switch from jellyfin -> minidlna 2024-11-17 22:15:55 +00:00
697edc20fc servo: prosody: harden systemd serivice 2024-11-17 21:11:36 +00:00
a1ed37fada systemd: fix polkit rules so "systemd-run" isnt allowed by default 2024-11-17 20:57:01 +00:00
97089c6bd1 todo.md: sync 2024-11-17 17:15:33 +00:00
85103c61aa polyunfill: re-enable /etc/pam.d/systemd-user
it's needed by systemd --user, and hence by gitea
2024-11-17 17:08:39 +00:00
01309b66cc programs: shadow: remove pam session supression (this is presently dead code anyway) 2024-11-17 17:08:39 +00:00
7783de5d54 users: split pam stuff out of default.nix and disable 2024-11-17 17:08:39 +00:00
7ec6d28c65 servo: gitea: cleanup 2024-11-17 17:08:39 +00:00
2058045011 systemd-user-sessions: re-enable
this is actually probably necessary, else systemd user session fails with error PAM
2024-11-17 16:26:02 +00:00
09ed5a271d disable the systemd --user instance in a less hacky way, which hopefully causes fewer gitea-related errors 2024-11-17 16:18:18 +00:00
f723aa008c NUR: hopefully fix the NUR eval errors
see: <https://github.com/nix-community/NUR/actions/runs/11879057301/job/33100486232#step:4:2171>
2024-11-17 13:56:42 +00:00
5c001d5677 mpv: associate with tiktok 2024-11-17 12:11:22 +00:00
6b5da3c61f nixpkgs-bootstrap: 0-unstable-2024-11-14 -> 0-unstable-2024-11-16 2024-11-17 06:05:23 +00:00
11bce103a0 nixpkgs-wayland: 0-unstable-2024-11-09 -> 0-unstable-2024-11-16 2024-11-17 06:04:44 +00:00
39fd6b4309 firefox-extensions.{sponsorblock,ublacklist} -> latest 2024-11-17 06:04:28 +00:00
21f4b1d9f1 opencellid: 0-unstable-2024-11-14 -> 0-unstable-2024-11-16 2024-11-17 06:02:42 +00:00
186ff0b085 uninsane-dot-org: -> latest 2024-11-16 21:23:55 +00:00
444ca4353b nginx: uninsane.org: block archive.org, google bot from select pages 2024-11-16 17:11:49 +00:00
e179d71bfa uninsane-dot-org: 0-unstable-2024-10-27 -> 0-unstable-2024-11-16 2024-11-16 14:34:13 +00:00
db2137d756 ccache: disable 2024-11-15 05:22:54 +00:00
4e008c3420 nixpkgs-bootstrap.master: 0-unstable-2024-11-09 -> 0-unstable-2024-11-14 2024-11-15 05:07:30 +00:00
39ff8252c2 sops-nix: assets-unstable-2024-10-26 -> assets-unstable-2024-11-11 2024-11-15 05:07:13 +00:00
50be4729b0 syshud: 0-unstable-2024-11-07 -> 0-unstable-2024-11-12 2024-11-15 05:06:56 +00:00
b27e5d4c7d uassets: 0-unstable-2024-11-09 -> 0-unstable-2024-11-14 2024-11-15 05:06:34 +00:00
f38ce77d41 opencell-id: 2024-11-09 -> 2024-11-14 2024-11-15 05:06:19 +00:00
5788edbbc5 feeds: subscribe to Innuendo Studios 2024-11-14 14:25:16 +00:00
0f8152569b servo: replace one of the /mnt/pool disks 2024-11-14 03:18:48 +00:00
8bd4402faf todo.md: setup a real calendar system 2024-11-13 14:19:16 +00:00
18ce2e07a5 todo.md: note that /mnt/.servo_ftp has some problem 2024-11-13 14:17:38 +00:00
9de483a706 pkgs/assorted: fix pythonImportsCheckHook to be in nativeCheckInputs so it doesnt run on cross 2024-11-13 13:47:52 +00:00
7b88c9c644 sane.fs: dont have local-fs.target depend on any of my (persistence) bind mounts
otherwise it's too easy for local-fs to hang (/mnt/persist/private), or fail (/mnt/pool), and i lose critical things like *networking*

this was only working because on servo the /mnt/persist/private deps caused a cycle and systemd just _removed_ local-fs.target
2024-11-13 12:05:31 +00:00
d37e7fb5e8 servo: jellyfin: systemd: explicitly depend on /var/media 2024-11-13 12:03:15 +00:00
568ff01bc1 seatd: remove --bunpen-debug=4 flag 2024-11-13 11:47:47 +00:00
f5684b7c06 servo/fs: remove local-fs.target ordering dep on /mnt/pool
this is incremental work toward being able to boot (especially to networking) while my media disks are unplugged
2024-11-13 11:07:36 +00:00
8d1c714ba0 hosts/common: clean up the journald persistence to support both *private* or plaintext storage, by config 2024-11-13 09:14:30 +00:00
cffc826746 hosts/common: persist systemd journal in a way thats encrypted AND doesnt break boot 2024-11-12 11:48:36 +00:00
fed25f44d5 dyn-dns: allow services to subscribe *only* to change events, and not require DNS always be available
also switch back exclusively to UPnP / local source of trust
2024-11-12 04:06:24 +00:00
6513d927d4 hickory-dns: allow empty DNS substitutions, and handle those by filtering out the corresponding record 2024-11-12 04:05:25 +00:00
4779ad8f41 dyn-dns: better implementation 2024-11-12 02:31:50 +00:00
2134a9c738 WIP: dyn-dns: try a smarter trigger scheme, but im getting weird "resource" errors with systemd path units 2024-11-12 01:09:23 +00:00
5aa6c9b8c7 dyn-dns: when DNS changes, restart immediately instead of blocking on another dyn-dns.service query
the new behavior though causes dyn-dns consumers to be started even before we've learned the IP. that sort of matches the semantics of the module though. not sure the best design yet
2024-11-11 23:41:58 +00:00
388c58f656 servo: slim dependencies so that local-fs.target can be reached even if my media drives are inaccessible
this means some services which need access (like sftpgo) fail to start if the drive is unavailable
2024-11-11 20:40:13 +00:00
f3ee312dad modules/ssh: start sshd as early in the boot as possible
this allows more scenarios to be recoverable
2024-11-11 20:35:47 +00:00
3fb2656ff5 smartd: enable periodic drive self-tests 2024-11-11 15:42:27 +00:00
bb09575028 programs: btrfs: better sandboxing 2024-11-11 12:41:48 +00:00
ce43b00707 todo.md: sync 2024-11-11 11:11:55 +00:00
ec5e8a3269 netns: simplify the host -> netns response tunneling
i don't actually need any route table that's higher priority than 'local'
2024-11-11 11:02:42 +00:00
4604117184 programs: assorted: ensure everything that needs X(wayland) gets X(wayland) 2024-11-11 10:24:37 +00:00
c202e02d51 feeds: subscribe to ICM.museum 2024-11-11 09:03:52 +00:00
f6369bce8d servo: doof: dont proxy DNS inside the net namespace 2024-11-11 02:46:06 +00:00
309bd04037 modules/netns: rename options for better grouping 2024-11-11 02:37:00 +00:00
23913c9cd2 netns: configure the device in a way that should allow named endpoints to be resolved outside the netns 2024-11-11 02:19:00 +00:00
95d9db3973 neovim: associate \<Ctrl+k> to show keybindings; makes them more easily discoverable 2024-11-11 02:16:34 +00:00
2684b3c1aa wg-home: re-enable keepalives
this should fix some of the flakiness i've seen when deploying moby?
2024-11-10 16:19:07 +00:00
a36c1a6818 wg-home: simplify the server side 2024-11-10 16:05:53 +00:00
2ed633cfe8 wg-ovpns/doof: port from networking.wireguard -> sane.netns 2024-11-10 15:48:43 +00:00
2962f2dc21 refactor: modules/netns.nix 2024-11-10 14:00:29 +00:00
419132df8c scripts/check-uninsane: better verbosity options 2024-11-10 10:23:16 +00:00
e35e4d54c9 nixpkgs: -> latest
this gets me the latest hickory-dns; had to rebase libgweather
2024-11-10 07:16:49 +00:00
cd870e70cd hickory-dns: use upstream package, unpatched
I don't need the recursive resolver patches anymore
2024-11-10 05:56:09 +00:00
c30929e1a6 servo: switch to unbound for local DNS provider 2024-11-10 05:53:17 +00:00
e2dfbfe829 kiwix-serve: fix service sandboxing typo (ReadPaths -> ReadOnlyPaths) 2024-11-10 05:07:13 +00:00
bde5bc5983 libbytesize: push cross fix upstream 2024-11-10 01:44:12 +00:00
33412ad3f2 smartd: fix sandboxing on desko 2024-11-09 22:28:59 +00:00
c70ec39a48 nixpkgs-bootstrap: 0-unstable-2024-11-08 -> 0-unstable-2024-11-09 2024-11-09 21:50:51 +00:00
e51870df6f scripts/deploy: dont ship builds to servo by default 2024-11-09 21:50:33 +00:00
e8782a078f nixpkgs-wayland: 0-unstable-2024-11-04 -> 0-unstable-2024-11-09 2024-11-09 21:49:59 +00:00
c68db4d3ef syshud: 0-unstable-2024-11-04 -> 0-unstable-2024-11-07 2024-11-09 21:49:38 +00:00
f61225c3f4 uassets: 0-unstable-2024-11-05 -> 0-unstable-2024-11-09 2024-11-09 21:48:51 +00:00
ac8deb1e26 opencellid: 0-unstable-2024-10-26 -> 0-unstable-2024-11-09 2024-11-09 21:48:34 +00:00
63dc397665 firefox-extensions.ublock: 1.61.1b0 -> 1.61.1b1 2024-11-09 21:48:18 +00:00
5d9ce829ea smartd: only enable postfix integration IF postfix is enabled 2024-11-09 21:47:54 +00:00
6bd75034e0 smartd: sandbox 2024-11-09 12:11:17 +00:00
3abf1fdff8 bunpen: fix --bunpen-net pasta integration to work even when pasta isnt on PATH 2024-11-09 09:00:17 +00:00
870a09282f secrets: net: update auth for UW WiFi 2024-11-09 05:52:49 +00:00
4e402266b2 sane-vpn: fix so that sane-vpn do works even without hickory-dns installed 2024-11-09 05:52:49 +00:00
b6a368419e scripts/sync: fix Books/ synchronization (cant sync whole folder because of persistence details 2024-11-08 10:27:19 +00:00
62de15d418 todo.md: note that rsync has sandboxing issues 2024-11-08 10:25:19 +00:00
a34ab22fd7 btrfs.autoScrub: enable 2024-11-08 09:37:24 +00:00
b897640f7f smartd: port to sane.programs 2024-11-08 09:37:24 +00:00
4d0627ebd8 servo: remove networking.hostId 2024-11-08 09:26:03 +00:00
675f8a6bbf services.smartd: enable 2024-11-08 09:21:37 +00:00
ee24ae7e27 smartctl: fix sandboxing 2024-11-08 09:02:25 +00:00
849fe87de7 btrfs-progs: fix scrub sandboxing 2024-11-08 08:58:46 +00:00
d161cbdc72 fs: fix Books/Audiobook -> Books/Audiobooks 2024-11-08 08:28:23 +00:00
5d1549bbeb hickory-dns: update comment about status of upstream hickory-dns 2024-11-08 08:09:13 +00:00
e58677b0c3 syshud: fix changes due to upstream config parsing changes 2024-11-08 07:02:17 +00:00
c890646a1d nixpkgs-bootstrap: 0-unstable-2024-11-07 -> 0-unstable-2024-11-08 2024-11-08 07:01:34 +00:00
b6ad6d2707 firefox-extensions.passff: 1.20.1 -> 1.21 2024-11-08 07:01:08 +00:00
ea36ef78a2 firefox-extensions.ublock: 1.60.1b17 -> 1.61.1b0 2024-11-08 07:00:53 +00:00
d7ec4264bf nixpkgs-bootstrap: 0-unstable-2024-10-30 -> 0-unstable-2024-11-07 2024-11-07 11:08:38 +00:00
3ecce4639b desko: bump /tmp size to 128G 2024-11-07 10:55:05 +00:00
ef3f1b63dc sane-input-handler: reduce vol-up/down repeat latency and extend the max trigger counts from 5 to 8 2024-11-07 09:10:43 +00:00
7496c10cf9 todo.md: consider pass-based secret provider 2024-11-07 09:04:23 +00:00
6660896929 programs: port the remainder from dconf -> gsettings, but untested 2024-11-07 05:07:14 +00:00
1f84fc4b2b programs: port a few programs from dconf -> gsettings, tested on desko 2024-11-07 05:06:44 +00:00
ddaec49ea9 programs: prefer the gsettings backend over dconf backend
it's more easily human editable, and programs can write new settings without requiring dbus access
2024-11-07 04:19:10 +00:00
c2cf989bb7 programs.dconf: simlify the config 2024-11-07 03:34:16 +00:00
3a9e4af6da modules/programs: introduce a gsettings config option, which so far routes to dconf but later will stand alone 2024-11-07 03:30:34 +00:00
815f3d64e4 docsets.gtk: dont ship, since the rtfm dependency doesnt cross-compile 2024-11-07 02:17:30 +00:00
2e2fd53c33 docsets.nixpkgs-lib: fix cross compilation 2024-11-07 02:06:22 +00:00
0ea22c79ad refactor: remove a dead comment about GSK_RENDERER=cairo 2024-11-06 15:23:18 +00:00
404420b247 gnome-weather: statically define location
this hopefully fixes sandboxing issue, where ~/.config/dconf (persisted) wasnt visible inside the sandbox
2024-11-06 15:23:18 +00:00
97b7a6cc4c docsets: dont ship mx-sanebox docs, since i dont use them and build breaks for cross 2024-11-06 15:23:18 +00:00
199b300c6d servo: try, fail, to bridge irc.sdf.org to Matrix 2024-11-06 14:52:06 +00:00
d440c7e548 firefox-extensions: comment out everything i dont use, so that auto-updates are less noisy 2024-11-06 09:47:24 +00:00
944e28b64e nixpkgs-wayland: 0-unstable-2024-10-29 -> 0-unstable-2024-11-04 2024-11-06 03:35:54 +00:00
3e83cd8c9c syshud: 0-unstable-2024-09-26 -> 0-unstable-2024-11-04 2024-11-06 03:35:33 +00:00
54975e2db2 firefox-extensions.ether-metamask: 12.5.0 -> 12.6.0 2024-11-06 03:35:15 +00:00
871dd8d4f4 uassets: 0-unstable-2024-10-30 -> 0-unstable-2024-11-05 2024-11-06 03:34:49 +00:00
e307c5a60c docsets.python3-std: remove a lot of noise from the python docs 2024-11-05 05:44:50 +00:00
50277ff3bc docsets.python3-std: init
this includes docs for argparse, builtins like map, etc

however the index is lacking; it picks up a lot of noise, so that searching for 'map' will turn up tutorials instead of the API reference
2024-11-05 05:10:42 +00:00
d1f2f2462a doc2dash: init at 3.1.0 2024-11-05 02:49:31 +00:00
4be8a54866 docsets.gtk: init 2024-11-05 02:29:22 +00:00
1a09d9abe9 docsets.nix-builtins: init 2024-11-05 01:41:53 +00:00
97dc226414 servo: pleroma: reduce log spam 2024-11-05 00:19:20 +00:00
f23f8e31ae postgresql: tune for reduced memory usage 2024-11-04 22:46:29 +00:00
be112ea232 refactor: docsets: split make-docset-index into its own package so i can (in the future) use it for other docsets 2024-11-04 20:54:08 +00:00
2824ec96f2 vim: integrate dasht as plugin 2024-11-04 20:28:09 +00:00
7e1624d017 docsets: ship nixpkgs lib as a Dash/Zeal docset 2024-11-04 20:02:21 +00:00
598e55380c todo.md: note opportunity for sane-deadlines improvements 2024-11-04 16:07:53 +00:00
5e4628498a rofi: fix broken sandboxing 2024-11-04 13:45:15 +00:00
0d6c7d9f64 git: fix git mv sandboxing 2024-11-04 13:45:15 +00:00
58611f236d discord: patch to use wayland instead of X11/Xwayland 2024-11-04 13:45:15 +00:00
fa8cbd690d feeds: subscribe to ergaster podcast 2024-11-04 12:24:26 +00:00
757e77a84d docsets.rust-std: also ship core:: docs 2024-11-04 03:06:30 +00:00
616881c09b docsets.rust-std: patch so that std:: docs show up properly in std::, not rust_std::std 2024-11-04 02:52:41 +00:00
3179eb03eb docsets: ship rust stdlib docs, usable with e.g. dasht 2024-11-04 02:35:28 +00:00
5cbca3de22 docsets: cleanup
configure via actual packages, not strings representing the package names
2024-11-03 20:01:19 +00:00
7cfb59cb92 docsets: install system-wide 2024-11-03 19:14:09 +00:00
243ae05a68 dasht: ship 2024-11-03 17:25:55 +00:00
effd4094af refactor: programs: split docsets out of the zeal program 2024-11-03 16:55:05 +00:00
e230d40fae ollama: ship gemma2-27b, package but dont ship codegemma-7b 2024-11-03 12:44:47 +00:00
3aadc12f04 services: ollama: remove some LLM models which ive found to not be useful 2024-11-03 12:16:27 +00:00
7b04d24886 sane-input-handler: tweak hold times
decrease power-hold-to-play/pause; increase power-double-tap timeout; straddle volume-hold: shorter time-to-first-hold but longer time-between-holds
2024-11-03 09:53:05 +00:00
8ab7228cb5 firefox: bookmarks: add imdb search bookmark 2024-10-30 22:11:38 +00:00
2f3f59c89c refactor: firefox: bookmarks: sort 2024-10-30 22:10:24 +00:00
20ed91f03b nixpkgs-bootstrap: 0-unstable-2024-10-26 -> 0-unstable-2024-10-30 2024-10-30 21:04:30 +00:00
c4d43e25a8 nixpkgs-wayland: 0-unstable-2024-10-25 -> 0-unstable-2024-10-29 2024-10-30 21:02:44 +00:00
e2e184b6a5 uassets: 0-unstable-2024-10-26 -> 0-unstable-2024-10-30 2024-10-30 21:02:04 +00:00
2f2d058423 uninsane-dot-org: 0-unstable-2024-08-29 -> 0-unstable-2024-10-27 2024-10-30 21:01:47 +00:00
d653ddcf53 mumble: jail unregistered users 2024-10-30 10:13:10 +00:00
f9aaa48520 mumble: ship desktop interface 2024-10-30 02:04:03 +00:00
b930bb58fa servo: deploy a mumble service
is this permissioned correctly? i don't really know
2024-10-30 00:08:38 +00:00
c8210da075 libgpiod: fix sandboxing 2024-10-29 09:40:02 +00:00
f110e71011 todo.md: hard systemd services 2024-10-29 09:38:04 +00:00
e51e5ebf18 libgpiod (e.g. gpioinfo): sandbox 2024-10-29 09:12:39 +00:00
1f7d6fb240 fftest: sandbox 2024-10-29 09:12:29 +00:00
02deb27c8d rofi-run-command: sandbox 2024-10-29 09:12:11 +00:00
9f620087b5 powersupply: sandbox 2024-10-29 09:11:57 +00:00
cf1f558908 procs: sandbox 2024-10-29 08:28:54 +00:00
f29aa12039 dmidecode: sandbox 2024-10-29 08:28:44 +00:00
0dff9f993f browserpass: sandbox 2024-10-29 08:21:42 +00:00
50389407ef mmcli: fix sandboxing 2024-10-29 06:21:23 +00:00
e89cf69aa5 common/fs: re-organize ~/Books to be simpler 2024-10-29 06:06:48 +00:00
864e75afce sanebox: purge 2024-10-29 05:59:01 +00:00
51204fc494 systemctl: fix sandboxing 2024-10-29 05:25:16 +00:00
ea334f7f77 todo.md: cleanup gnome-keyring-daemon 2024-10-27 10:05:51 +00:00
6611f70274 nixpkgs-bootstrap: 0-unstable-2024-10-25 -> 0-unstable-2024-10-26 2024-10-26 16:31:53 +00:00
1b05280448 nixpkgs-wayland: 0-unstable-2024-10-24 -> 0-unstable-2024-10-25 2024-10-26 16:31:40 +00:00
259946f558 sops-nix: assets-unstable-2024-10-24 -> assets-unstable-2024-10-26 2024-10-26 16:31:25 +00:00
73a3a165f8 firefox-extensions.ublock: 1.60.1b16 -> 1.60.1b17 2024-10-26 16:31:12 +00:00
70bd1ec6c4 uassets: 0-unstable-2024-10-25 -> 0-unstable-2024-10-26 2024-10-26 16:30:34 +00:00
7cb39000c3 opencellid: 0-unstable-2024-10-25 -> 0-unstable-2024-10-26 2024-10-26 16:30:18 +00:00
c7c0d4c6c7 bunpen: dont intercept SIGTSTP
this is the Ctrl+Z signal; catching it seems to actually break the ability for a bunpen process to suspend
2024-10-26 11:37:50 +00:00
74a7fe46b0 todo.md: sync 2024-10-26 08:51:16 +00:00
e649eb4c13 feedbackd: integrate with PPP vibration motor 2024-10-26 08:42:19 +00:00
ce1d16a7ef scripts/check-backups: print the ssh command before running it 2024-10-26 05:12:30 +00:00
5b45282da6 buffybox/buffyboard: push systemd service upstream 2024-10-26 03:58:36 +00:00
ecd7d9d6b5 gnome-weather: fix .desktop file 2024-10-26 02:49:50 +00:00
ea4e230efd feeds: switch Matrix Live to the Youtube channel (the RSS is dead) 2024-10-26 02:30:24 +00:00
b79c9749c0 gpodder-configured: add --no-sync flag to bypass feed list synchronization, for faster init 2024-10-26 02:24:56 +00:00
929dbc706b nixpkgs-bootstrap: 0-unstable-2024-10-23 -> 0-unstable-2024-10-25 2024-10-26 00:58:08 +00:00
3783101408 nixpkgs-wayland: 0-unstable-2024-10-23 -> 0-unstable-2024-10-24 2024-10-26 00:57:56 +00:00
cc28df466e sops-nix: assets-unstable-2024-10-08 -> assets-unstable-2024-10-24 2024-10-26 00:57:39 +00:00
3665a8e798 uassets: 0-unstable-2024-10-23 -> 0-unstable-2024-10-25 2024-10-26 00:57:23 +00:00
a9fdea1082 opencellid: 0-unstable-2024-10-23 -> 0-unstable-2024-10-25 2024-10-26 00:57:07 +00:00
94e391c9a7 feeds: podcasts: subscribe to Unexplainable 2024-10-25 03:43:11 +00:00
6b1ea48f7a feeds: podcasts: subscribe to Stuff you should Know 2024-10-25 03:40:04 +00:00
d810c17cfd feeds: podcasts: subscribe to Last Week In AI 2024-10-25 03:32:22 +00:00
969d4cbef2 feeds: subscribe to EFF How To Fix The Internet 2024-10-25 03:31:46 +00:00
9045171184 firefox: add a search shortcut for Etymonline 2024-10-24 07:08:48 +00:00
344f08b12b sane-secrets-dump: fix oathtool invocation to always specify --totp 2024-10-24 07:06:34 +00:00
a9c497dc0b nixpkgs-wayland: 0-unstable-2024-10-16 -> 0-unstable-2024-10-23 2024-10-23 21:47:23 +00:00
1335978106 nixpkgs-bootstrap: 0-unstable-2024-10-21 -> 0-unstable-2024-10-23 2024-10-23 21:47:06 +00:00
0f500088a8 firefox-extensions: -> latest 2024-10-23 21:46:26 +00:00
ddd0cc0613 uassets: 0-unstable-2024-10-21 -> 0-unstable-2024-10-23 2024-10-23 21:46:11 +00:00
92b870a1c1 opencellid: 0-unstable-2024-10-15 -> 0-unstable-2024-10-23 2024-10-23 21:45:58 +00:00
f450ee8361 curlftpfs: fix a bug wherein optimized aarch64 readdirs would loop endlessly
the fuse3 API allows for seekable directory iterators, and by not passing the 'offset' parameter to fuse, it was defaulting to garbage and the same part of the directory was being iterated, endlessly
2024-10-23 10:17:18 +00:00
cebfe5df19 fftest: ship 2024-10-22 07:02:16 +00:00
1c57b9ce9e programs/sandbox: include udev rules in the sandboxed program output
notably, this fixes feedbackd so that the PPP haptics/vibrator is writable by the user
2024-10-22 07:01:18 +00:00
c4ca651754 pict-rs: fix for newer nixpkgs 2024-10-21 22:38:20 +00:00
b21ae11b04 NUR: fix eval
locally, at least: hopefully this fixes the CI jobs as well
2024-10-21 22:16:55 +00:00
88a64738e2 nixpkgs-bootstrap: 0-unstable-2024-10-16 -> 0-unstable-2024-10-21 2024-10-21 21:48:16 +00:00
339b5d805f uassets: 0-unstable-2024-10-16 -> 0-unstable-2024-10-21 2024-10-21 21:48:02 +00:00
4ef137101c firefox-extensions: -> latest 2024-10-21 21:47:47 +00:00
ea65680a50 feeds: subscribe to TVW_Washington YouTube 2024-10-21 21:20:03 +00:00
155d1dbc95 firefox: add a search bookmark for Google Maps 2024-10-21 19:39:36 +00:00
98c64a5940 pleroma: fix (and partially strengthen) the sandboxing 2024-10-21 10:17:28 +00:00
d17f436250 hosts/common: ship libgpiod 2024-10-21 08:58:13 +00:00
b69ec1d5f1 pleroma: fix log level warn -> warning 2024-10-21 08:53:22 +00:00
3a8cc67900 audacity: fix .desktop file 2024-10-21 07:41:09 +00:00
089a379d54 moby: actually, just disable the debug uart pull resistor 2024-10-20 08:17:49 +00:00
9d1770f6db moby: HACK: switch UART2_RX to pull down to silence sysrqs from headphone detection
i haven't tested the uart mode with this: hopefully it still works with that.

even with this, i get several hp-detect interrupts, which comes with its
own problem (i.e. pipewire restarts every second).
2024-10-20 06:27:15 +00:00
f8fd59b7be common: enable irqbalance 2024-10-20 06:25:50 +00:00
a5b80e103f alsaUtils/aplay: fix sandboxing 2024-10-20 06:25:33 +00:00
3f22ac89a1 moby: enable camera flash (for use as a torch) 2024-10-20 06:25:16 +00:00
92fa2d4776 moby: import the remainder of the sound config from pine64-org DTS
i didn't check the routing on those, but after applying this in full, 3.5mm-attached mic has way more volume, and i *think* this patch is what fixed that (mic bias)
2024-10-19 05:55:33 +00:00
dba22fdb39 moby: ship alsa w/o the "voice call" configs, since they dont produce any audio 2024-10-19 05:45:18 +00:00
921786de9f moby: sound: add Internal Earpiece node (does it work? idk, but it doesnt break anything!) 2024-10-19 01:53:15 +00:00
65e8e6bf1c pinephone-pro: plumb backlight through to swaync (though apparently i still disable this, in favor of nwg-panel) 2024-10-19 00:09:09 +00:00
35d349a73e moby: re-enable gps-share by lifting it out of HAL 2024-10-19 00:08:07 +00:00
fc4fadbb5b ols: remove WiGLE integration 2024-10-19 00:07:28 +00:00
cfbd385904 bonsai: add a noop delay transition at the root of the state machine, hopefully improves reliability 2024-10-18 20:51:31 +00:00
441e69e708 bunpen: reap child processes when acting as PID1 2024-10-18 08:23:36 +00:00
34ad1831ff moby: synchronize touchscreen rotation with display rotation 2024-10-18 05:18:20 +00:00
2dec4a648e home/fs: limit ~/.persist/* to just the users home data 2024-10-18 05:00:35 +00:00
4a0ae85dd5 sane-find-dotfiles: also print directories in ~/.* 2024-10-18 04:55:43 +00:00
f1dfca12ac swaync: fix so the gps button actually works (by starting gps.target -- not gps.service) 2024-10-18 02:56:17 +00:00
d138cec9fc users/systemd: fix so oneshot services arent stopped immediately after activation 2024-10-18 02:55:44 +00:00
bc8e0d07f4 eg25-control: fix sandboxing (at least, for --power-on) 2024-10-18 02:40:56 +00:00
b33e6a0c73 scripts/deploy: add --force-reboot option 2024-10-18 01:45:48 +00:00
0888c9e994 networkmanager: fix dbus UID check so that nmcli/etc can connect when the service is running as dedicated user 2024-10-18 01:20:43 +00:00
30cd1c06ba findutils: remove sandboxing, it doesnt make sense 2024-10-17 21:46:36 +00:00
0c85d73466 networkmanager: improve sandboxing 2024-10-17 07:02:55 +00:00
8e9800c4e4 networkmanager: disable /etc/resolv.conf management when unbound is enabled 2024-10-17 05:40:21 +00:00
bb87899b95 swayidle: fix local typo 2024-10-17 03:59:10 +00:00
1e045c2c17 nixpkgs-bootstrap: 0-unstable-2024-10-15 -> 0-unstable-2024-10-16 2024-10-17 01:07:56 +00:00
3fb44e6405 uassets: 0-unstable-2024-10-15 -> 0-unstable-2024-10-16 2024-10-17 01:07:31 +00:00
0c43aedc02 nixpkgs-wayland: 0-unstable-2024-10-12 -> 0-unstable-2024-10-16 2024-10-17 01:07:17 +00:00
33aa2727be envelope: fix cross compilation 2024-10-16 21:41:10 +00:00
27740bb546 servo: sftpgo: revoke fedi/music sharing access
this was only ever a temporary thing, i can reintroduce it for anyone who actually wants it
2024-10-16 20:51:15 +00:00
fbc5786559 Firefox: add search shortcut for Google Shopping 2024-10-16 20:44:02 +00:00
917110092f todo.md: add task to lock down dbus 2024-10-16 00:48:03 +00:00
5822eca99c wireshark: install /share, for icons, etc 2024-10-16 00:21:39 +00:00
dbc29db5fa modules/programs: update docs for tryKeepUsers 2024-10-16 00:18:06 +00:00
8b8046773e feeds: subscribe to momi.ca / Anjan 2024-10-15 23:37:44 +00:00
038851744e todo.md: add item for using honeybee xmpp calling app 2024-10-15 23:36:34 +00:00
8099307f32 envelope: ship it! 2024-10-15 23:08:06 +00:00
7bbc9cde62 todo.md: add an entry for replacing geary with envelope 2024-10-15 22:07:15 +00:00
d4b269be7f todo.md: new entry for installing mobroute/transito 2024-10-15 22:06:14 +00:00
7eda639658 nixpkgs: 0-unstable-2024-10-14 -> 0-unstable-2024-10-15 2024-10-15 22:05:56 +00:00
f2842a3b7c opencellid: 0-unstable-2024-10-08 -> 0-unstable-2024-10-15 2024-10-15 22:05:08 +00:00
af0dc12a1f uassets: 0-unstable-2024-10-13 -> 0-unstable-2024-10-15 2024-10-15 22:03:56 +00:00
c617d4d0cd eg25-control: remove old TODOs 2024-10-15 17:53:37 +00:00
4822cc1ecb moby: enable the modem
the USB PHY which links RK3399 to the modem needed to be enabled, then the rest works OOTB

eg25-control works; modem-manager sees the modem, i haven't actually tried to get an IP address yet though
2024-10-15 07:27:16 +00:00
00aa9530bb moby: *try* to enable the modem
it might be getting further in the setup than before, but it's still not complete

eg25-control --power-on does show it sending the STATUS signal, but /dev/ttyUSB2 does not appear and modem-manager sees nothing.

eg25-manager likewise does not work

TODO: try lsusb?
2024-10-15 05:22:24 +00:00
9fbe040ea5 moby: limit i2c1 frequency to 400 kHz 2024-10-15 03:48:28 +00:00
0a2945e9a9 eg25-control: document better the modem GPIO lines 2024-10-15 02:15:06 +00:00
a76d375182 firefox: configure with uidensity=2 2024-10-14 23:10:33 +00:00
4f5339ed9b mpv: associate with youtube music URLs 2024-10-14 20:42:14 +00:00
de8e17ead1 nixpkgs: 0-unstable-2024-10-12 -> 0-unstable-2024-10-14 2024-10-14 20:40:16 +00:00
053d7d1156 nixpkgs-wayland: 0-unstable-2024-10-10 -> 0-unstable-2024-10-12 2024-10-14 20:40:16 +00:00
45cf4f5fb4 firefox-extensions.ublock: 1.60.1b12 -> 1.60.1b13 2024-10-14 20:40:16 +00:00
b41145e1f6 uassets: 0-unstable-2024-10-10 -> 0-unstable-2024-10-13 2024-10-14 20:40:16 +00:00
f24b463a34 firefox: bookmarks: add lib.rs search bookmark 2024-10-14 03:35:07 +00:00
29c13e35cb neovim: fix cross compilation for newer nixpkgs 2024-10-14 03:08:53 +00:00
e5cc9afde6 dont ship koreader (cross build is failing on newer nixpkgs) 2024-10-14 03:08:53 +00:00
fb56c9ed73 ids: allocate a static id for resolvconf (part of future nixpkgs update) 2024-10-14 03:08:53 +00:00
936138e592 dmidecode: ship 2024-10-14 03:08:53 +00:00
341242d32d envelope: remove unused inputs 2024-10-13 22:15:59 +00:00
d8a41ff3c6 envelope: init at 0.1.0-unstable-2024-09-13
the Cargo.lock file was manually generated by running `cargo build` in
the source directory.
2024-10-13 21:20:22 +00:00
455b05e99a ollama: ship deepseek-coder-v2-16b-lite-instruct-q5_1,qwen2_5-32b-instruct-q2_K 2024-10-13 18:56:05 +00:00
7f5b262801 ollama: ship fewer models, improve notes on the remaining models 2024-10-13 08:37:50 +00:00
ea57fc5faa ollamaPackages: fix install path so that ollama gives it a nicer name 2024-10-13 08:37:50 +00:00
b58416b6ac ollamaPackages: add a bunch more 2024-10-13 08:37:50 +00:00
bc302df2fa ollamaPackages.{qwen2_5-7b,qwen2_5-14b}: init, and cleanup the surroundings 2024-10-13 08:37:50 +00:00
14da2b6b6c ollamaPackages: rename {model}_{variant} -> {model}-{variant} 2024-10-13 08:37:50 +00:00
ca9f2f5f07 ollamaPackages.{qwen2_5-coder-7b,mistral-large,mixtral-8x7b}: init 2024-10-13 08:37:50 +00:00
c4dbb977d4 llamaPackages.qwen2_5_32b: init 2024-10-13 08:37:50 +00:00
8380fdfb85 ollamaPackages.llama3_1_70b: init 2024-10-13 08:37:50 +00:00
cb963bba4c ollama: ship mistral 2024-10-13 08:37:50 +00:00
8744870cd4 ollamaPackages.mistral: init 2024-10-13 08:37:50 +00:00
3169ab33dd nix: ships in user environment 2024-10-13 08:37:50 +00:00
07218f2350 eg25-control: fix typos 2024-10-13 05:05:51 +00:00
e2fc11ba1a nixpkgs-bootstrap: fix unl0kr patch hash 2024-10-13 05:05:33 +00:00
cdfa8afcfc eg25-control: refactor in advance of PinePhonePro having different GPIOs for powering the modem 2024-10-13 00:48:08 +00:00
06ee80bc40 ollama: cleanup docs 2024-10-12 23:29:52 +00:00
21c44b3a3b nixpkgs-bootstrap: remove unused common.nix file 2024-10-12 23:15:56 +00:00
cba800ca17 ollama: enable AMD GPU acceleration 2024-10-12 23:10:42 +00:00
643a6e8309 neovim: fix sandboxing when run as sudo 2024-10-12 22:44:17 +00:00
a753cf34ec tree: fix sandboxing when run as sudo 2024-10-12 22:44:06 +00:00
cacec52d8e ollama: enable on desko 2024-10-12 22:43:49 +00:00
2edce8e6c8 refactor: use mkEnableOption,mkPackageOption where applicable 2024-10-12 19:36:50 +00:00
11b706b132 refactor: use lib.getExe where applicable 2024-10-12 19:34:42 +00:00
ef2db7aaf9 firefox: bookmarks: add a google videos search shortcut 2024-10-12 17:13:04 +00:00
59cb238b00 nixpkgs-bootstrap: 0-unstable-2024-10-08 -> 0-unstable-2024-10-12 2024-10-12 16:14:38 +00:00
1f485f179f nixpkgs-wayland: 0-unstable-2024-10-08 -> 0-unstable-2024-10-10 2024-10-12 16:14:23 +00:00
534f5fd45c firefox-extensions.ublock-origin: 1.60.1b10 -> 1.60.1b12; metamask 2024-10-12 16:14:05 +00:00
af7faeaafe common/fs: reduce the servo ftp mounts to just one ftp mount, plus a collection of bind mounts
simpler, more reliable, and less resource intensive!
2024-10-12 04:28:41 +00:00
b166de34ef common/fs: reduce the ftp liveness checks to just one service 2024-10-12 03:38:39 +00:00
b60f7af59b hosts/common/fs: refactor 2024-10-12 03:17:42 +00:00
3685a27e8e refactor: hosts/common/fs: split into multiple files 2024-10-12 03:14:34 +00:00
f8a1751e44 fs.nix -> fs/default.nix 2024-10-12 03:01:56 +00:00
758b58cc5e home/fs: make hung /mnt/servo/* less impactful (and also more debuggable)
logs now show in /var/log/curlftpfs, when enabled

previously unaccessed mounts still time out on first access without net, only it takes 120s instead of the more typical 20s

since each mount expires independently, it can still take 15 minutes after 'ls /mnt/servo/media' for that directory to become usable (but at least it *does*)
2024-10-12 03:00:01 +00:00
274a1683eb nwg-panel: *drastically* reduce pipewire refresh intervals, to reduce load and log noise 2024-10-11 19:13:28 +00:00
ddb10a0da3 bonsaid: acquire from upstream module 2024-10-11 00:06:51 +00:00
c10686cf0f nixpkgs-bootstrap: remove upstreamed alsa-utils patch 2024-10-10 23:07:31 +00:00
1ac398799c bonsai: begin to push the service upstream 2024-10-10 22:55:24 +00:00
295742239e nixpkgs-bootstrap: 0-unstable-2024-10-08 -> 0-unstable-2024-10-10 2024-10-10 18:03:01 +00:00
d9622a69a9 nixpkgs-wayland: 0-unstable-2024-10-06 -> 0-unstable-2024-10-08 2024-10-10 18:02:48 +00:00
37f535d2c4 firefox-extensions.{ether-metamask,fc_cast} -> latest 2024-10-10 18:02:32 +00:00
a4abb688c3 uassets: 0-unstable-2024-10-08 -> 0-unstable-2024-10-10 2024-10-10 18:02:10 +00:00
2803afc8e6 moby: sound: remove some configs borrowed from megi which arent needed in practice 2024-10-10 07:46:21 +00:00
994bc941b7 alsa-ucm-conf: tweak package priority to ensure that other alsa files take precedence over the base configs 2024-10-10 07:07:51 +00:00
312fba89e4 moby: define the audio/amplifier
combined with an out-of-tree ucm file, the audio device can actually make noise. no setup needed -- just run speaker-test after boot

this patch probably changes more than is strictly required: i can maybe reduce it over time
2024-10-10 06:50:46 +00:00
853a06d70b nixpkgs-bootstrap: add link to alsa-utils upstream PR 2024-10-10 05:14:59 +00:00
fe64c8950f pine64-alsa-ucm: fix install paths 2024-10-10 03:48:47 +00:00
3e4d3c9c46 sane-sync-from-iphone: integrate into main scripts/sync 2024-10-10 03:48:25 +00:00
0023983799 pine64-alsa-ucm: fix installation directory 2024-10-10 02:44:48 +00:00
19bccbbbeb kiwix-serve: obtain wikipedia zim via nix, instead of being stateful 2024-10-10 01:59:02 +00:00
966a29dff3 ship pine64-alsa-ucm, more likely to work with PinePhonePro 2024-10-10 01:58:39 +00:00
f43cdcbe32 pine64-alsa-ucm: init 2024-10-10 01:50:37 +00:00
450c61f384 firefox: add wk shortcut to search my wikipedia mirror 2024-10-10 01:49:09 +00:00
e0c8b64307 zimPackages.wikipedia_en_all_maxi: init at 2024-01 2024-10-10 00:37:24 +00:00
9aa5e82d93 directoryListingUpdater2: align with upstream nixpkgs PR 2024-10-09 23:29:57 +00:00
f7a21243da zimPackages: init
this includes wikipedia snapshots, though currently only their smaller ones (simply because the larger ones will take time to download)
2024-10-09 23:20:13 +00:00
d12c10e203 nixpkgs-bootstrap: link a patch for my alsa-ucm-conf update 2024-10-09 20:47:18 +00:00
012f4b4e88 alsaUtils (e.g. aplay): fix sandboxing 2024-10-08 23:02:29 +00:00
2833832b79 moby: define the i2s bus
this is enough for the sound card to come online, visible in /dev/snd and also pipewire

however i don't *hear* anything. speaker-test -c 2 does not work
2024-10-08 23:01:53 +00:00
ad0465456b moby: experimental device tree overlay to define the audio codec
the codec is probed, and i think enumerated over i2c,
but `aplay -l` shows empty.

earlier version omitted one of the power supplies and the kernel driver
complained:
```
[   33.506926] rt5640 1-001c: Device with ID register 0x0 is not rt5640/39
```

since this version of the patch doesn't have that error, i *think* the
driver read the device's id register over i2c, at least.

the device shows up at:
```
/sys/bus/platform/drivers/rk3x-i2c/ff110000.i2c/i2c-1/1-001c
```
but this is a static definition; it doesn't seem to say anything about
the runtime status of the device.
2024-10-08 22:23:36 +00:00
06e7118390 mpv-image-viewer: link to upstream 2024-10-08 18:23:19 +00:00
a65ff83306 re-enable handbrake 2024-10-08 18:22:54 +00:00
2070e8cbed video-trimmer: ship it
in the future this *could* integrate with mpv, better than my current clipping script...?
2024-10-08 16:25:44 +00:00
ad8976f145 fractal: switch back to using nixpkgs edition 2024-10-08 16:15:35 +00:00
01eb5b891f mpv: uosc: 5.2.0-unstable-2024-03-13 -> 5.2.0-unstable-2024-05-07
still not the latest, but updating further than this requires reworking my patches
2024-10-08 16:15:35 +00:00
f4e1b48298 video-trimmer: fix cross compilation 2024-10-08 15:44:34 +00:00
189710057a cross: simplify cargo cross-compilation patches 2024-10-08 15:44:21 +00:00
62d2801d55 nixpkgs-bootstrap: 0-unstable-2024-10-06 -> 0-unstable-2024-10-08 2024-10-08 14:36:42 +00:00
d539668f01 sops-nix: assets-unstable-2024-10-06 -> assets-unstable-2024-10-08 2024-10-08 14:36:29 +00:00
cf7a969429 uassets: 0-unstable-2024-10-06 -> 0-unstable-2024-10-08 2024-10-08 14:36:15 +00:00
722dfce78e toplevel: support derivation-type updateScripts 2024-10-08 14:01:37 +00:00
f4798e5fcf opencellid: implement an updateScript
also fix the package version, because apparently i forgot the date when manually updating just now
2024-10-08 14:01:11 +00:00
170fd579ad opencellid: 0-unstable-2024-06-20 -> 0-unstable-2024-10-07 2024-10-08 13:38:33 +00:00
adb2301fd5 cross: simplify the blueprint-compiler patching 2024-10-08 12:09:10 +00:00
801cdd424e mpvScripts: dont recurse into them
something infinitely recurses when i do. this impacts update scripts
2024-10-08 02:31:30 +00:00
1f47303938 mpv: tune image-positioning bindings 2024-10-08 02:18:33 +00:00
ea05bac480 mpv: enable image-positioning extension 2024-10-08 02:03:19 +00:00
0fa0ded0a4 mpvScripts.mpv-image-viewer: init at 0-unstable-2023-03-03 2024-10-08 01:19:14 +00:00
16580235b5 mpv extensions: lift sane_cast,sane_sysvol out to pkgs/
establishing a format for this will make it easier for me to package 3rd-party mpv scripts
2024-10-07 22:49:03 +00:00
c9fa30e758 mpv: disable auto-play-next for most images 2024-10-07 21:23:12 +00:00
f960b784b1 todo.md: fix opening of PDFs at a URI 2024-10-07 19:26:10 +00:00
01329b2498 clean up application URL associations, slightly
a lot of glib apps seem to struggle with http(s)://, possibly because of flatpak? so use mpv for images. no suitable option for pdfs
2024-10-07 19:05:58 +00:00
0fc169ed9b programs: cleanup the gvfs implementation (but, dont actually use it) 2024-10-07 18:04:03 +00:00
b89f1b203a firefox: bookmarks: add temu search 2024-10-07 08:58:33 +00:00
568cae8225 nixpkgs-bootstrap: 0-unstable-2024-10-04 -> 0-unstable-2024-10-06 2024-10-07 07:23:39 +00:00
f715c57994 nixpkgs-wayland: 0-unstable-2024-10-01 -> 0-unstable-2024-10-06 2024-10-07 07:23:18 +00:00
f1556419a4 sops-nix: assets-unstable-2024-09-30 -> assets-unstable-2024-10-06 2024-10-07 07:22:57 +00:00
f0dc904b4c uassets: 0-unstable-2024-10-03 -> 0-unstable-2024-10-06 2024-10-07 07:22:41 +00:00
8fbf243d54 ublock: 1.60.1b4 -> 1.60.1b8 2024-10-07 07:22:22 +00:00
7e380322d9 i2p-in-private-browsing: 2.6.1 -> 2.7.1 2024-10-07 07:22:07 +00:00
9c4235d521 nixpkgs-bootstrap: fix so the scope is recursed into and my updaters know to update it 2024-10-06 22:07:22 +00:00
0e6a94d399 refactor: impure.nix calculates localSystem for itself; avoid duplication since otherwise integrations/nix-update/default.nix would need to add that too 2024-10-06 21:46:40 +00:00
a42afed98f feeds: unsubscribe from Ezra Klein 2024-10-06 21:43:46 +00:00
2a1d0f9637 moby: fix KASLR 2024-10-06 21:11:45 +00:00
c636058efe todo.md: expand notes on moby KASLR 2024-10-06 20:34:44 +00:00
fc869c66ab todo.md: note that BPF is enabled on moby now
LSM support for eBPF active  //  systemd[1]: bpf-restrict-fs: LSM BPF program attached
2024-10-06 20:23:57 +00:00
4bf46a18b1 buffyboard: harden systemd service 2024-10-06 19:55:20 +00:00
a460a7461f programs: ship xxd 2024-10-06 18:42:39 +00:00
d109f0faa3 kernel: use nixpkgs architecture defaults, override only the fields i care about 2024-10-06 18:19:40 +00:00
7795a3f6aa dns: disable DNSSEC to avoid circular dependency with NTP 2024-10-06 13:00:12 +00:00
6579e6264c u-boot-pinephone-pro: disable HDCP blob 2024-10-06 12:10:27 +00:00
871b855204 todo.md: moby: enable dynamic DRAM clocking 2024-10-06 11:27:53 +00:00
3f58caa446 private-storage: mark as a dependency of default, so that even non-GUI systems like servo are sure to load it 2024-10-06 09:00:23 +00:00
974cf4a5a7 moby: use stock NixOS linux kernel, and apply config changes strictly through the boot.kernelPatches module
this is more composable, in case i want to make a kernel that's bootable on multiple devices, e.g.
2024-10-06 07:50:25 +00:00
37ceb63444 moby: initrd: remove extraneous sdhci_of_arasan module 2024-10-06 07:50:25 +00:00
be94ff4ab9 moby: initrd: remove extraneous spi_rockchip,dw_wdt modules 2024-10-06 07:50:25 +00:00
bdcb1c44e9 normalize the base kernel config nixpkgs applies for each host 2024-10-06 07:50:25 +00:00
440db76ddc fix sane-private-unlock sandboxing 2024-10-06 07:50:21 +00:00
761b5a7663 nit: nixpkgs-bootstrap: remove nonsensical argument defaults 2024-10-05 21:27:56 +00:00
a2eb2c2cec moby: remove from initrd unnecessary rk8xx_spi module 2024-10-05 21:27:29 +00:00
cb003b2307 moby: remove from initrd: ofpart,nvmem_rockchip_efuse 2024-10-05 20:48:47 +00:00
41620b790b moby: remove unneeded gpu_sched module from initrd 2024-10-05 20:33:55 +00:00
f33212ef75 moby: remove panfrost from the initrd
it's actually not needed for framebuffer graphics
2024-10-05 20:15:51 +00:00
a2478fa153 rk2aw: init 2024-10-05 19:08:00 +00:00
8fa8cd7a04 buffybox: 3.2.0-unstable-2024-09-26 -> 3.2.0-unstable-2024-10-05
my patches have been upstreamed :)
2024-10-05 18:45:31 +00:00
a45c0c0976 moby: ship fewer modules in the initrd 2024-10-05 18:34:16 +00:00
6de31b7bc4 sane-private-unlock: fix perms 2024-10-05 18:32:09 +00:00
1e6123b32d moby: ship fewer modules in the initrd 2024-10-05 17:48:18 +00:00
f7a9311c9a moby: ship fewer modules in the initrd 2024-10-05 17:23:27 +00:00
3442d4488f moby: ship fewer modules in the initrd 2024-10-05 17:02:59 +00:00
e07ed5fe02 moby: build the kernel with everything as a module 2024-10-05 16:47:34 +00:00
7590111b8f todo.md: drop the item about theming moby 2024-10-05 14:49:11 +00:00
caa41d5a95 todo.md: sync 2024-10-05 14:40:01 +00:00
38816c71ec todo: fix moby boot order 2024-10-05 14:08:04 +00:00
be50bf4499 README: update to reflect recent refactorings 2024-10-05 14:03:35 +00:00
358b16516b todo.md: sync 2024-10-05 13:48:01 +00:00
aa5ec54b92 pkgs: remove jellyfin-media-player-qt6, since i never used it in years 2024-10-05 13:42:11 +00:00
90dd7c8272 nit: nixpkgs-bootstrap: remove outdated comment 2024-10-05 13:37:06 +00:00
c528e25915 refactor: nixpkgs-bootstrap: drop uninteresting commented-out gnustep patch 2024-10-05 13:35:38 +00:00
58aaa1202a refactor: nixpkgs-bootstrap: use standard fetchpatch "name" instead of "title" 2024-10-05 13:30:01 +00:00
2c6d919d4f buffybox: add an updateScript 2024-10-05 13:27:00 +00:00
62faaebb76 buffybox: apply patches against upstream master, instead of sourcing my fork directly 2024-10-05 13:26:10 +00:00
526ad60d6c ssh: add gitlab.com pubkey 2024-10-05 13:05:44 +00:00
e64a5a486b unl0kr: supply via buffybox 2024-10-05 12:59:30 +00:00
96f563be18 buffybox: fix usleep typo to reduce CPU to something *much* more manageable 2024-10-05 12:53:46 +00:00
9ab10627ab buffybox: 3.2.0 -> 3.2.0-unstable-2024-10-05
with my patches, this gets much better CPU use

project has bee refactored so that it builds both unl0kr *and* buffyboard
2024-10-05 12:45:24 +00:00
3da1f78ff5 sway: ignore input events from buffyboard 2024-10-05 11:47:10 +00:00
383893eed2 sway: remove bluetooth stuff (unused) 2024-10-05 09:23:09 +00:00
ef4bda2b41 sane-wipe: fix sandboxing 2024-10-05 08:43:04 +00:00
189d7da00b firefox: link the bookmarks into fs in a way thats easier to edit at runtime 2024-10-05 08:42:18 +00:00
b3501d1b30 firefox: bookmarks: remove unneeded close tags and prevent firefox from deduping my bookmarks 2024-10-05 08:38:54 +00:00
b75af9678d firefox: bookmarks: format for human editing 2024-10-05 08:17:15 +00:00
b01eac692b firefox: add search bookmarks for aliexpress 2024-10-05 08:07:49 +00:00
3e40fe73f8 notifyActive activation script: fix
the DBUS_SESSION_BUS_ADDRESS env var referred to the XDG_RUNTIME_DIR, the latter wasn't set by the time the former was being evaluated
2024-10-05 07:17:51 +00:00
ec11d681ee sane-private-unlock: init
this presents a simpler unlock mechanism than my previous unl0kr script
2024-10-05 06:55:26 +00:00
0c825263af refactor: activationScripts.nvd: prefer lib.getExe shorthand 2024-10-05 06:13:31 +00:00
9d1bb05e49 refactor: remove unused sane-private-* scripts or move them into scripts/ 2024-10-05 06:03:14 +00:00
e60076bdb9 replace unl0kr with buffyboard
i still need to wire it to gocryptfs
2024-10-05 05:53:25 +00:00
4cead8eef2 todo.md: entry for reworking hosts/modules -> toplevel modules/ 2024-10-05 04:12:47 +00:00
10f662d2c2 todo.md: add entries for upstreaming to nwg-panel 2024-10-05 04:10:53 +00:00
85bddee024 todo.md: lift the hickory-dns TODOs into the hickory-dns module, now that i dont use it as system resolver 2024-10-05 04:09:05 +00:00
472706c769 todo.md: document bunpen ctrl-z bug 2024-10-05 04:05:05 +00:00
758b504757 nixpkgs: 0-unstable-2024-10-03 -> 0-unstable-2024-10-04 2024-10-05 03:08:53 +00:00
11e31bb0d1 firefox-extensions.ublock-origin: 1.60.1b2 -> 1.60.1b4 2024-10-05 03:08:53 +00:00
48c3456080 buffyboard: init at 3.2.0
maybe i can use this to replace unl0kr someday
2024-10-05 03:08:53 +00:00
2b50425b79 sane-sysload: fix battery logic to also work on Pinephone Pro (and more devices, generally) 2024-10-04 19:09:52 +00:00
4471ef5e91 firefox: search bookmarks: add Google 2024-10-04 18:45:55 +00:00
a8625a915f lappy: raise pipewire buffer to avoid audio crackling 2024-10-04 18:45:55 +00:00
780ec13a11 firefox: disable OCSP altogether 2024-10-04 18:45:55 +00:00
bde70fe6bf firefox: use system resolver (omg) 2024-10-04 18:14:50 +00:00
6647223523 dns: replace local recursive resolver with unbound
this affects lappy, moby AND desko, but not servo (yet)
2024-10-04 17:44:30 +00:00
6d3a9e97ea modules/ids: improve error message for non-deterministic IDs 2024-10-04 17:14:37 +00:00
1ab91fb1ea firefox: search bookmarks: allow "amazon" for Amazon.com 2024-10-04 13:18:37 +00:00
44418136f7 firefox: bookmarks: fix GH, MAL search URLs 2024-10-04 10:45:14 +00:00
c3fbb9f39a firefox: sort bookmarks 2024-10-04 10:05:43 +00:00
060996b03c firefox: add search shortcut for docs.rs 2024-10-04 10:05:14 +00:00
37a8c93f4f firefox: add search shortcut for reddit 2024-10-04 10:04:31 +00:00
de3debab16 alacritty: set the cursor to always blink
this seems to override any TTY escape codes, and survive e.g. tput reset
2024-10-04 09:30:05 +00:00
07a0718775 zsh: reset terminal mode on every prompt to prevent broken applications from breaking my input 2024-10-04 09:29:01 +00:00
705a7a83b1 fs: overwrite symlinks/data on deploy 2024-10-04 09:26:50 +00:00
c290358cad feeds: remove the useless super-package: feeds can just be an ordinary attrset 2024-10-04 04:56:20 +00:00
6020aeb9cc updateScripts: fix to work with package names that contain slashes 2024-10-04 04:55:22 +00:00
5f2d080453 nixpkgs-bootstrap: grab procs cross fix from upstream nixpkgs PR 2024-10-04 03:42:18 +00:00
3b8fc63e87 nixpkgs-bootstrap: 24.05-unstable-2024-10-02 -> 0-unstable-2024-10-03 2024-10-04 03:20:15 +00:00
a3721ac300 uassets: 0-unstable-2024-10-02 -> 0-unstable-2024-10-03 2024-10-04 03:20:01 +00:00
75aee6a4b6 firefox-extensions.ublock-origin: 1.60.1b1 -> 1.60.1b2 2024-10-04 03:19:45 +00:00
73b0a9fd88 nixpkgs-bootstrap: BETTER updateScript fix 2024-10-03 17:26:54 +00:00
69c29f5089 nixpkgs-bootstrap: fix so nix-update-script can actually substitute the hashes 2024-10-03 13:01:26 +00:00
588fc12bdf sm64coopdx: acquire from upstream nixpkgs PR 2024-10-03 12:39:39 +00:00
083dcd03f7 refactor so that my update scripts can apply to the nixpkgs bootstrap 2024-10-03 12:19:27 +00:00
16ded395fd nixpkgs: annotate with recurseIntoAttrs to aid tools like my updater 2024-10-03 11:33:44 +00:00
30543db25a kaiteki: remove
flutter.mkFlutterApp doesn't even exist anymore
2024-10-03 11:29:40 +00:00
3b5040c641 nixpkgs: update STAGING/STAGING-NEXT: 24.05-unstable-2024-10-02 -> 24.05-unstable-2024-10-03
don't actually bump master yet, because there's too much to rebuild.
most importantly, this just gets the different branches all actually
back on different commits so i can update them with the update script.
2024-10-03 11:19:09 +00:00
9a52c8686c refactor: nixpkgs/list.nix -> nixpkgs/patches.nix 2024-10-03 11:14:38 +00:00
5b4cb2c387 programs: ship procs 2024-10-03 11:13:41 +00:00
4815e4858c nixpkgs: apply patch to fix procs cross compilation 2024-10-03 11:13:34 +00:00
614a323d7f nixpkgs: fix to actually plumb variant where it was meant to go 2024-10-03 10:42:15 +00:00
801a1075a0 move rk818-charger out of pkgs/additional 2024-10-03 09:46:35 +00:00
e2662e0f20 pkgs: move another batch of pkgs to by-name
this set of packages are ones i've long had disabled, so this actually also adds them back in scope
2024-10-03 09:37:58 +00:00
0d4a5ab940 fluffychat-moby: remove
i haven't used it for years, it doesn't cross compile
2024-10-03 09:35:14 +00:00
a36c12712e refactor: remove gpodder-adaptive-configured alias from toplevel packages 2024-10-03 09:33:00 +00:00
474e37d1e4 pkgs/nixpkgs: move to by-name 2024-10-03 09:30:34 +00:00
141ce4be3d port (most of the) pkgs overlay to nixpkgs by-name style 2024-10-03 07:28:58 +00:00
6e9c7a21eb pkgs/patched: remove
ibus upstreamed to nixpkgs, in PR: <https://github.com/NixOS/nixpkgs/pull/346076>

the others are simple enough i can recreate them if ever needed
2024-10-03 05:21:10 +00:00
da19374044 docs: update references to s6-rc (now using systemd) 2024-10-03 03:36:38 +00:00
0f12c45aa6 swaync: port s6 -> systemd 2024-10-03 03:36:38 +00:00
0744237c13 programs: fix most service invokers (sway, nwg-panel, etc) to use systemd 2024-10-03 03:20:05 +00:00
9991518a64 feeds: unsubscribe from ColdFusion + B1M 2024-10-03 03:00:34 +00:00
45b2d6fdf9 feeds: subscribe to Adam Savage YT channel 2024-10-03 02:59:42 +00:00
198f6a1836 feeds: fix \u2019 -> ' encoding in feed fields 2024-10-03 02:58:13 +00:00
1a2ef5e660 browserpass: move from pkgs/patched -> hosts/common/programs/firefox 2024-10-02 17:45:19 +00:00
89d36bacf6 programs/firefox: refactor the extensions to leverage sane.programs (and, in the future, sandboxing) 2024-10-02 17:39:58 +00:00
a668da3c2e firefox: comment out a few extensions i never use 2024-10-02 16:58:59 +00:00
b7f3267102 uassets: 0-unstable-2024-09-27 -> 0-unstable-2024-10-02 2024-10-02 16:30:59 +00:00
d9c2415318 sops-nix: assets-unstable-2024-09-27 -> assets-unstable-2024-09-30 2024-10-02 16:30:44 +00:00
39ace53760 nixpkgs-wayland: 0-unstable-2024-09-27 -> 0-unstable-2024-10-01 2024-10-02 16:30:27 +00:00
ead19dfd84 firefox-extensions.ether-metamask: 11.16.16 -> 12.3.1 2024-10-02 16:01:21 +00:00
e35278e7a8 firefox.extensions.ublock-origin: 1.58.1b12 -> 1.60.1b1 2024-10-02 16:01:06 +00:00
07e33af8e2 firefox-extensions.sponsorblock: 5.7 -> 5.9.4
now will you please stop nagging me to update
2024-10-02 16:00:42 +00:00
d7293219ee firefox: suport passff as an addon
though i don't yet have it wired to my password store
2024-10-02 15:59:31 +00:00
df972d7b9c refactor: firefox: split out an option for nativeMessagingHosts 2024-10-02 15:58:54 +00:00
976946541e firefox-extensions: fix update scripts 2024-10-02 15:55:15 +00:00
606c56036a programs/firefox: remove some dead code 2024-10-02 15:29:46 +00:00
78346cccaf passff: init at 1.20.1 2024-10-02 15:28:31 +00:00
ceb0d02efe nixpkgs: 24.05-unstable-2024-09-28 -> 24.05-unstable-2024-10-02 2024-10-02 15:06:47 +00:00
0710419495 programs/assorted: remove programs i havent used in too long 2024-10-02 14:56:38 +00:00
25bba7d73f visidata: remove unnecessary patching 2024-10-02 14:48:08 +00:00
c672c46034 nwg-panel: remove outdated cross-compilation fixes 2024-10-02 14:32:02 +00:00
1315f93471 users: dont restart systemd services on activation
i can see why this would be desired... but unless i plumb a way to selectively disable it, i'd prefer to disable it by default
2024-10-02 14:30:44 +00:00
47e093fc06 playerctl: lift patch to only the place its needed 2024-10-02 14:28:37 +00:00
8f5835b814 todo.md: add note about services being restarted on deploy 2024-10-02 13:54:01 +00:00
fa4ff32ba7 todo.md: remove s6 and sops items (no longer relevant) 2024-10-02 13:49:59 +00:00
0b70948d08 feeds: unsubscribe from Byrne Hobart 2024-10-02 13:44:56 +00:00
dc4e86213d firefox: bookmarks: remove the date/time fields 2024-10-02 13:31:49 +00:00
484a177e5c firefox: add GitHub search bookmark 2024-10-02 13:10:20 +00:00
c8de203198 browserpass/sops-gpg-adapter: remove dead code "sane-secrets-unlock"
i don't give firefox access to ~/.ssh, so this wasn't doing anything
2024-10-02 12:32:16 +00:00
b532189b2f overlays/preferences: remove overrides which are no longer needed/wanted 2024-10-02 12:28:52 +00:00
ff7d1639c9 pkgs: remove no-longer-needed clightning patch 2024-10-02 12:17:16 +00:00
5884ecde42 fix scripts/update to not fail because of linuxPackages 2024-10-02 12:08:44 +00:00
695e639fc9 git: add an alias for "git reset --hard HEAD" 2024-10-02 11:56:58 +00:00
cf33b0e244 rk818-charger: dont ship clk-rk808, rk808-regulator, rk8xx-spi since the mainline versions work fine 2024-10-02 11:51:07 +00:00
d0cd8ed691 moby: kernel: build the in-tree MFD_RK8XX, just plumb it so nixos doesnt complain about conflicting module suppliers 2024-10-02 11:51:07 +00:00
16d31669d1 yt-dlp: add a bandwidth limit when considering the preferred stream 2024-10-02 10:18:30 +00:00
69ae2df933 moby: add rk818_{battery,charger} to boot.kernelModules
with this they're loaded on boot and now i actually do get capacity info
2024-10-02 08:22:54 +00:00
80b3016363 moby: deploy my rk818-charger kernel module
it needs to be manually probed, but after that i *do* get current measurement, just no capacity
2024-10-02 01:29:04 +00:00
881aec85c4 rk818-charger: add clk-rk808 and rk808-regulator modules, unchanged from upstream
i'm not a fan of this approach: i should just build the mainline kernel all modules, then remove the ones i want to replace
2024-10-02 01:04:33 +00:00
936b197d03 moby: fix kernel/modules to be in a bootable state
probably i actually can enable myt rk818-charger now that i have the right modules in initrd, but this commit serves as a known-good checkpoint
2024-10-02 00:44:25 +00:00
4ff0bf7cde pkgs: stop patching helix, pasta, firefox-unwrapped at the global scope
these patches could be re-applied if needed, via `sane.programs`.
if i remove my other patches, then i can migrate `pkgs/additional/` to
just `pkgs/`
2024-10-02 00:24:40 +00:00
99285c5911 picocom: fix cross compilation 2024-10-02 00:22:01 +00:00
34f0bc529b programs: ship picocom 2024-10-02 00:01:34 +00:00
2b85563b65 rk818-charger: import rk8xx-spi from mainline 2024-10-01 23:30:46 +00:00
d00e26c044 plumb rk818-charger module into the moby config 2024-10-01 15:08:56 +00:00
6f38c7847f SPECULATIVE: moby: build kernel with MFD_RK8XXX_* as a module instead of as builtin 2024-10-01 13:06:10 +00:00
a641dc6e39 rk818-charger: update rk8xx-{core,i2c}.c with patches from megi's kernel tree that add compat to rk818 2024-10-01 12:59:24 +00:00
2a4cbcf327 rk818-charger: import rk8xx-{core,i2c}.c from mainline (6.11) linux 2024-10-01 12:44:51 +00:00
dbd914b58f rk818-charger: init at 0.1 (WIP)
this doesn't build yet.
i'll also need to import the patched mfd driver.
2024-10-01 12:29:00 +00:00
caabf1421b bt/wifi: switch back to sane.fs; fix so WiFi creds are available before NetworkManager starts 2024-10-01 11:21:45 +00:00
b56aae444d MASSIVELY reduce eval time for cross-compiled hosts (i.e. moby)
moby eval time is reduced from ~3m to 17s
2024-10-01 09:54:33 +00:00
31aeaf8f35 modules/programs: remove programs whose packages no longer exist 2024-10-01 09:49:16 +00:00
8795212c67 programs: discord: lift to own file 2024-10-01 05:45:28 +00:00
c7abda9393 impure.nix: add new pseudohosts: baseline-{aarch64,x86_64}
immediately apparent is that the config takes 4x as long to eval on cross than on native, regardless of anything else
2024-10-01 04:38:50 +00:00
044bf8b783 refactor: remove dead modules/lib/fs.nix file 2024-10-01 03:55:29 +00:00
61df81291b refactor: optimize eval time
lifting `let` bindings up where possible helps reduce the number of thunks nix has to allocate. this patch only does that by 0.3%-ish, though
2024-10-01 03:54:44 +00:00
80c67caf19 modules/fs: remove unused symlink.targetName option 2024-09-30 15:18:32 +00:00
1eea81c4ff refactor: sane.fs: lift acl up to the toplevel; drop generated options 2024-09-30 15:15:30 +00:00
97d38aecab feeds: subscribe to timclicks.dev 2024-09-30 15:00:45 +00:00
3114b56f41 yt-dlp: fix video sort argument 2024-09-30 13:55:48 +00:00
894e2ad13a ntfy-sh: dont ship the desktop component either 2024-09-30 11:44:29 +00:00
cf4f232b30 goaccess: disable 2024-09-30 11:34:43 +00:00
a568f1273c ntfy-sh: disable 2024-09-30 11:34:34 +00:00
e88e693026 komga: disable 2024-09-30 11:14:35 +00:00
01363bf2e0 rsync: move from console packages to sysadmin package 2024-09-30 10:40:22 +00:00
e29842aa9d sane.fs: simplify 2024-09-30 10:19:39 +00:00
50c52683ff sane.fs: remove unused mount.mountConfig, mount.unitConfig options 2024-09-30 10:19:39 +00:00
ca85dac4ac sane.fs: make bind a required sub-option of mount 2024-09-30 10:19:39 +00:00
e52f57f5a2 sane.fs: remove unused mount.depends 2024-09-30 10:19:39 +00:00
49b5da6385 sane.fs: dont generate systemd services for every file/dir/symlink
that's handled by systemd-tmpfiles now
2024-09-30 10:19:39 +00:00
572dd5854d WIP: sane.fs: remove wantedBy/wantedBeforeBy options 2024-09-30 10:19:39 +00:00
0c270fe4a3 WIP: sane.fs consumers: avoid wantedBy/wantedBeforeBy 2024-09-30 10:19:39 +00:00
fb85b62d04 prosody: populate /etc/* using environment.etc 2024-09-30 10:19:39 +00:00
48c81610a5 sane.fs: remove public access to the "unit" fields
fs entries soon won't correspond to systemd units, and hence that option's a bit nonsensical
2024-09-30 09:10:40 +00:00
e7cf14cc4c /var/lib/systemd/backlight: persist using ordinary symlink-based approach
it works, at least on lappy
2024-09-30 05:44:42 +00:00
6983dbe8c4 sane.fs: fix so my tmpfiles.d always runs before anything else (like e.g. /var/lib stuff) 2024-09-30 05:44:42 +00:00
c71d2c846c sane.fs: symlink files into place using systemd.tmpfiles 2024-09-30 05:43:51 +00:00
3ae8e1feb0 postgres: upgrade database 15 -> 16 2024-09-30 05:43:27 +00:00
d091a016aa nit: cross: lift gnome-settings-daemon up to the toplevel (as nixpkgs has done), and comment it out since it doesnt build anymore 2024-09-29 15:54:05 +00:00
4035aae777 nit: syshud: format 2024-09-29 15:14:53 +00:00
b8824ed332 nixpkgs: nit: tweak fetchpatch source ordering to prefer the most upstreamed source 2024-09-29 15:14:41 +00:00
fa778dba76 nixpkgs: push libpeas2/libjxl patches upstream 2024-09-29 15:13:59 +00:00
f3de4c5da3 cross: libpeas2: proper build fix, and work toward upstreaming 2024-09-29 13:55:44 +00:00
c9d5d3eeca refactor: modules/users: dont hardcode $HOME 2024-09-29 07:17:00 +00:00
6d6f29293c hosts/common/fs: remoteServo: remove use of sane.fs.*.mount
part of an effort to simplify sane.fs
2024-09-29 01:57:22 +00:00
3cbb45fa4c hosts/common/fs: remoteHome: remove use of sane.fs.*.mount
part of an effort to simplify sane.fs
2024-09-29 01:52:34 +00:00
c44b5240d1 cross: replace xdg-desktop-portal-gnome with an upstreamable libjxl fix 2024-09-29 00:41:24 +00:00
66d9957173 nixpkgs: remove upstreamed xdg-desktop-portal cross compilation patch 2024-09-28 23:35:03 +00:00
823d607867 programs: use extended ${var} variable expansion in command expressions to satisfy systemd 2024-09-28 22:07:32 +00:00
22f67ac624 nixpkgs: 24.05-unstable-2024-09-27 -> 24.05-unstable-2024-09-28 2024-09-28 21:31:50 +00:00
5857bdcc81 persist: remove the unused "initrd" store 2024-09-28 14:25:40 +00:00
8fb74594c9 todo.md: replace unl0kr with buffyboard 2024-09-28 14:25:40 +00:00
995db12ec4 seatd: declare the runtime dir with systemd.tmpfiles instead of sane.fs 2024-09-28 14:25:40 +00:00
75a8614ae8 sanebox: remove symlink-cache
i don't use sanebox anymore, and the cache was awful while it did exist, so just delete that
2024-09-28 14:25:40 +00:00
30fd53803f derived-secrets: remove 2024-09-28 14:25:40 +00:00
0a3a60ab38 servo: port coturn shared secret to sops
NOW i can delete derived-secrets
2024-09-28 14:25:40 +00:00
9bd80447f6 wg-home: port away from derived-secrets
and now i can kill derived secrets?
2024-09-28 14:25:40 +00:00
d7c26b736c remove all users of sane.fs.*.generated (except derived-secrets, that comes later)
this will allow me to reduce the scope of sane.fs, and then optimize it to not create a systemd service per each entry
2024-09-28 14:25:40 +00:00
2c1857793f servo/fs: remove swapDevices comment 2024-09-28 10:49:35 +00:00
74469457eb scripts/check-uninsane: remove legacy zfs test
i don't use zfs anymore
2024-09-28 10:48:16 +00:00
08fc90bd53 refactor: lemmy: fewer file-level inherits 2024-09-28 09:57:35 +00:00
8145435445 static-nix-shell: fix lints 2024-09-28 09:56:58 +00:00
aa7e1dfd33 refactor: modules/data/feeds: fewer file-level inherits 2024-09-28 09:55:12 +00:00
09cd3ec2a5 refactor: hosts/modules/roles/dev-machine: fewer file-level inherits 2024-09-28 09:53:59 +00:00
674699bf05 refactor: hosts/common/programs/zeal: fewer file-level inherits 2024-09-28 09:53:04 +00:00
911e03fcb4 refactor: hosts/modules: fewer file-level inherits 2024-09-28 09:51:17 +00:00
a1c2078166 refactor: hosts/modules/roles: fewer file-level inherits 2024-09-28 09:48:32 +00:00
06629a5921 refactor: roles/client: remove unused module args 2024-09-28 09:46:41 +00:00
ccee8ae8f7 todo.md: remove pkgs.impure-cached item (use pkgsCCache) 2024-09-28 08:55:20 +00:00
09c9b74350 unl0kr: delay start until after the framebuffer appears 2024-09-28 07:42:37 +00:00
423d7a2201 wine: disable sandboxing 2024-09-28 07:02:27 +00:00
5fa39f871c nixpkgs: 24.05-unstable-2024-09-21 -> 24.05-unstable-2024-09-27 2024-09-28 03:44:33 +00:00
b0132c9694 nixpkgs-wayland: 0-unstable-2024-09-21 -> 0-unstable-2024-09-27 2024-09-28 03:43:55 +00:00
71e812bfbf syshud: 0-unstable-2024-09-15 -> 0-unstable-2024-09-26 2024-09-28 03:43:41 +00:00
52707c82d4 sops-nix: assets-unstable-2024-09-16 -> assets-unstable-2024-09-27 2024-09-28 03:43:29 +00:00
d2ac1892cb uassets: 0-unstable-2024-09-21 -> 0-unstable-2024-09-27 2024-09-28 03:43:16 +00:00
138f435b38 signal-desktop-from-src: 7.18.0 -> 7.26.0 2024-09-28 03:43:01 +00:00
d073250032 users: switch to systemd services by default 2024-09-28 03:38:46 +00:00
edb665abd0 users: add a systemd backend for managing services 2024-09-28 03:38:46 +00:00
3bbec161bf servo: fix clightning service 2024-09-27 15:50:53 +00:00
d74164c455 moby: seal the initrd modules to just whats needed 2024-09-27 13:49:08 +00:00
4482414839 moby: remove unneeded goodix_ts from initrd 2024-09-27 13:42:06 +00:00
d70415d5fe moby: remove unneeded gpu_sched from initrd 2024-09-27 13:35:36 +00:00
8ebd612ec6 moby: remove unneeded dw_wdt from initrd 2024-09-27 13:28:06 +00:00
ebb57de4fa moby: remove unneeded rockchip_dfi from initrd 2024-09-27 13:12:31 +00:00
ccb90463f7 moby: remove unneeded rockchip_thermal from initrd 2024-09-27 13:08:51 +00:00
34153465d4 moby: remove unneeded rockchip_saradc from initrd 2024-09-27 13:02:22 +00:00
28aa84f719 moby: remove unneeded pwm_rockchip from initrd 2024-09-27 12:55:59 +00:00
3b49ec9087 moby: remove fusb302 module from initrd
it's not needed for early graphics
2024-09-27 12:50:50 +00:00
f71a28ea89 moby: remove some more modules from the initrd
i still get early graphics
2024-09-27 12:45:29 +00:00
86f8f874ac moby: try to fix the battery devicetree overlay, but i still dont see any /sys fs node for it... 2024-09-27 12:30:49 +00:00
4c3a843b05 moby: remove a few more modules from initrd
still get initrd graphics, yay
2024-09-27 12:30:49 +00:00
cdce083050 moby: remove some more modules from the initrd
it still boots, to graphics and net, though i didn't test the serial out
2024-09-27 12:12:48 +00:00
557f8f343d moby: remove some more kernel modules from the initrd
i still get early display, and serial output
2024-09-27 11:56:45 +00:00
ef9016c1de moby: fix the lradc threshold so that volume-down actually triggers 2024-09-27 11:48:12 +00:00
faa5742ca3 linux-sane-pinephonepro: remove DRM-related overrides, not necessary for boot/graphics 2024-09-27 11:32:13 +00:00
2f49f0a2cf dtc: fix sandboxing 2024-09-27 10:46:36 +00:00
518180fd61 moby: remove a bunch of kernel modules from the initrd 2024-09-27 10:45:15 +00:00
0ee20fb3ad moby: define a DeviceTree Overlay for the battery
it compiles, and /sys/firmware/fdt shows that it was merged, but this seems not enough to actually get a battery readout
2024-09-27 10:44:57 +00:00
9558cbd6b2 moby: reduce the initrd module closure
i can probably reduce *much* further; it's nice to keep graphics in the initrd though, which i don't think i had when using just the pmOS modules
2024-09-27 09:15:15 +00:00
dcbce37ded refactor: hal: place pine64-pinephone-pro into own subdirectory 2024-09-27 08:50:47 +00:00
d4a9df38b7 WIP: moby: slim down the kernel config so that it fits within the 63.5 MiB u-boot limit 2024-09-27 08:47:01 +00:00
7b638b5ab8 moby: don't ship a massive initrd; measure the modules i load at boot and ship only those.
the massive initrd proved to have problems with e.g. wireless driver failing to load its firmware
2024-09-27 06:18:37 +00:00
06b53fbb87 moby: bump bootloader config limit from 8 -> 10 2024-09-27 03:37:47 +00:00
e93680c336 WIP: moby: include module blacklists in the initrd
i don't know if this fixes things; i was seeing net connectivity issues where the broadcom wlan fails to probe
2024-09-27 03:26:14 +00:00
60c2914c09 linux-megous: expose all the patches as one series 2024-09-26 11:03:03 +00:00
0546384ccd moby: ship kernel modules not as builtins but actually as modules, and place *all* of them in the initrd
somehow this actually works. even on stock u-boot: the kernel is 30-something MiB, the compressed initrd about 110 MiB decompressed to 250MiB
2024-09-26 10:01:25 +00:00
3b573b8653 moby: remove most kernel config overrides
PPP still boots -- but only using my patched u-boot.
stock u-boot will fail to load it, because its slightly greater than
the limit of 63.5 MiB.
2024-09-26 07:40:49 +00:00
9aebaba1d6 moby: kernel: optimize for size
u-boot has a 63.5 MiB limitation on the kernel size, it seems, and that's probably all or most of the issues i was hitting with kernel config
2024-09-26 06:53:45 +00:00
4c554e54c7 u-boot-pinephone-pro: tune UART & memory addresses 2024-09-26 05:54:14 +00:00
0a7606231d WIP: moby: hack an impure kernel for faster dev cycles 2024-09-26 02:39:21 +00:00
afe949be05 moby: drop CMA_SIZE_MBYTES kernel override
now that i'm building a size-optimized image, this WORKS
2024-09-26 01:43:24 +00:00
20265a899b moby: optimize kernels for size
this is REQUIRED for future kernel changes i plan: u-boot has limitations on the kernel size it can load
2024-09-26 01:42:35 +00:00
3de9465de9 moby: drop AUXDISPLAY & related kernel overrides
PPP still boots
2024-09-25 16:55:04 +00:00
94f09de863 moby: kernel: remove config options which are already defaults
that is, this should not trigger any rebuilds
2024-09-25 16:55:04 +00:00
8d3877bbb9 moby: kernel: clarify that at least one of the NO_HZ_IDLE-related kernel configs is required for boot
does not boot when these are removed
2024-09-25 16:55:04 +00:00
74a5b8f963 moby: disable NR_CPUS & related kernel overrides
PPP still boots.
2024-09-25 16:55:04 +00:00
9641676da2 moby: try (but fail) to drop some kernel configs
this re-applies the following commits from before autoModules=true, but commented out:
- 9ad0b8f45a127572970d3decf3f0532df3fba021
- de98898c2ebb30c189063626241f19aa792da9d8
2024-09-25 16:55:04 +00:00
585ad13c68 moby: try (and fail) to drop some more kernel configs
this re-applies the following commits from before autoModules=true, commented out:
- 217adc2b47e5de74726c6e3055f1b4421de071fa
- 6b84e9959458948bc33284e64aa0453a2ae949ca
2024-09-25 16:55:04 +00:00
25b9644f4e moby: try (and fail) to reduce kernel config
this reapplies the following commits from before `autoModules=true`, but commented out:
- fa0508521995f4510ee4e08f9d1eb086eb64f707
- 513c4b1aa0e2800ea1d867ec158510bb56fac794
2024-09-25 16:55:04 +00:00
19d15eef8d moby: try (but fail) to remove a few kernel configs, mark them required instead
this is a re-application of the following commits, but against the
autoModules + no-pmos kernel:

- ee4068718bf72e8072d81697eba07cdd9008cc82
- 95be7fc4cb4ca38b2396428999d531c508f2bb95
- 278b6ec804cec470d82ef288f5783f7a0afa748d
- 2737688cae5a735099ab4fc7f77a1cb8f841beef
2024-09-25 16:55:04 +00:00
27358915e9 moby: try (but fail) to disable some kernel configs
this is a re-application of the following commits, but against the
autoModules + no-pmos kernel:

- 387d9df23b1fc7649f2c85182c41c800a0d15313
- 4d42ca2a2b77d677c12800e963d6378499ba9c68
2024-09-25 16:55:04 +00:00
97bce7e39b moby: kernel: drop pmos config
PPP still boots
2024-09-25 16:55:04 +00:00
2e3e950b29 moby: deploy kernel with autoModules = true
this requires re-introducing some kernel config overrides i was using earlier.
hopefully they can be reduced effectively, again.
2024-09-25 16:55:04 +00:00
63c2d83fb0 u-boot-pinephone-pro: add instructions for how to install to SD card 2024-09-25 16:53:33 +00:00
6d0a2d63fc users: make the service manager partly configurable 2024-09-25 15:39:57 +00:00
a2e709b940 u-boot-pinephone-pro: init 2024-09-25 14:54:21 +00:00
264297af7a linux-megous: import all commits relative to 6.11.0
this includes some massive stuff for e.g. the WiFi driver. if the size of that patch causes anyone issues let me know and i'll delete it / work around it
2024-09-25 13:31:22 +00:00
872d662716 linux-megous: orange-pi-6.9-20240721-2345 -> orange-pi-6.11-20240915-2344
this builds, but i did not deploy
2024-09-25 13:31:22 +00:00
7c37b10332 scripts/deploy: allow omitting the "host" argument 2024-09-25 13:31:22 +00:00
693251d901 moby: kernel: note that PRINTK_INDEX=n is required for boot 2024-09-25 13:31:22 +00:00
9d5174077e yt-dlp: move config to recommended location 2024-09-25 13:31:22 +00:00
19ef5ff32a moby: kernel: note that IO_STRICT_DEVMEM is required for boot 2024-09-25 13:31:22 +00:00
7e3e89778d moby: drop CRASH_DUMP kernel override
PPP still boots.
2024-09-25 13:31:22 +00:00
f3f162f87a moby: drop HOTPLUG_PCI_PCIE=n kernel override
PPP still boots.
2024-09-25 13:31:22 +00:00
00f9973a2c moby: drop RANDOM_KMALLOC_CACHES=n kernel override
PPP still boots.
2024-09-25 13:31:22 +00:00
c6239e2501 moby: drop RUNTIME_TESTING_MENU kernel override
PPP still boots
2024-09-25 13:31:22 +00:00
aa1fa85706 moby: kernel: note that SHUFFLE_PAGE_ALLOCATOR=n is required for boot 2024-09-25 13:31:22 +00:00
e9084e6994 moby: note that RUNTIME_TESTING_MENU is likely optional, since removing both IO_STRICT_DEVMEM and PRINTK_INDEX breaks boot 2024-09-25 13:31:22 +00:00
6c089ccd55 moby: kernel: note that TRANSPARENT_HUGEPAGE_ALWAYS=y is required 2024-09-25 13:31:22 +00:00
a650261e47 moby: drop DRM_ACCEL kernel override
PPP still boots.
2024-09-25 13:31:22 +00:00
8b8a460045 moby: kernel: separate TRANSPARENT_HUGEPAGE_ALWAYS from the other options 2024-09-25 13:31:22 +00:00
df45fd1743 moby: kernel: remove extraneous PREEMPT-related options
this is a no-op change: the dropped option values are defaults from the remaining ones
2024-09-25 13:31:22 +00:00
0c6886eb59 moby: kernel: note that CONFIG_PREEMPT is required for boot AND so are the other options
though honestly i can't say why; the config diff is confusing
2024-09-25 13:31:22 +00:00
550d455607 moby: drop NR_CPUS kernel override
PPP still boots.
2024-09-25 13:31:22 +00:00
9e0ce1fc0c moby: kernel: clarify that something in the IO_STRICT_DEVMEM group is needed 2024-09-25 13:31:22 +00:00
c8f351e843 moby: note that either CRASH_DUMP or CRASH_RESERVE are required kernel options 2024-09-25 13:31:22 +00:00
71b9f3f3ec moby: remove KFENCE kernel override
PPP still boots.
2024-09-25 13:31:22 +00:00
1c040251e0 moby: drop BT_HCIUART_BCSP & related kernel overrides
PPP still boots.
2024-09-25 13:31:22 +00:00
81abe8c44d moby: drop NO_HZ_IDLE & related kernel overrides
PPP still boots
2024-09-25 13:31:22 +00:00
ca52382941 moby: note that the NR_CPUS kernel config group is separate from the others 2024-09-25 13:31:22 +00:00
508130132a moby: note that HOTPLUG_PCI_PCIE & related kernel config overrides are required to boot 2024-09-25 13:31:22 +00:00
d031a74583 moby: mark RANDOM_KMALLOC_CACHES & related kernel configs as required 2024-09-25 13:31:22 +00:00
6f1f3843b6 moby: note that CRASH_DUMP & other kernel configs are required for boot 2024-09-25 13:31:22 +00:00
388eebfc71 WIP: moby: drop ATH10K_DFS_CERTIFIED & related kernel configs 2024-09-25 13:31:22 +00:00
418cc7cfc2 moby: drop AUXDISPLAY & related kernel config overrides 2024-09-25 13:31:22 +00:00
397ca4cea8 moby: drop SOFTLOCKUP_DETECTOR_INTR_STORM & other kernel configs
PPP boots without these
2024-09-25 13:31:22 +00:00
b2bceb3d0c moby: kernel: clarify that NO_HZ_IDLE & co are needed for boot 2024-09-25 13:31:22 +00:00
99ab05a928 moby: note that ATH10K_DFS_CERTIFIED & co are required for boot 2024-09-25 13:31:22 +00:00
9f72c5ccb2 moby: note that PREEMPT kernel config options are *required* for boot 2024-09-25 13:31:22 +00:00
de6c5f2720 moby: remove kernel configs for CPUMASK_OFFSTACK & co
it boots
2024-09-25 13:31:22 +00:00
c631b134ac moby: kernel: remove commented out configs 2024-09-25 13:31:22 +00:00
52fa8eea2d moby: kernel: mark SYSFB_SIMPLEFB & co as required for boot 2024-09-25 13:31:22 +00:00
1d559bfd8f moby: mark NO_HZ_IDLE kernel optiosn & co as required for boot 2024-09-25 13:31:22 +00:00
635bde0403 moby: kernel config: properly remove HARDLOCKUP_DETECTOR patches & co
it should still boot
2024-09-25 13:31:22 +00:00
78cfb05c26 moby: remove kernel option USB_SERIAL & co
it still boots
2024-09-25 13:31:22 +00:00
77875d3d58 moby: remove kernel option HARDLOCKUP_DETECTOR & co
it boots... i'm pretty sure??
2024-09-25 13:31:22 +00:00
f9f9da3350 moby: remove INPUT_MATRIXKMAP kernel config patch & co
should still boot
2024-09-25 13:31:22 +00:00
0a04b60579 moby: reduce custom kernel options 2024-09-25 13:31:22 +00:00
56448529b2 moby: reduce custom kernel options 2024-09-25 13:31:22 +00:00
af66e6e6c6 moby: enable nixpkgs kernel options
it requires a lot of additional options before it actually boots: not
sure which ones here are critical.
2024-09-25 13:31:22 +00:00
7ae107d42a sane-input-handler: add PinePhone Pro power/volume buttons 2024-09-25 13:31:22 +00:00
45ad0d88d9 scripts/deploy: allow deploying to a specific IP address 2024-09-25 13:31:22 +00:00
522ad82f23 mpv: associate with facebook reels 2024-09-25 13:31:22 +00:00
a46e42a79b sftpgo: grant access to v. 2024-09-25 01:05:25 +00:00
17d96a8ca1 moby: ship a mainline kernel for the pinephone pro
not perfect, but it does boot
2024-09-23 04:30:03 +00:00
258fd5b4aa moby: port PinePhone -> PinePhone Pro
in the future i do hope to enable _both_ of these options, but that requires some serious effort on the kernel front (to build one kernel which can boot either device)
2024-09-23 04:30:03 +00:00
2379068b85 hal: add pine64-pinephone-pro hardware support 2024-09-23 04:30:03 +00:00
ff9a86041b hal: split aarch64 cross fixes into own file 2024-09-23 04:30:03 +00:00
b53581eef3 refactor: hal: rename pine64 -> pine64-pinephone
it turns out i'll likely need a pinephonepro HAL as well
2024-09-23 02:06:33 +00:00
b9ce182ede powersupply: ship 2024-09-23 01:47:16 +00:00
af6eaf687d linux-postmarketos-pinephone-pro: init at 6.6.0 2024-09-23 01:42:23 +00:00
cc30673c10 mmcli: temporarily revert bunpen sandboxing 2024-09-22 01:05:53 +00:00
960f881cb4 millipixels: fix broken ref 2024-09-22 01:05:42 +00:00
2e78e9aa0c rsync-net: remove unused sanebox dependency 2024-09-21 23:41:21 +00:00
76583c49f4 UNTESTED: programs/assorted: switch every remaining bwrap sandboxed program over to the default (bunpen) 2024-09-21 23:35:46 +00:00
31615340a7 programs/assorted: remove explicit (and extraneous) sandbox.method = "bunpen" declarations 2024-09-21 23:35:06 +00:00
4868fbb82c UNTESTED: assorted: add sandbox.tryKeepUsers to programs which appear to need capabilities 2024-09-21 23:01:41 +00:00
ea3eaf048e programs: sandbox with bunpen *by default*; manually opt out or opt to a different sandboxer where required 2024-09-21 23:00:49 +00:00
b4662c838e megapixels-next: sandbox 2024-09-21 22:32:11 +00:00
b113d98ab5 todo.md: add a note for nmcli sandboxing 2024-09-21 22:19:14 +00:00
4f28d11bfa networkmanager_dmenu: sandbox with bunpen (NOTE: BROKEN)
this is as broken as the bwrap sandboxing: it can see the current connection, but can't adjust it. i believe this is because of faulty NetworkManager sandboxing (e.g. nmcli has similar issues)
2024-09-21 22:18:07 +00:00
2d5d685607 feedbackd: sandbox with bunpen 2024-09-21 22:12:51 +00:00
ded7aeffd8 callaudiod: sandbox with bunpen 2024-09-21 22:12:26 +00:00
b7576029bf xdg-desktop-portal-wlr: sandbox with bunpen 2024-09-21 22:05:05 +00:00
fc79093245 tuba: sandbox with bunpen 2024-09-21 22:04:19 +00:00
9cac849917 ffmpeg: sandbox with bunpen 2024-09-21 22:02:13 +00:00
e55cf14e99 gawk: sandbox with bunpen 2024-09-21 22:01:32 +00:00
76ea30ada9 mesa-demos: sandbox with bunpen 2024-09-21 21:59:31 +00:00
bf9c664d03 seahorse: sandbox with bunpen 2024-09-21 21:58:42 +00:00
a770ac7c78 nixpkgs: 24.05-unstable-2024-09-17 -> 24.05-unstable-2024-09-21 2024-09-21 20:23:41 +00:00
68f1dae946 nixpkgs-wayland: 0-unstable-2024-09-17 -> 0-unstable-2024-09-21 2024-09-21 20:23:27 +00:00
282b9d041b uassets: 0-unstable-2024-09-19 -> 0-unstable-2024-09-21 2024-09-21 20:20:57 +00:00
e8b957a4dc megapixels-next: make it the default camera 2024-09-21 12:58:06 +00:00
1501c99016 sane-vpn: port to bunpen 2024-09-21 12:48:31 +00:00
b1763ccd02 todo.md: sync 2024-09-21 12:33:45 +00:00
7cf5aa4732 hosts/all: remove the zfs kernel pin 2024-09-21 12:30:44 +00:00
66f829492c servo: replace zfs pool with a btrfs pool 2024-09-21 12:27:08 +00:00
821855651d gnome-calls: sandbox with bunpen 2024-09-21 12:23:33 +00:00
606be197db nicotine-plus: sandbox with bunpen 2024-09-21 12:23:21 +00:00
208b634040 programs/sandboxing: add required args to use pasta 2024-09-21 12:21:11 +00:00
224b298cda bunpen: tighter sequencing around pasta net proxying 2024-09-21 11:52:13 +00:00
29975ce787 remove custom eg25-manager and use nixpkgs upstream instead 2024-09-21 08:33:15 +00:00
90d48849cc mpv: replace "blast-to-default" with "sane-cast"
i could kill 'blast-to-default' altogether now, but i may hold off until i'm more certain this works
2024-09-21 08:30:01 +00:00
9a4635c93b sane-cast: support casting audio 2024-09-21 08:29:23 +00:00
f7b4e5ba98 pipewire: create a "effect_input.virtual" node which can become the "blast" audio source in the future 2024-09-21 07:38:05 +00:00
84c4dcb9d1 blast-ugjka: format with nixfmt 2024-09-21 06:37:31 +00:00
3dff60397e bunpen: get pasta working
full of race conditions and weird edge cases (some of which may have existed before)
2024-09-21 03:40:26 +00:00
b105e774b3 btrfs-progs: fix sandboxing 2024-09-21 01:56:56 +00:00
e9d3623a97 firefox: add search shortcut for ArchLinux wiki 2024-09-21 00:14:34 +00:00
a9472a14f2 bunpen: restore /proc access in PID-namespaced applications 2024-09-20 23:15:05 +00:00
a2abe159a4 bunpen: tests: ensure that --bunpen-keep-net actually does something 2024-09-20 22:50:24 +00:00
0546bf6ea5 bunpen: barebones pasta integration
totally untested, except that it builds
2024-09-20 12:41:39 +00:00
d22bbcf44a bunpen: refactor: be more organized with how we shed resources 2024-09-20 11:51:53 +00:00
e6803d6068 bunpen: refactor: split mount_ns into own file 2024-09-20 11:22:10 +00:00
3993f26cc6 bunpen: move restrict::namespace_restrict -> restrict::ns::namespace_restrict 2024-09-20 11:18:02 +00:00
f6a93e120a yt-dlp: fix that downloaded files have ordinary mtimes 2024-09-20 11:02:11 +00:00
b3a6656c81 moby: linux-armbian: remove an unnecessary HDMI-sound patch 2024-09-20 10:12:21 +00:00
a4a43d24dc eg25-control: fix missing sandbox path 2024-09-20 10:11:46 +00:00
ec144ae63b eg25-control: fix build 2024-09-20 10:11:46 +00:00
145c65b66b linux-armbian: enable patches necessary to boot the modem (with eg25-manager, or soon, eg25-control) 2024-09-20 10:11:46 +00:00
dfad5d596d eg25-control: fix power-down sequence 2024-09-20 10:11:09 +00:00
ee083b1b8f eg25-control: slightly more robust power-down codepath (i suspect it's still broken though) 2024-09-20 09:40:04 +00:00
f1d05af377 eg25-control: support power-on/off via GPIO control instead of modem-power 2024-09-20 08:07:15 +00:00
c81a6f51e2 eg25-control: split out a Phy abstraction behind which to hide megi's modem-power API 2024-09-20 08:07:15 +00:00
8559de949e python3-repl: ship libgpiod 2024-09-20 04:19:54 +00:00
8979ff0eec bunpen: plumb pasta related arguments into make-sandboxed
for testing only: these options don't yet have the intended effect
2024-09-19 23:54:43 +00:00
2a4043523d bunpen: plumb pasta CLI options up through main 2024-09-19 23:52:07 +00:00
bf53ab1cb1 bunpen: parse net CLI switches 2024-09-19 23:35:05 +00:00
381641b2db eg25-manager: actually ship udev rules (?) 2024-09-19 23:25:59 +00:00
1cc809b347 avahi: sandbox with bunpen 2024-09-19 23:10:28 +00:00
9e74297acd eg25-manager: ship udev rules 2024-09-19 22:39:00 +00:00
51556eeefd readme: remove outdated mention of sxmo-utils 2024-09-19 19:46:32 +00:00
32d565fe77 uassets: 0-unstable-2024-09-17 -> 0-unstable-2024-09-19 2024-09-19 19:02:24 +00:00
0e4b38a163 Revert "mpv: uosc: remove package pin"
This reverts commit 03ebb3de28.

newer uosc is completely unresponsive to touch controls.
sliders (speed, position, and *possibly* volume) respond to touch,
but buttons like play/forward/previous/close/menu don't activate.
2024-09-19 11:01:49 +00:00
03ebb3de28 mpv: uosc: remove package pin
this is not thoroughly tested; may well be partly broken on moby
2024-09-19 10:40:02 +00:00
b034196ce4 eg25-manager: ship (but not yet integrated) 2024-09-19 10:06:39 +00:00
b0edd56ba2 activationScripts: cleanup the "nixos activated" graphical notification 2024-09-19 10:05:56 +00:00
717af4e5ff moby: clean up kernel config 2024-09-19 08:26:45 +00:00
3c660df817 moby: ship axp20x_adc as a kernel module, in initrd, instead of as a builtin
works: display
works: rear camera (megapixels-next)
works: torch / LED
works: speaker
works: headphones
untested: battery/charging
2024-09-19 08:26:45 +00:00
dc1999e7b2 moby: default the ARM64_LPA2 kernel option
works: display
works: rear camera (megapixels-next)
works: torch / LED
works: speaker
works: headphones
untested: battery/charging
2024-09-19 08:26:45 +00:00
e2698f02c6 moby: default AXP20X_POWER kernel config
works: display
works: rear camera (megapixels-next)
works: torch / LED
works: speaker
works: headphones
untested: battery/charging
2024-09-19 08:26:45 +00:00
3c863bc004 moby: default some more AXP20x kernel options
works: display
works: rear camera (megapixels-next)
works: torch / LED
works: speaker
works: headphones
untested: battery/charging
2024-09-19 08:26:45 +00:00
fec90421df moby: remove INPUT_AXP20X_PEK kernel config override
works: display
works: rear camera (megapixels-next)
works: speakers
works: headphones
works: microphone
works: torche / LED
2024-09-19 08:26:45 +00:00
1c5b9f1ede moby: re-disable LCD_CLASS_DEVICE, now that boot has been verified 2024-09-19 08:26:45 +00:00
4ea9698959 moby: remove REGULATOR_VCTRL kernel config override
works: display
works: rear camera (via megapixels-next)
works: torch / LED
works: speakers
works: headphones
untested: battery/charging
2024-09-19 08:26:45 +00:00
c6705be538 moby: disable another LCD-related kernel override (and temporarily re-enable SUN50I_IOMMU until tested)
working: display
UNTESTED: camera
UNTESTED: torch / LED
UNTESTED: speakers
UNTESTED: headphones
2024-09-19 08:26:45 +00:00
d8b9f58788 moby: disable CMA/DMABUF config options
works: display
works: torch / LED
works: rear camera (via megapixels-next)
works: speakers
works: headphones
2024-09-19 08:26:45 +00:00
378168776a moby: remove the device-tree related kernel options
works: display
works: rear camera (via megapixels-next)
works: torch
works: speakers
works: headphones
untested: battery/charging
2024-09-19 08:26:45 +00:00
f5a86956a9 moby: remove the DRM-related kernel config overrides 2024-09-19 08:26:45 +00:00
965ef91736 moby: remove a couple more custom kernel configs
also revert the previous commit, but that's a development artifact; not actually required.

works: display
works: rear camera (via megapixels-next)
works: torch / LED
works: speakers
works: headphones
2024-09-19 08:26:45 +00:00
791b96fa8f moby: switch DRM kernel options from builtin back to module
works: display
works: rear camera (via megapixels-next)
works: torch / LED
works: speakers
works: headphones
2024-09-19 08:26:45 +00:00
92626cd87d moby: disable a few more custom kernel config options
works: display
works: rear camera (megapixels-next)
works: speaker
works: headphones
works: torch / LED
2024-09-19 08:26:45 +00:00
09bbd9fd91 NOT FOR MERGE: moby: switch a few more kernel options back to their default
display: non-functional
2024-09-19 08:26:45 +00:00
9b07eebf6d moby: switch a few more kernel configs back to their default
works: display
works: rear camera (via megapixels-next)
works: speakers
works: headphones
works: torch / LED
untested: battery/charging
2024-09-19 08:26:45 +00:00
439ee43a5e moby: decrease custom kernel config
works: display
works: rear camera / megapixels-next
works: speaker
works: headphones
works: torch / LED
untested: battery / charging
2024-09-19 08:26:45 +00:00
e2a96a391f moby: reduce custom kernel configs
works: rear camera (megapixels-next)
works: speaker
works: headphones
works: camera flash
untested: battery/charging
2024-09-19 08:26:45 +00:00
6be3a8a245 moby: remove a few unnecessary kernel configs
camera: works (rear, in megapixels-next)
speakers: work
headphones: work
charging: untested (assume the USB-C port only powers the board, doesn't charge the battery)
2024-09-19 08:26:45 +00:00
7a3c550817 moby: remove pmos kernel config (and replace some m options with y to keep functionality)
graphics: works
rear camera: works (in megapixels-next)
speakers: work
headphones: work
battery: incapable of charging; battery current capped to below 0.
- i *think* this happened when i switched to "all" config, earlier.
2024-09-19 08:26:45 +00:00
7b72046bee moby: don't blacklist mainline gc2145
this doesn't enable the front camera in any app, but it doesn't break anything either
2024-09-19 08:26:45 +00:00
5500a7ffcc linux-armbian: enable withFullConfig
hope to disable pmos later, but for now that would kill graphics.

battery charging _may_ be capped such that the battery cannot charge
unless powered off. difficult to tell for certain.
2024-09-19 08:26:45 +00:00
e2cd92a356 cross: push xdg-desktop-portal build fix upstream 2024-09-19 08:26:45 +00:00
b1036896fe cross: push switchboard-plug-network patch upstream 2024-09-19 08:26:45 +00:00
e4ab6e2022 cross: remove a few upstreamed patches 2024-09-19 08:26:44 +00:00
631bd9998d nixpkgs: 24.05-unstable-2024-09-16 -> 24.05-unstable-2024-09-17 2024-09-19 08:26:44 +00:00
28d329855f nixpkgs-wayland: 0-unstable-2024-09-13 -> 0-unstable-2024-09-17 2024-09-19 08:26:44 +00:00
4d03d7a845 sops-nix: assets-unstable-2024-09-13 -> assets-unstable-2024-09-16 2024-09-19 08:26:44 +00:00
2f367c1247 syshud: 0-unstable-2024-09-10 -> 0-unstable-2024-09-15 2024-09-19 08:26:44 +00:00
ee62acab02 uassets: 0-unstable-2024-09-14 -> 0-unstable-2024-09-17 2024-09-19 08:26:44 +00:00
9efa3f8f86 moby: disable some inconsequential audio-related kernel patches
speaker: works.
headphones: works.
internal mic: works.
headphone mic: works.
2024-09-19 08:26:44 +00:00
7b57d62da6 moby: disable more kernel audio patches
speakers: works.
headphones: works.
headset mic: works.
builtin mic: works.
2024-09-19 08:26:44 +00:00
aa0ca7ed0e moby: remove more AC100 audio patches
speakers: work. headphones: work.
mic: untested.
2024-09-19 08:26:44 +00:00
c0347eb68a moby: disable the "analog" component of AC100 codec as well
speaker and headphones work; builtin and headphone mic work.
2024-09-19 08:26:44 +00:00
e5a1aeedac moby: disable digital part of AC100
speaker and headphone audio work. safe to deploy.
2024-09-19 08:26:44 +00:00
9108ecdf59 moby: enable speaker audio
tested: speaker, headphone, rear cam (via megapixels-next)

this is hopefully more patches than actually required.
2024-09-19 08:26:44 +00:00
1859cfc714 moby: kernel: disable unnecessary N_VBUSEN patch
still working: rear cam with megapixels-next, charging, headphone out
2024-09-19 08:26:44 +00:00
c8fca594ef linux-armbian: fixup patching logic for modem power (still doesnt apply against 6.11.0 though) 2024-09-19 08:26:44 +00:00
395ff01276 moby: linux-armbian: switch back to armbian's megous patches, since they're better tracked
functionality is identical to mobian's
2024-09-19 08:26:44 +00:00
13b38f523c linux-armbian: fix formatting 2024-09-19 08:26:44 +00:00
1dc18bca5f firefox: add a search shortcut for repology.org 2024-09-17 07:42:21 +00:00
e763673e75 moby: ship stock kernel 6.11 with a subset of mobian patches
this is enough for the rear camera to work in megapixels-next (NOT normal megapixels, and not snapshot or gnome-screenshot)

audio over 3.5mm works; but not over speakers. charging: unknown
2024-09-17 03:27:55 +00:00
034c3f987e programs/make-sandboxed: fix for apps which ship thumbnailers (i.e. gnome papers) 2024-09-17 02:33:51 +00:00
c15d068f39 linux-mobian: init 2024-09-17 02:33:08 +00:00
6ad53751a1 nixpkgs: 24.05-unstable-2024-09-14 -> 24.05-unstable-2024-09-16
i'll lose access to the pinephone camera for a while, since this bumps to linux 6.11. but i think i can take from mobian linux to restore that, using just devicetree changes
2024-09-17 02:04:12 +00:00
bcc6c773cb deploy gnome-screenshot, for camera testing 2024-09-17 02:02:24 +00:00
dfe3f39225 linux-armbian: show that i can build against the armbian patches
they don't achieve much; nothing noticable at all, actually
2024-09-17 02:02:02 +00:00
2bb4a3fec2 linux-armbian: -> 2024-09-16 2024-09-17 02:01:22 +00:00
a03a0fcefd moby: kernel: remove another extraneous patch (still the display isnt coming on though, nor does libcamera see any cams) 2024-09-16 22:59:20 +00:00
b41db547ec moby: kernel: re-enable build-time improvements and display config (the latter doesnt always work though) 2024-09-16 22:58:47 +00:00
6edc81d437 moby: kernel: build without full config again 2024-09-16 22:57:48 +00:00
6d8008ea5e UNTESTED: linux-armbian: patch so it builds against linux 6.11 2024-09-16 21:25:37 +00:00
2c932ed926 moby: stop overriding the armbian kernel
that'll be useful as a form of documentation in the future, but for now it's just hassle
2024-09-16 21:23:39 +00:00
4560bb9dda WIP: moby: also blacklist gc2145, for flexibility in running mainline kernel
i think mainline camera *still* doesn't work though, even with this
2024-09-16 21:22:37 +00:00
051625fd47 moby: kernel: add a withMegousPatches option, disabled to get the minimal usable build (lacking cameras, and possibly with charging limitations) 2024-09-16 18:51:33 +00:00
bb0a90ec1e scripts/deploy: add a --deriv flag to deploy a pre-built path
useful for systems like moby where re-evaluating an unchanged system is expensive
2024-09-16 18:40:42 +00:00
acca87c187 moby: reduce the kernel patching
tested: camera (Megapixels), audio (mpv: speakers, headphones)

i think i *might* have had one failed (i.e. no graphics) boot? not sure.
2024-09-16 09:02:02 +00:00
e23429eebe moby: build w/o full config -- just pmos + nixpkgs
this *should* make iteration (of reducing kernel patches) a little quicker

this is the eventual goal, though in the meantime it may be quicker iteration to build with *only* pmos config and no full config
2024-09-16 08:21:17 +00:00
9fcbd6e7e2 moby: remove a few more unnecessary kernel patches 2024-09-16 04:57:00 +00:00
d943946f9d doc: moby: note why certain kernel patches must be kept 2024-09-16 04:36:22 +00:00
c8543e9326 moby: blacklist fewer camera-adjacent kernel modules 2024-09-16 02:42:08 +00:00
e9decbbf40 sandboxing: add a global toggle to disable sandboxing 2024-09-16 00:38:02 +00:00
fe353f3417 nixpkgs: 24.05-unstable-2024-09-10 -> 24.05-unstable-2024-09-14 2024-09-15 11:14:50 +00:00
adf554c177 moby: kernel: remove the rockchip-specific patches
Pinephone uses Allwinner A64, Pinephone Pro uses rockchip, patches are therefore not necessary for ordinary PP
2024-09-15 11:14:50 +00:00
373356d097 moby: reduce the set of kernel patches i apply
this makes them easier to maintain; upgrades are less fragile
2024-09-15 11:14:50 +00:00
b5f9ba62d0 camera: fix sandboxing for pipewire (so snapshot can open the camera), and share that with megapixels (which opens it directly)
N.B. snapshot (pipewire) doesn't work with the current kernel deployment; it requires linux-postmarketos-allwinner and even then only the front camera works (at about 1 fps)

this wasn't always the case: i believe that once, the rear camera worked as well. although now i think about it, i'm not positive of that
2024-09-15 11:14:23 +00:00
6e0c83b4f3 modules/programs: don't install bunpen/sanebox unless some program actually requires it 2024-09-14 23:10:19 +00:00
4fda2e67a2 crappy: bypass efibootmgr cross compilation error 2024-09-14 22:36:37 +00:00
c576885c84 neovim: fix treesitter cross compilation 2024-09-14 22:36:33 +00:00
565684d1e9 neovim: fix ts_ls typeserver LSP deprecation 2024-09-14 22:36:27 +00:00
7a75459249 curlftpfs-sane: fix cross compilation to 32bit platforms (i.e. armv7l-hf-multiplatform) 2024-09-14 21:18:11 +00:00
d0555548b7 linux-armbian.patches: -> 2024-09-14 2024-09-14 21:18:11 +00:00
52b71b5ef3 nixpkgs-wayland: 2024-09-08 -> 2024-09-13 2024-09-14 21:18:11 +00:00
0ffb67b77e sops-nix: 2024-09-08 -> 2024-09-13 2024-09-14 21:18:11 +00:00
146a184e43 uassets: 2024-09-08 -> 2024-09-14 2024-09-14 21:18:11 +00:00
9c4f87bbad syshud: 2024-09-07 -> 2024-09-10 2024-09-14 21:18:11 +00:00
54dfb04b81 moby: kernel: enable full config
camera works so long as i blacklist some new modules
2024-09-14 21:18:11 +00:00
a773513189 pkgsCCache: init (if only to prevent me from wasting time with ccache again: its really not that great) 2024-09-14 21:18:11 +00:00
4f77b2313b firefox: add a search shortcut for MyAnimeList.net 2024-09-14 02:54:16 +00:00
c7305f3c90 firefox: cleanup search URLs 2024-09-14 02:53:28 +00:00
f3edeca237 moby: linux-armbian kernel: use enableCommonConfig instead of copying the nixpkgs config into kernelPatches 2024-09-13 16:18:27 +00:00
8b3e413cae moby: dont patch CMA at all; just accept the defaults
it seems like things don't actually need this
2024-09-13 07:19:17 +00:00
1971ef5fd4 todo.md: sync 2024-09-13 07:19:17 +00:00
6a1f48420f google-chrome: ship 2024-09-13 00:05:03 +00:00
441269fb2f moby: enable modem-power 2024-09-13 00:04:15 +00:00
b43ee23459 firefox: allow webcam access 2024-09-13 00:02:48 +00:00
b9db78a154 moby: get WiFi + camera working on linux 6.10.9
note that modem_power is disabled... i can probably enable that here shortly
2024-09-12 23:27:21 +00:00
e2f7cd154d gst-device-monitor: improve docs 2024-09-12 07:14:20 +00:00
fa180ff50a moby: get the camera working on linux 6.10.9 (but at the expense of WiFi, heh); enable but un-commenting in pine64/kernel.nix
something in 'enableCommonConfig' breaks the camera. i bet it's related to the DRM stuff?
2024-09-12 07:13:18 +00:00
3febbcaef7 programs/via: make the udev config conditional upon via actually being installed 2024-09-12 06:38:04 +00:00
2c68bead1d linux-megous: orange-pi-6.9-20240514-1047 (6.9.0) -> orange-pi-6.9-20240721-2345 (6.9.10)
no immediately noticable differences, but not thoroughly tested
2024-09-12 06:37:38 +00:00
129a7aec68 linux-megous: fix build 2024-09-12 05:29:19 +00:00
fbed348e68 linux-postmarketos-allwinner: update; add option to build w/o pmos patches (just the megi kernel + pmos defconfig) 2024-09-12 05:28:27 +00:00
4694dacd2f millipixels: ship it (it doesnt work though) 2024-09-12 05:27:31 +00:00
7fa689c82d libcamera: split to separate file & add udev rules
i think the udev rules arent actually needed though?
2024-09-12 05:26:46 +00:00
add5910b4f linux-megous: lint 2024-09-11 22:11:46 +00:00
590d4d819e moby: try shipping the armbian kernel with (close to) the pmOS defconfig
it builds, but the camera is just as broken as w/o pmOS config
2024-09-11 21:16:02 +00:00
f6493122bb nix-index: sandbox with bunpen 2024-09-11 19:20:13 +00:00
954fedd41b hal/pine64: split kernel into new armbian-kernel package 2024-09-11 19:19:54 +00:00
858ca4245a megapixels-next: document the state of things against mainline linux 2024-09-11 04:31:36 +00:00
d1044023d3 fcitx5: sandbox with bunpen 2024-09-11 04:26:12 +00:00
53e73659b4 v4l-utils: more docs 2024-09-11 04:13:54 +00:00
8a5e1cb6b6 megapixels-next: unstable-2024-05-11 -> unstable-2024-09-03 2024-09-11 04:13:12 +00:00
2a29e22d6d libmegapixels,libdng,megapixels-next: format with nixfmt 2024-09-11 03:46:48 +00:00
f5a64bc913 megapixels-next: ship
i can't get any camera working on actually-mainline linux. i'm hoping megapixels-next will work with fewer patches, though
2024-09-11 03:44:08 +00:00
2407e51b67 endless-sky: sandbox with bunpen (only minimally tested) 2024-09-11 03:12:24 +00:00
e626044037 lightning-cli: sandbox with bunpen (only minimally tested) 2024-09-11 03:11:19 +00:00
f6abee5670 losslesscut-bin: sandbox with bunpen (only minimally tested) 2024-09-11 02:18:28 +00:00
8b8bbcd59b clightning-sane: sandbox with bunpen 2024-09-11 02:17:46 +00:00
f14dbf13b1 sane-find-dotfiles: sandbox with bunpen 2024-09-11 02:07:57 +00:00
a0a34cc62e sane-bt-add: sandbox with bunpen (only minimally tested) 2024-09-11 02:07:33 +00:00
89b9f693e5 sane-bt-rm: sandbox with bunpen 2024-09-11 02:07:19 +00:00
2c76497d34 wirelesstools: sandbox with bunpen (only minimally tested) 2024-09-11 02:04:59 +00:00
0128826a42 speedtest-cli: sandbox with bunpen 2024-09-11 02:01:46 +00:00
4de34f662b sox: sandbox with bunpen (minimally tested) 2024-09-11 02:01:29 +00:00
07626c55f5 slurp: sandbox with bunpen 2024-09-11 02:00:34 +00:00
d53b4df4a8 hdparm: sandbox with bunpen 2024-09-11 01:59:43 +00:00
f6b6d6488d gparted: sandbox with bunpen 2024-09-11 01:59:19 +00:00
c6d93598ed nixfmt-rfc-style: sandbox with bunpen 2024-09-11 01:57:31 +00:00
fad05b929a bunpen: support --bunpen-autodetect-cli existingDirOrParent 2024-09-11 01:57:11 +00:00
e69bacf54e sc-im: sandbox with bunpen 2024-09-11 01:55:40 +00:00
7d4d4d6c65 libreoffice: sandbox with bunpen 2024-09-11 01:55:20 +00:00
7d6c5cf20c handbrake: sandbox with bunpen (UNTESTED because unused) 2024-09-11 01:31:49 +00:00
b483254bb3 wireshark: sandbox with bunpen 2024-09-11 01:27:26 +00:00
884435fe21 refactor: remove uses of deprecated "rust.toRustTarget" 2024-09-11 01:25:15 +00:00
33aaf8c458 nixpkgs: 24.05-unstable-2024-09-08 -> 24.05-unstable-2024-09-10 2024-09-10 23:24:05 +00:00
1c3c7f599f feeds/update.py: fix sources which have null description 2024-09-10 20:30:29 +00:00
e7f54cda6b feeds: subscribe to Marijn Braam's blog 2024-09-10 19:54:46 +00:00
909beec420 sane-reclaim-disk-space: fix sandboxing 2024-09-10 19:35:42 +00:00
ae5bad1514 feeds: subscribe to mii beta / Baby Wogue 2024-09-10 18:16:45 +00:00
77683e090c lsof: sandbox with bunpen 2024-09-10 08:52:32 +00:00
f7c5b16c1c gst-launch: ship gst-libav, for H.264 decoding 2024-09-10 08:52:22 +00:00
ad98e96823 gst-launch: ship default plugins 2024-09-10 08:06:04 +00:00
e167cbbbb4 gst-launch: ship 2024-09-10 07:40:48 +00:00
eb6c0acf11 v4l-utils: expand docs 2024-09-10 07:36:03 +00:00
f7a650b0e0 nethogs: sandbox with bunpen 2024-09-10 06:59:18 +00:00
a37554ada3 moby: ship all of megi's patches again: this fixes charging. once i get the camera working i can then start wittling down the patch stack 2024-09-10 06:57:01 +00:00
d3fa4e6e7c programs: ship v4l-utils, for debugging the Pinephone camera pipeline 2024-09-10 05:00:15 +00:00
90df023be0 firefox: add search keyword for ebay 2024-09-10 03:56:54 +00:00
f8141c5270 zfs-tools: sandbox with bunpen 2024-09-10 02:18:44 +00:00
1599df26e7 /mnt/persist/private: remove unneeded "sandbox.keepPids" 2024-09-10 01:09:21 +00:00
0b39f18faa /mnt/persist/ephemeral: dont even try to delete the backing directory -- just everything contained in it 2024-09-10 00:45:07 +00:00
8ae7e255e5 gocryptfs: sandbox with bunpen 2024-09-10 00:02:03 +00:00
6f72453f5d nvme-cli: sandbox with bunpen 2024-09-09 19:51:36 +00:00
ca09c93bf8 bunpen: handle unexpected whitepsace in BUNPEN_APPEND env var 2024-09-09 07:29:30 +00:00
ba229aaf69 bunpen: implement BUNPEN_APPEND env var 2024-09-09 04:16:38 +00:00
95994de1ad provision-private-key (/run/gocryptfs/private.key): sandbox with bunpen 2024-09-09 03:56:55 +00:00
f04d0c07af programs: split yt-dlp config out of mpv config 2024-09-08 22:16:32 +00:00
6dc4aeafc1 programs/yt-dlp: migrate to own file 2024-09-08 21:51:23 +00:00
1067bc9215 scripts/deploy: separate eval and build phases to decrease maximum ram requirements 2024-09-08 20:36:54 +00:00
bb18f65ed2 nixpkgs: 2024-09-06 -> 2024-09-08 2024-09-08 20:35:58 +00:00
0d6a823382 syshud: 0-unstable-2024-09-04 -> 0-unstable-2024-09-07 2024-09-08 20:35:26 +00:00
13aad0256d nixpkgs-wayland: 0-unstable-2024-09-06 -> 0-unstable-2024-09-08 2024-09-08 20:35:07 +00:00
ca4061ab94 sops-nix: assets-unstable-2024-09-05 -> assets-unstable-2024-09-08 2024-09-08 20:34:45 +00:00
df65454950 uassets: 0-unstable-2024-09-06 -> 0-unstable-2024-09-08 2024-09-08 20:34:28 +00:00
64311094ad zsh: add more eza aliases (la, lla, lal) 2024-09-07 22:52:13 +00:00
ac53d5512b cryptsetup: sandbox with bunpen 2024-09-07 22:40:29 +00:00
9d594f696a bunpen: support BUNPEN_DEBUG=n env var 2024-09-07 22:32:32 +00:00
4ade6b1418 cryptsetup: sandbox with bwrap 2024-09-07 22:24:13 +00:00
3ef98a5ab3 modules/programs: support "sandbox.keepIpc = true" 2024-09-07 22:10:11 +00:00
130ce0e69f bunpen: support --bunpen-keep-ipc 2024-09-07 22:08:25 +00:00
3fb566a3fd ethtool: sandbox with bwrap
it doesn't *quite* sandbox with bunpen: i lose Wake-on-lan info... not sure why
2024-09-07 21:19:24 +00:00
135af51f37 eza: sandbox with bunpen 2024-09-07 21:12:18 +00:00
98ed5f10ee e2fsprogs: sandbox with bunpen 2024-09-07 21:08:21 +00:00
71241f83e2 nettools: sandbox with bunpen 2024-09-07 21:02:31 +00:00
2b7143fb84 portfolio-filemanager: sandbox with bunpen
note that portfolio seems not to use portal integration anymore? so using it to launch e.g. Music files totally fails (because i don't grant pipewire access)

well, i don't really use this that much, so i'll deal with that only if/when it's an issue
2024-09-07 20:58:57 +00:00
0605034a53 eg25-control: sandbox with bunpen 2024-09-07 20:57:11 +00:00
140f2b515e parted: sandbox with bunpen (only minimally tested) 2024-09-07 20:43:03 +00:00
ca5eab656d tcpdump: sandbox with bunpen 2024-09-07 20:42:11 +00:00
028f56f70b hping: sandbox with bunpen 2024-09-07 20:41:37 +00:00
9f4c40fe01 gptfdisk: sandbox with bunpen (minimally tested) 2024-09-07 20:36:50 +00:00
8eadede76d wireguard-tools: sandbox with bunpen 2024-09-07 20:33:54 +00:00
823ec0e6f4 pcituils: sandbox with bunpen 2024-09-07 20:28:39 +00:00
fc865574bf iputils: sandbox with bunpen 2024-09-07 20:26:36 +00:00
58b3411c8c iotop: sandbox with bunpen 2024-09-07 20:23:23 +00:00
e517c5cecf inetutils: sandbox with bunpen 2024-09-07 20:22:29 +00:00
c735c0e11e iftop: sandbox with bunpen 2024-09-07 20:18:26 +00:00
41d7268094 forkstat: sandbox with bunpen 2024-09-07 20:16:59 +00:00
e66c389695 efibootmgr: sandbox with bunpen 2024-09-07 20:04:58 +00:00
d43a5a4687 btrfs-progs: sandbox with bunpen 2024-09-07 20:01:46 +00:00
83efe3f552 smartmontools: sandbox with bunpen 2024-09-07 20:00:22 +00:00
5742101191 powertop: sandbox with bunpen 2024-09-07 19:59:59 +00:00
7b5508c91d g4music: sandbox with bunpen 2024-09-07 19:23:05 +00:00
0b11c0e790 sane-backup-rsync-net: remove dead SANEBOX_PREPEND flags
i'm not actually sure how this is still working, with bunpen? but it *seems* to be
2024-09-07 19:12:13 +00:00
aeea904e5b seatd/bunpen: remove the need for CAP_SETPCAP 2024-09-07 18:58:47 +00:00
64e302eb20 go2tv: sandbox with bunpen 2024-09-07 18:37:18 +00:00
91a9d6e0d6 fcitx5: re-enable 2024-09-07 18:35:55 +00:00
f593b8ca4a nwg-panel/torch-toggle: sandbox with bunpen 2024-09-07 18:33:08 +00:00
30060e4bb1 bunpen/seatd: remove CAP_NET_ADMIN: creating a net namespace does NOT require that, rather it was a quirk in bwrap 2024-09-07 18:32:29 +00:00
9b8bdfaf5e seatd: ACTUALLY sandbox with bunpen 2024-09-07 18:24:33 +00:00
fc72884c2e hosts/common: persist ~/.cache/mesa_shader_cache_db 2024-09-07 17:27:15 +00:00
8f47636ee0 ols: sandbox with bunpen 2024-09-07 17:26:30 +00:00
f68fbb0e0b bunpen/seatd namespacing: clarify that CAP_NET_ADMIN requirement is surprising 2024-09-07 17:14:50 +00:00
7ce82ca735 seatd: remove no-longer-necessary ambient caps 2024-09-07 17:01:05 +00:00
7ce098f2bb bunpen: --bunpen-try-user will now raise the capabilities it needs, as part of that 2024-09-07 17:00:34 +00:00
454c109ef8 seatd: sandbox with bunpen 2024-09-07 15:39:50 +00:00
4dfc0bf323 sane-open: fix keyboard toggling to be compatible with bunpen 2024-09-07 08:36:32 +00:00
2d1e7777e8 sm64ex-coop-deluxe: ship (and configure so that you dont have to drag the rom) 2024-09-07 06:21:11 +00:00
1d5f71f935 satellite: sandbox with bunpen 2024-09-07 05:44:40 +00:00
41a132dd9a geoclue-demo-agent: sandbox with bunpen 2024-09-07 04:31:53 +00:00
51350d228d where-am-i: sandbox with bunpen 2024-09-07 04:29:45 +00:00
e9a289cc87 gps-share: sandbox with bunpen 2024-09-07 04:27:20 +00:00
de47a0521d wvkbd: sandbox with bunpen 2024-09-07 02:14:20 +00:00
412e698786 bunpen: forward signals through the PID namespace
this should enable things like wvkbd -- which depend on signals -- to function while sandboxed
2024-09-07 01:43:34 +00:00
ed7c5ef89a bunpen: forward signals to the child
note that pid namespaces will silently not deliver signals to PID 1 for which no handler is installed... i'll have to either install an intermediary PID 1 which forwards to the real process, or peek into /proc/PID/status to check if the signal is deliverable before/after sending it (but that's racy, and eww parsing)
2024-09-06 23:16:10 +00:00
9814cb5ad7 bunpen: errors::ext::check: supoort errors::error 2024-09-06 23:13:21 +00:00
b6d8aa614c bunpen: fix so the integration tests are actually run during the nix build
heh
2024-09-06 18:29:20 +00:00
24440b059c bunpen: write tests for signal deliverability (which shows that the current behavior is incorrect) 2024-09-06 18:12:05 +00:00
53ec44b3de nixpkgs: 0-unstable-2024-09-05 -> 24.05-unstable-2024-09-06
N.B.: the different "revs" got merged again while i wasnt looking...
2024-09-06 17:00:05 +00:00
e9cd3069fa nixpkgs-wayland: 0-unstable-2024-09-02 -> 0-unstable-2024-09-06 2024-09-06 16:59:23 +00:00
7b4fc029b2 sops-nix: assets-unstable-2024-09-01 -> assets-unstable-2024-09-05 2024-09-06 16:59:03 +00:00
cc6e99361d uassets: 0-unstable-2024-09-05 -> 0-unstable-2024-09-06 2024-09-06 16:58:46 +00:00
ca3dc42586 rsync: sandbox with tryKeepUsers. this lets us rsync things owned by any user, not just the non-superuser invoker 2024-09-06 06:33:45 +00:00
8255e419be modules/programs: rename "keepUsers" -> "tryKeepUsers" 2024-09-06 06:32:49 +00:00
9bd5a7e4e4 bunpen: implement --bunpen-try-keep-users to try to keep the user namespace, but create a new one if keeping the existing one would require less sandboxing elsewhere 2024-09-06 06:25:27 +00:00
baf5aab4b9 sshfs-fuse: sandbox with bunpen 2024-09-06 06:04:23 +00:00
ce7474603f sway: fix config to not use Xwayland-specific settings 2024-09-06 05:41:34 +00:00
bf6053985f xwayland: sandbox with bunpen 2024-09-06 05:34:08 +00:00
c0106c9196 scripts/deploy: deploy to moby over wireguard by default, but allow this to be customized broadly 2024-09-06 05:30:59 +00:00
038e21a447 schlock: sandbox with bunpen 2024-09-06 05:27:19 +00:00
6596bad162 foliate: sandbox with bunpen 2024-09-06 05:25:20 +00:00
c46c5bb3ca komikku: sandbox with bunpen 2024-09-06 05:24:48 +00:00
8079cc47bf nwg-panel: simplify sandbox definition 2024-09-06 05:23:33 +00:00
8c802ddc1a epiphany: sandbox with bunpen 2024-09-06 05:23:00 +00:00
1ed27c166e wike: sandbox with bunpen 2024-09-06 05:21:55 +00:00
82dcd40829 sane-input-handler: sandbox with bunpen 2024-09-06 05:21:38 +00:00
c6af2c8e02 bonsai: sandbox with bunpen 2024-09-06 05:20:51 +00:00
8bdb711968 grimshot: fix sandboxing so that wl-clipboard can actually copy stuff to the clipboard 2024-09-06 04:57:53 +00:00
4b96d10980 swappy: sandbox with bunpen 2024-09-06 04:35:50 +00:00
346b887779 sane-screenshot: simplify by using grimshot savecopy command instead of separate copy + wl-paste tio file 2024-09-06 04:34:51 +00:00
6e30527688 modules/programs: simplfiy the common combination of keeping pids AND /proc by introducing "keepPidsAndProc" 2024-09-06 04:18:46 +00:00
9340f52df1 modules/programs: rename isolatePids -> keepPids, isolateUsers -> keepUsers
this follows my explicit whitelisting elsewhere
2024-09-06 04:06:42 +00:00
cc90183ca2 blast-ugjka: sandbox with bunpen 2024-09-06 03:52:36 +00:00
31d475bf88 sane-cast: sandbox with bunpen 2024-09-06 03:42:03 +00:00
329a02f475 gnome-keyring-daemon: sandbox with bunpen 2024-09-06 03:12:00 +00:00
e3dda5b140 grimshot: sandbox with bunpen 2024-09-06 02:31:20 +00:00
876ec637c2 stepmania: shift the data dir patch upstream 2024-09-06 02:21:08 +00:00
d338826855 stepmania: sandbox with bunpen 2024-09-06 01:44:11 +00:00
b770a77257 stepmania: simplify the wrapping 2024-09-06 01:41:20 +00:00
b289f13779 stepmania: wrap in a way which doesnt require manually cding to the data dir 2024-09-06 01:19:13 +00:00
d8664cd88b stepmania: fix fs paths to point to valid data 2024-09-06 01:17:21 +00:00
5270c41347 avahi: fix ip6tables firewall rule 2024-09-06 01:17:21 +00:00
850c975321 modules/programs: when sandboxing, use makeBinaryWrapper if supported 2024-09-06 01:17:21 +00:00
b1b12c353d sm64ex-coop-deluxe: init 2024-09-05 23:43:42 +00:00
3934d9c5a5 sway: fix sm64ex syntax error 2024-09-05 23:39:21 +00:00
84a36d9ef8 bunpen: fix last failing integration test 2024-09-05 23:21:56 +00:00
05b8352b4d bunpen: bind execvpe 2024-09-05 23:21:31 +00:00
4123d2d92e sway: bind mod+P to screenshot
one of my keyboards here doesn't have PrintScreen :o
2024-09-05 22:55:02 +00:00
768998f78d bunpen: rearrange integration tests to make it obvious that invoking by PATH is what's failing 2024-09-05 22:51:21 +00:00
a128f624b2 bunpen: fix to correctly forward the exit status 2024-09-05 22:41:12 +00:00
f12123416b bunpen: integration_test: add logging tests 2024-09-05 22:21:06 +00:00
392330f9ca bunpen: make the integration tests easier to understand 2024-09-05 22:04:00 +00:00
60bdc7c5d3 nixpkgs: 0-unstable-2024-08-30 -> 0-unstable-2024-09-05 2024-09-05 21:50:19 +00:00
aa93ac608b nixpkgs-wayland: 0-unstable-2024-08-30 -> 0-unstable-2024-09-02 2024-09-05 21:50:19 +00:00
3ad7271439 syshud: 0-unstable-2024-08-27 -> 0-unstable-2024-09-04 2024-09-05 21:50:19 +00:00
fe087720ed uassets: 0-unstable-2024-08-30 -> 0-unstable-2024-09-05 2024-09-05 21:50:19 +00:00
15ff2589d3 sops: 2024-08-12 -> 2024-09-01 2024-09-05 21:50:19 +00:00
b74372dd2b fs: mount moby via wireguard 2024-09-05 21:50:19 +00:00
196cf2dc9e bunpen: cleanup the integration test infrastructure 2024-09-05 10:01:47 +00:00
3f6713c12c s64ex-coop: sandbox 2024-09-05 08:56:43 +00:00
d8058f0591 sm64ex-coop: persist save data 2024-09-05 08:48:33 +00:00
a1450b4eff sm64ex-coop: ship 2024-09-05 06:38:58 +00:00
3b009b8435 baseRom: init 2024-09-05 06:25:20 +00:00
c0bf2df718 firefox: add a "pr" search shortcut to search nixpkgs PRs 2024-09-05 05:30:10 +00:00
24eefbeded bunpen: add some integration tests (they fail heh) 2024-09-05 02:37:41 +00:00
e97302a453 bunpen: dont forward argv[0] if the caller didnt forward it 2024-09-05 02:34:56 +00:00
2b2173be56 bunpen: enable logging earlier 2024-09-05 02:32:12 +00:00
ac5b9061a2 scripts/deploy: implement --wireguard flag, to deploy the host over wireguard 2024-09-05 02:06:59 +00:00
a54b051bbe crappy: split cross-specific programs config into hal 2024-09-05 01:11:16 +00:00
968e9654cf moby: move cross-specific programs config to hal 2024-09-05 01:11:16 +00:00
a557c79f4e hosts/modules/hal/pine64: split kernel into own file 2024-09-05 00:59:51 +00:00
f2dc84a1c8 refactor: hosts/modules/hal/pine64: give it its own directory 2024-09-05 00:57:29 +00:00
8a7a20fe2b sane-open: fix isLandscape to query actual geometry instead of the less informative "rotation" property 2024-09-05 00:23:57 +00:00
7e674b205f rsync-net: add a script to help with restoring backups 2024-09-04 23:09:04 +00:00
8d87a15e60 modules/image: be verbose when we flash the bootloader 2024-09-04 13:50:22 +00:00
f39a08e379 aerc: sandbox with bunpen 2024-09-04 13:49:40 +00:00
b567aeadd7 bunpen: namespace: populat /dev/pts 2024-09-04 13:49:40 +00:00
04ac2ada05 bunpen: simplify the /proc/self/{u,g}id_map logic 2024-09-04 13:49:40 +00:00
6193f347e7 bunpen: allow mount to take str mount params 2024-09-04 13:49:40 +00:00
39733b4862 bunpen: log more clearly when an error message is fatal v.s. non-fatal 2024-09-04 13:49:40 +00:00
9a7fca267e modules/image: bump /boot space from 1 GiB to 2 GiB 2024-09-04 13:49:40 +00:00
364a4f1182 sane-secrets-unlock: work around race condition during system boot 2024-09-04 13:48:10 +00:00
3e182b2a06 modules/persist: lint 2024-09-04 13:13:14 +00:00
6ff35b4366 dbus: place the bus in a subdirectory for better sandboxing 2024-09-04 13:04:20 +00:00
9f49084ccb firefox: normalize bookmark ADD_DATE / LAST_MODIFIED to "1"
i *think* these fields don't matter, so this makes editing them by hand easier
2024-09-04 12:15:06 +00:00
b2f351dba2 firefox: add Amazon.com search 2024-09-04 12:13:29 +00:00
35a41be824 modules/*: lint (esp: modules/vpn.nix -- removed unused priorityWgTable) 2024-09-03 20:24:36 +00:00
f384515c51 exiftool: sandbox with bunpen 2024-09-03 19:19:24 +00:00
c7eb0c7c71 youtube-tui: sandbox with bunpen
youtube-tui's kinda always breaking... i can't verify that this isn't breaking it more
2024-09-03 19:19:24 +00:00
2debd88019 objdump: sandbox with bunpen 2024-09-03 19:19:24 +00:00
783a0ae29f supertuxkart: sandbox with bunpen 2024-09-03 19:19:24 +00:00
ad57f1537a sane-ip-check: sandbox with bunpen 2024-09-03 19:19:24 +00:00
e82de6180c lftp: sandbox with bunpen 2024-09-03 19:19:24 +00:00
09cb743865 gst-device-monitor: sandbox with bunpen 2024-09-03 19:19:24 +00:00
0d737216ea kdenlive: sandbox with bunpen 2024-09-03 19:19:24 +00:00
3478224bf9 inkscape: split to own file and sandbox with bunpen 2024-09-03 19:19:24 +00:00
94863db03a frozen-bubble: sandbox with bunpen 2024-09-03 18:35:07 +00:00
3260659fc1 networkmanagerapplet: disable (broken) 2024-09-03 18:34:33 +00:00
1ce07e08f6 sane-wipe: dont wipe the static config files in ~/.mozilla/firefox 2024-09-03 18:33:20 +00:00
2e8904fa52 swaynotificationcenter: sandbox with bunpen 2024-09-03 18:32:51 +00:00
0535d97191 sane-wipe: sandbox with bunpen 2024-09-03 18:30:30 +00:00
71539036fc swayidle: sandbox with bunpen 2024-09-03 18:27:37 +00:00
e295da5d67 gpodder: sandbox with bunpen 2024-09-03 18:24:04 +00:00
986dc8c37a fontconfig: sandbox with bunpen 2024-09-03 18:22:27 +00:00
57637167b1 dconf: sandbox with bunpen 2024-09-03 18:21:58 +00:00
9b6ec64ed4 xdg-desktop-portal-gnome: sandbox with bunpen 2024-09-03 17:56:17 +00:00
c7638be79b visidata: sandbox with bunpen 2024-09-03 17:53:37 +00:00
f537049387 imagemagick: sandbox with bunpen 2024-09-03 17:52:23 +00:00
2cee6ea954 celeste64: sandbox with bunpen 2024-09-03 17:51:13 +00:00
36bcda6416 element-desktop: sandbox with bunpen 2024-09-03 17:48:58 +00:00
45907f23b9 oath-toolkit,sops: sandbox with bunpen 2024-09-03 17:48:30 +00:00
e57e0b9509 dbus: sandbox with bunpen 2024-09-03 17:46:08 +00:00
2f00580ddd vvvvvv: sandbox with bunpen 2024-09-03 17:44:07 +00:00
c7a786bef3 superTux: sandbox with bunpen 2024-09-03 17:43:35 +00:00
646ffa891c wdisplays: sandbox with bunpen 2024-09-03 17:31:33 +00:00
a887d2d780 soundconverter: split into own file and sandbox with bunpen 2024-09-03 17:30:41 +00:00
291e6fe1e3 w3m: sandbox with bunpen 2024-09-03 17:30:41 +00:00
acad3dc60a unzip: sandbox with bunpen 2024-09-03 17:30:41 +00:00
de78119e46 tumiki-fighters: sandbox with bunpen 2024-09-03 17:30:41 +00:00
628a701fa0 space-cadet-pinball: sandbox with bunpen 2024-09-03 17:30:41 +00:00
851e6e9176 slic3r: sandbox with bunpen 2024-09-03 17:30:41 +00:00
69bba0f6a9 shattered-pixel-dungeon: sandbox with bunpen 2024-09-03 17:30:41 +00:00
3a8f31a490 sequoia: sandbox with bunpen 2024-09-03 17:30:41 +00:00
4b0518408e sane-weather: sandbox with bunpen 2024-09-03 17:30:41 +00:00
2e38f49773 rsync: sandbox with bunpen 2024-09-03 17:30:41 +00:00
4704c9ca9e pstree: fix formatting 2024-09-03 17:30:41 +00:00
6d37c531f2 procps: sandbox with bunpen (note that i only use sub items of it though, like free and pidof) 2024-09-03 17:30:41 +00:00
1d8f825bc6 hase: sandbox with bunpen 2024-09-03 17:30:41 +00:00
775c1522ee grim: sandbox with bunpen 2024-09-03 17:30:41 +00:00
4856a46388 hitori: sandbox with bunpen 2024-09-03 17:30:41 +00:00
2702e2afd5 gnome-frog: sandbox with bunpen 2024-09-03 17:30:41 +00:00
2d1ebe7219 gnome-2048: sandbox with bunpen 2024-09-03 17:30:41 +00:00
cef2a1e129 gnome-calendar: sandbox with bunpen 2024-09-03 17:30:41 +00:00
f48b8fb6b9 discord: sandbox with bunpen 2024-09-03 17:30:41 +00:00
a75fb267f1 font-manager: sandbox with bunpen 2024-09-03 17:30:41 +00:00
981cd4c65c findutils: sandbox with bunpen 2024-09-03 17:30:41 +00:00
d25701e280 evtest: sandbox with bunpen 2024-09-03 17:30:41 +00:00
562315bf4d libnotify: sandbox with bunpen 2024-09-03 17:30:41 +00:00
5b9fbb97cb krita: split into own file and sandbox with bunpen 2024-09-03 17:30:41 +00:00
2965fe29d1 gnome-calculator: sandbox with bunpen 2024-09-03 16:48:35 +00:00
6692c67e74 wireplumber: sandbox with bunpen 2024-09-03 16:47:54 +00:00
cc7f53a828 nautilus: sandbox with bunpen 2024-09-03 16:06:42 +00:00
5e38ebef4b swaylock: sandbox with bunpen 2024-09-03 16:05:34 +00:00
181bc57a8a bunpen: fix edge-case where we wouldnt deref (and bind the underlying path of) a symlink under an already-mounted directory 2024-09-03 16:05:34 +00:00
8a61ad704a unl0kr: sandbox with bunpen 2024-09-03 15:42:39 +00:00
c93f71e285 pipewire: sandbox with bunpen 2024-09-03 15:42:24 +00:00
09507a04bd sway: sandbox with bunpen 2024-09-03 15:19:10 +00:00
ccdf633e4f gimp: sandbox with bunpen 2024-09-03 15:09:14 +00:00
e62c1fe63f sane-secrets-dump: sandbox with bunpen 2024-09-03 15:00:04 +00:00
66f00088f1 sane-tag-media: sandbox with bunpen 2024-09-03 14:58:48 +00:00
a2366ba9d4 sane-screenshot: sandbox with bunpen 2024-09-03 14:57:29 +00:00
a2bfb23253 nwg-panel: sandbox with bunpen 2024-09-03 14:56:09 +00:00
d474d159ac sane-shutdown,sane-reboot: sandbox with bunpen 2024-09-03 14:55:55 +00:00
60d5dbda77 sane-secrets-unlock: sandbox with bunpen 2024-09-03 14:49:02 +00:00
ff763b44bc playerctl: sandbox with bunpen 2024-09-03 14:47:39 +00:00
ba28240a04 audacity: sandbox with bunpen 2024-09-03 14:46:47 +00:00
2a755492bd conky: sandbox with bunpen 2024-09-03 14:45:59 +00:00
c682cb5fd7 bunpen: add regex functionality to BUNPEN_DISABLE 2024-09-03 14:42:01 +00:00
68dfd64ee3 sane-which: sandbox with bunpen 2024-09-03 14:16:40 +00:00
179c6697e6 sane-reclaim-{boot,disk}-space: sandbox with bunpen 2024-09-03 14:16:14 +00:00
9301a84e1c sane-bt-{search,show}: sandbox with bunpen 2024-09-03 14:13:40 +00:00
fc5a1c7d5e pkill: sandbox with bunpen 2024-09-03 14:12:36 +00:00
94a261280b pactl: sandbox with bunpen 2024-09-03 14:11:27 +00:00
8214b27569 dialect: sandbox with bunpen 2024-09-03 14:11:05 +00:00
12c39fec03 animatch: sandbox with bunpen 2024-09-03 14:10:14 +00:00
50d443ad46 make-sandboxed: fix quoting error 2024-09-03 14:10:06 +00:00
a4eb7c0fd6 gnome-weather: sandbox with bunpen 2024-09-03 14:08:26 +00:00
a633690ab9 gnome-clocks: sandbox with bunpen 2024-09-03 14:07:57 +00:00
8badb38b76 firefox-xdg-open: sandbox with bunpen 2024-09-03 14:07:28 +00:00
3bc8c34b85 engrampa: sandbox with bunpen 2024-09-03 14:05:34 +00:00
88263695d3 dtrx: sandbox with bunpen 2024-09-03 14:04:41 +00:00
7d9b2cb224 nmcli: sandbox with bunpen
note that i can't 'nmcli connect' -- but i think that's a NetworkManager service error, not nmcli
2024-09-03 14:04:07 +00:00
1588ebe696 wl-clipboard: sandbox with bunpen 2024-09-03 13:54:45 +00:00
8cbe8fc9e2 wtype: sandbox with bunpen 2024-09-03 13:54:27 +00:00
0ee564b329 tor-browser: sandbox with bunpen 2024-09-03 13:11:15 +00:00
a9f0f99482 sane-private-unlock-remote: sandbox with bunpen 2024-09-03 13:10:16 +00:00
fd2eabf07e mepo: sandbox with bunpen 2024-09-03 13:06:25 +00:00
7b8303f070 git: sandbox with bunpen 2024-09-03 13:05:42 +00:00
eaf03520e7 curl: sandbox with bunpen 2024-09-03 13:04:45 +00:00
b05ebc6c62 papers: sandbox with bunpen 2024-09-03 13:03:58 +00:00
8c94bc79d5 newsflash: sandbox with bunpen 2024-09-03 13:02:10 +00:00
d2f86e7b0d gdbus: sandbox with bunpen 2024-09-03 12:54:06 +00:00
f959a0dd00 sane-open: sandbox with bunpen 2024-09-03 12:41:12 +00:00
a0240dca36 mimetype: sandbox with bunpen 2024-09-03 12:40:39 +00:00
471f453321 pidof: sandbox with bunpen 2024-09-03 12:40:22 +00:00
3712eaf869 brave: sandbox with bunpen 2024-09-03 12:39:57 +00:00
ecc4e90b4a gnome-maps: sandbox with bunpen 2024-09-03 12:38:19 +00:00
c7823ab3f4 assorted: remove outdated comments about landlock > bwrap 2024-09-03 04:49:36 +00:00
2cc23525ec curlftp: sandbox with bunpen 2024-09-03 04:48:23 +00:00
07bbf34f59 nmon: sandbox with bunpen 2024-09-03 04:38:44 +00:00
941fff725a vulkan-tools: sandbox with bunpen 2024-09-03 04:34:19 +00:00
d478b945c4 killall: sandbox with bunpen 2024-09-03 04:26:56 +00:00
769fdcee89 tree: sandbox with bunpen 2024-09-03 04:26:06 +00:00
b0aedb6714 pstree: sandbox with bunpen 2024-09-03 04:25:20 +00:00
20e71ad800 fd: sandbox with bunpen 2024-09-03 04:23:41 +00:00
0566e237aa alsaUtils: sandbox with bunpen 2024-09-03 04:23:13 +00:00
0df02b5ba3 bunpen: sandbox with bunpen 2024-09-03 03:56:11 +00:00
22a5bcc259 firefox: sandbox with bunpen 2024-09-03 03:55:52 +00:00
40d14460ab rofi: sandbox with bunpen
i had a lot of trouble with this... i *think* it's working now
2024-09-03 03:51:10 +00:00
ef0f6c2053 htop: sandbox with bunpen 2024-09-03 03:48:52 +00:00
71be891c85 string: sandbox with bunpen 2024-09-03 03:37:31 +00:00
a163a260fa errno: sandbox with bunpen 2024-09-03 03:37:05 +00:00
fe910ea153 brightnessctl: sandbox with bunpen 2024-09-03 03:32:34 +00:00
1e81c033aa pwvucontrol: sandbox with bunpen 2024-09-03 03:32:12 +00:00
f490a49921 pulsemixer: sandbox with bunpen 2024-09-03 03:31:14 +00:00
7b9874b90d ausyscall: sandbox with bunpen 2024-09-03 03:30:57 +00:00
4b52fe260c yt-dlp: sandbox with bunpen 2024-09-03 03:10:29 +00:00
8a2951a405 firefox: add YouTube search shortcut (yt) 2024-09-03 03:09:59 +00:00
c81e2fd6fa wget: sandbox with bunpen 2024-09-03 03:07:54 +00:00
1ac244d1de usbutils: sandbox with bunpen 2024-09-03 03:06:50 +00:00
f70d4b75b2 typescript-language-server: sandbox with bunpen 2024-09-03 03:06:36 +00:00
34aad6f74c python3-repl: sandbox with bunpen 2024-09-03 03:04:38 +00:00
d20359fc1d pyright: sandbox with bunpen 2024-09-03 03:01:06 +00:00
714f727f1a pavucontrol: sandbox with bunpen 2024-09-03 03:00:36 +00:00
eff8f2597c openscad-lsp: sandbox with bunpen 2024-09-03 02:59:59 +00:00
1d7a8c688a nmap: sandbox with bunpen 2024-09-03 02:59:22 +00:00
56bac1ac19 nixd: sandbox with bunpen 2024-09-03 02:58:48 +00:00
fbe00915bb nano: sandbox with bunpen 2024-09-03 02:58:23 +00:00
bf1d401b48 mercurial: document that sandboxing DOES work at present 2024-09-03 02:58:11 +00:00
424f6ef35a marksman: sandbox with bunpen 2024-09-03 02:57:24 +00:00
4637a3eee3 lua-language-server: sandbox with bunpen 2024-09-03 02:57:13 +00:00
d2e600dcf8 jq: sandbox with bunpen 2024-09-03 02:56:10 +00:00
a17369cebe sed: sandbox with bunpen 2024-09-03 02:55:34 +00:00
2d5cb84eef forkstat: document sandbox limitations 2024-09-03 02:54:27 +00:00
9050d8979e grep: sandbox with bunpen 2024-09-03 02:53:37 +00:00
15d668f1ca file: sandbox with bunpen 2024-09-03 02:48:13 +00:00
147efe0a9e dig: sandbox with bunpen 2024-09-03 02:47:32 +00:00
d11f3152d0 cargo,rust-analyzer: sandbox with bunpen 2024-09-03 02:46:54 +00:00
8a2a41ecc9 bash-language-server: sandbox with bunpen 2024-09-03 02:44:10 +00:00
f1000c9fba syshud: sandbox with bunpen 2024-09-03 02:40:03 +00:00
5266a8b8f2 ps: sandbox with bunpen 2024-09-03 02:28:52 +00:00
af99673043 ripgrep (rg): sandbox with bunpen
yay! im finally free of the sanebox ~/dev/cat symlink glitch!
2024-09-03 02:28:33 +00:00
eb562037b1 free: sandbox with bunpen 2024-09-03 02:26:17 +00:00
08ed8cd052 haredoc: sandbox with bunpen 2024-09-03 02:25:52 +00:00
ce7a082447 modules/programs: plum sandbox.keepPids and whitelistPwd into bunpen 2024-09-03 02:25:28 +00:00
53c4054bb7 less: sandbox with bunpen 2024-09-03 02:24:51 +00:00
070bc867da sane-deadlines: sandbox with bunpen 2024-09-03 02:24:25 +00:00
9bfc527aa7 dissent: sandbox with bunpen 2024-09-03 02:23:42 +00:00
c23cf48001 sane-sysload: sandbox with bunpen 2024-09-03 02:21:36 +00:00
dfffa564e2 signal-desktop: sandbox with bunpen 2024-09-03 02:13:52 +00:00
8a89e62063 bunpen: enable /dev/shm in the sandbox 2024-09-03 02:13:32 +00:00
71d32e442f dino: sandbox with bunpen 2024-09-03 02:13:00 +00:00
68ffdc113e neovim: sandbox with bunpen 2024-09-03 01:50:01 +00:00
8b0ca4d393 geary: sandbox with bunpen 2024-09-03 01:48:07 +00:00
743ede00c4 bunpen: avoid binding /proc entries; these especially confuse bwrap apps like geary 2024-09-03 01:47:49 +00:00
41d9eccfe8 bunpen: preserve argv0 in the wrapper 2024-09-03 01:45:48 +00:00
04eb5ed012 bunpen: more verbose logging when we exec 2024-09-03 01:45:28 +00:00
0279c030de loupe: sandbox with bunpen 2024-09-03 00:33:16 +00:00
f0ea3f8bf6 fractal: sandbox with bunpen 2024-09-03 00:32:03 +00:00
f3b9369783 bunpen: implement BUNPEN_DISABLE=1 env var to bypass sandboxing 2024-09-03 00:27:14 +00:00
5ae12272bd bunpen: restrict/namespace: fix so that nested mounts mount both paths
so e.g. '--bunpen-path /' at the end of the CLI will actually do something
2024-09-02 23:50:19 +00:00
6a1b4fdba1 bunpen: logging: make the exec log line easier to understand 2024-09-02 23:24:46 +00:00
0264ed68f4 bunpen: check syscall return codes more strictly
many syscalls say *specifically* in their documentation that they return 0 on success (implying no other value is success)
2024-09-02 22:39:52 +00:00
384472c1c4 nix: fix typo in NIXPATH introduced in a39d705ff5 2024-09-02 21:54:14 +00:00
1719943a6e bunpen: log the args it was invoked with 2024-09-02 21:53:41 +00:00
0ee51d1812 bunpen: peek through *all* symlinks, not just intermediary ones
`mount` doesnt seem to mount over symlinks, hence why we have to follow even terminal symlinks
2024-09-02 21:47:51 +00:00
5e84056715 bunpen: make --bunpen-caps all behave as shorthand for literally specifying every capability 2024-09-02 20:39:18 +00:00
da72fc9d52 bunpen: fix typo that prevented assigning caps >= 32 2024-09-02 20:36:37 +00:00
36e2f57b06 bunpen: proper capability boxing
the Amb/Bound sets are written as specified, and I/P set so as to be activated when we exec the wrapped program
2024-09-02 20:21:09 +00:00
bc2823d622 bunpen: better (still incomplete) capability boxing 2024-09-02 18:55:53 +00:00
8b53f97c1c bunpen: bind the different PR_CAP* prctl syscalls
see 'man prctl' for additional calls, some of which were omitted because i don't expect to need them
2024-09-02 17:02:02 +00:00
712b2c38f0 firefox: disable Ctrl+W shortcut
finally, i can stop accidentally killing tabs when i mean to backspace
2024-09-02 15:43:12 +00:00
3212664f37 firefox: migrate extraPolicies to overrides.cfg
this fixes that the bookmarks policy in extraPolicies was breaking my bookmarks import
2024-09-02 15:15:00 +00:00
98c62f66dd firefox: add duckduckgo search bookmark 2024-09-02 14:11:13 +00:00
1677f77fd6 firefox: statically define a few bookmarks 2024-09-02 14:04:47 +00:00
c5e21546ff firefox: refactor: split addons into separate file 2024-09-02 13:57:53 +00:00
5eb597b133 programs: firefox: move to subdir
then i'll split it into separate files fore easier management
2024-09-02 13:41:11 +00:00
90f7953615 firefox: remove dead code 2024-09-02 13:29:11 +00:00
ab15d2a991 programs: replace gnome-disk-utility with gparted
the latter *appears* to work better when sandboxed
2024-09-02 12:02:32 +00:00
eba9bb3099 feeds: subscribe to Charles Stross blog 2024-09-02 11:38:47 +00:00
3deb17125d make-sandboxed: handl polkit files when patching bin paths 2024-09-02 11:31:24 +00:00
49a38001bc update-feed: support sites which are accessible only by www.FOO and not toplevel FOO 2024-09-02 11:30:53 +00:00
a39d705ff5 nix: fix NIXPATH to be free of symlinks 2024-09-02 11:29:58 +00:00
4328a7ddf3 modules/programs: remove unused arguments 2024-09-02 10:26:42 +00:00
1b959272a1 moby: fetch the ANX7688 patch from lkml instead of armbian
didn't actually deploy this, but it builds
2024-09-02 10:07:37 +00:00
9d83f4cbf7 NetworkManager: reduce hardening options which broke IPv6 link-local addressing
'ip -6 addr' should show an address even on networks which aren't
routable. /proc or /sys sandboxing was preventing this (with error messages logged to syslog).
2024-09-01 23:13:30 +00:00
48fccebd1e iptables: temporarily disable sandbox
it was overrestrictive
2024-09-01 21:24:19 +00:00
8f4d4c97bc avahi: ensure that mDNS responses arent blocked by rpfilter
this PROBABLY isnt necessary, but keep it here as i debug stuff at least
2024-09-01 21:23:52 +00:00
0419e50cc3 upnp: fix rpfilter to support IPv6, too 2024-09-01 21:21:57 +00:00
80d3ad3d0e moby: wifi low power patch: clarify that it just mitigates, doesnt solve, the reconnections 2024-09-01 21:21:30 +00:00
3d3853d596 moby: rtw88 wifi: disable deep sleep to prevent disconnections 2024-09-01 17:37:53 +00:00
cfa60ce41c common/fs: remove dead nfs code 2024-09-01 15:50:28 +00:00
942ca82445 assorted: hosts/common: remove unused module parameters 2024-09-01 15:49:15 +00:00
336696bb06 scripts/deploy: show the nix copy command, to aid in manual runs 2024-09-01 15:41:33 +00:00
7d75b3c736 neovim: docs: suggest alternate mappings for nvim-cmp 2024-09-01 15:38:13 +00:00
3ca2c7ec53 sane-tag-media: fix escapes in docstring 2024-09-01 14:30:53 +00:00
9d605030c3 cross: wike: push build fix to upstream nixpkgs 2024-09-01 13:44:31 +00:00
e1d678093e ayatana, switchboard: push cross patches upstream 2024-09-01 13:16:39 +00:00
5586a3a87b moby: document status of linux 6.11 2024-09-01 11:35:20 +00:00
38c6ecefa6 programs: ship camera debugging tools 2024-09-01 11:31:10 +00:00
c80aa813d9 neovim: ship GitMessenger plugin for git-blame-like functionality 2024-09-01 01:12:27 +00:00
4f6ea0938c neovim: Ctrl+Space to autocomplete 2024-09-01 01:00:37 +00:00
7ed78686c2 hal/pine64: remove more commented out patches which are irrelevant to pinephone 2024-08-31 22:42:04 +00:00
96b90b84d3 linux-firmware-megous: lint 2024-08-31 21:57:33 +00:00
c32be5d170 hal/pine64: remove some commented out patches which are *definitely* irrelevant to pinephone
probably there are way more; i just have to make sense of the weird name scheme and be sure which sensors are/aren't on the pinephone
2024-08-31 21:50:50 +00:00
7830603ff3 cleanup: impure.nix: remove extraneous parentheses 2024-08-31 21:20:18 +00:00
98f028108e moby: remove old way of getting the armbian patches 2024-08-31 21:09:57 +00:00
1649e9e22f moby: remove outdated documentation 2024-08-31 21:08:08 +00:00
874ba132a8 crust-firmware-pinephone: remove unused pkgsCross input 2024-08-31 20:57:48 +00:00
1f0fa1cf2b WIP: moby: add the modem-power dev node back
my eg25-control script requires it; maybe someday i'll manage modem power from userspace as well -- that should be less error prone
2024-08-31 20:54:55 +00:00
98e32fbcab moby: add anxNNNN back to the device tree
i *suspect* this fixes/improves battery charging.
at least, i see the nwg-panel icon intermittently switch between
charging/not-charging, whereas before it ONLY ever showed not-charging.
2024-08-31 20:51:55 +00:00
947f2b821d moby: reduce the set of kernel patches
in fact i forgot to include the patch which adds anxNNNN to the device
tree, but it still boots to graphics. battery charging i *think* DOESN'T
work (needs the dts change probably)

waiting for this to deploy; i think i removed too many, and should have kept the anxNNNN device-tree patch, but unsure
2024-08-31 19:43:42 +00:00
68478b37fe moby: fix display for pseudo-mainline kernel
i'll work to reduce the patch stack... but it takes time to recompile/deploy
2024-08-31 18:20:41 +00:00
097f172e71 nixpkgs: remove no-longer-needed permittedInsecurePackages config 2024-08-31 18:19:14 +00:00
28be40a2c8 WIP: moby: enable the HDMI sound card
waiting on deploy; unsure if this achieves anything. but it applies and builds so why not, for now.
2024-08-31 17:10:32 +00:00
9daa12049f WIP: moby: ship mainline linux, with a few megi patches
100% mainline linux boots, with WiFi and battery charging, but no display

i'm trying to select megi patches that will enable the display; haven't found that yet. may be that the config requires tweaking (e.g. SIMPLEDRM stuff)
2024-08-31 17:09:39 +00:00
b9cd911c0d armbian-build: init
this repo contains (among other things) megi's kernel tree, exported as individual patches, where they can be easily cherry-picked and tracked
2024-08-31 17:03:17 +00:00
de2991a515 cleanup: nixpkgs/list: remove dead inputs 2024-08-31 17:01:11 +00:00
dd3dfc1988 todo.md: sync 2024-08-31 16:56:04 +00:00
a4dbca48fe all: remove the UV_USE_IO_URING=0 patch (seemingly fixed by linux 6.9/6.10?) 2024-08-31 07:22:05 +00:00
2cfccd948f nixpkgs: 0-unstable-2024-08-25 -> 0-unstable-2024-08-30 2024-08-31 07:15:00 +00:00
d911f92c28 nixpkgs-wayland: 0-unstable-2024-08-13 -> 0-unstable-2024-08-30 2024-08-31 07:14:51 +00:00
5a782551f7 syshud: 0-unstable-2024-08-24 -> 0-unstable-2024-08-27 2024-08-31 07:14:32 +00:00
c4f97fc31b uassets: 0-unstable-2024-08-21 -> 0-unstable-2024-08-30 2024-08-31 07:13:56 +00:00
b4f921ab04 programs: tangram: disable (i dont use it) 2024-08-31 07:13:39 +00:00
458a87045d uninsane-dot-org: 0-unstable-2024-08-14 -> 0-unstable-2024-08-29 2024-08-31 07:13:24 +00:00
ee4c699850 moby: fix cross: replace papers with zathura 2024-08-31 07:13:07 +00:00
341b150254 feeds: unsubscribe Sam Harris
he just kinda says the same thing over and over.
2024-08-30 20:38:18 +00:00
737df8c10e modules/programs: plumb capabilities into bunpen sandboxer 2024-08-30 20:36:11 +00:00
2053ba079c bunpen: plumb capabilities sandboxing into main
it produces visible effects (in the cap_i set), but it's useless until i also set ambient caps
2024-08-30 20:35:27 +00:00
04c937f04b bunpen: bind capset syscall, and plumb the caps into restrict::resources
but don't actually restrict them yet
2024-08-30 18:40:44 +00:00
475d1615fa bunpen: implement capability struct with parse method 2024-08-30 17:02:44 +00:00
25b3ccaa48 bunpen: split autodetect type into own file 2024-08-30 16:28:03 +00:00
735079e615 bunpen: config: make the help type not an error
asking for help isn't an error
2024-08-30 15:41:17 +00:00
1a1edc0d19 refactor: bunpen: config/translate_opts: guard file type more idiomatically
i hope. it's still really weird code here.
2024-08-30 15:34:54 +00:00
9148b49ba2 refactor: bunpen: config/translate_opts: make the autodetect logic not pollute the hardcoded path ingestion quite so much 2024-08-30 15:20:56 +00:00
67f6026c67 refactor: bunpen: config/translate_opts: rework the path detection code 2024-08-30 14:38:52 +00:00
cfb5a7651b refactor: bunpen: implement and use check_u64 to cover most remaining uses of ! 2024-08-30 13:41:11 +00:00
6f71d2f8db refactor: bunpen: switch a few more ! error unwraps to errors::ext::check 2024-08-30 13:25:41 +00:00
5f5cda9706 refactor: bunpen: namespace: swallow /proc/self/*_map errors instead of aborting 2024-08-30 13:17:24 +00:00
7ac4a6f060 refactor: bunpen: namespace: simplify the error paths 2024-08-30 13:10:00 +00:00
1d79f3eacc papers: ship in place of Zathura as the default pdf viewer 2024-08-30 12:53:05 +00:00
e5263915b9 refactor: namespace: leverage errors::ext::swallow where easily applicable 2024-08-30 12:42:28 +00:00
29cabd2ac4 bunpen: refactor: cleanup error checking impl 2024-08-30 12:23:48 +00:00
475037f9c9 bunpen: move rtext:: -> rt::ext:: 2024-08-30 12:03:23 +00:00
dab05a0f9c {check,swallow}_error: lift out of rtext into errors::ext
the ::ext namespace is required to prevent a circular dep within the std lib
2024-08-30 12:00:43 +00:00
d2bf8dbdbb bunpen: clone: place the clone flags behind an enum 2024-08-30 11:37:45 +00:00
3e5cb29a7d bunpen: namespace/umount: place the umount flags behind an enum 2024-08-30 11:31:12 +00:00
edeb153eb8 bunpen: namespace/mount: place the various mount flags behind an enum 2024-08-30 11:28:34 +00:00
61e8b99f72 bunpen: landlock: namespace the landlock_create_ruleset flags as well 2024-08-30 11:04:52 +00:00
566a61ca9f bunpen: landlock: namespace the different flags into enums 2024-08-30 10:57:48 +00:00
590cd36e53 bunpen: landlock: split out a helper to simplify the error handling 2024-08-30 10:33:33 +00:00
9803be75e1 bunpen: no_new_privs -> capabilities, in expectation of this file expanding in role 2024-08-30 09:43:46 +00:00
73583d19d4 programs: nix: ship nixVersions.latest
it gives better error messages, and i'm not seeing any regressions so far
2024-08-30 09:37:56 +00:00
19e2e37105 mpv: sandbox with bunpen instead of bwrap
it's far enough along to be actually working; though i likely give it a few more in-namespace capabilities than it really needs
2024-08-29 20:14:30 +00:00
f26f13ddf3 bunpen: bind "safe"-ish /de items 2024-08-29 20:13:37 +00:00
9c69666646 bunpen: expose a new /tmp to the sandbox 2024-08-29 20:13:20 +00:00
4f6b1b0a69 bunpen: bind a sandboxed /proc 2024-08-29 20:12:42 +00:00
bc1453f675 bunpen: mount /proc in the namespace, if pids are sandboxed 2024-08-29 16:47:02 +00:00
353057af23 bunpen: namespace: perform the first fork required for pid namespacing 2024-08-29 14:54:08 +00:00
7f5b55bc2a bunpen: simplify: share resources with the CLI parsing to avoid duplication 2024-08-29 14:17:42 +00:00
452ee68926 bunpen: lay the plumbing for future pid isolation 2024-08-29 14:13:38 +00:00
a2fa3727cc sane_sysvol: fix use of uninitialized volstr
hey, that lua language server is pretty neat ^_^
2024-08-29 11:43:19 +00:00
1676ef77ad bunpen: configure logging ASAP
this avoids dumping undesired spam to the console during the autodetect phase
2024-08-29 11:41:08 +00:00
39a7c1a6d9 bunpen: namespace: improve docs around path edgecases 2024-08-29 11:27:01 +00:00
d91e1d51c1 bunpen: handle intermediary symlinks when binding 2024-08-29 11:17:35 +00:00
f6d4dcaabb bunpen: fix outdated docs for namespace path binding 2024-08-29 11:10:37 +00:00
963a0ee56c mpv: setup profiles by which to tune youtube quality preferences and debanding 2024-08-29 10:17:53 +00:00
3e9e1168b4 bunpen: landlock: fix landlock access mode for unix sockets
the inode type for a socket is a superset of the inode type for a directory, so the bitmasking logic was wrong
2024-08-28 13:27:36 +00:00
14929c1102 programs: plum --bunpen-autodetect into modules/programs API 2024-08-28 11:37:18 +00:00
35848ece02 bunpen: implement --bunpen-autodetect 2024-08-28 11:35:58 +00:00
38ee8be785 bunpen: refactor: dont exit directly when parsing args, but return an error and let main do that 2024-08-27 22:28:06 +00:00
b3ea0ff2b3 bunpen: remove dead options i wont ever implement 2024-08-27 22:12:54 +00:00
e5cdd53537 bunpen: implement --bunpen-debug=n for more controlled logging 2024-08-27 20:48:26 +00:00
fb894bb7a5 bunpen: treelogger: implement log depth filtering 2024-08-27 20:36:31 +00:00
2ffacf0e44 bunpen: lay groundwork for a better logger 2024-08-27 20:36:31 +00:00
7dbe64e52f bunpen: preserve environment across exec boundary 2024-08-27 20:36:31 +00:00
b9fc61e627 modules/programs: plumb bunpen's home/run path binds 2024-08-27 20:36:31 +00:00
99de056048 bunpen: namespace: restore the working directory (if possible) after entering the mount namespace 2024-08-27 20:36:31 +00:00
469b9b9223 bunpen: prefer os::getpwd instead of relying on the PWD env var 2024-08-27 20:36:31 +00:00
2f6e54f331 bunpen: support --bunpen-home-path, --bunpen-run-path
still needs to be integrated into modules/programs
2024-08-27 20:36:31 +00:00
29886d7f10 servo: sftpgo: allow read-only media access via password auth 2024-08-27 13:52:40 +00:00
861014bca3 nixpkgs: fix patch hashes 2024-08-27 13:44:42 +00:00
3417a9fd3f sanebox: remove the portal logic, and delegate it to manual handling by those few apps which truly need special casing
it's a questionable responsibility to give to the sandbox itself (unless i also have the sandbox do things like dbus proxying, someday). and it will make the bunpen implementation simpler
2024-08-27 11:00:15 +00:00
83ef250a34 neovim: fix lints 2024-08-26 20:47:18 +00:00
59ba9e4853 neovim: disable ltex-ls plugin 2024-08-26 20:46:32 +00:00
3994beaa01 hosts/moby: disable the very heavy-weight LSPs (rust, typescript) 2024-08-26 17:17:10 +00:00
93159485fa neovim: integrate LSP for lua, LaTeX, html, markdown, nix, OpenSCAD, Rust, js/TypeScript :) 2024-08-26 16:49:00 +00:00
e1f5a55bca neovim: enable bash and python language servers 2024-08-26 14:06:49 +00:00
ea2739f86c neovim: enable "which-key" plugin 2024-08-26 14:06:49 +00:00
3c9ff16108 neovim: simplify plugin config schema 2024-08-26 14:06:49 +00:00
0787a3a50e neovim: split plugin configs into their own file 2024-08-26 14:06:49 +00:00
446e614e9a neovim: split vimrc into own file 2024-08-26 14:06:49 +00:00
afd0ec09a1 nixfmt-rfc-style: ship 2024-08-26 14:06:49 +00:00
422e8aeb3f sanebox: support existingDir{,OrParent} autodetect option 2024-08-26 14:06:49 +00:00
ae8e9267c4 nixpkgs: 0-unstable-2024-08-21 -> 0-unstable-2024-08-25 2024-08-26 08:15:49 +00:00
60c4b2e4c0 syshud: 2024-08-17 -> 2024-08-24, and apply nixfmt 2024-08-26 08:06:43 +00:00
289e9182fd bunpen: --bunpen-drop-shell: specify argv0 more correctly 2024-08-25 19:24:32 +00:00
ec7b87b985 bunpen: PARTIAL support for symlinks 2024-08-25 19:22:25 +00:00
9f5d7f2bb2 bunpen: fix mixup between argv0 and the rest of argv 2024-08-25 19:10:26 +00:00
64697a2cb8 bunpen: namespace: bind all requested user paths, and create requisite directories 2024-08-25 19:06:28 +00:00
1c50ff8fe4 bunpen: factor the pivot_root logic into some abstraction
is this really helpful? hard to tell for sure
2024-08-25 13:36:11 +00:00
3010ff89d0 bunpen: clean up mount namespacing so that i could bind any directory -- including /tmp 2024-08-25 13:27:31 +00:00
7a902cabfe bunpen: proof-of-concept mount namespace, exposing only *some* paths 2024-08-25 11:38:08 +00:00
64948a497d bunpen: write real uid/gid to /proc/self/uid_map 2024-08-24 20:38:33 +00:00
ccddc6f8e1 bunpen: TODO: calculate uid/gid at runtime 2024-08-24 20:12:51 +00:00
7d7abc9619 bunpen: namespace: simplify 2024-08-24 20:05:09 +00:00
f0efa0c255 bunpen: proof-of-concept mount namespacing 2024-08-24 20:01:27 +00:00
9ab6d101f6 bunpen: no_new_privs: propagate the error & handle it in main 2024-08-24 17:18:47 +00:00
164275fa59 bunpen: bind pivot_root to Hare 2024-08-24 12:35:55 +00:00
dbdd356691 bunpen: mv rtext/namespace -> rtext/unshare, to reflect that it is more limited in scope 2024-08-24 06:36:04 +00:00
c9157291b9 bunpen: namespace: unshare cgroup/ipc/uts, and net where possible 2024-08-24 05:20:54 +00:00
e315919b54 bunpen: run process inside a new user namespace 2024-08-24 05:12:27 +00:00
5f35eaccd9 programs/host: sandbox with bunpen instead of landlock
this just acts as a good proof-of-concept / testing it in the wild
2024-08-23 16:00:31 +00:00
c86d893a2c modules/programs: sandbox: allow method = "bunpen" 2024-08-23 16:00:31 +00:00
abb19b1fc9 bunpen: fix to allow binding files into the environment -- not just directories 2024-08-23 16:00:31 +00:00
ab4ebb012a bunpen: implement --bunpen-drop-shell flag 2024-08-23 16:00:31 +00:00
effec38a99 modules/programs: sandbox: introduce an interface which will allow for sandboxers other than sanebox 2024-08-23 16:00:31 +00:00
c5ed1263dc feeds: subscribe to justine.lol 2024-08-23 16:00:31 +00:00
e0d33862f0 bunpen: implement --bunpen-keep-net CLI arg 2024-08-23 16:00:31 +00:00
7d097474a3 bunpen: implement --bunpen-path cli arg 2024-08-23 16:00:31 +00:00
7a4a7d613b bunpen: implement basic arg parsing 2024-08-23 16:00:31 +00:00
e457cf96ae bunpen: break out a resources abstraction 2024-08-23 16:00:31 +00:00
f323c0f90d bunpen: rename "methods" -> "restrict" 2024-08-23 16:00:31 +00:00
5525ea4b59 bunpen: lift main up to the toplevel
it seems modules *do* support freestanding hare files at the toplevel -- but only if theres just one of them (?)
2024-08-23 16:00:31 +00:00
daa1783e21 bunpen: refactor kernel bindings into a rtext module
additionally, this requires moving all other files into their own directories, else hare doesn't seem to recognize 'rtext' as a module
2024-08-23 16:00:31 +00:00
27d5928155 bunpen: landlock: allow access to all of / 2024-08-23 16:00:31 +00:00
2f9dd4cd60 bunpen: landlock: fully restrict
of course, this means it's unable to 'exec' from disk -- for now
2024-08-23 16:00:31 +00:00
ba406e912f bunpen: landlock: cleaner bindings 2024-08-23 16:00:31 +00:00
45ff21822a feeds: sub JRE (we'll see how long this lasts...) 2024-08-23 06:09:33 +00:00
7ef9f0b455 bunpen: implement landlock_add_rule binding 2024-08-23 06:09:14 +00:00
ec90f5c066 bunpen: landlock: negotiate access modes with the running kernel 2024-08-22 17:30:07 +00:00
57e113137f bunpen: add minimal landlock API 2024-08-22 16:08:53 +00:00
2c390a8b6d bunpen: set no_new_privs before executing the command 2024-08-22 15:42:59 +00:00
634f13ba6b bunpen: use stdlib log isntead of raw fmt::printfln 2024-08-22 14:40:46 +00:00
dab7803cbb bunpen: execute the given argv 2024-08-22 14:34:08 +00:00
64f53020ee bunpen: explicitly configure 2-space indentation 2024-08-22 13:19:39 +00:00
e737d2e24b bunpen: run hare test during build 2024-08-22 13:19:21 +00:00
9b11b64349 haredoc: ship 2024-08-22 09:00:14 +00:00
212f6c0f48 bunpen: init at 0.1.0 2024-08-22 08:31:21 +00:00
a9cc0f28e2 feeds: subscribe to linuxdevtime podcast 2024-08-22 07:19:37 +00:00
3599f051b1 nixpkgs: 0-unstable-2024-08-19 -> 0-unstable-2024-08-21 2024-08-22 04:12:57 +00:00
d72a1c799e uassets: 0-unstable-2024-08-18 -> 0-unstable-2024-08-21 2024-08-22 04:12:39 +00:00
e78907b88b curlftpfs: remove -o interface... option and patch curl instead 2024-08-21 10:20:09 +00:00
04c41f6045 alsa-ucm-conf: make clear which data i last updated everything 2024-08-21 08:26:50 +00:00
32a52c3366 gnome-calls: document limitations/compatibility 2024-08-21 08:26:00 +00:00
55175e5957 geary: fix that it was failing to connect 2024-08-21 06:06:10 +00:00
b4b95be588 make-sandboxed: fix to preserve the specified output, for packages like dig 2024-08-21 04:00:45 +00:00
2758b0eae2 signal-desktop: DO start by default: until/unless i get signal-flare working, hosts which are capable should launch signal-desktop at boot 2024-08-21 03:30:16 +00:00
ae0d6cb8e8 make-sandboxed: preserve outputs of multiple-output packages
especially, this fixes the dconf service, since we keep '/libexec'
2024-08-21 03:28:02 +00:00
9c9b237e69 /mnt/servo/*: fix for curl 8.9.0
see: <https://github.com/curl/curl/discussions/14299>
2024-08-20 09:53:37 +00:00
17dcf566f7 loupe: add /dev/dri to the sandbox for faster rendering 2024-08-20 08:52:24 +00:00
bf94946759 nixpkgs: 0-unstable-2024-08-18 -> 0-unstable-2024-08-19 2024-08-20 08:52:07 +00:00
6e1ccc3e19 all: pin kernel to a later version (6.10, whereas it would be reduced to 6.6 by next nixpkgs update) 2024-08-20 08:51:38 +00:00
4055c6d3e9 podcasts: subscribe to C-Span's _The Weekly_ 2024-08-20 02:23:41 +00:00
ba8d9f2882 ayatana-ido: fix cross 2024-08-20 00:46:46 +00:00
82aa0eb1d6 flatpak: fix cross for 1.14.10 2024-08-19 23:39:31 +00:00
6341531122 syshud: 0-unstable-2024-08-10 -> 0-unstable-2024-08-17 2024-08-19 13:57:46 +00:00
c71d89e6af signal-desktop-from-src: disable automatic updates 2024-08-19 13:49:41 +00:00
995183a4fd koreader-from-src: disable automatic updates 2024-08-19 13:49:41 +00:00
ddffda1594 nixpkgs: 0-unstable-2024-08-13 -> 0-unstable-2024-08-18 2024-08-19 13:49:32 +00:00
c15cea08f6 nixpkgs-wayland: versionless update 2024-08-19 13:47:44 +00:00
7e73199b68 uassets: 0-unstable-2024-08-13 -> 0-unstable-2024-08-18 2024-08-19 13:46:50 +00:00
705a8a19c9 uninsane-dot-org: 0-unstable-2024-08-06 -> 0-unstable-2024-08-14 2024-08-19 13:46:30 +00:00
c8b28580a9 todo.md: sync 2024-08-19 13:30:46 +00:00
1b4266f8a7 hickory-dns: fix compilation error with newer rustc 2024-08-19 13:29:09 +00:00
aecbfb45c9 gnome-calls: dont fail offline indefinitely when DNS errors 2024-08-18 14:24:11 +00:00
e16a26fad2 sane-tag-media: implement --style video to aid in structuring an album-less library (e.g. an archive of Youtube videos, organized by channel) 2024-08-18 01:51:12 +00:00
7d23f9453e sane-tag-media: update docs 2024-08-17 22:42:51 +00:00
391c4f5aac geary: change the default autostart to true 2024-08-17 12:13:15 +00:00
48b0960966 moby: dont auto-start signal-desktop (its too battery draining) 2024-08-17 12:11:40 +00:00
9069a97c26 sane-tag-media: ignore QuarkXPress publisher 2024-08-17 10:53:45 +00:00
ca793af819 make-sandboxed: fix double-wrapping when two symlinks point to the same binary by non-canonical paths (e.g. mount.sshfs -> ../bin/sshfs) 2024-08-16 10:50:20 +00:00
05e2f6f2a0 todo.md: note that hickory-dns cant resolve shows.acast.com 2024-08-16 02:48:24 +00:00
08d6f9c761 dconf: sandbox out-of-place 2024-08-16 02:48:24 +00:00
05bc5923cf sway: sandbox out-of-place 2024-08-16 02:48:24 +00:00
114b37928a tor-browser: sandbox out-of-place 2024-08-16 02:44:27 +00:00
e846a5046a feeds: subscribe to 404 media 2024-08-16 02:41:17 +00:00
5dcb7b5cf6 scripts/init-feed: sanitize titles/descriptions 2024-08-16 02:39:56 +00:00
f603bad779 scripts/init-feed: support --podcast argument to select podcasts over text 2024-08-16 02:34:19 +00:00
729d2a9809 firefox: dont use inplace wrapper
avoiding inplace wrapping gives me more leverage over what gets linked into the final runtime environment
2024-08-16 02:16:37 +00:00
a552ed625b make-sandboxed: fix several edge-cases for e.g. brave, firefox, especially around handling of wrapped binaries 2024-08-16 02:15:46 +00:00
f3df321713 sanebox: fix pasta argv passing 2024-08-16 02:14:29 +00:00
62ebdf5de4 brave: fix sandboxing 2024-08-16 00:15:58 +00:00
f834f551ed assorted: clarify why i use wrapperType = inplace when sandboxing 2024-08-15 21:01:42 +00:00
140b61a944 slic3r: ship 2024-08-15 10:32:22 +00:00
db7767c679 assorted: remove some no-longer-needed sandbox.wrapperType = "inplace" declarations 2024-08-15 10:32:22 +00:00
fd6959230f make-sandboxed: handle /opt-style packaging, with toplevels linked into /bin, a bit better 2024-08-15 10:32:18 +00:00
87e9856497 sanebox: forward argv0 2024-08-15 10:31:21 +00:00
50b1d82b38 nixpkgs: fix hashes 2024-08-14 23:20:31 +00:00
60a4eb0bde gnome-calls: associate with tel:, sip:, sips: URIs 2024-08-14 08:27:27 +00:00
a96e83f4e1 doc: gnome-calls: document some UI elements 2024-08-14 07:53:47 +00:00
0d685f406e uassets: 2024-08-09 -> 2024-08-13 2024-08-13 22:02:37 +00:00
a16e33d7a6 sops-nix: 2024-08-05 -> 2024-08-12 2024-08-13 22:02:27 +00:00
f38d351869 syshud: 2024-08-03 -> 2024-08-10 2024-08-13 22:01:57 +00:00
e245164da3 nixpkgs-wayland: 2024-08-12 -> 2024-08-13 2024-08-13 22:01:31 +00:00
7df8f45e97 nixpkgs: 2024-08-12 -> 2024-08-13 2024-08-13 22:00:49 +00:00
e1ba371838 cross: flatpak: fix via nixpkgs patch instead of overlay 2024-08-13 07:20:24 +00:00
467283989f todo.md: fix Epiphany to persist cookies 2024-08-13 03:41:08 +00:00
db39dc209f xdg-desktop-portal-gnome: sandbox 2024-08-13 03:34:09 +00:00
7cf860a071 nixpkgs: update passt hash 2024-08-13 03:33:48 +00:00
77a753b0d6 gnome-maps: todo: better portal integration 2024-08-13 02:50:59 +00:00
e2a4f4d63e todo.md: newsflash and gnome-maps bugs to tackle 2024-08-13 02:48:08 +00:00
31fc072bce nixpkgs-overlays: try to be a little more pure 2024-08-12 21:56:30 +00:00
144afd8171 sway: fix wlroots drmSync bug via upstream patch 2024-08-12 21:52:44 +00:00
7d97355d2a overlays/cross: remove no-longer-necessary overrides 2024-08-12 21:20:16 +00:00
7827f6c584 sway: note that the activation patch is still necessary 2024-08-12 18:28:16 +00:00
e1899495a0 nixpkgs-wayland: 0-unstable-2024-08-06 -> 0-unstable-2024-08-12 2024-08-12 18:05:32 +00:00
a56ad56a4f refactor: move ~/.cache/nix persistence to hosts/common/programs/nix.nix 2024-08-12 16:06:26 +00:00
da551b8b97 geary: grant access to more files 2024-08-12 16:04:20 +00:00
ca412d08bd nautilus: grant access to more files 2024-08-12 16:04:11 +00:00
e7a1bb6ec0 nixpkgs: 2024-08-11 -> 2024-08-12 2024-08-12 10:30:04 +00:00
74acfeadd5 programs/assorted: clarify sandbox.enable = false situation 2024-08-12 10:27:41 +00:00
e7d5a61014 libcap: split into separate capsh and captree programs, and sandbox the latter 2024-08-12 10:13:50 +00:00
6f47708624 nixpkgs patches: send a few upstream; dont apply ffado patch here because my system doesnt use it 2024-08-12 10:10:06 +00:00
fc826a3503 libcap: patch in captree locally rather than via a nixpkgs patch that would force mass rebuilds 2024-08-12 09:39:43 +00:00
ccb2b7b8b6 nixpkgs: update libcap patch to grab from the PR 2024-08-12 09:18:50 +00:00
78169d50f2 overlays/cross: remove upstreamed patches; simplify rust things 2024-08-12 09:14:42 +00:00
33a7d3536d nixpkgs: update patches 2024-08-12 09:14:00 +00:00
7899c8d033 syshud: 0-unstable-2024-07-29 -> 0-unstable-2024-08-10 2024-08-12 02:37:03 +00:00
82b662a733 nixpkgs: remove dead (upstreamed) patches 2024-08-12 02:13:07 +00:00
d4290588bf rename: trust-dns -> hickory-dns 2024-08-12 01:23:39 +00:00
bd97fb9ec9 nixpkgs: 24.05-unstable-2024-08-09 -> 24.05-unstable-2024-08-11 2024-08-12 01:08:03 +00:00
4dbff9c18f scripts/deploy: shorten "--action copy" to just "--copy" 2024-08-12 01:07:50 +00:00
bfe278c17a feeds: subscribe to Weird Little Guys 2024-08-12 00:35:34 +00:00
295e07d535 sane-tag-media: fix lingering crashes around --derive behavior 2024-08-12 00:13:42 +00:00
d39459d8b5 NetworkManager: tighten the systemd sandboxing 2024-08-11 22:54:47 +00:00
4d5e60756b modemmanager: make its capabilities more obvious 2024-08-11 22:54:41 +00:00
119afcf393 firefox: remove open-in-mpv (obsoleted by firefox-xdg-open) 2024-08-11 22:37:12 +00:00
d3d970eb3e firefox: dont require approval to open xdg-open: URIs 2024-08-11 22:32:26 +00:00
c0d5004926 firefox: add a right-click context menu to open any URI with the system handler
it still prompts the user to allow it, but i'll fix that later i guess
2024-08-11 22:26:23 +00:00
d9a876e49a fractal: association with https://matrix.to links 2024-08-11 21:45:51 +00:00
5a9dd89475 sane-vpn: fix global up/down action 2024-08-11 21:01:11 +00:00
5e71e5a067 moby: enable bluetooth 2024-08-11 06:27:07 +00:00
f0b0d15ad7 evtest: ship 2024-08-11 06:26:58 +00:00
8aebc1fe87 feeds: subscribe to Oyez supreme court oral arguments 2024-08-10 11:16:54 +00:00
764c2a3276 Revert "nixpkgs-wayland: 0-unstable-2024-08-06 -> 0-unstable-2024-08-09"
This reverts commit ce1c3ec804.

while the nixpkgs-wayland bump works fine on lappy/desko,
it causes moby to be stuck on the white screen after unlocking.
2024-08-10 04:16:31 +00:00
a2f34be9d6 avahi: fix so the dbus policy files get installed system wide, again 2024-08-10 02:59:20 +00:00
bda172bc2d avahi: harden systemd service
N.B.: i haven't tested this on moby yet (which advertizes the gps-share service) nor on servo (which maybe uses it for jellyfin, idk)
2024-08-10 02:04:57 +00:00
a91a2d8a7f gps-share: fix sandboxing 2024-08-10 01:10:31 +00:00
875d919fa8 systemd-rfkill: harden 2024-08-10 00:34:13 +00:00
a323f321b5 snapper: disable
it wasn't working to begin with
2024-08-10 00:09:58 +00:00
f986936bbd wg-home-refresh: use the sandboxed wireguard-tools 2024-08-09 23:52:31 +00:00
3d773fe375 sanebox: improve the capsh stuff a bit more 2024-08-09 23:52:16 +00:00
055ad222e3 wg-home-refresh: harden systemd service 2024-08-09 23:05:58 +00:00
3aafcb0aa8 sanebox: capshonly: be more precise about preserving e/i/p capabilities
with this, gocryptfs works AND wg works
2024-08-09 22:55:02 +00:00
c85f02ca68 scripts/sync: dont rely on /mnt/$self existing 2024-08-09 21:41:56 +00:00
eeafc34ccf hare-ev: 2024-07-11 -> 2024-08-06 2024-08-09 21:41:56 +00:00
039ffcdcd4 newsflash: sandbox 2024-08-09 21:35:33 +00:00
2a35cb5379 mime.urlAssociations: clarify regexes by using $ terminator 2024-08-09 20:57:13 +00:00
3db009bc98 mpv: associate with all web audio/video resources 2024-08-09 20:55:00 +00:00
1e840e72b3 nixpkgs: 24.05-unstable-2024-08-06 -> 24.05-unstable-2024-08-09 2024-08-09 10:34:20 +00:00
ce1c3ec804 nixpkgs-wayland: 0-unstable-2024-08-06 -> 0-unstable-2024-08-09 2024-08-09 10:34:02 +00:00
09dd69a855 uassets: 0-unstable-2024-08-06 -> 0-unstable-2024-08-09 2024-08-09 10:33:29 +00:00
cbe71868ef newsflash: deploy 2024-08-09 10:25:53 +00:00
7b043d0c87 newsflash: simplify cross compilation 2024-08-09 10:14:59 +00:00
fd0188025d newsflash: fix cross compilation 2024-08-09 09:46:40 +00:00
1c57ffa798 newsflash-nixified: init at 3.3.4 (doesn't build!)
it's doing complicated things with glib macros that i can't get to work.
2024-08-09 03:50:36 +00:00
1d205a89bc sway: fix gnome-calls to always be on workspace 1 2024-08-08 23:59:19 +00:00
5ff643aa2f foliate: fix sandboxing 2024-08-08 23:58:02 +00:00
bfdf63e641 calls: 46.3 -> 47.0-beta 2024-08-08 23:57:47 +00:00
c695f7a979 foliate: ship 2024-08-08 21:08:51 +00:00
b3b38451b5 koreader-from-src: add an update script (only updates the toplevel, at the moment) 2024-08-08 18:47:03 +00:00
1ee81db537 switch xdg-desktop-portal-gtk -> xdg-desktop-portal-gnome
the gnome file chooser is far more responsive, on moby

though thumbnailing doesnt work, which may degrade the desktop experience :-(
2024-08-08 09:43:47 +00:00
b9947c05ca xdg-desktop-portal-gnome: fix cross compilation 2024-08-08 09:05:26 +00:00
2de6491583 xdg-desktop-portal-gnome: get working as a xdp backend, on lappy
probably needs some porting to moby before it works there
2024-08-08 08:52:24 +00:00
4525df58e0 rsyslog: disable 2024-08-08 07:40:59 +00:00
9d1ffc7c43 todo.md: document some connectivity issues 2024-08-08 03:41:52 +00:00
a69af91b7b add /mnt/servo/home to my hosts 2024-08-08 00:45:33 +00:00
7b5d655c91 scripts/check-backups: show how to view the host's last-completed 2024-08-07 23:00:44 +00:00
de6ffe6b75 flare-signal: update compatibility notes 2024-08-07 22:07:56 +00:00
f8aea34e96 sanebox: bwrap: make user namespace unsharing more obvious 2024-08-07 21:23:21 +00:00
49efb94a0a seatd: restrict capabilities 2024-08-07 20:30:29 +00:00
9b1e053ead seatd: place the socket in a place that lends itself to better sandboxing 2024-08-07 19:37:20 +00:00
235dc86155 todo.md: delete completed sandboxing items 2024-08-07 01:33:31 +00:00
6dad290cd5 duplicity: purge 2024-08-07 01:33:31 +00:00
cc6ed6c0ec flare-signal: annotate my notes on it with datestamps 2024-08-07 01:23:43 +00:00
cc3aba3cc2 servo: fix postfix: dont start until after the mail dir has been mounted 2024-08-07 00:17:17 +00:00
41f08125bb scripts/check-backups: convert timestamps to hours 2024-08-06 21:50:49 +00:00
27487fe870 scripts/check-admin: script to show which (if any) services require tending to registration attempts 2024-08-06 21:40:48 +00:00
d45ea622d1 servo: disable email-based registration gating 2024-08-06 21:39:32 +00:00
247fd3f807 less: tune flags, especially for systemd/journalctl 2024-08-06 19:25:10 +00:00
816e2a7065 nixpkgs: 24.05-unstable-2024-08-04 -> 24.05-unstable-2024-08-06 2024-08-06 19:08:39 +00:00
be842d5c5e nixpkgs-wayland: 0-unstable-2024-08-03 -> 0-unstable-2024-08-06 2024-08-06 19:08:30 +00:00
fa6ec981e0 sops-nix: assets-unstable-2024-07-27 -> assets-unstable-2024-08-05 2024-08-06 19:08:16 +00:00
52b4c1542a uassets: 0-unstable-2024-08-03 -> 0-unstable-2024-08-06 2024-08-06 19:08:00 +00:00
3ff59247da uninsane-dot-org: ? -> 2024-08-06 2024-08-06 19:07:44 +00:00
d9c0855c4e fractal-nixified: 7 -> 8 2024-08-06 08:26:50 +00:00
1a67a05238 transmission/torrent-done: make files readable (speculative) 2024-08-06 08:26:16 +00:00
1cdeedd9ec servo: partially ship ollama 2024-08-06 08:24:29 +00:00
6830bb7097 servo: transmission: simplify the rsync call
i'm having perms issues _somewhere_
2024-08-06 08:14:45 +00:00
316b0bee3a landlock-sandboxer: disable the ABI mismatch warnings 2024-08-06 07:20:00 +00:00
638655ff83 mnt-servo-*-reachable.service: harden systemd service 2024-08-06 06:43:10 +00:00
5e57e78411 /mnt/servo/*: fix to not hang the mount when fs is offline
this is an unfortunate effect of the drop_privileges part of fuse3,
that the mount is active as soon as the fs implementation is launched,
instead of when it enters `fuse_main`.
2024-08-06 05:54:31 +00:00
3859619ae0 curlftpfs-sane: implement "-o exit_after_connect" 2024-08-06 05:53:45 +00:00
646c2dd85a common/fs: mount curlftpfs using fuse3 2024-08-06 04:48:47 +00:00
0655b6906c curlftpfs: implement readdir
i think now all the stuff you'd expect of a basic fs now actually works
2024-08-06 04:11:32 +00:00
3019f90f5d curlftpfs-sane: upgrade to fuse3 2024-08-06 03:00:11 +00:00
020e5f8c6e /mnt/persist/private: split waiting on the keyfile out of the mount process 2024-08-06 02:03:55 +00:00
809c3af7fa /mnt/persist/private: minor improvements to file permissions 2024-08-06 01:26:53 +00:00
93cb1bc546 /mnt/persist/private: sandbox in a way that the actual gocryptfs instance doesn't get CAP_SYS_ADMIN 2024-08-06 00:52:48 +00:00
53acab834c refactor: persist/stores/ephemeral: move to its own source directory 2024-08-05 23:05:02 +00:00
3a0610b029 /mnt/persist/ephemeral: sandbox in a way that the actual gocryptfs instance doesn't get CAP_SYS_ADMIN
instead, only fuse does, and the capability is lost during the handoff between fuse and gocryptfs
2024-08-05 23:04:14 +00:00
9cee460d7e gocryptfs: sandbox with landlock
now /mnt/persist/ephemeral implementation can't access /mnt/persist/private; /mnt/persist/private can't access /mnt/desko/home, and so on
2024-08-05 23:01:38 +00:00
e657507a76 libfuse-sane: search for mount helpers on /run/current-system/sw/bin 2024-08-05 23:00:05 +00:00
c706a19836 landlock-sandboxer: rename the binary, so that it can be included on PATH without collisions 2024-08-05 22:59:14 +00:00
566e15286b sanebox: don't assume 'readlink' is available in the environment 2024-08-05 22:56:18 +00:00
d1b4e9c923 sanebox: allow /dev/fd in the sandbox by default 2024-08-05 22:55:12 +00:00
5eca45891b sanebox: fix landlock sandboxing IAB edgecases
i don't fully understand it. but adjusting the Inh capability set breaks things like gocryptfs. i think it isn't necessary: if we set E alone, and no-new-privs, then that gets us the same guarantees.
2024-08-05 22:54:20 +00:00
722fe8f368 libcap: ship the optional 'captree' component 2024-08-05 05:30:14 +00:00
e25dd98f6c spot/spotify: disable
i don't use spotify atm
2024-08-05 00:47:59 +00:00
54e9d4a0ae sane-vpn: switch back to bwrap instead of pasta 2024-08-04 18:56:17 +00:00
9f3a13eeb8 nixpkgs: 24.05-unstable-2024-08-02 -> 24.05-unstable-2024-08-04 2024-08-04 02:19:14 +00:00
5605ffda4b nixpkgs-wayland: 0-unstable-2024-08-02 -> 0-unstable-2024-08-03 2024-08-04 02:18:57 +00:00
9165925469 syshud: 0-unstable-2024-07-29 -> 0-unstable-2024-08-03 2024-08-04 02:18:37 +00:00
f65bf2b433 uassets: 0-unstable-2024-08-02 -> 0-unstable-2024-08-03 2024-08-04 02:18:14 +00:00
0f60a86ed4 hare-ev: 0-unstable-2024-07-07 -> 0-unstable-2024-07-11 2024-08-04 01:08:37 +00:00
b488b6748d nixos/pam: replace apparmor warnings with assertions 2024-08-04 00:50:41 +00:00
ef6b7cf175 syshud: 0-unstable-2024-07-16 -> 0-unstable-2024-07-29 2024-08-04 00:39:04 +00:00
0906d76f83 libcap_ng: ship 2024-08-03 23:27:53 +00:00
90c495e74c libfuse-sane: ship 2024-08-03 22:59:34 +00:00
74662df720 persist/{private,ephemeral}: mount via fuse
gocryptfs is compatible with --drop-permissions style of mount.fuse3. only, i can't actually use that today because i need to keep permissions :o

but maybe i'll enable that in the future
2024-08-03 18:51:58 +00:00
2b3278eb7f /mnt/$host/home: layer bwrap sandboxing after the drop-privileges passoff 2024-08-03 17:11:11 +00:00
9b4e91fbd9 /mnt/$host/home: harden systemd settings 2024-08-03 16:27:42 +00:00
734627232a /mnt/$host/home: mount with drop_privileges 2024-08-03 15:13:04 +00:00
3adbbe5fa7 /mnt/$host/home: run as user instead of as root 2024-08-03 15:13:04 +00:00
b4a244df7a rsync-net: fix /nix/persist/private path 2024-08-03 14:32:44 +00:00
97268e9b26 curlftpfs-sane: rename from curlftpfs
i already patched it significantly; i plan to port to fuse3 shortly
2024-08-03 14:32:01 +00:00
bebf6bdaeb rsync-net: hardcode fewer paths 2024-08-03 11:38:43 +00:00
04fc601c9c rsync-net: fix sandboxing (dont set PrivateUsers: we lose perms in the root ns doing that) 2024-08-03 11:25:50 +00:00
ee062d61d0 sane-tag-media: rework the tag extrapolation to be less intrusive 2024-08-03 07:58:43 +00:00
0dba9987c5 sane-tag-media: remove unused "confirm" function 2024-08-03 07:19:53 +00:00
4761690b6d sane-tag-media: have --derive + --override-existing NOT override the existing tags when the derived ones apear to be simply lower-quality versions of the same on-disk data 2024-08-03 07:19:08 +00:00
604782c3a6 sane-tag-media: refactor (simplify) 2024-08-03 03:57:09 +00:00
365d33c357 sane-tag-media: empty manual tags always overwrite tags, regardless of --override-existing flag 2024-08-03 03:38:22 +00:00
a39ad8a508 sane-tag-media: rename --force flag to --override-existing 2024-08-03 03:31:16 +00:00
c49e9a4c2b sane-tag-media: implement the --ignore-existing flag 2024-08-03 03:18:07 +00:00
36491842cc sanebox: bwrap: micro-optimize to not require env 2024-08-02 22:44:27 +00:00
81ea2210c9 sanebox: allow keeping the net namespace 2024-08-02 22:44:27 +00:00
f678508b33 sanebox: add --sanebox-capsh-arg flag 2024-08-02 22:44:27 +00:00
6135be5f72 sanebox: refactor: bwrapFlags -> bwrapArgs 2024-08-02 22:44:27 +00:00
c8989ca1a8 pasta: allow running as root 2024-08-02 22:44:26 +00:00
1d665f8ecc sanebox: support "--sanebox-cap all" special case 2024-08-02 22:43:52 +00:00
7c284ad8da sane-vpn: use pasta instead of full bwrap for net namespacing 2024-08-02 22:42:56 +00:00
1c26674da7 rsync-net: temporarily use only RestrictNetworkInterfaces option and disable the internal sane-vpn logic
this is temporary, until i can fix sane-vpn to preserve linux capabilities
2024-08-02 22:10:44 +00:00
dae8481176 firefox: ship a "stub DNS" desktop file variant
though note that my stub-dns seems to be broken recently...
2024-08-02 21:41:07 +00:00
42b27f0433 sane-vpn: fix broken doc on --verbose flag 2024-08-02 21:39:29 +00:00
84be0cae5a todo.md: note another website which doesnt resolve with trust-dns 2024-08-02 21:20:31 +00:00
fbfd0afca4 common/fs: only desclare /mnt/$host mounts for hosts this machine is authorized to access 2024-08-02 20:29:22 +00:00
e586b7b449 signal-desktop-from-src: 7.16.0 -> 7.18.0 2024-08-02 10:52:44 +00:00
222c37b056 uassets: 2024-07-29 -> 2024-08-02 2024-08-02 10:52:25 +00:00
53b17ec230 nixpkgs-wayland: 2024-07-28 -> 2024-08-02 2024-08-02 10:52:07 +00:00
7697704aff nixpkgs: 2024-07-31 -> 2024-08-02 2024-08-02 10:51:44 +00:00
c490b6e6ad common/polyunfill: simplify my config by using the new security.pam.package option 2024-08-02 10:04:20 +00:00
89d678c729 nixpkgs: 2024-07-29 -> 2024-07-31 2024-08-02 10:03:48 +00:00
c64163290c gocryptfs: return to running mainline
i don't need the bug fix anymore, since i don't use pam_mount anymore
2024-08-02 09:52:20 +00:00
eaeb8380dc fs: enable @basic-api everywhere, since its required by systemd restart logic 2024-08-02 09:13:55 +00:00
05a9e8e819 common: /mnt/servo: fix systemd mount files to be aware of the timeout, again 2024-08-02 08:16:13 +00:00
cf20230d96 sane.fs: cleanup
plumb systemd.{mounts,services} instead of the less detailed 'systemd'
2024-08-02 08:01:38 +00:00
9dbb2a6266 sane.fs: take in the role of generating systemd.mounts files 2024-08-02 07:33:21 +00:00
113b107d73 persist: fix ordering so stores arent required by local-fs.target
maybe they should be, but then there's weird stuff about getty depending on sysinit.target, and that being blocked by the private store...
2024-08-02 06:20:39 +00:00
96dfe79a8c fs: persist/private: harden systemd mount file 2024-08-02 05:17:44 +00:00
6e5bde17aa cleanup: persist/private: simplify 2024-08-02 05:00:55 +00:00
3eb66c098b trust-dns: make it a dependency of "network-online.target" 2024-08-02 04:54:58 +00:00
515aab5370 cleanup: persist/private: encode the dependencies more precisely, rather than just having it all depend on default.target 2024-08-02 04:50:33 +00:00
f925dd9a20 fs: isolate /mnt/servo/* and /mnt/persist/ephemeral a bit more 2024-08-02 04:45:14 +00:00
cbe6bdf158 hosts: fs: sandbox /mnt/servo/* mounts 2024-08-02 03:17:53 +00:00
949a52dee1 activationScripts.notifyActive: be quiet about sane-deadlines/sane-sysload 2024-08-02 01:11:19 +00:00
2ee1fb17c4 sane-deadlines, sane-sysload: fix ordering to not run before the environment is configured 2024-08-02 01:04:07 +00:00
48cc718700 login: remove systemd-user-sessions integration so that we dont block on remote-fs
tested on lappy. will it work on servo, with gitea?
2024-08-02 00:52:51 +00:00
6a7dd31755 vpn: fix warning about missing /32 syntax 2024-08-02 00:37:58 +00:00
2197951e12 NetworkManager-dispatcher: cleanup an ordering cycle between it and trust-dns-localhost 2024-08-02 00:36:54 +00:00
883db3e9ba todo.md: sync 2024-08-02 00:33:35 +00:00
312b0a5554 todo.md: sandbox the remaining filesystems 2024-08-01 22:50:03 +00:00
07de46c616 todo.md: remove completed items 2024-08-01 22:48:49 +00:00
efc16a9e80 persist: harden the "ephemeral" store mount environment
there's only so much this can actually achieve. it's still quite possible for someone who knows what they're doing to do large amounts of damage
2024-08-01 22:40:55 +00:00
161f272f41 gpodder-adaptive: track youtube-dl upstreaming 2024-08-01 20:02:47 +00:00
6aa6c0020c lightning-cli: fix sandboxing 2024-08-01 19:59:23 +00:00
acd46940e4 clightning: lift the build fix into pkgs/default.nix
this lets me apply it outside the context of a nixos module
2024-08-01 19:53:05 +00:00
00a25f1533 feeds: fix complex systems URL 2024-08-01 19:52:22 +00:00
bc0a1eb1b3 feeds: sub to Complex Systems Podcast 2024-08-01 18:58:39 +00:00
cd3f483df0 sway: add "Super+B" shortcut to open the Web Browser 2024-08-01 18:55:25 +00:00
38a183cf3b sane-open: backfill missing configureKeyboardFor_uri method 2024-08-01 18:54:50 +00:00
5ed6e84cc7 sane-open: refactor 2024-08-01 18:54:04 +00:00
7c1a0fc323 sane-open: add --debug flag 2024-08-01 18:52:55 +00:00
f16066549f sane-open: fallback to URI instead of file when we cant do anything more specialized 2024-08-01 18:52:06 +00:00
659da66106 sane-open: add the ability to open URIs 2024-08-01 18:50:17 +00:00
c07eaba873 tor-browser: associate with .onion URLs 2024-08-01 18:34:38 +00:00
bb420bd45d firefox: add a desktop item for launching inside a VPN 2024-08-01 18:10:32 +00:00
3902432864 where-am-i: fix bin linking 2024-08-01 17:57:45 +00:00
33efbeda8a link manpages into all linkIntoOwnPackage users 2024-08-01 17:43:58 +00:00
8206fb0519 linkIntoOwnPackage: place man/doc into separate outputs 2024-08-01 17:11:24 +00:00
2687286489 servo: nginx: switch to mainline zlib to silence syslog warnings 2024-08-01 01:25:16 +00:00
d5e52e21f7 sane-stop-all-servo: stop ntfy and trust-dns-doof services 2024-07-31 23:40:51 +00:00
367fc24aa8 nixpkgs: full_index=1: actually apply to all PR urls -- not just nixpkgs commits 2024-07-31 20:59:07 +00:00
bf45206d1a nixpkgs: use full_index=1 when fetching patches, for stable hashes 2024-07-31 20:52:38 +00:00
397b2ae2ea nixpkgs: update hashes 2024-07-30 22:05:01 +00:00
f0ebb305ec nixpkgs: update hashes
though it's probably fetchpatch2 just being stupid again and i'll revert
2024-07-30 21:58:01 +00:00
e629d2d999 rsync-net: harden systemd service, and dodge the "pasta doesnt support root" bug 2024-07-30 21:54:25 +00:00
9b2601e450 cross: fix texinfo (used for info command) 2024-07-30 16:23:06 +00:00
a20c13fffe firefox-extensions.ublacklist: 8.9.1 -> 8.9.2 2024-07-30 15:50:04 +00:00
20a2d8dc1c uassets: 2024-07-28 -> 2024-07-29 2024-07-30 15:50:04 +00:00
297bf7e090 syshud: 2024-07-21 -> 2024-07-29 2024-07-30 15:50:04 +00:00
ed024d081e nixpkgs-wayland: 2024-07-27 -> 2024-07-28 2024-07-30 15:50:04 +00:00
4ddd4191bc nixpkgs: 2024-07-28 -> 2024-07-29 2024-07-30 15:50:04 +00:00
32ef63028b sane-reclaim-disk-space: fix quote typo 2024-07-30 15:32:35 +00:00
70bd001171 servo: bitcoind: harden systemd service 2024-07-30 13:12:27 +00:00
b53f376d70 servo: clightning: tighten sandboxing for bitcoin-cli interaction 2024-07-30 12:41:33 +00:00
621c147483 clightning: remove /var/lib/bitcond-mainnet from the service paths -- again 2024-07-30 11:17:10 +00:00
841076fd9e clightning: move /var/lib/bitcoind-mainnet from ReadWritePaths -> ReadOnlyPaths
i think i can go further, remote it altogether
2024-07-29 23:19:26 +00:00
80492e902b inotify watches: bump 1M -> 4M
i'm hoping this will reduce errors on servo seen in system services,
about exhausing "disk space" (file handle space)
2024-07-29 23:19:26 +00:00
f058fe0be6 servo: lemmy: sandbox 2024-07-29 23:19:26 +00:00
8fde3dea77 servo: pleroma: fix service hardening 2024-07-29 23:19:26 +00:00
ac9238a7f0 servo: assorted: plead with shitty AI companies to not bring my server to its knees by scraping all of the Linux source code
i thought AI was supposed to be smart
2024-07-29 19:19:32 +00:00
45412e5042 common/fs: ftp auto-remounting in a way which doesnt use .service files 2024-07-29 15:44:54 +00:00
d76d50f1c4 common/fs: /mnt/servo/* ftp auto/re-mounting in a way which does better rate limiting 2024-07-29 07:11:52 +00:00
f1c76ada43 WIP: common/fs: simpler /mnt/servo/* ftp auto/re-mounting 2024-07-29 03:44:10 +00:00
9dbd85ba08 servo: slskd: remove the hardening options until i can debug 2024-07-29 03:42:52 +00:00
2c707c3acd servo: lemmy/lemmy-ui: harden the service with a syscall filter 2024-07-29 03:42:52 +00:00
0fae963d90 servo: lemmy: harden the backend systemd service 2024-07-29 03:42:52 +00:00
90df178c35 servo: slskd: harden (partially) 2024-07-29 03:42:52 +00:00
dc053149d0 servo: lemmy/lemmy-ui: harden 2024-07-29 03:42:52 +00:00
bce81d0487 servo: pleroma: harden 2024-07-29 03:42:52 +00:00
a8eba4df4d servo: jackett: harden further 2024-07-29 03:42:52 +00:00
1bb36b74c2 scripts/check-uninsane: check that servo bitcoind is online 2024-07-29 03:42:52 +00:00
e21910a1f7 servo: disable unused i2p, monero services 2024-07-29 03:42:52 +00:00
4b30036973 servo: bitcoind: harden 2024-07-29 03:42:52 +00:00
ea5919ab6b servo: jackett: harden 2024-07-29 03:42:52 +00:00
43232ff569 kiwix-serve: harden 2024-07-29 03:42:52 +00:00
6a9fd04437 bitcoin-cli: split into own file, and fix broken path to config file when running as user 2024-07-29 03:42:52 +00:00
dc2d46b9c0 servo: cryptocurrencies: get clightning back into a state where i can see its working 2024-07-29 03:42:52 +00:00
666744bda3 bitcoin-cli,lightning-cli: ship as own package instead of shipping the whole daemon 2024-07-29 03:42:52 +00:00
ba09fbeec9 bitcoind: fix sandboxing 2024-07-29 03:42:52 +00:00
916ecc30d1 scripts/deploy: fix --reboot flag 2024-07-29 03:42:52 +00:00
1536a60a3d firefox-extensions.ether-metamask: attributions-v11.16.15 -> 11.16.16 2024-07-29 03:42:52 +00:00
b7418afede uassets: 2024-07-22 -> 2024-07-28 2024-07-29 03:42:52 +00:00
82a0bf3212 sops-nix: 2024-07-21 -> 2024-07-27 2024-07-29 03:42:52 +00:00
cb79224c7a nixpkgs-wayland: 2024-07-22 -> 2024-07-27 2024-07-29 03:42:52 +00:00
b850e25f5b nixpkgs: 2024-07-24 -> 2024-07-28 2024-07-29 03:42:52 +00:00
8f0f7ef333 cross: fix rsyslog compilation 2024-07-29 03:42:52 +00:00
0bfaead177 sane-deadlines: only show on physical login, not ssh 2024-07-29 03:42:52 +00:00
1b93dbe12c sane-sysload: show on remote login 2024-07-29 03:42:52 +00:00
72d286fbba sane-sysload: add an "{all}" formatter, and show that by default 2024-07-29 03:42:52 +00:00
033faf6f6b clightning-sane: fix --help formatting 2024-07-28 19:24:38 +00:00
eb3651ce59 refactor: assorted: python: logger.warn -> logger.warning
the former is deprecated
2024-07-28 03:41:30 +00:00
bf1f843306 doc: rsyslog: note that this isnt the traditional setup
also, may want to tune the burst settings in the future. i definitely got rate-limited
2024-07-28 03:40:53 +00:00
6cc5669772 servo: remove the root auto-login, so that my s6-rc entrypoint works
i'm sure there's a better way to do this... meh
2024-07-28 03:40:07 +00:00
cb1fbdcaf0 sane-ip-check: add a delay in the retry path 2024-07-28 03:24:02 +00:00
c83dc4d601 servo: assorted: decrease logging verbosity of matrix, lemmy, dovecot, ntfy-sh 2024-07-28 03:15:27 +00:00
36bbac539f nginx: port /var/www/sites data to private store 2024-07-28 02:38:36 +00:00
9a1cd9341f feeds: note some more podcast discovery places 2024-07-28 01:54:14 +00:00
3a6a5ffe01 rsyslog: persist logs 2024-07-28 01:54:14 +00:00
971de060d5 WIP: port /var/log persistence to private store 2024-07-28 01:54:14 +00:00
3ea57f1d6a users: disable pam mount
this was needed for the old way of mounting ~/private, but no longer
2024-07-28 01:54:14 +00:00
fa05e59863 servo: ipfs: port data to private store 2024-07-28 01:54:14 +00:00
de7ff360dc servo: postfix: port data to private store 2024-07-27 17:43:18 +00:00
7f1f9a082d flare-signal-nixified: simplify 2024-07-27 17:30:18 +00:00
6553cdc068 flare-signal-nixified: 0.10.1 -> 0.15.0 2024-07-27 16:54:12 +00:00
e44771f67d servo: postgresql: port data to private store 2024-07-27 16:51:23 +00:00
cbe17c03e4 scripts/deploy: fix usage message about --reboot flag 2024-07-27 14:48:44 +00:00
4c4d841038 servo: slskd: dont persist any data, actually (it still works) 2024-07-27 14:48:31 +00:00
060ae113a1 servo: transmission: port data to private store 2024-07-27 14:14:27 +00:00
540124d2f7 servo: slskd: port data to private store 2024-07-27 13:54:01 +00:00
9df947aa74 servo: ejabberd: port data to private store 2024-07-27 13:40:08 +00:00
66333cbbe7 servo: prosody: port data to private store 2024-07-27 13:38:34 +00:00
3353ed3b66 linux-postmarketos-allwinner: 6.9.0 -> 6.9.10 2024-07-27 13:26:18 +00:00
447923a231 servo: matrix: port data to private store 2024-07-27 12:44:49 +00:00
3179a6834b servo: gitea: port data to private store 2024-07-27 11:49:47 +00:00
70a470b81e servo: ntfy: port data to private store 2024-07-27 02:10:43 +00:00
fff7848cd6 servo: clightning: port data to private store 2024-07-27 02:07:39 +00:00
1fb6cb483b servo: tor: port to private share 2024-07-27 02:04:08 +00:00
33e72c8d34 pleroma: port to private share 2024-07-27 02:00:28 +00:00
8629e2600a jackett: port to private store 2024-07-27 01:49:12 +00:00
2e644dc020 persist/private: remove the "prefix", to allow the store to hold files not just in /home/colin
this will require a one-time manual migration on all devices
2024-07-27 00:26:57 +00:00
f4a6bc1991 pam_cap: fix ordering so that my sessions have correct capabilities again 2024-07-26 23:58:57 +00:00
19fd45211f sane-secrets-unlock: remove from ~/.profile and make it an s6 service
more reliable, in practice
2024-07-26 22:18:32 +00:00
ace03bb0e9 persist/private: actually do enable "auto", for servo where i dont auto-tty-login as colin
this doesn't seem to block the boot
2024-07-26 22:02:57 +00:00
8819142128 modules/users: use = instead of -eq for comparison to fix warning which XDG_VTNR is unset 2024-07-26 20:57:23 +00:00
d905af6cd1 ship sane-private-unlock-remote as a cron job to lappy/desko 2024-07-26 20:54:27 +00:00
0f084b19f1 sane-scripts.private-unlock-remote: init 2024-07-26 20:16:12 +00:00
91263b9dcf sane-secrets-dump: allow specifying the secret by name instead of full path 2024-07-26 20:05:51 +00:00
40e4d0f39c sane-secrets-dump: allow dumping specific fields, and in multiple formats 2024-07-26 19:56:18 +00:00
06a17e4425 moby: remove dead autologin code 2024-07-26 16:04:38 +00:00
cbca403158 hosts/common: downgrade the auto-login to lib.mkDefault
servo uses autologin as root, for the purpose of recovery. let it keep that for now
2024-07-26 16:04:13 +00:00
3b8d6c8587 refactor: s6/unl0kr/profile: put more shell init stuff directly in modules/users/default.nix when it doesnt benefit from being pluggable 2024-07-26 15:58:59 +00:00
d59380b4dd unl0kr: ensure it runs on the same tty the session was initialized on 2024-07-26 14:50:28 +00:00
f4df121e3d persist/private: s6: use systemd to explicitly start the mount, rather than assume it's already been initiated 2024-07-26 14:01:31 +00:00
3d91fa2475 systemd.networkd: disable the wait-online service
it blocks boot like a idiot
2024-07-26 14:01:31 +00:00
96f786de20 persist/private: fix so systemd actually knows when the mount has completed 2024-07-26 12:44:32 +00:00
fcbbfc4a65 fix s6 service ordering: unl0kr -> (wait for mount) -> sway
note that the systemd-aware mount never completes -- it's stuck in 'activating' forever. that's the next challenge
2024-07-26 12:18:14 +00:00
b93e9e75e6 unl0kr: use inotify in the retry logic 2024-07-26 11:31:53 +00:00
4daf5452e8 unl0kr: dont echo password to terminal 2024-07-26 09:36:06 +00:00
af905a2f58 unl0kr: split the gocryptfs unlocking into its own separate service
/mnt/persist/private can be depended on by both s6 user services and systemd system services (which will become useful for servo)

/mnt/persist/private can be unlocked by dropping the key in remotely, however that won't kill unl0kr

TODO: fix unl0kr to not also output text to the tty

TODO: ensure gocryptfs mount can handle being fed a wrong password
2024-07-26 08:08:21 +00:00
8ef5920d84 unl0kr: port to an s6 service
this has some drawbacks in its current form and will be tidied

it writes the password also to the consold. it requires 'sudo'.
2024-07-25 18:45:01 +00:00
b554d32133 fix permissions of /nix/persist/private, to be user-writable
this is important for my rsync-net backup scripts, which need to record timestamps in there
2024-07-25 18:42:45 +00:00
2203d6db59 cleanup: remove XDG_SESSION_TYPE, XDG_VTNR from global environment 2024-07-25 15:26:24 +00:00
07b55bb3ec unl0kr: dont run atop getty -- just a bare /dev/tty1
i'm not sure what agetty was ever doing here.
unl0kr itself runs fine, it launches ~/.profile, and if i interrupt ~/.profile to use a console, that works too.

the console does regularly get interrupted by systemd output,
but i've checked and the agetty method had that same program.
2024-07-25 14:48:15 +00:00
874b7aecfa persist: rename "cryptClearOnBoot" to "ephemeral" 2024-07-25 12:11:46 +00:00
cf8e9f798d persist/crypt: simplify the fileSystems definitions
turns out you can just declare your own fs type, that's cool
2024-07-25 12:11:46 +00:00
800945d951 sway: disable touchpad middle-click (i hope?) 2024-07-25 12:11:46 +00:00
4c3b0f820b feeds: unsubscribe from Vox, Post Reports (politics) 2024-07-25 08:41:13 +00:00
0756349c86 polyunfill: fix missing lvm2 2024-07-24 13:11:59 +00:00
490c587737 swaync-service-dispatcher: add up/down options 2024-07-24 11:49:15 +00:00
15df9edca1 swaync-service-dispatcher: add a usage command 2024-07-24 11:46:52 +00:00
2d73b85f92 gps-share: fix sandboxing
it's possible that the Avahi sandboxing isn't right. idk
2024-07-24 11:43:24 +00:00
70d4925483 gps-share: dont launch until after the modem is actually powered on 2024-07-24 11:15:44 +00:00
dda2ea6fcb nixpkgs: update patch hash 2024-07-24 10:00:30 +00:00
a165e568a8 mpv: tune controls for mobile (speculative) 2024-07-24 09:05:15 +00:00
a539e52abe mpv: disable visualizer; it breaks UI 2024-07-24 09:05:05 +00:00
e62df51258 todo.md: remove completed items 2024-07-24 08:29:16 +00:00
17e7c7d48b nixpkgs: update hashes 2024-07-24 08:29:08 +00:00
6f1173e45a sops-gpg-adapter: port to nix-shell 2024-07-24 08:28:13 +00:00
225c8de7a2 trust-dns: fix dyn-dns reactor (trust-dns-lan does not exist) 2024-07-24 07:18:29 +00:00
05f8dad425 nixpkgs-wayland: 2024-07-21 -> 2024-07-22 2024-07-24 06:46:27 +00:00
8b6971a164 nixpkgs: 2024-07-21 -> 2024-07-24 2024-07-24 06:38:40 +00:00
91359174f6 scripts/check-backups: be slightly more verbose -- at least until im more confident in this setup 2024-07-24 03:33:07 +00:00
b012b93d89 sane-vpn: port from bash -> python 2024-07-24 03:32:38 +00:00
34e770c5f5 sanebox: fix missing dependency on iptables/iproute2 2024-07-24 03:32:12 +00:00
0460a419c5 sane-vpn: use DHCP DNS servers when use specifies none -- instead of 1.1.1.1 2024-07-24 03:05:37 +00:00
79834aedf3 scripts/check-backups: init 2024-07-23 22:09:32 +00:00
2ca8bcda56 bonsai: 1.1.0 -> 1.2.0 2024-07-23 21:39:07 +00:00
8ced778def rsync.net backups: generate stamp files that let me verify that a backup has been attempted 2024-07-23 21:05:43 +00:00
d91ca22587 scripts/sync: add --verbose flag and support syncing multiple machines 2024-07-23 18:49:05 +00:00
a47b9d580a sane-tag-media: fix type-based filtering 2024-07-23 18:24:41 +00:00
fc8a54f39b sane-tag-media: leave a note to implement epub support in the future 2024-07-23 18:14:37 +00:00
3ae25fbe31 sane-tag-media: understand Adobe Acrobat publisher tag 2024-07-23 17:59:00 +00:00
36acc87f30 sane-tag-media: rename print-missing subcommand to show-missing, for consistency with show subcommand 2024-07-23 17:53:48 +00:00
5b7244d339 sane-tag-media: understand LibreOffice/OpenOffice publisher tag 2024-07-23 17:52:34 +00:00
9efa5bb209 sane-tag-music -> sane-tag-media, and formally support pdf 2024-07-23 17:42:25 +00:00
211486f60e pleroma: use sandboxed gawk instead of unsandboxed 2024-07-23 17:19:50 +00:00
b21002207a programs: ship exiftool 2024-07-23 17:19:50 +00:00
1fc0ae3066 nixpkgs: update contourpy patch hash 2024-07-23 17:19:50 +00:00
712cff2867 sane-tag-music: fix path-based tag derivation when path contains "." or ".." 2024-07-23 16:46:32 +00:00
a103cd819f sane-sync-music: fix flac -> opus conversion for surround sound media 2024-07-22 23:12:02 +00:00
553a2724a4 youtube-tui: docs: mention more invidious instances 2024-07-22 16:14:44 +00:00
bf0583cbda youtube-tui: update to a more reliable invidious instance 2024-07-22 16:00:51 +00:00
5a5842d26c nicotine-plus: fix so it can read its config file on first run 2024-07-22 15:51:40 +00:00
3f8f3f4e54 mpv: sponsorblock: also skip intros 2024-07-22 14:20:34 +00:00
4ad6c84d31 mpv: integrate with sponsorblock 2024-07-22 14:09:56 +00:00
8e215cba69 jackett: remove obsoleted patch
seems to work without? i guess i just didn't want to patch the service?
2024-07-22 12:10:21 +00:00
1e3b71def3 gpodder: enable yt-dlp 2024-07-22 11:36:32 +00:00
90b057af95 servo: jackett: remove unnecessary doCheck patch
i don't run jackett on arm anymore
2024-07-22 11:14:12 +00:00
4e35c09a85 jackett: apply patches only to the package as used by the service -- not all of nixpkgs 2024-07-22 11:10:30 +00:00
1e0034c66f sxmo-utils: remove 2024-07-22 11:02:58 +00:00
ae91b825e6 feeds: unsubscribe from The Daily
maybe check back in 2 years from now and see if it'll be more worthwhile news and less politics
2024-07-22 10:48:57 +00:00
3c8b3f2d04 programs: add "nix"
this allows me to get it to shup up about so-called 'non-free' packages
2024-07-22 10:46:31 +00:00
79fbdc4e15 scripts/sync: add a "sync all" option 2024-07-22 07:52:31 +00:00
284ea45648 mpv: tune the OSC menu controls 2024-07-22 07:34:56 +00:00
9c33cb44e2 nixpkgs: 2d155950622fbf78b85e7fa36e337f35316b6c39 -> b841e48094d6eaad953f36dc0831434966dc7719 2024-07-22 06:19:52 +00:00
77a9f47352 nixpkgs-wayland: 2024-07-20 -> 2024-07-21 2024-07-22 06:19:39 +00:00
04a5d38f79 syshud: 2024-07-16 -> 2024-07-21 2024-07-22 06:19:25 +00:00
452950d80b uassets: 2024-07-21 -> 2024-07-22 2024-07-22 06:19:06 +00:00
a79d9b1823 firefox-extensions.ublacklist: 8.9.0 -> 8.9.1 2024-07-22 06:18:49 +00:00
6e3a790a46 moby: enable rsync.net backups 2024-07-21 23:58:41 +00:00
7be997f597 moby: update password 2024-07-21 23:58:41 +00:00
ef1ee6c1c9 moby: document secrets 2024-07-21 23:58:41 +00:00
e196cea667 todo.md: not another trust-dns failure 2024-07-21 23:57:23 +00:00
105416990a 'sane-vpn do unmetered': route DNS to the host resolver 2024-07-21 23:56:56 +00:00
c0d1f7711a sanebox: pasta/bwrap: route DNS to the host's server if asked (via --sanebox-dns host) 2024-07-21 23:56:15 +00:00
f123be98b2 sane-vpn: specify missing sanebox dependency 2024-07-21 22:49:46 +00:00
15b0bba329 sanebox: implement --sanebox-pasta-arg, useful for debugging 2024-07-21 22:49:00 +00:00
734a4c7c31 todo.md: remove completed compass item 2024-07-21 21:51:41 +00:00
3ce2b44b7d sane-private-change-passwd: remove
use `gocrypt --passwd /nix/persist/private` instead
2024-07-21 21:48:31 +00:00
5f0eaa9771 sane-private-lock: fix mount point 2024-07-21 21:47:00 +00:00
cd7b36b761 sane-sync-music: target opus instead of mp3 when transcoding
opus supports surround sound
2024-07-21 21:46:18 +00:00
b72acef8ed pipewire: default to PIPEWIRE_DEBUG=3 2024-07-21 17:38:10 +00:00
74f2d4d174 pipewire: lift the surround sound functionality out of mpv 2024-07-21 16:54:26 +00:00
bedc9d4b2c signal-desktop-from-src: remove unnecessary --linux build flag 2024-07-21 15:02:03 +00:00
70b36fd79f signal-desktop-from-src: cleanup even more 2024-07-21 15:02:03 +00:00
7baed78b65 signal-desktop-from-src: remove extranous better-sqlite3 rebuild 2024-07-21 15:02:03 +00:00
7cca126efc signal-desktop-from-src: remove extraneous rebuild 2024-07-21 15:02:03 +00:00
433e8b8736 signal-desktop-from-src: simplify packaging -- just patch the dns fallback out 2024-07-21 15:02:03 +00:00
c026b8c40d signal-desktop-from-src: simplify build:release step 2024-07-21 15:02:03 +00:00
88df6b30ce signal-destop-from-src: 7.14.0 -> 7.16.0
upstream switched from yarn to npm, and for this kind of a package i'll seize the opportunity to use builNpmPackage instead of doing so much manually :-)
2024-07-21 15:02:03 +00:00
d324a57f06 uassets: 2024-07-19 -> 2024-07-21 2024-07-21 15:02:03 +00:00
55bed1926c sops-nix: 2024-07-14 -> 2024-07-21 2024-07-21 15:02:03 +00:00
8c9dcdb90f nipkgs-wayland: 2024-07-18 -> 2024-07-20 2024-07-21 15:02:03 +00:00
0ebcbe0ad5 nixpkgs: 2024-07-19 -> 2024-07-21 2024-07-21 15:02:03 +00:00
a9cbb2c092 servo: transmission/torrent-done: fix noisy file regexes 2024-07-21 11:25:54 +00:00
c5227c52c4 sane-sync-music: update file extensions list 2024-07-21 09:44:39 +00:00
0af5e43944 scripts/update: support gitUpdater-style updateScripts 2024-07-21 07:26:39 +00:00
cd16f8c3b6 sxmo-utils: disable auto-update via updateWithSuper attribute 2024-07-21 06:39:19 +00:00
0f7ec33dac scripts/update: cleanup 2024-07-21 06:36:21 +00:00
993c3df09e scripts/update: dont update sofacoustics package by default 2024-07-21 05:49:22 +00:00
fccb48cc2d mpv: ship the libmysofa HRTF file via $XDG_CONFIG_DIRS/share/libmysofa/default.sofa 2024-07-20 19:15:39 +00:00
64ddf15620 sofacoustics.ari: init 2024-07-20 19:13:55 +00:00
68ef56b572 mpv/ffmpeg: consolidate the different ffmpeg configs into overlays/preferences 2024-07-20 19:13:32 +00:00
99c19ceac0 nicotine-plus: use a different login than for slskd, to avoid having one kick the other off the net 2024-07-20 15:21:03 +00:00
f95f9a35fc nicotine: ship creds statically, as secrets 2024-07-20 15:16:31 +00:00
5f1ac2afac mpv: downmix surround sound to stereo using a HRTF-aware filter (sofa) 2024-07-20 13:44:33 +00:00
2ee53fd5be sofacoustics: prefix the .sofa file with the database from which it comes 2024-07-20 13:44:08 +00:00
9fb2cf4d42 sofacoustics.listen: init 2024-07-20 13:21:02 +00:00
612fa0cae8 sofacoustics.widespread: init 2024-07-20 12:39:22 +00:00
875e85c646 uassets: 2024-07-17 -> 2024-07-19 2024-07-20 03:28:38 +00:00
94ecca2967 nixpkgs-wayland: 2024-07-15 -> 2024-07-18 2024-07-20 03:28:29 +00:00
1fea424052 nixpkgs: 2024-07-17 -> 2024-07-19 2024-07-20 03:28:13 +00:00
4abd782b62 hosts/common: migrate most ~/ directories to the "private" persistence store 2024-07-19 20:16:04 +00:00
13b04d50b0 sane-backup-rsync-net: dont try to backup device files
the remote doesn't seem to support them (or maybe it's the protocol)
2024-07-19 20:14:33 +00:00
36b1178fc0 mpv: associate with imgur URLs 2024-07-19 20:13:55 +00:00
527e7029b9 hosts: migrate ~/Videos/local from plaintext -> private storage 2024-07-19 13:47:30 +00:00
18c07721d9 servo: enable rsync.net backups 2024-07-19 12:49:47 +00:00
6ac700811a lappy: enable rsync.net backups 2024-07-19 12:49:40 +00:00
cd62aa2f38 opencellid: update hashes 2024-07-19 12:44:09 +00:00
72a78c5f3e nicotine-plus: re-enable 2024-07-19 12:44:09 +00:00
db292850b0 modules/programs: fix sandbox.net = "vpn" option 2024-07-19 12:44:09 +00:00
8e6272bafd static-nix-shell: better enforce that all nix-shell deps are specified 2024-07-19 12:21:10 +00:00
90e1f4a447 desko: automated backups to rsync.net 2024-07-19 11:42:04 +00:00
31c32b9636 sane-vpn: add a way to route traffic specifically through unmetered connections 2024-07-19 07:31:54 +00:00
d6aef04a77 element-desktop: fix sandboxing of embedded audio files (esp flac files) 2024-07-19 07:27:33 +00:00
0f08f14dc0 todo.md: note another site that doesnt work for trust-dns recursive resolver 2024-07-19 04:17:29 +00:00
6d9806613c nixpkgs/patches: send contourpy fix upstream 2024-07-19 01:15:19 +00:00
c0c2aa00f3 lgtrombetta-compass: ship 2024-07-18 16:40:17 +00:00
6d5cd7b604 lgtrombetta-compass: fix cross compilation and enable strictDeps = true 2024-07-18 15:51:13 +00:00
98860ccf46 todo.md: make a note that newly-patched trust-dns still doesnt support abs.twimg.com 2024-07-18 13:54:43 +00:00
bc5805b341 lgtrombetta-compass: fix cross compilation 2024-07-18 13:54:14 +00:00
3a4d27c3bf templates: python: fix broken setup-hooks refs 2024-07-18 13:24:40 +00:00
c88ef43310 lgtrombetta-compass: init at 0.4.0
it doesn't cross compile yet, because of its dependencies (matplotlib -> contourpy)
2024-07-18 13:24:13 +00:00
326e71f7b1 sanebox: landlock: restrict net access where applicable 2024-07-18 11:54:10 +00:00
532d3c13f6 eza: sandbox with landlock instead of bwrap 2024-07-18 11:43:58 +00:00
9f26ad40f9 mimetype: sandbox (and remove unneeded mimeopen) 2024-07-18 11:43:45 +00:00
c8a99317bc syshud: 0-unstable-2024-07-15 -> 0-unstable-2024-07-16
this fixes the crash-on-start issue
2024-07-18 09:51:44 +00:00
2296e10f15 assorted: remove obsolete GSK_RENDERER=cairo patch 2024-07-18 08:45:44 +00:00
ca68434f18 komikku: fix sandboxing (missing ~/.cache.komikku) 2024-07-18 08:42:45 +00:00
a1de7a4afd users: configure XDG_SESSION_TYPE during shell setup 2024-07-18 00:15:29 +00:00
b692c0b6ce 2024-07-16 -> 2024-07-17 2024-07-17 23:57:29 +00:00
8ba1e35b9d nixpkgs: 2024-07-16 -> 2024-07-17 2024-07-17 23:57:16 +00:00
765ec610c9 schlock: update pin/hash 2024-07-17 16:24:29 +00:00
43c33fef21 schlock: patch for faster unlock (less intense password hashing) 2024-07-17 16:24:00 +00:00
9bcc7cd30b todo.md: sync 2024-07-17 16:16:23 +00:00
0b7d8310df trust-dns: patch resolver to handle more edge-case domains (api.mangadex.org., m.wikipedia.org., ...) 2024-07-17 15:28:41 +00:00
c6f07d4f55 sane-vpn: fix none option 2024-07-17 13:13:14 +00:00
94a0e77fcc sane-vpn: set the retry duration for sane-ip-check 2024-07-17 02:01:50 +00:00
91d5c20a56 sane-ip-check: make the retry loop configurable 2024-07-17 02:00:27 +00:00
9b898ce597 sane-ip-check: implement a retry loop 2024-07-17 02:00:27 +00:00
a49411c02d lftp: fix sandboxing 2024-07-17 02:00:05 +00:00
fcd13d4f6f sane-vpn: cleanup the CLI ergonomics 2024-07-17 02:00:05 +00:00
ef1be364e7 docs: sane-vpn: more usage 2024-07-17 02:00:05 +00:00
8472320629 sane-vpn: route DNS through the VPN's server 2024-07-17 02:00:05 +00:00
19acab1363 scripts/check-uninsane: remove outdated ovpns DNS test 2024-07-16 22:57:48 +00:00
98e1ae53e2 syshud: 2024-07-02 -> 2024-07-15 2024-07-16 22:55:39 +00:00
eb2321aa79 uassets: 2024-07-14 -> 2024-07-16 2024-07-16 22:55:26 +00:00
8febe70665 firefox-extensions.uassets: 8.8.3 -> 8.9.0 2024-07-16 22:55:08 +00:00
ee4ab3b40c nixpkgs-wayland: 2024-07-14 -> 2024-07-15 2024-07-16 22:54:49 +00:00
281643afb0 nixpkgs: 2024-07-15 -> 2024-07-16 2024-07-16 22:54:34 +00:00
86f1e36035 scripts/deploy: fix "exho" typo 2024-07-16 07:42:24 +00:00
929a8eadbc syshud: update config files/locations to match upstream 2024-07-16 07:38:49 +00:00
e355a4b2eb assorted: remove no-longer-needed sanebox PATH fixes 2024-07-16 07:24:56 +00:00
132798be23 sanebox: ensure sanebox is always on the PATH of sandboxed binaries 2024-07-16 07:24:42 +00:00
c72e66a901 curl: sandbox 2024-07-16 07:23:32 +00:00
40d32ec1d5 polyunfill: remove cpupower and kbd 2024-07-16 07:18:06 +00:00
1377f5c7bc servo: fix DNS; although it's getting DHCP routes via DHCP, it doesn't seem to be getting DNS?? 2024-07-16 05:16:07 +00:00
bee714311b servo: remove dead systemd networking code for the WAN IP 2024-07-16 04:13:08 +00:00
b368d4624e servo: configure so that LAN peers can reach me at my WAN IP
on the router side this requires either (a) telling the router to use the doof IP as a gateway and also declaring that route or (b) using DHCP option 121. really, one should do both -- the first for the router, and the second for peers connected via switches
2024-07-16 04:13:06 +00:00
583f7217fc docs: rofi: mention rofi-calc 2024-07-16 00:46:19 +00:00
e8b0979de6 sane-sync-from-iphone: fix perms
without fusermount3 wrapper, i have to use sudo
2024-07-15 23:40:48 +00:00
c4b4ac48fd nixpkgs: 2024-07-14 -> 2024-07-15 2024-07-15 10:53:00 +00:00
8436ba3e02 todo.md: item for fixing transmission torrent-done paths 2024-07-15 02:02:05 +00:00
8b1f91ca86 servo: transmission: fix service config so my torrent-done script doesnt crash 2024-07-15 01:35:45 +00:00
73f6907e9a nixpkgs: fix unl0kr patch
maybe i'll push the PR through just so i don't have to deal with unstable patch hashes, wtf
2024-07-15 00:30:02 +00:00
d6bfef7657 linux-megous: add missing patch to git 2024-07-15 00:22:48 +00:00
0fafd81b79 scripts/sync: sanity check that source directory exists before doing a sync (else we would delete everything in the target) 2024-07-15 00:22:29 +00:00
2ac9c2cb68 fix NUR integration (hopefully) 2024-07-15 00:17:59 +00:00
e8547cc849 nixpkgs: fix unl0kr hash ... AGAIN (i'm beginning to think it's unstable) 2024-07-15 00:17:43 +00:00
3495f04810 preferences: remove unnecessary miniupnpc patch 2024-07-14 22:35:32 +00:00
68a891f6de firefox-extensions.{metamask,i2p-in-private-browsing,ublacklist} -> latest 2024-07-14 22:10:58 +00:00
b8dbc0c1c0 uassets: 2024-07-06 -> 2024-07-14 2024-07-14 22:10:31 +00:00
6964cf8d46 nixpkgs-wayland: 2024-07-05 -> 2024-07-14 2024-07-14 22:10:18 +00:00
c959c0a74a sops-nix: 2024-07-05 -> 2024-07-14 2024-07-14 22:10:01 +00:00
7b0a4c11ec nixpkgs: 2024-07-10 -> 2024-07-14 2024-07-14 22:09:44 +00:00
a926cbee46 scripts/update: build required nix binary before updating packages 2024-07-14 22:09:19 +00:00
23d8990596 todo.md: todo: install a compass app 2024-07-14 22:08:43 +00:00
76ae404827 scripts/sync: fix moby Photos dir 2024-07-14 09:19:17 +00:00
e868e28ed9 sc-im: ship 2024-07-14 03:45:18 +00:00
2283a5b167 mpv: associate with youtube playlist URLs 2024-07-14 03:13:15 +00:00
8d0b7c5855 nixpkgs: fix unl0kr patch hash (... didnt i just do this?) 2024-07-14 03:09:53 +00:00
3fb7fe34c4 rofi: fix so apps with "Terminal=true" can launch via xdg portal 2024-07-14 02:59:26 +00:00
10687a80e4 FIXUP: add missing youtube-tui.nix file to git 2024-07-14 02:59:05 +00:00
a8bcfaed53 youtube-tui: ship 2024-07-14 02:39:38 +00:00
ab200f8988 mpv: associate with youtube embed URLs 2024-07-14 01:33:52 +00:00
b443fd46d8 sway: map caps -> esc 2024-07-13 23:53:50 +00:00
0473822172 nixpkgs: fix patch hashes 2024-07-13 23:53:43 +00:00
d0b5f586c4 nwg-panel: fix multiple instances on display change 2024-07-13 21:01:06 +00:00
f6895393d9 zsh: alias "quit" to "exit" 2024-07-13 20:37:02 +00:00
f78b49f075 scripts/sync: moby: dont compress music (i have enough space for that now) 2024-07-13 18:58:02 +00:00
aa3115d2ca sane-sync-music: limit jobs to just 1 by default 2024-07-13 08:40:19 +00:00
924a6c812c all/net: disable "predictable" interface names 2024-07-13 08:29:48 +00:00
fd50bf6422 desko: disable wifi again
specifically, ethernet DHCP renewals break because the wlan interface advertises the eth MAC (?)
2024-07-13 08:29:14 +00:00
7c0e7cbb71 wg-home: rewrite forwarding rules to avoid naming any interface 2024-07-13 08:28:02 +00:00
26004da704 wg-home: iptables: use extended switch names 2024-07-13 08:07:21 +00:00
7013b09715 scripts/sync: fix nix-shell shebang 2024-07-13 07:43:16 +00:00
3969fd484b networkmanager: 1.48.0 -> 1.48.2 (unpin) 2024-07-13 05:00:43 +00:00
eeab1d9fda sane-tag-music: strip non-breaking spaces from metadata 2024-07-13 05:00:03 +00:00
deb355d960 sane-tag-music: better romanization 2024-07-13 04:50:32 +00:00
1d4df82bde sane-tag-music: improve idempotency 2024-07-13 04:20:37 +00:00
f49e87cf99 sane-tag-music: allow clearing *any* tag manually 2024-07-13 03:43:45 +00:00
e38c2f20e8 sane-tag-music: include the artist in the filename for compilation albums 2024-07-13 02:47:09 +00:00
0e5f01f240 sane-tag-music: refactor: remove extraneous "Various Artists" check 2024-07-13 01:53:05 +00:00
e04dd6cb7d sane-tag-music: better log formatting when moving a file 2024-07-13 01:44:28 +00:00
f4b6bbfbd5 sane-tag-music: ignore "Xerox" when found in the producer field 2024-07-13 00:55:33 +00:00
2e8c58a53d sane-tag-music: allow "info.txt" as an artist-associated item 2024-07-12 20:12:27 +00:00
f6e326869f sane-tag-music: tag derivation logic is recursive/hierarchical
so Artist/Album/Track.flac will draw from Artist/Album/* and then Artist/*
2024-07-12 08:48:51 +00:00
c16f2473e5 sane-tag-music: handle multiple CLI paths by iterating a layer above 2024-07-12 08:48:51 +00:00
d85ffa8539 sane-tag-music: refactor: separate the file walking into its own abstraction
i hope this will allow more sophisticated tag derivation
2024-07-12 08:48:51 +00:00
987cd93ce3 sane-tag-music: allow deriving tags for all operations, not just fix-tags 2024-07-12 08:48:51 +00:00
e82faa5961 sane-tag-music: add a method which generalizes tags to one file from the rest of the album (e.g. the album name) 2024-07-12 08:48:51 +00:00
514cfe7b0b feeds: subscribe to "Better Offline" podcast 2024-07-12 01:20:00 +00:00
dd2eb66875 sane-tag-music: fix "producer" handling for aac files 2024-07-12 00:04:24 +00:00
6ccdbf50cd sane-tag-music: print results in real-time 2024-07-11 23:59:31 +00:00
e2cca54e08 sane-tag-music: support PDFs 2024-07-11 23:58:58 +00:00
721f45f7d4 sane-tag-music: dont abort if metadata fails to load 2024-07-11 23:33:02 +00:00
774ebd23f9 sane-tag-music: jpg/png: use XMP tags for album/producer instead of weird exif tags 2024-07-11 21:39:47 +00:00
bfdacb1941 sane-tag-music: gif: support album, albumartist, producer tags 2024-07-11 21:38:55 +00:00
beeb5d34b0 sane-tag-music: refactor: introduce a generic tag name mapping layer 2024-07-11 21:22:44 +00:00
3d3faba263 sane-tag-music: support mp4/m4a; support "producer" tag (grouping) for mp3/mp4 2024-07-11 20:05:53 +00:00
a56795ff79 sane-tag-music: fix sandboxing to support renaming 2024-07-11 19:12:55 +00:00
00d644ef07 sane-tag-music: support "artist.png" artist images 2024-07-11 03:30:42 +00:00
672de68e56 sane-tag-music: allow clearing any tag 2024-07-11 02:53:00 +00:00
e47bc4c04d sane-tag-music: dont set the VA producer tag if the VA album tag is also set 2024-07-10 17:56:10 +00:00
0b6a8eecce sane-tag-music: handle more "Various Artists" formats 2024-07-10 17:30:41 +00:00
eaaea26603 sane-tag-music: allow deleting producer by setting it empty 2024-07-10 08:31:03 +00:00
e1c80c9abc sane-tag-music: remove special-casing for Singles 2024-07-10 08:10:29 +00:00
50add19b14 sane-tag-music: use pykakasi for better romanization 2024-07-10 04:42:51 +00:00
56032bc040 python-repl: include pykakasi, unidecode 2024-07-10 04:42:11 +00:00
6ee33240d7 nixpkgs: 2024-07-07 -> 2024-07-10 2024-07-10 04:41:43 +00:00
4aaeb42cab servo: bitcoid: allow using sane.programs package 2024-07-10 04:40:38 +00:00
2697d068ce sane-tag-music: fix ImageFile to actually support tag deletion 2024-07-10 00:48:22 +00:00
3ae650bcae sane-tag-music: use "Producer" tag to group albums by artists who use multiple pseudonyms 2024-07-09 23:51:08 +00:00
ddce650bc5 sane-tag-music: handle titles with "/" 2024-07-09 21:35:09 +00:00
96bf9d594f sane-tag-music: fix duplicated tags and wrong mode for image files 2024-07-09 21:35:09 +00:00
c2185f44b1 sane-tag-music: fix so i can load titles from PNG files 2024-07-09 21:35:09 +00:00
549fa8e5cd sane-tag-music: allow filtering paths by type (image v.s. audio) 2024-07-09 21:35:09 +00:00
afc31dfc2f sane-tag-music: prefer existing artist/albumartist tags over path-based ones 2024-07-09 21:35:09 +00:00
2011065497 sane-tag-music: parse album artist - album - track notation 2024-07-09 21:35:09 +00:00
ca6bb7518a sane-tag-music: force tracknumber empty for Singles 2024-07-09 21:35:09 +00:00
612274d0b2 sane-tag-music: improve fix-tags behavior so that manual tags tag precedence over existing tags 2024-07-09 21:35:09 +00:00
b801ed07d6 sane-tag-music: docs: link to metadata tag conventions (pseudo-standards) 2024-07-09 21:35:09 +00:00
53fd4ee42f sane-tag-music: refactor to_path 2024-07-09 21:35:09 +00:00
0b610a6683 nixpkgs: python3 fix: update hash (its merged upstream) 2024-07-09 21:35:09 +00:00
3696953ba0 sane-tag-music: enforce two-digit trackno prefixes everywhere
probably better to make this conditional on the total number of tracks, but that's a bit more difficult
2024-07-09 21:35:09 +00:00
da8b3fc188 sane-tag-music: special-case some romanizations 2024-07-09 21:35:09 +00:00
91db9fef82 sane-tag-music: use unidecode for romanization/transliteration 2024-07-09 21:35:09 +00:00
682e9c0c68 sane-tag-music: fix missing dep 2024-07-09 21:35:09 +00:00
cd9f1cc95e signal-desktop: fix sandboxing to allow for URLOpen dbus calls 2024-07-09 19:09:44 +00:00
607845d495 sane-tag-music: support tagging album art 2024-07-09 02:14:54 +00:00
79c8521f38 sane-tag-music: handle edge-cases in tag -> path logic 2024-07-09 00:01:41 +00:00
fa284c3dec sane-tag-music: docs: mention all subcommands in docstring 2024-07-08 21:10:32 +00:00
3fe5e57c3c sane-vpn: allow sane-vpn dns-fix $CMD 2024-07-08 21:05:15 +00:00
05c212a227 nwg-panel: fix double-bar problem on crash 2024-07-08 21:05:00 +00:00
ea2da626d1 signal-desktop-from-src: add missing file to git 2024-07-08 18:43:37 +00:00
f8d0c9ce3b scripts/deploy: deploy crappy latter than all the others 2024-07-08 05:38:44 +00:00
46bf7c5ac9 nixpkgs: 2024-07-06 -> 2024-07-07 2024-07-08 05:38:44 +00:00
d12120d53c gnome-maps: fix .desktop file so it can actually launch 2024-07-07 12:12:54 +00:00
22e3f58ab3 todo.md: sync 2024-07-07 10:02:26 +00:00
9f483541a4 sane-wipe: fractal: provide instructions for what to do after wiping 2024-07-07 08:51:40 +00:00
8d8f19752f fix missing clightning-sane/default.nix file 2024-07-07 08:24:56 +00:00
49c3bf0f34 zfs: split into zfs-tools program
this lets me sandbox it without building an entire extra copy of zfs
2024-07-07 02:54:33 +00:00
065aba0996 zfs: fix sandboxed build 2024-07-07 02:39:49 +00:00
c7425e792b todo.md: done sandboxing all programs except for the fuse stuff 2024-07-07 02:33:24 +00:00
74b7e90a34 check-uninsane: check zfs pool for errors 2024-07-07 02:32:44 +00:00
9f642980fd zfs: sandbox 2024-07-07 02:31:33 +00:00
c638218c07 servo: matrix-synapse: dont ship unused admin package 2024-07-07 02:23:18 +00:00
1ad933ad9c bitcoind: sandbox 2024-07-07 02:21:14 +00:00
3dc007448c wally-cli: sandbox 2024-07-07 02:10:53 +00:00
3487303216 clightning: sandbox 2024-07-07 01:18:55 +00:00
b74e797b13 clightning-sane: sandbox 2024-07-07 01:15:04 +00:00
bb3f148c32 scripts/check-uninsane: add a liveness test for my Bitcoing Lightning node 2024-07-07 01:00:50 +00:00
e235e09cf1 servo: ship clightning-sane 2024-07-07 00:58:29 +00:00
64610a5806 clightning-sane: define as sane.programs 2024-07-07 00:57:51 +00:00
15ca5fbfa4 clightning-sane: make it an actual package 2024-07-07 00:56:58 +00:00
997b841777 servo: clightning: fix deprecated config 2024-07-07 00:53:29 +00:00
9ced7bd3b5 sane-secrets-unlock: fix sandboxing (create directory before entering the sandbox) 2024-07-07 00:53:08 +00:00
2710f2b2ca docs: gnome-maps: mention some quirks 2024-07-07 00:50:29 +00:00
572a340c8a todo.md: make a list of the programs i've procrastinated on sandboxing 2024-07-06 19:31:19 +00:00
b844a9ef5d servo: disable unused CLI tools for freshrss/signald 2024-07-06 19:29:55 +00:00
d41d067405 servo: clightning: decrease logging from debug -> info 2024-07-06 19:22:06 +00:00
f8349a646b servo: lemmy: decrease logging from default -> warn 2024-07-06 19:21:53 +00:00
706667f403 servo: matrix-appservice-irc: decrease logging debug -> warn 2024-07-06 19:20:18 +00:00
99e0d5f03b servo: matrix-synapse: simplify logging config 2024-07-06 19:19:51 +00:00
3d82bc8c87 gitea: migrate away from deprecated email options 2024-07-06 18:56:34 +00:00
a3212f6955 gitea: bump registration timeout 4 -> 7 days 2024-07-06 18:56:09 +00:00
0d3e89a431 gitea: fix broken UI theme 2024-07-06 18:55:47 +00:00
b7c86d5867 mmcli: sandbox 2024-07-06 18:49:18 +00:00
5db8372b24 nixpkgs-wayland: 0-unstable-2024-07-03 -> 0-unstable-2024-07-05 2024-07-06 18:29:01 +00:00
da09ab3617 sops-nix: assets-unstable-2024-07-01 -> assets-unstable-2024-07-05 2024-07-06 18:28:44 +00:00
133744fa4b nixpkgs: 24.05-unstable-2024-07-03 -> 24.05-unstable-2024-07-06 2024-07-06 18:28:27 +00:00
bfd272b2c9 uassets: 0-unstable-2024-07-03 -> 0-unstable-2024-07-06 2024-07-06 18:28:10 +00:00
3edc8d87f4 firefox-extensions.ublock-origin: 1.58.1b11 -> 1.58.1b12 2024-07-06 18:27:16 +00:00
6824080f6b avahi: fix broken sandboxing 2024-07-06 03:08:36 +00:00
0786475c63 doc: mmcli: show how to sandbox... almost 2024-07-06 03:08:23 +00:00
ae082b1654 nwg-panel: fix the sandbox to allow Shutdown action 2024-07-06 03:07:58 +00:00
a77816e9de refactor: sane-scripts: use whitelistDbus where available 2024-07-06 03:07:21 +00:00
f50b10682f eg25-control: sandbox 2024-07-06 03:06:58 +00:00
b062610866 gps-share: sandbox 2024-07-06 03:06:33 +00:00
bce8a0d91f geoclue: dont place unsandboxed files on PATH 2024-07-06 03:05:49 +00:00
3c53bca156 vpn: log a message whenever the endpoint is updated
only as i'm actively working in this area. hopefully this log message can be less noisy in the future
2024-07-06 03:03:38 +00:00
46806e36f0 stop shipping some unused programs 2024-07-06 03:02:17 +00:00
4a8a5b309e satellite: sandbox 2024-07-05 23:27:51 +00:00
8f46bd5497 hping: sandbox 2024-07-05 23:13:40 +00:00
2c3239da8b mesa-demos (glxgears): sandbox 2024-07-05 23:12:46 +00:00
a08394edf1 callaudiod: sandbox 2024-07-05 23:12:16 +00:00
5e5ecfe81e nwg-panel: add a button to toggle the flashlight on moby 2024-07-05 23:11:55 +00:00
5048bd8d70 sanebox: fix that pasta-sandboxed programs would fail compile-time sandboxing test 2024-07-05 20:41:28 +00:00
c7d8d9ee86 nwg-panel: add the backlight back into the sandbox 2024-07-05 20:32:34 +00:00
2e49946c65 gnome-calls: tunnel traffic through my home ISP 2024-07-05 20:18:47 +00:00
a12aa02655 sane.programs: provide sandbox.net = "vpn.wg-home" to tunnel through my home ISP 2024-07-05 20:18:34 +00:00
6d66a5dbf8 vpn: add a service to auto-refresh wireguard endpoints 2024-07-05 20:06:16 +00:00
a31f67b793 wg-home: remove dead code 2024-07-05 20:05:25 +00:00
5d80e298b5 wg-home: deploy so as to be compatible with sane-vpn (e.g., route *WAN* traffic through it) 2024-07-05 18:45:26 +00:00
56e488b130 sane-stop-all-servo: remove extraneous call to sudo 2024-07-05 14:12:48 +00:00
5ebaaf46a2 hping: ship
it's a handy net debugging tool
2024-07-05 00:51:06 +00:00
bee3ec1fa0 wireshark: fix sandboxing when reading pcaps 2024-07-04 22:28:02 +00:00
46eab8f4e2 gst-device-monitor: sandbox 2024-07-04 19:49:28 +00:00
828d4fcc9c iio-sensor-proxy: sandbox 2024-07-04 19:27:16 +00:00
ca2ac89cec avahi-browse: sandbox 2024-07-04 19:15:33 +00:00
1ae1d94d53 ols: sandbox 2024-07-04 19:11:16 +00:00
c68f333bc9 sanebox: document --sanebox-net-dev all 2024-07-04 19:11:06 +00:00
9a09faa9e4 objdump: sandbox 2024-07-04 19:00:14 +00:00
ae2eaa786c sanebox: pasta: fix to never forward ports INTO the namespace
i thought this was OK, but i think it changes the *return route* as well, allowing for VPN escape -- specifically within gnome-calls (UPnP stuff?)
2024-07-04 18:48:14 +00:00
9c523b3ddd geoclue-demo-agent: sandbox 2024-07-04 16:21:30 +00:00
44c4e88b90 gnome-calls: dont ship dbus files 2024-07-04 15:29:59 +00:00
5ca0ca4f47 servo: freshrss: disable (unused service) 2024-07-04 15:29:39 +00:00
00ea7e17c5 servo: remove unused calibre service 2024-07-04 14:00:40 +00:00
823f8f2be3 feeds: subscribe to FLOSS Weekly 2024-07-04 13:34:48 +00:00
13bec790cb feeds: link to Wikipedia podcasts lists 2024-07-04 13:29:39 +00:00
e72f9be1bf feeds: subscribe to Sharp Tech 2024-07-04 13:23:36 +00:00
0fd8dc2a01 sane-scripts.stop-all-servo: sandbox (correctly, i hope) 2024-07-04 12:44:28 +00:00
24ed242bac servo: fix warning for getExe and iptables 2024-07-04 12:43:02 +00:00
f290b16f12 sane-bt: transmission -> transmission_4 2024-07-04 12:40:09 +00:00
b4cb3decff s6-rc: fix wrapper to expand XDG_RUNTIME_DIR again 2024-07-04 12:38:06 +00:00
7084bf95fa where-am-i: sandbox 2024-07-04 12:35:09 +00:00
acd0926d1f nwg-panel: sandbox 2024-07-04 12:34:35 +00:00
2dba46da6b pactl: sandbox 2024-07-04 11:18:06 +00:00
110c440697 programs: soundconverter: fix sandboxing 2024-07-04 10:33:51 +00:00
f4047bfbea koreader: docs: increase default font size 28 -> 30
am i getting old?
2024-07-04 08:49:49 +00:00
c573ac4e7e overlays/preferences: fix evolution-data-server to build w/o webkit, again (missed this in a recent rename) 2024-07-04 08:12:29 +00:00
cc15be54d4 uassets: 2024-07-02 -> 2024-07-03 2024-07-04 06:59:46 +00:00
8b95a5fa37 nixpkgs: 2024-07-02 -> 2024-07-03 2024-07-04 06:59:46 +00:00
b596f88ccc nixpkgs-wayland: 2024-07-02 -> 2024-07-03 2024-07-04 06:59:36 +00:00
e82feb9f71 make-sandboxed: migrate to binary wrapper 2024-07-03 19:35:56 +00:00
4839a40205 make-sandboxed: use makeWrapper proper, rather than rolling my own
i can't use the _binary_ wrapper unless i use a fully-qualified path to 'sanebox' or hide it behind something like /usr/bin/env
2024-07-03 17:54:38 +00:00
631c47c9bc programs/assorted: prefer makeBinaryWrapper over makeWrapper 2024-07-03 16:35:45 +00:00
b2f36e4ef6 rofi: add a "Close Menu" item to the app/file launcher 2024-07-03 14:05:24 +00:00
9a210b4a63 rofi/sane-open: fix so "Apps" menu item reveals keyboard 2024-07-03 13:43:28 +00:00
181ebfc627 moby: launch Signal by default (it seems to be less crashy than before) 2024-07-03 12:43:12 +00:00
ddb904ae19 iio-sensor-proxy: implement partial magnetometer support 2024-07-03 12:34:34 +00:00
a234e57d89 nixpkgs: 2024-07-01 -> 2024-07-02 2024-07-03 09:08:53 +00:00
a75a8f8425 sops-nix: 2024-06-30 -> 2024-07-01 2024-07-03 09:06:44 +00:00
9cbe74b20b 2024-06-29 -> 2024-07-02 2024-07-03 09:05:46 +00:00
6b06062cc9 uassets: 2024-07-01 -> 2024-07-02 2024-07-03 09:05:08 +00:00
b009b2c836 nixpkgs-wayland: 2024-07-01 -> 2024-07-02 2024-07-03 09:04:43 +00:00
d46239f2ad docs: iio-sensor-proxy: document current state of compass in Pinephone 2024-07-02 22:25:41 +00:00
47f474fecd moby: fix the magnetometer (compass)
it's not immediately viewable by geoclue, but it's viewable (and
working) from the CLI:
```
SANEBOX_DISABLE=1 watch cat /sys/devices/platform/soc/1c2b000.i2c/i2c-1/1-001c/iio:device2/in_magn_x_raw
```

the longer-term fix requires u-boot integration, but this hack is
actually entirely contained to linux. u-boot gives linux a
mostly-unmodified dtb from the linux package, and i just modify the
linux dtb to use the specific magnetometer my hardware has.
2024-07-02 20:29:49 +00:00
828ef00b61 servo: transmission: torrent-done: print call args at start to aid debugging 2024-07-02 16:07:46 +00:00
5d14a39d52 qmk: ergodox: make braces easier to type and clean up layers 2024-07-02 14:09:42 +00:00
58f89aadf3 scripts: add a way to flash my ergodox-ez firmware 2024-07-02 12:18:58 +00:00
d9a03ee64a signal-desktop-from-src: 7.11.1 -> 7.14.0 2024-07-02 09:53:55 +00:00
697543a675 u-boot-pinephone: use "extraPatches" instead of "patches", to future-proof 2024-07-01 17:44:53 +00:00
ff235f5806 dino: run mainline again, as Dino has released 0.4.4 (which doesnt contain eeevery commit i was running before, but most 2024-07-01 17:25:40 +00:00
39fe0ce43a syshud: 2024-06-20 -> 2024-06-29 2024-07-01 16:57:03 +00:00
98fde86ff6 uassets: 2024-06-26 -> 2024-07-01 2024-07-01 16:57:03 +00:00
5c6a5b01c4 sops-nix: 2024-06-24 -> 2024-07-01 2024-07-01 16:57:03 +00:00
bb4f963c9c nixpkgs-wayland: 2024-06-26 -> 2024-07-01 2024-07-01 16:57:03 +00:00
9eb0b3fc86 nixpkgs: 2024-06-30 -> 2024-07-01 2024-07-01 16:57:03 +00:00
5b7f15b278 moby: upgrade Tow-Boot -> u-boot
i'm trying to get the compass to work, but looks as though it didnt try to probe the 1.2b AF8133J
2024-07-01 16:56:46 +00:00
5176d6a3bc moby: enable iio sensor access (rotation, light; compass is not yet working) 2024-07-01 11:57:06 +00:00
84ba7e3d68 mepo: fix sandboxed geoclue interactions 2024-07-01 08:19:21 +00:00
6d16d83aab geoclue-ols: fix that lru_cache was applied to an async function, even though futures can only be run once 2024-07-01 08:18:22 +00:00
e9c51eddb3 feeds: subscribe to Matt Stoller 2024-07-01 07:33:41 +00:00
75473c7123 nixpkgs: 2024-06-26 -> 2024-06-30 2024-07-01 06:15:42 +00:00
10f7714cfd firefox-extensions.ether-metamask: 11.16.14 -> 11.16.15 2024-07-01 06:13:25 +00:00
fe78f8bc45 geoclue-ols: 2024-06-21 -> 2024-06-30 (cache cellid lookup results) 2024-06-30 18:43:07 +00:00
6bbe3a8e23 qmk/ergodox/udev: cleanup 2024-06-30 16:52:36 +00:00
98c4a5ec87 qmkPackages.all: document how to flash 2024-06-30 16:18:43 +00:00
bf3a894d38 sane-scripts.wipe: fix missing procps dep 2024-06-30 16:13:56 +00:00
c973f2e03b qmkPackages.ergodox_ez_glow_sane: tune keymap 2024-06-30 16:13:05 +00:00
9f76469b5c qmkPackages: add my own layout (copied from base ergodox_ez keymap) 2024-06-30 14:06:45 +00:00
52231f2adc qmk-firmware: init at 0.25.9 2024-06-30 13:24:27 +00:00
8c5d9d79d7 todo.md: sync 2024-06-30 07:39:21 +00:00
961c38e79b scripts/check-uninsane: fix doofnet ftp test to actually route over doofnet 2024-06-30 06:35:04 +00:00
fc5068f4d4 pc: add tools to make using the ZSA Ergodox easier 2024-06-28 10:25:02 +00:00
e641f5c93a mpv: associate with m.youtube.com mobile URLs as well 2024-06-28 04:39:39 +00:00
870e766966 nixpkgs: remove listparser patch (PR closed; not upstreaming it) 2024-06-28 04:39:39 +00:00
a75a341b56 sane-wipe: fix so pkill is available 2024-06-28 04:39:39 +00:00
8b7ed2cdd4 avahi: fix NSS integrations
now moby can access its own gps-share instance at moby.local, from geoclue.service. lappy can access that too.
2024-06-27 23:57:36 +00:00
b3a685aa31 python3Packages -> python3.pkgs, to fix cross-compilation errors (especially around geoclue-ols) 2024-06-27 15:46:04 +00:00
9b8c461ce9 dont treat python packages specially: lift all python packages out of python-packages/ subdir; remove pyPkgs arg from static-nix-shell.mkPython3 2024-06-27 11:28:17 +00:00
27de05a751 python-packages: fix cross compilation errors introduced during the move away from buildPythonPackage 2024-06-27 09:02:30 +00:00
f54f1c57bc avahi: integrate with nss
now i can resolve .local hosts, via glibc, e.g. 'getent hosts <host>.local'
2024-06-27 06:18:48 +00:00
98d6439f2a modules/warnings: add a way to bypass module-level assertions as well 2024-06-27 06:17:53 +00:00
fbcf2aed41 python packages: port away from buildPythonPackage -> stdenv.mkDerivation
in a future refactoring, maybe i can remove them from the special 'pkgs/python-packages' directory altogether
2024-06-26 23:37:27 +00:00
fb7701027e nixpkgs: 2024-06-24 -> 2024-06-26 2024-06-26 21:02:07 +00:00
0bc228c07b nixpkgs-wayland: 2024-06-23 -> 2024-06-26 2024-06-26 21:01:49 +00:00
943ebba7fb sops-nix: 2024-06-23 -> 2024-06-24 2024-06-26 21:01:30 +00:00
e41bf78db6 uassets: 0-unstable-2024-06-23 -> 0-unstable-2024-06-26 2024-06-26 21:01:12 +00:00
8588230f80 firefox-extensions.ublock: 1.58.1b10 -> 1.58.1b11 2024-06-26 21:00:53 +00:00
8ef1af7e22 firefox-extensions.ether-metamask: 11.16.13 -> 11.16.14 2024-06-26 21:00:27 +00:00
989344f87e geoclue: integrate with gps-share, via avahi
N.B.: this doesn't actually work on moby -- yet. need to fix avahi DNS lookups
2024-06-26 11:22:04 +00:00
90f8d1e042 gps-share: specify /dev path to GPS device 2024-06-26 11:22:04 +00:00
d8ca5f91c3 sane-sysload: add an option to query battery *percent* charged 2024-06-26 10:56:08 +00:00
167bb4d8de servo: transmission: torrent-done: fix typo 2024-06-26 09:21:51 +00:00
6b117fa9bf servo: transmission: torrent-done: implement a TR_NO_HARDLINK option 2024-06-26 09:05:51 +00:00
4b9dcd50fb WIP: ship gps-share on moby 2024-06-26 09:05:27 +00:00
84e6d536d6 gps-share: init at 0.3.1 2024-06-26 08:43:37 +00:00
4c74e53052 servo: transmission: torrent-done: log destructive ops when TR_DEBUG=1 2024-06-26 08:27:16 +00:00
5def8f30ad servo: transmission: torrent-done: fix typos and add a TR_DEBUG option 2024-06-26 08:20:03 +00:00
45dd144b24 servo: transmission: torrent-done: fix dry-run; ensure all destructive ops are actually marked as destructive 2024-06-26 08:09:57 +00:00
66d4b380da servo: transmission: torrent-done: remove more noisy files 2024-06-26 08:01:58 +00:00
8e7da2c956 servo: transmission: split torrent-done script into own file 2024-06-26 07:59:20 +00:00
0f11b9a7b7 mpv: associate with YouTube Shorts videos 2024-06-25 21:17:27 +00:00
d9437bf4aa listparser: switch from buildPythonPackage -> stdenv.mkDerivation 2024-06-24 21:12:38 +00:00
5d1c52d0bc feeds: add buttondown.email 2024-06-24 17:05:10 +00:00
a0dfdb5125 init-feed: lift out of pkgs/ and into scripts/ where its easier to invoke 2024-06-24 17:04:23 +00:00
cbc2ba02a4 python3Packages.listparser: grab from nixpkgs patch instead 2024-06-24 15:07:19 +00:00
ef0adb5689 nixpkgs-wayland: 2024-06-21 -> 2024-06-23 2024-06-24 14:21:48 +00:00
b1bd4399f1 nixpkgs: 2024-06-21 -> 2024-06-24 2024-06-24 14:21:19 +00:00
2b252e3ede sops-nix: 2024-06-16 -> 2024-06-23 2024-06-24 14:20:58 +00:00
9aaf89408a uassets: 2024-06-21 -> 2024-06-23 2024-06-24 14:20:37 +00:00
283ca45c5d sponsorblock: 5.6.1 -> 5.6 ; ublacklist: 8.8.1 -> 8.8.2 2024-06-24 14:19:14 +00:00
7955d90f8d python3Packages.listparser: 0.18 -> 0.20 2024-06-24 12:48:43 +00:00
a06481fbef python3Packages.listparser: fetch from GitHub instead of PyPi" 2024-06-24 12:40:09 +00:00
5db4d73ad6 gpodder: lift listparser out of gnome-feeds
it's being removed in https://github.com/NixOS/nixpkgs/pull/320801 i.e. when i next update nixpkgs
2024-06-24 12:35:52 +00:00
304c8f8e3e docs: eg25-control: elaborate on Almanac v.s. Ephemeris 2024-06-24 00:25:54 +00:00
5a09a2665b secrets: net: add new home wifi creds 2024-06-23 18:16:10 +00:00
209545fc41 refactor: split satellite program into own file
mainly so i have a place to document its GUI :)
2024-06-23 12:44:50 +00:00
1e12566207 moby: disable gpsd
1. i wasn't actually relying on it for anything. 2. it's 100k LoC which runs as root (?), in a totally un-secured systemd service.

i may be enabling something similar like this in the future, to prevent geoclue from deciding to disable the GPS. i'll probably be going with the simpler gps-share or gnss-share for that
2024-06-23 03:53:24 +00:00
9a53cbc833 docs: geoclue: link to forums, git, API docs 2024-06-23 03:53:07 +00:00
439bb5263f switchboard: sandbox 2024-06-22 03:43:23 +00:00
845dba3ca5 modules/vpn: fix deprecation warnings 2024-06-22 03:35:41 +00:00
5e7fe850ec blast-ugjka: 0.6.2 -> 0.7.0 2024-06-22 01:25:26 +00:00
832338488d firefox-extensions.ether-metamask: 11.16.12 -> 11.16.13 2024-06-22 01:24:58 +00:00
86ee95f607 uassets: intra-day bump 2024-06-22 01:24:46 +00:00
5f5e55c98b nixpkgs-wayland: 2024-06-20 -> 2024-06-21 2024-06-22 01:24:26 +00:00
7d59782005 nixpkgs: intra-day bump 2024-06-22 01:24:09 +00:00
62b541012b blast-ugjka: add an updateScript 2024-06-21 19:14:47 +00:00
514197a17f docs: mmcli: include notes for how to enable the gps 2024-06-21 19:11:07 +00:00
143bdf672b ship satellite program
really this only belongs on devices which have a gps unit (i.e. moby).
maybe i'll tune that in the future.
2024-06-21 19:09:43 +00:00
a6c48eda71 geoclue2: remove extraneous appConfig where-am-i whitelisting
it's included by the default nixos service (which whitelists 'geoclue-demo-agent'
2024-06-21 17:49:15 +00:00
a603c3e6bc ols: synthesize cell tower data when no exact match is found 2024-06-21 16:24:13 +00:00
1f48f41927 ols: ship static cell tower position database from opencellid.org 2024-06-21 13:48:28 +00:00
c0d9f05575 python3Packages.ols: point to my own repo, 2023-06-15 -> 2024-06-21 2024-06-21 13:42:02 +00:00
7f46b034f9 opencellid: init at 0-unstable-2024-06-20 2024-06-21 12:55:38 +00:00
ba66378bc0 docs: ols: point to wigle docs and api limits 2024-06-21 11:54:38 +00:00
dcc8168aa0 nixpkgs: update sysvol patch 2024-06-07 -> 2024-06-20 2024-06-21 11:54:07 +00:00
f7d3c26d12 servo: irc: add wigle.net 2024-06-21 11:48:47 +00:00
3d871e8d7c scripts/check-nur: fix (linux-exynos5-mainline was invalid in default eval) 2024-06-21 07:43:33 +00:00
78f4cd9be2 sysvol: 2024-06-13 -> 2024-06-20 2024-06-21 07:25:15 +00:00
f83bac3c2b firefox-extensions -> latest 2024-06-21 07:25:15 +00:00
58de5d661f uassets: 2024-06-15 -> 2024-06-21 2024-06-21 07:25:15 +00:00
599832d59c 2024-06-11 -> 2024-06-16 2024-06-21 07:25:15 +00:00
625cb0992b nixpkgs-wayland: 2024-06-14 -> 2024-06-20 2024-06-21 07:25:15 +00:00
a02f221628 nixpkgs: 2024-06-19 -> 2024-06-21 2024-06-21 07:25:15 +00:00
ad8bcfc09e scripts/deploy: build all hosts before building all variants 2024-06-21 07:25:15 +00:00
815ce6287f scripts/update: fix that the script wasnt building the update scripts before trying to invoke them 2024-06-21 07:25:15 +00:00
0d1d56870f default.nix: copy everything to the nix store before evaluating any of my config 2024-06-21 07:25:15 +00:00
2445b882c2 scripts/update: more debug logging 2024-06-20 22:54:16 +00:00
12465e111e nixpkgs: update xsimd patch 2024-06-20 21:54:06 +00:00
65a0914828 fastcluster/ols: fix cross compilation to moby 2024-06-20 13:33:18 +00:00
dab60e79c1 moby: remove gps.nix 2024-06-20 12:01:10 +00:00
fe57f186cd gpsd: deploy via sane.programs interface 2024-06-20 11:57:09 +00:00
78d66a8b09 ols: pipe stderr > stdout 2024-06-20 11:52:35 +00:00
b2955c9c9d geoclue2: use nixpkgs' service 2024-06-20 11:52:13 +00:00
b0e184b0f0 geoclue: integrate ols/wigle as backend
the wigle API limits are *strict*. probably too strict to actually be useful
2024-06-20 11:35:26 +00:00
3cd97b522c ols: enable
still some more work to do to really integrate this with geoclue
2024-06-20 11:05:15 +00:00
c91681c77c python3Packages.ols: init at at 0.1.0-unstable-2023-06-15 2024-06-20 11:05:15 +00:00
d0d623da15 programs: ship geoclue2 as an actual program
moby probably needs its gps.nix file removed. also this is incomplete due to Mozilla terminating their location services API
2024-06-20 08:40:36 +00:00
0db86d8c86 moby: sway: use Alt as the modifier key 2024-06-20 05:55:12 +00:00
b74dfe7578 crappy: sway: use Alt as the mod key 2024-06-20 05:55:12 +00:00
d1843b6b3d refactor: sway-config -> config, to match its installed name 2024-06-20 05:55:12 +00:00
b482a1dfd6 swaync: disable debug, to un-break DND mode
i'm sick of G_MESSAGES_DEBUG breaking stuff. i must be parsing cli output that gets broken by that, somewhere
2024-06-20 05:24:53 +00:00
5ba74a4055 doc: swaync: fix typo in notify-send example 2024-06-20 05:17:51 +00:00
b3b77e3e62 nwg-panel: stylize with the goal that it uses a bit less space on moby 2024-06-20 02:39:45 +00:00
63bc58a56f playerctl: patch missing refcount tracking to avoid a crash in nwg-panel 2024-06-20 00:46:31 +00:00
efcf8639dc gdb: ship a python-capable gdbinit 2024-06-19 23:03:17 +00:00
90b86dc7fc servo: re-enable transmission and jackett 2024-06-19 21:29:32 +00:00
8bf8d31c5f nwg-panel: record the URL to the upstream PR 2024-06-19 21:28:18 +00:00
2e44abc55d scripts/deploy: fix off-by-one in runOnTarget 2024-06-19 21:05:37 +00:00
9e92069ba3 nwg-panel: migrate the mediaPrevNext patch to something suitable for upstream 2024-06-19 21:04:15 +00:00
2a592a4a15 nwg-panel: disable the music-note icon in playerctl 2024-06-19 20:35:50 +00:00
8ca357ea7f scripts/deploy: add a --reboot option 2024-06-19 20:31:43 +00:00
4f4c05a922 nwg-panel: fix playerctl patch for newest nwg-panel, and also hide the label
hopefully the label is the part which includes the music note icon
2024-06-19 19:40:23 +00:00
7c4be0f4e9 hosts: fix that -min and -light variants were actually identical to the full versions 2024-06-19 11:25:30 +00:00
afea7fe5e7 scripts/deploy: implement a dry-run mode 2024-06-19 11:24:33 +00:00
294f0061bd sxmo-utils: add a deprecation warning 2024-06-19 11:20:49 +00:00
4efe159933 nixpkgs: 2024-06-15 -> 2024-06-19 2024-06-19 10:35:58 +00:00
b7f99c022b nwg-panel: enable sysload by default 2024-06-19 02:04:33 +00:00
b3c5e53156 sane-sysload: implement CPU measurement 2024-06-19 01:58:21 +00:00
91c2b04ab4 sane-sysload: make the format CLI args friendlier 2024-06-19 01:20:36 +00:00
27efb10a27 refactor: rename sane-sysinfo -> sane-sysload 2024-06-19 01:04:06 +00:00
e4e32f46fe nwg-panel: integrate optional sysload executor (WIP; disabled by default) 2024-06-19 01:01:03 +00:00
64b169069a nwg-panel: fix issue that playerctl was being pushed off the bar 2024-06-19 00:47:43 +00:00
c2c15e1ac3 networkmanager_dmenu: sandbox 2024-06-19 00:44:35 +00:00
0b3156c4c7 nmcli: sandbox 2024-06-19 00:44:24 +00:00
1c8551c842 rofi: add a shortcut for configuring WiFi 2024-06-18 23:44:21 +00:00
2755d98b99 sane-open: make sure networkmanager_dmenu shows the keyboard when activated 2024-06-18 23:44:21 +00:00
543108a5dd networkmanager_dmenu: ship 2024-06-18 23:44:21 +00:00
b32d02dc3f programs: add pidof from procps
used by things like networkmanager-dmenu, which i plan to add soon
2024-06-18 23:44:20 +00:00
0bd92ef77e swaync: make the backlight/mpris items configurable 2024-06-18 21:41:15 +00:00
a7df4cc125 lint: swaync: sort config properties 2024-06-18 21:34:04 +00:00
09a615ee62 netns: factor the netns setup/teardown into distinct services, rather than trying to piggyback network-local-commands
idk what network-local-commands is about, nor network-pre.target.
network-pre.target doesn't seem to actually be wanted by anything (?)
2024-06-18 10:36:08 +00:00
8523b406ad todo.md: note that swaync brightness slider does not work 2024-06-18 09:48:35 +00:00
6021da072c replace builtins.toJSON with writers.writeJSON where possible
it gives pretty-printed JSON that's easier to work with
2024-06-18 09:33:17 +00:00
a49abbd123 hosts: add pubkeys for $host-hn 2024-06-18 09:33:17 +00:00
f9091c0b0c netns: ensure that network.target depends on network-pre.target (why doesnt it by default?)
this should fix that servo tries to start wg-ovpns before the netns is configured
2024-06-18 09:07:40 +00:00
bbf8fd5b20 servo: disable almost all WAN stuff (leave only wireguard, as a fallback) 2024-06-18 09:04:13 +00:00
be84747ffc check-uninsane: test FTP over doof (and simplify) 2024-06-18 08:09:06 +00:00
478b443430 doc: sftpgo: note that "/README.md" doesnt work 2024-06-18 07:56:26 +00:00
ded5f6560d check-uninsane: fix ftp test to work when invoked from the wan 2024-06-18 07:55:11 +00:00
c1b3629dcf swaync: fix segfault under load 2024-06-18 07:52:02 +00:00
5879499924 swaync-service-dispatcher: simplify quoting 2024-06-18 06:40:44 +00:00
5a63f294c0 servo: sftpgo: allow fully-anonymous www read access to /pub
this will help me write automated tests for its availability
2024-06-18 05:44:20 +00:00
891a29feeb nwg-panel: fix commands (like lock, shutdown) to not run through swaymsg 2024-06-18 02:51:58 +00:00
0863505877 wifi: add new network 2024-06-18 02:34:27 +00:00
0c922bd63a nwg-panel: fix reboot/shutdown commands to not assume systemd 2024-06-18 02:32:04 +00:00
e04ec4c706 nwg-panel: fix the "lock" button to use the correct screen locker 2024-06-18 02:31:46 +00:00
b0f9733ac8 sway: fix that Super+L didnt have sandbox access to start the screen locker 2024-06-18 02:26:57 +00:00
e2babfc076 nwg-panel: fix clock to always be centered, even if that means overlapped rendering 2024-06-18 01:08:02 +00:00
ef29b569e5 nwg-panel: fix clock size to actually be larger on lappy/desko 2024-06-18 01:07:43 +00:00
6f0a455d0b scripts/check-uninsane: implement --verbose flag 2024-06-17 23:36:52 +00:00
7d6a420c52 sane-vpn: allow sane-vpn do -- [COMMAND] 2024-06-17 23:26:28 +00:00
259143b87e scripts/check-uninsane: fix so ssh servo systemctl --failed actually works on servo, even when ssh key is locked 2024-06-17 23:24:34 +00:00
fce426c318 servo: trust-dns: expose the hn DNS server on port 53
nothing i had was *expecting* it to be on port 1053, and it was just never working (?)
2024-06-17 23:16:00 +00:00
9b794777b5 servo: trust-dns: have the ovpns DNS provider return doof-based addresses instead of WAN-based addresses 2024-06-17 23:14:21 +00:00
3ada668366 servo: expose all wan services also to the doof tunnel 2024-06-17 23:08:08 +00:00
39a39e763d trust-dns: hack to substitute ANATIVE before anything else 2024-06-17 22:44:43 +00:00
50353280d3 servo: port ANATIVE over the doof interface to return the doof IP address 2024-06-17 22:37:50 +00:00
72b8211029 servo: switch ns2.uninsane.org from ovpns -> doof 2024-06-17 22:19:36 +00:00
dbf719b59b scripts/check-uninsane: fix the git.uninsane.org check to work even w/o access to SSH keys 2024-06-17 22:16:23 +00:00
57d7d3821f scripts/check-uninsane: dont rely on ovpns.uninsane.org bootstrap DNS: directly test the known IPv4 address 2024-06-17 22:12:34 +00:00
e86e9fc079 scripts/check-uninsane: add a check for DNS via doofnet 2024-06-17 22:11:02 +00:00
d708b78ebe scripts/check-uninsane: fix ftp check, to not error if README.md exists in the current directory 2024-06-17 22:10:47 +00:00
075418eda1 git: add alias git com to commit 2024-06-17 22:01:58 +00:00
9fc5b83b61 refactor: servo: hardcode OVPN-related IP addresses in far fewer places 2024-06-17 22:00:39 +00:00
4b99607f7b scripts/check-uninsane: annotate the OVPNS/DOOF checks 2024-06-17 09:25:10 +00:00
0d99293b2f servo: split the doof/ovpns netns config into its own module
a big thing this gets me is that the attributes (like IP addresses) are now accessible via 'config' an i won't have to hardcode them so much
2024-06-17 09:25:10 +00:00
b3890b82dc servo: http/https: expose to doof 2024-06-17 07:55:53 +00:00
3fc96a3e32 check-uninsane: also test http://uninsane.org, over OVPN connection 2024-06-17 07:50:15 +00:00
1af7b613bd servo: doof: respond to DNS queries 2024-06-17 07:39:52 +00:00
4c8695aae8 servo: fix missing route table for doof 2024-06-17 07:31:28 +00:00
d45e3fda5e servo: trust-dns: enable on doof-net 2024-06-17 07:20:23 +00:00
456e0de872 servo: doof net: add the capability to forward ports 2024-06-17 07:20:23 +00:00
7825ddc123 servo: split out a "bridgedWireguardNamespace" helper for configuring ovpns VPN
i can re-use this to forward traffic over doof
2024-06-17 07:20:23 +00:00
dd47a5083c servo: only forward ports to OVPN which are actually marked for visiblity 2024-06-17 06:29:09 +00:00
14d5d9eb5a servo: net: remove dead Hurricane Electric code 2024-06-17 06:04:29 +00:00
1f6f2399d6 nwg-panel: fix swaync icon 2024-06-16 06:35:32 +00:00
b0ee12ba7b modules/users: export HOME in environment.d because some services (nwg-panel) need it 2024-06-16 06:01:20 +00:00
a6d268ca72 nwg-panel: disable the brightness indicator 2024-06-16 05:42:58 +00:00
1ecc033ff5 nwg-panel: re-add missing style.css 2024-06-16 05:27:32 +00:00
c87dab93b3 scripts/deploy: allow specifying multiple hosts or multiple variants 2024-06-16 05:15:12 +00:00
53139a7cdf nwg-panel: address some TODOs 2024-06-16 04:59:23 +00:00
f37014a856 nwg-panel: minor tweaks & simplifications 2024-06-15 22:52:52 +00:00
0237d3a144 nwg-panel: fix broken JSON generation
heh, whoops
2024-06-15 22:24:41 +00:00
656ad76f25 nwg-panel/config: sort keys 2024-06-15 22:04:08 +00:00
b7c71dc67b nwg-panel: add a few comments/TODOs to the config 2024-06-15 21:56:41 +00:00
aaa40eae04 nwg-panel: port config to Nix
this makes it easier to plumb config into it, and also to comment it
2024-06-15 21:52:38 +00:00
d8ed82cfdf cross: remove upstreamed libvpx patch 2024-06-15 11:37:20 +00:00
0e73f95ab1 nixpkgs: 2024-06-14 -> 2024-06-15 2024-06-15 11:16:40 +00:00
b1ba0cad03 nixpkgs-wayland: minor bump 2024-06-15 11:16:32 +00:00
4bcbfbc8aa uassets: 2024-06-14 -> 2024-06-15 2024-06-15 11:16:16 +00:00
0f6c9f3cde sane-sysinfo: add a way to render memory use 2024-06-15 11:12:45 +00:00
f4d806c0c2 sane-sysinfo: handle the case of no battery 2024-06-15 10:35:32 +00:00
6963998519 refactor: sane-sysinfo: more cleanups 2024-06-15 10:34:39 +00:00
a63f6281c5 refactor: sane-sysinfo: clean up a bit more 2024-06-15 10:26:22 +00:00
df0a8cf900 refactor: sane-sysinfo: split out a BatteryInfo class 2024-06-15 09:46:58 +00:00
a4f5343fb5 sane-sysinfo: port to Python
it's a pretty literal port; probably has some bugs
2024-06-15 08:59:50 +00:00
c50a4d1d71 static-nix-shell: fix mkBash scripts to actually be invokable from the CLI
they need the `bash` package! how did this work before?
2024-06-15 07:42:04 +00:00
aadbeab3ac doc: nwg-panel: point out that it really is ok to build w/o wlr-randr 2024-06-15 06:53:38 +00:00
aafcf7b478 lift sane-battery-estimate out of conky, rename to sane-sysinfo 2024-06-15 06:52:54 +00:00
a78b840215 nwg-panel: enable per-app volume controls 2024-06-15 03:59:36 +00:00
3c2347faba nwg-panel: fixup the formatting
especially, make it fit on moby
2024-06-15 03:49:01 +00:00
ebff35a378 add missing sane-nix-files
hmm. not great that i could deploy even without this being checked into git....
2024-06-15 03:37:19 +00:00
1515f01384 zsh: add alias: :fg -> fg 2024-06-15 03:26:36 +00:00
60a5c61500 default.nix: pass through host config and fs 2024-06-15 03:18:16 +00:00
417b85450c tod.md: notes about nwg-panel cleanup 2024-06-15 00:54:01 +00:00
2e0a3dc8ef nwg-panel: fix cross-compiled result to not ship build-time dependencies 2024-06-15 00:52:31 +00:00
3165c95d0f sysvol: 2024-06-09 -> 2024-06-13 2024-06-15 00:28:03 +00:00
6dd4d9da3e uassets: 2024-06-12 -> 2024-06-14 2024-06-15 00:19:40 +00:00
5a086b359d nixpkgs-wayland: 2024-06-12 -> 2024-06-14 2024-06-15 00:19:25 +00:00
a204f0a987 nixpkgs: 2024-06-12 -> 2024-06-14 2024-06-15 00:18:41 +00:00
317251338c todo.md: note that s6 is not re-entrant 2024-06-14 20:26:30 +00:00
01cfed2438 scripts/deploy: swap the iteration order: build all hosts at -min variant, then -light, etc; then also do the -next variants 2024-06-14 20:24:50 +00:00
ba0524d193 scripts/update: dont update feeds by default 2024-06-14 18:29:06 +00:00
26a4f20f6c scripts/deploy: factor out a deployHelper to make variant=all usable *without* host=all 2024-06-14 18:28:52 +00:00
46f5a7e37d nwg-panel: patch it to cross compile (by purging bluetooth/randr) 2024-06-14 09:34:17 +00:00
88a487f565 /etc/nixos: link in such a way that i dont pick up a whole bunch of garbage
it seemed to also be causing some non-determinism when deploying to crappy

ideally i would seal the whole nix build, by only evaluating all this config *after* building 'sane-nix-files'
2024-06-14 09:18:15 +00:00
d037afd75c sane-nix-files: define this repo as a package
setup as a dirty git repo, intentionally
2024-06-14 09:18:15 +00:00
654858f8ff nwg-panel: theme the calendar 2024-06-14 09:17:46 +00:00
5abcc7d399 nwg-panel: fix @workspaceNumbers typo 2024-06-14 08:50:28 +00:00
65823507ad nwg-panel: make workspace numbers/hiding configurable 2024-06-14 08:47:24 +00:00
63a88da3b4 moby: switch from waybar -> nwg-panel 2024-06-14 08:47:24 +00:00
734da36639 nwg-panel: make configurable through nix 2024-06-14 08:47:24 +00:00
49ccf95fb3 nwg-panel: style.css: fix line endings?
idk, i just copied + pasted the contents back, and now the file is 200B smaller and i dont see ^M in git
2024-06-14 08:47:24 +00:00
e70d0f3c8e nwg-panel: style.css: fix indentation 2024-06-14 08:47:24 +00:00
c00cccd429 nwg-panel: disable the green border hover for *all* items 2024-06-14 08:47:24 +00:00
02fdc91237 sway: switch from waybar -> nwg-panel (except for moby) 2024-06-14 08:47:24 +00:00
14616f9b61 nwg-panel: stylize 2024-06-14 08:47:24 +00:00
f9d856b3bb waybar: fix typo 2024-06-14 08:47:24 +00:00
d52db06ffe nwg-panel: implement, but dont ship by default 2024-06-14 08:47:24 +00:00
Shelvacu
dc2c31f220 gitea: keep login session alive for 30 days 2024-06-14 03:34:42 +00:00
52322e3207 switchboard: fix cross compilation 2024-06-14 03:29:02 +00:00
26f1f2b581 remove unused flake.lock file 2024-06-14 03:08:07 +00:00
74c188012a todo.md: install folio 2024-06-13 20:53:16 +00:00
e0c741427e ship "switchboard" program, for configuring bluetooth/network/sound 2024-06-13 19:51:19 +00:00
999a173001 sane-tag-music: --trackno "" fix-tags FOO can be used to clear FOOs track number field 2024-06-13 08:22:57 +00:00
330a64d820 feeds: add xorvoid.com 2024-06-13 04:46:12 +00:00
2e2f5dd373 scripts/sync: remove unnecessary sudo calls when mounting 2024-06-13 03:15:58 +00:00
5561dde31d readme: update for a flake-free world 2024-06-13 03:14:27 +00:00
c3ae60d71b flake.nix: remove (no longer used) 2024-06-13 03:09:45 +00:00
1c79209e23 scripts/sync: lift out of flake 2024-06-13 03:09:02 +00:00
6d1db1ee67 feeds: update metadata 2024-06-13 03:03:15 +00:00
88d462764f feeds: fix to work with scripts/update 2024-06-13 02:18:30 +00:00
8f634d9bb0 todo.md: address the sudo-related items 2024-06-13 01:30:44 +00:00
3e35210e4b systemd: allow wheel users to start/stop any service 2024-06-13 01:30:18 +00:00
04f4d330a8 programs: enable free 2024-06-13 01:09:48 +00:00
ce60e53b9a programs: add ps 2024-06-13 01:04:24 +00:00
3ff9f974a6 programs: enable watch 2024-06-13 00:59:34 +00:00
11e9ad5eca unl0kr.conf: fix formatting 2024-06-13 00:13:33 +00:00
bf99a64b89 unl0kr: fix that unl0kr wasnt always visible (so, wait for /dev/fb0 to appear before launch) 2024-06-13 00:13:19 +00:00
3b43562841 todo.md: address completed moby input-still-enabled-when-screen-off issue 2024-06-13 00:12:26 +00:00
131e43e975 scripts/deploy: avoid ssh-based copies to self 2024-06-13 00:12:00 +00:00
e34a9957e3 hosts/common/nix: migrate the nixpkgs-overlay integration point (part 2) 2024-06-12 23:32:18 +00:00
ea1a0b72b5 hosts/common/nix: migrate the nixpkgs-overlay integration point (part 1)
this has to be done in two steps to avoid nix-daemon bugs
2024-06-12 23:20:37 +00:00
aab9ed0d35 zsh: switch: pass through args 2024-06-12 23:09:35 +00:00
f477370e4c scripts/deploy: add more logging 2024-06-12 23:09:32 +00:00
b5fc8cfd4e scripts/deploy: when deploying all machines, dont let one failed deployment abort the whole job 2024-06-12 23:09:27 +00:00
4fdaacf8ad nit: use pkg.extend in place of pkgs.appendOverlays where applicable 2024-06-12 23:09:16 +00:00
f1705686b8 fix: dont double-apply overlays
previous behavior was that overlays were *implicitly* applied when i
imported nixpkgs, and then explicitly applied again later in the config.

for some reason i can't remove (or adjust?) the implicit application
without causing evals to hang w/o so much as any error message.
2024-06-12 23:08:04 +00:00
0d0fa8b37f nixpkgs: 2024-06-11 -> 2024-06-12 2024-06-12 09:42:55 +00:00
b5b39d1500 scripts/deploy: add the equivalent of my "pre-deploy" functionality 2024-06-12 09:04:17 +00:00
86482e922c scripts/update: add a --dry-run option 2024-06-12 08:44:02 +00:00
111c69b368 firefox.extensions.metamask: 11.16.8 -> 11.16.9 2024-06-12 08:37:59 +00:00
60c13d34a7 nixpkgs-wayland: 2024-06-08 -> 2024-06-12 2024-06-12 08:37:35 +00:00
823d064ab0 sops-nix: 2024-06-03 -> 2024-06-11 2024-06-12 08:35:54 +00:00
3f88d750c6 uassets: 2024-06-08 -> 2024-06-12 2024-06-12 08:35:34 +00:00
05f29ba01e sysvol: 2024-06-07 -> 2024-06-09 2024-06-12 08:35:22 +00:00
2b11bac1eb scripts: add an "update" script to update all my packages
it probably doesnt update feeds yet, though
2024-06-12 08:29:45 +00:00
86adc38537 zsh: fix switch alias for a post-flake world 2024-06-12 08:29:08 +00:00
b787289b39 scripts/deploy: if no host is specified, then deploy to the current host 2024-06-12 07:44:21 +00:00
63f3b8e89b handbrake: disable until i fix the build 2024-06-12 07:40:29 +00:00
448b8007ca scripts: remove outdated flake update script 2024-06-12 07:11:41 +00:00
9fc4119275 mesa-demos: deploy 2024-06-12 07:11:41 +00:00
8f1332797d crappy: dont auto-start messengers 2024-06-12 07:11:41 +00:00
368184e24f flake: add a crappy-min-next deploy target 2024-06-12 07:11:41 +00:00
c8e73d3f76 crappy: add user to "render" group 2024-06-12 07:11:41 +00:00
43da4955b7 crappy: deploy linux-exynos5-mainline kernel 2024-06-12 07:11:41 +00:00
46e9d5f758 programs: fix s6 deps when dbus isnt enabled 2024-06-12 07:11:41 +00:00
66a012b555 nixpkgs: 2024-06-08 -> 2024-06-11
i haven't actually deployed this yet: i'm pulling it for crappy-staging, but had to update all branches because the trust-dns patch didn't apply cleanly
2024-06-12 07:11:41 +00:00
fff965ab9b linux-postmarketos-exynos5: build with LIMA/MALI enabled as well (experimental) 2024-06-12 07:11:41 +00:00
406adde549 scripts/deploy: skip the signing step if we have no signing key 2024-06-12 07:11:14 +00:00
c9b2699c9f nixpkgs: fix sysvol patch hash 2024-06-12 07:03:23 +00:00
f91d3e35f3 flake: port deploy script to its own thing 2024-06-12 05:48:03 +00:00
4712ba9f2d check-nur: extract from the flake 2024-06-12 02:50:51 +00:00
03b2f2a433 rename health-check -> check-uninsane so i can expand the checks 2024-06-12 02:35:07 +00:00
51b1a6e679 default.nix: define attributes necessary to build any of my hosts or their packages 2024-06-12 02:21:50 +00:00
f148e5a580 pkgs: fix infinite recursion when evaluating nix-build -A MY_PKG 2024-06-12 01:18:17 +00:00
079f945f38 unl0kr: 2.0.0 -> 3.2.0 2024-06-12 00:49:26 +00:00
29cc7e4676 flake: add targets to deploy to crappy 2024-06-12 00:49:14 +00:00
11c97fd4c0 crappy: actually enable landlock 2024-06-11 00:47:30 +00:00
a5cb989c59 hosts/common: add remote /mnt/crappy/home mount 2024-06-11 00:36:18 +00:00
3d77a7cbc9 secrets/common: allow crappy to access these secrets 2024-06-11 00:27:37 +00:00
8e7401955f hosts/common: add crappy's pubkey/lan IP 2024-06-11 00:27:14 +00:00
fa605768e7 hosts/common: enable ALL firmware -- not just the "redistributable" stuff 2024-06-11 00:26:52 +00:00
3c279edd31 feeds: unsubscribe from Vsauce 2024-06-11 00:26:17 +00:00
a736d6d77b crappy: get it to load the firmware required for its wifi chipset (mwifiex_sdio) 2024-06-11 00:26:02 +00:00
8ad118162e doc: how to recover or add new hosts 2024-06-11 00:25:00 +00:00
5c13bb20d7 crappy: test (but dont deploy) a linux_latest kernel w/ panel patch
it doesn't boot, not sure why
2024-06-10 21:26:59 +00:00
170d36fc05 crappy: fix u-boot boot order to include usb 2024-06-10 06:07:53 +00:00
b828edf3c7 hal/samsung: remove some dead code 2024-06-10 03:49:43 +00:00
e10dfaefe9 hal/samsung: test a bunch of different kernels; enable linux_latest which works if i patch it 2024-06-10 03:48:31 +00:00
49e1a85afb linux-postmarketos-exynos5: test some patches for enabling graphics output on later kernels 2024-06-10 03:47:35 +00:00
56dfe8baa8 linux-exynos5-mainline: init
it builds, but is not bootable on samsung chromebook
2024-06-09 20:35:13 +00:00
95685fe91f linux-postmarketos-*: factor out a sane-kernel-tools helper set 2024-06-09 19:34:07 +00:00
8f6b4cc551 refactor/rename: linux-postmarketos -> linux-postmarketos-allwinner 2024-06-09 18:43:38 +00:00
89c9733ed2 linux-postmarketos-exynos5: add "optimizeForSize" option 2024-06-09 18:40:38 +00:00
ec29ec76f0 swayidle: fix that input events werent suppressed during screen-off 2024-06-09 18:36:57 +00:00
0f97e3d7ed sane-input-handler: fix that input events werent suppressed during screen-off
note that this doesn't fix input gating during the
screenoff-after-inactivity case.
2024-06-09 18:28:31 +00:00
6fb5cedd69 linux-postmarketos-exynos5: allow overriding the linux version 2024-06-09 17:48:46 +00:00
0382af1fae linux-postmarketos-exynos5: actually, i dont need to build with CC_OPTIMIZE_FOR_SIZE=y 2024-06-09 07:00:26 +00:00
b24b68a6bd mpv: switch to mainline mpv 2024-06-09 06:48:43 +00:00
952da0f314 sysvol: build via the package as it will appear in nixpkgs 2024-06-09 06:34:09 +00:00
cb32dc99cd sysvol: fix background transparency 2024-06-09 01:50:39 +00:00
5e7a05c183 sysvol: remove unused finalAttrs 2024-06-09 01:11:54 +00:00
656b478cc0 nixpkgs: remove ancient commented-out patches 2024-06-09 00:55:28 +00:00
fbbc0eb294 nixpkgs: cleanup patching implementation 2024-06-09 00:52:01 +00:00
502c9d1db3 nixpkgs: 24.05-unstable-2024-06-xx -> 24.05-unstable-2024-06-08 2024-06-09 00:48:52 +00:00
36934eedfd nixpkgs-wayland: 0-unstable-2024-06-xx -> 0-unstable-2024-06-08 2024-06-09 00:48:26 +00:00
56f982e214 delfin: remove
it's in nixpkgs now, and the co-maintainer is doing a very good job with it
2024-06-09 00:17:04 +00:00
54c4cd53b3 firefox-extensions: ether-metamask, sponsorblock, ublacklist -> latest 2024-06-09 00:01:12 +00:00
1c4fc335b3 uassets: 0-unstable-2024-05-27 -> 0-unstable-2024-06-08 2024-06-09 00:00:44 +00:00
21d3f41b38 signal-desktop-from-src: 7.8.0 -> 7.11.1 2024-06-09 00:00:27 +00:00
031ce236f3 firefox-extensions: fix the update script to not grab betas for u-block 2024-06-08 23:43:35 +00:00
a4eb073918 signal-desktop-from-src: fix the update script to ignore betas 2024-06-08 23:13:56 +00:00
75ae868bde nixpkgs: don't fail build if a patch has already been applied 2024-06-08 22:49:55 +00:00
b6d9d58a14 firefox-extensions.bypass-paywalls-clean: disable updateScript 2024-06-08 22:08:25 +00:00
14a5b8d9f2 nixpkgs: get the updateScripts to be populated into me update.pkgs.* attrs 2024-06-08 22:01:33 +00:00
ede68b563e nixpkgs-{staging,next}: add an update script 2024-06-08 21:15:47 +00:00
33f4db254d nixpkgs: add an update script
this only updates the master branch -- for now
2024-06-08 20:44:23 +00:00
6e8cb1bbb2 nixpkgs-wayland: add an update script 2024-06-08 20:24:56 +00:00
b00fb22137 sops-nix: add an update script 2024-06-08 20:22:04 +00:00
4d74c2ede6 sysvol: 0-unstable-2024-04-11 -> 0-unstable-2024-06-07 2024-06-08 20:11:07 +00:00
c4c5a640ce sysvol: add an update script 2024-06-08 19:58:29 +00:00
514fbca3f1 gitea: enable push-to-create for new repositories 2024-06-08 03:46:52 +00:00
71a19e247f fix check.nur (dont use builtin fetchers when stdenv ones are available) 2024-06-08 03:28:47 +00:00
Shelvacu
bcab89dbfb gitea: enable push-to-create for new repositories 2024-06-07 20:27:43 -07:00
f219c59ad5 nixpkgs: acquire via builtins.fetchGit instead of flake
i'll probably delete this toplevel flake at some point as well
2024-06-08 01:37:47 +00:00
197df696be uninsane-dot-org: acquire by fetchFromGitea instead of flake 2024-06-07 22:52:07 +00:00
c9b7f58f3d sops-nix: acquire via fetchFromGitHub instead of flake
i don't like the hacks i have to do to mix `fetchFromGitHub` and nixos
modules though.
2024-06-07 22:40:53 +00:00
6b8371c32b nixpkgs-wayland: import by fetchFromGitHub instead of via flake 2024-06-07 21:29:45 +00:00
11cdac0357 mobile-nixos: import by fetchFromGitHub instead of via flake 2024-06-07 21:15:54 +00:00
8b607ddefd nixpkgs: 2024-06-05 ->2024-06-07; nixpkgs-wayland
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/f1f4d07f9015e5da5fe416e87c6bbd9f569a5c60' (2024-06-05)
  → 'github:nixos/nixpkgs/5aa86ae5585cd46299ee46682fda8a9b76baf2ae' (2024-06-07)
• Updated input 'nixpkgs-staging-unpatched':
    'github:nixos/nixpkgs/d7993cebbcd4f9f3a07a8d418853b586d301be56' (2024-06-05)
  → 'github:nixos/nixpkgs/da9d22446697971278edcd4af92f63221f7d21f6' (2024-06-07)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/c3759101288ea92aec42ab7b8aed4e967cfb8eb3' (2024-06-04)
  → 'github:nixos/nixpkgs/716a7056386dcc67eb3b813289499d6329d4befc' (2024-06-07)
• Updated input 'nixpkgs-wayland':
    'github:nix-community/nixpkgs-wayland/93b225ddba91179248b378913a91defbc6aeb899' (2024-05-31)
  → 'github:nix-community/nixpkgs-wayland/8e2d180329f4009ac06042b50ca0a356722aea19' (2024-06-07)
• Updated input 'nixpkgs-wayland/flake-compat':
    'github:nix-community/flake-compat/8bf105319d44f6b9f0d764efa4fdef9f1cc9ba1c' (2023-06-29)
  → 'github:nix-community/flake-compat/38fd3954cf65ce6faf3d0d45cd26059e059f07ea' (2024-06-02)
• Updated input 'nixpkgs-wayland/lib-aggregate':
    'github:nix-community/lib-aggregate/dbc9130fe1455e0f6ee4d8f5f799f9be551f866b' (2024-05-26)
  → 'github:nix-community/lib-aggregate/64d43e2bbc6eab8d1cbdfba96d90a71e15a847d7' (2024-06-02)
• Updated input 'nixpkgs-wayland/lib-aggregate/nixpkgs-lib':
    'github:nix-community/nixpkgs.lib/d0d27192931680482081aa1c38389da2af84a651' (2024-05-26)
  → 'github:nix-community/nixpkgs.lib/e090cb30ae82f4b4461aafdb808847c6c97b08c2' (2024-06-02)
• Updated input 'nixpkgs-wayland/nix-eval-jobs':
    'github:nix-community/nix-eval-jobs/bb95091f6c6f38f6cfc215a1797a2dd466312c8b' (2024-05-15)
  → 'github:nix-community/nix-eval-jobs/b6169e08e76e10b673d1b54f944cddb1e7cbea97' (2024-06-06)
```
2024-06-07 09:08:24 +00:00
10158bb444 rename snowy -> crappy
get it? it's the crappy version of lappy
2024-06-07 08:04:57 +00:00
1dd10450f2 modules/image: remove extraneous sane.image.enable option 2024-06-07 07:42:47 +00:00
e104499636 modules/hal/samsung: cleanup 2024-06-07 07:39:30 +00:00
56cd1f211c scripts/update: expand 2024-06-07 07:34:51 +00:00
14f4f1e80d hosts: add snowy
the Samsung Chromebook thing
2024-06-07 07:34:35 +00:00
52a0e8cf53 modules/hal/samsung: init
this can be used to get baseline support for samsung exynos5 chromebook

i should probably rename it, in time
2024-06-07 07:33:46 +00:00
50450fe7fe brave: fix eval error on armv7l 2024-06-07 07:32:24 +00:00
4a4ffadc64 fractal-nixified: fix cross to armv7l 2024-06-07 07:32:08 +00:00
8807140c83 neovim: fix cross to armv7l 2024-06-07 07:31:44 +00:00
adc811efa1 libvpx: fix cross to armv7l 2024-06-07 07:31:27 +00:00
d8fed884d0 programs: steam: move from pcGuiApps -> pcGameApps 2024-06-07 07:30:56 +00:00
d75f59ba06 modules/image: increase the default boot partition size from 512 MiB -> 1024 MiB 2024-06-07 07:29:50 +00:00
aa0a395353 nit: fix image output to be a file, not an item inside a folder 2024-06-07 07:28:56 +00:00
56d84dea4d hosts: remove unused (defaulted) option: boot.loader.efi.canTouchEfiVariables 2024-06-07 07:27:34 +00:00
3aa2ece59b modules/programs: convert lib.optionalAttrs to mkIf
this allows stuff to be lazier
2024-06-07 07:26:07 +00:00
07239d2a75 nixpatches: link to outstanding libvpx fix 2024-06-07 07:25:36 +00:00
3fd5e15e93 linux-postmarketos-exynos5: init
i'll need this for a default chromebook install
2024-06-07 07:24:48 +00:00
97d56b0314 flake: add a pkgs.python template 2024-06-07 07:23:35 +00:00
c18554dfbd depthcharge-tools: init at 0.6.2 2024-06-07 07:22:18 +00:00
8105e00b39 refactor: make system.stateVersion common across all hosts.
otherwise it's hairy to share nixos configs/modules between them

note that this alters the stateVersion for desko/lappy/rescue, but unlikely to matter
2024-06-04 15:58:53 +00:00
7e32fab5d4 refactor: moby: split more stuff out of the toplevel config and hide behind roles/etc 2024-06-04 15:58:51 +00:00
25298c9be6 lappy: remove unused xkb_mobile_normal_buttons 2024-06-04 14:40:03 +00:00
e61549d917 moby: split remaining polyfill into roles.handheld 2024-06-04 14:38:32 +00:00
eca14a644b refactor: moby: lift some of the polyfill out to pine64 hal 2024-06-04 14:36:46 +00:00
3937121522 refactor: moby: split pinephone-specific stuff into sane.hal.pine64 2024-06-04 14:35:34 +00:00
b334db28c6 refactor: hide x86_64-specific host config in a module 2024-06-04 14:26:24 +00:00
b52057e317 refactor: split "quirks.nix" out of hosts/common/hardware/default.nix 2024-06-04 14:14:22 +00:00
414ab85e20 refactor: move hosts/common/hardware/default.nix into hosts/common/boot.nix 2024-06-04 14:12:28 +00:00
82133a8f16 refactor: move logind config into systemd.nix 2024-06-04 14:09:58 +00:00
43a63d4f6e hosts/modules: remove unused yggdrasil 2024-06-04 13:58:49 +00:00
9f9fc7d65b moby: also sync books from servo 2024-06-04 10:08:25 +00:00
79d395e01c nixpkgs: 2024-06-03 -> 2024-06-04, sops-nix
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/c987c730bbf2121264ebd68921b443db5bb28543' (2024-06-03)
  → 'github:nixos/nixpkgs/6a56765581a4dcf961a90faf54d32edb991bd315' (2024-06-04)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/77a51024c0f953d503eb3ed364aa4bff378649f8' (2024-06-03)
  → 'github:nixos/nixpkgs/c3759101288ea92aec42ab7b8aed4e967cfb8eb3' (2024-06-04)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/ab2a43b0d21d1d37d4d5726a892f714eaeb4b075' (2024-06-02)
  → 'github:Mic92/sops-nix/d4555e80d80d2fa77f0a44201ca299f9602492a0' (2024-06-03)
```
2024-06-04 06:35:29 +00:00
394259fe21 modemmanager: harden systemd service 2024-06-03 16:41:51 +00:00
8c256c629b networkmanager: harden further with NoNewPrivileges and PrivateTmp 2024-06-03 16:23:22 +00:00
0e2d86ac96 NetworkManager-dispatcher: note why we cant use DynamicUser 2024-06-03 15:57:41 +00:00
e2a1e6730d NetworkManager-dispatcher: harden systemd service 2024-06-03 15:44:22 +00:00
a1e923f999 networkmanager: tighten ProtectSystem to "strict" 2024-06-03 15:10:14 +00:00
09333c992c wpa_supplicant: harden systemd service 2024-06-03 15:09:32 +00:00
80eb385c64 networkmanager: restrict service (using systemd options) 2024-06-03 14:27:00 +00:00
f6725f60b9 networkmanager: re-introduce my polkit patches 2024-06-03 13:04:48 +00:00
2f1592376d document more sandbox limitations 2024-06-03 11:59:44 +00:00
42fed64b75 NetworkManager: split specific config options out of my main net/default.nix file 2024-06-03 11:24:38 +00:00
682143d47f NetworkManager: 1.46.0 -> 1.48.0
mostly so i can review the PR and get this update mainlined sooner :)
2024-06-03 11:23:33 +00:00
1448cb4444 sane-reboot: fix operation on servo 2024-06-03 09:33:35 +00:00
2d07ff966b health-check: mention failed systemd services 2024-06-03 09:30:02 +00:00
83404f6769 nixos/networkmanager patch: grab via PR 2024-06-03 07:49:53 +00:00
c6bb6e2e3c megapixels-next: fix broken eval of metadata 2024-06-03 05:35:09 +00:00
9d109644b7 nixpkgs: 2024-06-01 -> 2024-06-03; sops-nix -> 2024-06-02
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/f7de25c01e4c073c06e0525226a0c2311d530cee' (2024-06-01)
  → 'github:nixos/nixpkgs/c987c730bbf2121264ebd68921b443db5bb28543' (2024-06-03)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/61c1d282153dbfcb5fe413c228d172d0fe7c2a7e' (2024-06-01)
  → 'github:nixos/nixpkgs/77a51024c0f953d503eb3ed364aa4bff378649f8' (2024-06-03)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/962797a8d7f15ed7033031731d0bb77244839960' (2024-05-26)
  → 'github:Mic92/sops-nix/ab2a43b0d21d1d37d4d5726a892f714eaeb4b075' (2024-06-02)
• Updated input 'sops-nix/nixpkgs-stable':
    'github:NixOS/nixpkgs/59a450646ec8ee0397f5fa54a08573e8240eb91f' (2024-05-25)
  → 'github:NixOS/nixpkgs/3b1b4895b2c5f9f5544d02132896aeb9ceea77bc' (2024-06-01)
```
2024-06-03 05:31:28 +00:00
0050403b31 scripts: add an update helper
someday i can extend this for updating packages and feeds too
2024-06-03 05:30:03 +00:00
e4bcbab224 hosts: networking: switch to using nixos NetworkManager/ModemManager/etc, just patched for hardening 2024-06-02 11:22:03 +00:00
1b85aa0441 networkmanager/modemmanager: get closer to nixpkgs upstream
i've seen enough, that there's a path toward getting nixos proper to sandbox this in a way i'm happy with -- in time
2024-06-02 08:56:38 +00:00
f5e5d1bcc4 networkmanager: fix polkit integrations when running not as root
now nmcli/etc work
2024-06-02 05:10:11 +00:00
30d41f82f2 refactor: networkmanager: use substitute instead of sed when patching 2024-06-01 22:16:18 +00:00
62dbad3486 polyunfill: remove a few more default systemPackages 2024-06-01 21:06:40 +00:00
4287ecf0ed polyfill: don't ship unused mtools package 2024-06-01 20:15:04 +00:00
b13ca92b72 polyfill: remove boot.{enableContainers,bcache} 2024-06-01 20:14:49 +00:00
45e121eb1c make-sandboxed: preserve meta.mainProgram 2024-06-01 20:01:24 +00:00
53bbd611da nixpkgs-review: persist the ~/.cache/nixpkgs-review directory 2024-06-01 17:15:54 +00:00
f0128b9496 apply patch for when trust-dns is renamed to hickory-dns 2024-06-01 17:07:44 +00:00
368169d48d todo.md: start documenting sudo issues 2024-06-01 17:06:36 +00:00
cb1d5d53c6 feeds: add mintcast podcast 2024-06-01 16:28:42 +00:00
a5a635f00b sftpgo: simplify my package override now that sftpgo 2.6.0 is merged 2024-06-01 16:22:22 +00:00
6fe3d26b30 modemmanager: fix missing mmcli binary in service definition 2024-06-01 15:41:14 +00:00
8340cf059f nixpkgs-review: fix sandboxing 2024-06-01 15:26:23 +00:00
e0da3ece60 errno: simplify 2024-06-01 14:48:55 +00:00
8ea379d53b errno: ship on all platforms 2024-06-01 14:04:45 +00:00
c7dd49af91 errno: fix cross compilation by not building *all* of moreutils 2024-06-01 14:03:59 +00:00
e8b900c722 todo.md: add media looping controls 2024-06-01 13:37:51 +00:00
36f4fa3018 checkSandboxed: fix so that cross-built scripts can be checked again
how did this work earlier? does lappy have binfmt enabled??
2024-06-01 13:24:41 +00:00
d8d11de9bc sftpgo: replace deprecated "crypt" with "passlib" 2024-06-01 13:01:19 +00:00
07194d062a servo: nfs: disable 2024-06-01 12:45:10 +00:00
24c49df75f health-check: add a check that ftp://uninsane.org is operational 2024-06-01 12:42:53 +00:00
9f7e143d5e todo.md: add some kernel work to be done 2024-06-01 12:38:28 +00:00
0a382ae8a3 todo.md: remove completed "landlock sandboxer prints garbage" item 2024-06-01 12:35:46 +00:00
96f177ceb2 docs: overlays/cross: slightly tidy up the "outstanding issues" part 2024-06-01 12:24:00 +00:00
2aa3fa35b8 nixpkgs: 2024-05-31 -> 2024-06-01; nixpkgs-wayland -> 2024-05-31
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/8a0a33b56d6279fec4827da602882561ef00f2fb' (2024-05-31)
  → 'github:nixos/nixpkgs/f7de25c01e4c073c06e0525226a0c2311d530cee' (2024-06-01)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/7ccd1516effbc5510391d3b498a7a3bef92a090b' (2024-05-31)
  → 'github:nixos/nixpkgs/61c1d282153dbfcb5fe413c228d172d0fe7c2a7e' (2024-06-01)
• Updated input 'nixpkgs-wayland':
    'github:nix-community/nixpkgs-wayland/1db9b79a45c8e346e03480767e6d9749fabfaf10' (2024-05-31)
  → 'github:nix-community/nixpkgs-wayland/93b225ddba91179248b378913a91defbc6aeb899' (2024-05-31)
```
2024-06-01 12:20:45 +00:00
8657cf1fcf ship ausyscall binary 2024-06-01 12:17:08 +00:00
f875db916d sandboxing: fix checkSandboxed to handle packages with multiple outputs 2024-06-01 12:12:46 +00:00
e3e86a43a9 brightnessctl: disable unused dbus access 2024-06-01 12:09:51 +00:00
05986d363d brightnessctl: fix udev rules so i can run it again 2024-06-01 12:02:24 +00:00
539d9e45a2 networkmanager/modemmanager: ship separate packages for the daemon and CLI tools
they require fundamentally different sandboxing approaches. the daemon *can't* always use bwrap if it wants to run as non-root. meanwhile the CLI tools would mostly *prefer* to run under bwrap.

in the long term i'll maybe upstream the systemd sandboxing into nixpkgs, where there looks to be desire for it
2024-05-31 23:26:16 +00:00
a380bd04c4 trivial-builders: init deepLinkIntoOwnPackage 2024-05-31 23:26:16 +00:00
f296d8df93 make-sandboxed: fix multi-output packages and sandbox *all* their outputs
this mostly applies to the wrapperType = 'inplace' users
2024-05-31 23:26:16 +00:00
326bf045b0 networkmanager/wpa_supplicant: switch user back to "networkmanager"
root gives too much power, even with bwrap/namespaces
2024-05-31 23:26:16 +00:00
a1181a10ea networkmanager: install parallel dbus .conf files to allow the services to be run as *either* networkmanager or root user (hopefully!) 2024-05-31 23:26:16 +00:00
9bb6a903bb wpa_supplicant: get it to run under bwrap 2024-05-31 23:26:16 +00:00
214f963d89 networkmanager: run all services as root instead of networkmanager user
i believe this may allow using bwrap instead of landlock
2024-05-31 23:26:16 +00:00
c7eb4b66a5 polyunfill: remove unused su and sg security wrappers 2024-05-31 14:59:23 +00:00
452543e6f3 fix rescue host build 2024-05-31 10:37:03 +00:00
d692ac9851 overlays/cross: remove broken cdrtools fix (that project is INSANE) 2024-05-31 09:40:44 +00:00
5cba283859 overlays/cross: update upstreaming status
my part of the gnome2.GConf fix was actually upstreamed a year ago; the package fails for a different reason
2024-05-31 09:04:16 +00:00
7a701f92eb nixpkgs: bump
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/d3d81af60c22e9e93a3930a9630b210362341ab9' (2024-05-31)
  → 'github:nixos/nixpkgs/8a0a33b56d6279fec4827da602882561ef00f2fb' (2024-05-31)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/4e60a4d94bdc1abafeefc1928aa3cda6ce6c4210' (2024-05-31)
  → 'github:nixos/nixpkgs/7ccd1516effbc5510391d3b498a7a3bef92a090b' (2024-05-31)
```
2024-05-31 08:44:53 +00:00
3c3a32e436 nixpatches: grab libphonenumber cross patch from PR 2024-05-31 08:43:27 +00:00
07aec3ca3c apps: explain why i ship both engrampa and xarchiver archive managers 2024-05-31 08:39:23 +00:00
58d5f11c7a overlays/cross: disable patches which im not actively using 2024-05-31 08:21:23 +00:00
ed2d4ef488 overlays/cross: update upstreaming status 2024-05-31 08:02:25 +00:00
e8f8866032 overlays/cross: remove old emulated package set and buildInQemu, etc 2024-05-31 06:59:32 +00:00
a2dfd8f08e libphonenumber: use a better patch for cross (CMAKE_CROSSCOMPILING_EMULATOR) 2024-05-31 06:27:10 +00:00
c7fd3d2217 nixpkgs: 2024-05-26 -> 2024-05-31, nixpkgs-wayland -> 2024-05-31
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/2baa940f86e1fc54757fd7d1ed551c0a38904bf2' (2024-05-26)
  → 'github:nixos/nixpkgs/d3d81af60c22e9e93a3930a9630b210362341ab9' (2024-05-31)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/7780e5160e011b39019797a4c4b1a4babc80d1bf' (2024-05-26)
  → 'github:nixos/nixpkgs/4e60a4d94bdc1abafeefc1928aa3cda6ce6c4210' (2024-05-31)
• Updated input 'nixpkgs-wayland':
    'github:nix-community/nixpkgs-wayland/397c85d463aef789a8dd24c4db467e9ad787907b' (2024-05-26)
  → 'github:nix-community/nixpkgs-wayland/1db9b79a45c8e346e03480767e6d9749fabfaf10' (2024-05-31)
```
2024-05-31 06:09:03 +00:00
0fcc3f8d5d ModemManager: make the sandbox more strict 2024-05-30 21:32:35 +00:00
0bb887158b implement a dropbear SSH module 2024-05-30 20:58:01 +00:00
6570c5ed84 modemmanager: sandbox with bwrap instead of landlock 2024-05-30 18:47:09 +00:00
820fdecfd5 modemmanager: minimal (working) sandbox 2024-05-30 18:27:34 +00:00
8d43565f31 sane-theme: disable sandbox 2024-05-30 16:54:10 +00:00
18364761dd wireplumber: undo the enableSystemd=false patch 2024-05-30 16:50:53 +00:00
d3937487e6 moby: cleanup bonsai <-> sway circular dependency (slightly) 2024-05-30 12:43:09 +00:00
3fdeacc336 sane-input-handler: add a --help command 2024-05-30 12:30:41 +00:00
847414ac1f health-check: add a test that git is online 2024-05-30 12:18:57 +00:00
84f2006115 servo: fix gitea 2024-05-30 12:12:06 +00:00
7f5e12da8d dbus: dont consider the service "up" until the unix pipe actually appears 2024-05-30 11:04:02 +00:00
afa8a3c52e activationScripts.notifyActive: future-proof for if ever DBUS_SESSION_BUS_ADDRESS changes 2024-05-30 11:03:35 +00:00
bfbcb4789b activationScripts.notifyActive: fix forrenamed XDG_RUNTIME_DIR 2024-05-30 10:56:17 +00:00
2531cc1cf6 bonsai: place the socket in a subdirectory to improve sandboxing 2024-05-30 09:54:28 +00:00
e55b75c333 wireplumber: build without systemd 2024-05-30 09:46:29 +00:00
adb54657d4 sway: fix bonsai to be visible in the sandbox 2024-05-30 09:46:04 +00:00
6eefb9ce20 wireplumber: build against the same pipewire i deploy 2024-05-30 09:06:41 +00:00
2233622bb7 landlock-sandboxer: remove startup messages for 6.9 2024-05-30 08:55:13 +00:00
274a7821a7 wireplumber: remove no-longer-needed /run/systemd directory
not necessary when using seatd/when a member of the 'audio' group
2024-05-30 08:54:41 +00:00
4c84d1a727 doc: modules/users: show what XDG_SESSION_{ID,CLASS,TYPE} could look like if set 2024-05-30 08:44:26 +00:00
175acf6442 pipewire: build without systemd 2024-05-30 08:44:11 +00:00
0761b6135a users/colin: add myself to "audio" group so that wireplumber can access audio devices w/o systemd/logind 2024-05-30 08:44:11 +00:00
66c899d099 callaudiod: fix to not start before dbus/pipewire are up (avoids coredump on boot) 2024-05-30 06:07:08 +00:00
4aeb3360d3 cleanup: programs: dont assume sway is always the wayland/x11 provider 2024-05-30 06:00:32 +00:00
0c456d11d8 programs: ensure things which depend on sound or wayland are ordered after it 2024-05-30 04:55:05 +00:00
3b73773169 programs: ensure things which depend on dbus are ordered after it 2024-05-30 03:48:45 +00:00
9ba8ff738b refactor: sane.programs.$foo.service: specify type concretely 2024-05-30 03:39:32 +00:00
f1d397940f seatd: patch sandboxing for desko 2024-05-29 19:42:45 +00:00
fa94fa8e6c seatd: sandbox with bwrap
it always surprises my that you can sandbox something with cap_sys_admin like this...

i think this works *only* because the user is root
2024-05-29 19:09:57 +00:00
4b9c125c8c seatd: sandbox 2024-05-29 18:58:38 +00:00
0f7d25d8a5 doc: sway: say why i wrapperType = "inplace" 2024-05-29 18:58:05 +00:00
140641729e gvfs: disable (it was broken) 2024-05-29 18:39:31 +00:00
32124d76bf cups: disable (not currently used, and not sandboxed) 2024-05-29 18:33:17 +00:00
c5c174f988 sway: patch to use a narrower sandbox 2024-05-29 18:24:59 +00:00
29bc1608aa sway: remove sandbox input which are no longer necessary 2024-05-29 17:07:18 +00:00
635ca1e5d8 seatd: pull the service definition into my own repo
this will allow me to configure the package
2024-05-29 16:34:32 +00:00
2789868703 seatd: split out of sway conf 2024-05-29 16:22:52 +00:00
c40ec1990a sshd: disable systemd integration 2024-05-29 15:57:19 +00:00
d4dfcd6510 login: remove systemd pam integration (so it doesnt try, and fail, to start the user manager) 2024-05-29 15:42:39 +00:00
d865be952a refactor: sandboxing: replace manual --sanebox-keep-namespace pid config with isolatePids = false 2024-05-29 12:56:46 +00:00
7c8a18ecbd systemd: remove no-longer-used user@1000 override 2024-05-29 12:56:19 +00:00
35ff7de06e dbus: manage it ourselves instead of having systemd do it 2024-05-29 12:55:51 +00:00
00d06db66a make-sandboxed: handle more systemd service files 2024-05-29 12:54:44 +00:00
c570b7bf5d dbus: manage it ourselves instead of having systemd do it 2024-05-29 11:30:33 +00:00
770fc2e574 systemd: fix typod IgnoreOnIsolate option 2024-05-29 11:30:33 +00:00
0ed7eb24fb programs: assorted: remove legacy programs.feedback setting 2024-05-29 11:30:33 +00:00
ad8e75b6a3 programs: assorted: remove /var/lib/alsa persistence; doesnt seem to be needed 2024-05-29 11:30:33 +00:00
e8dbe0750d networkmanager: fix sandbox to actually work with systemd-resolved 2024-05-29 10:34:24 +00:00
1378988f21 desko: *really* disable wpa_supplicant 2024-05-29 10:34:03 +00:00
b88467771e doc: trust-dns: fix wan.txt example path 2024-05-29 09:33:59 +00:00
4309d887da wpa_supplicant: remove unused services 2024-05-29 09:33:25 +00:00
1ee21c4795 NetworkManager: run as user instead of root 2024-05-29 09:16:30 +00:00
fb7bcbb5f5 NetworkManager-wait-online: fix missing sanebox path 2024-05-29 01:37:15 +00:00
0013e8305e networkmanager: cleanup 2024-05-29 01:35:38 +00:00
7dedfcebb9 networkmanager: sandbox 2024-05-29 01:33:15 +00:00
753b97ffb4 todo.md: mark hosts/modules/gui cleanup as complete 2024-05-28 16:51:29 +00:00
247fc1f887 hosts/modules/gui: fold into hosts/common/programs 2024-05-28 16:51:02 +00:00
3c2ca46ef9 hosts/modules/gui/gtk: hoist to sane.programs.sane-theme 2024-05-28 16:44:27 +00:00
95dc395925 hosts/modules/gui/theme: lift my sway background up into its own package 2024-05-28 15:48:37 +00:00
cefd6c0534 documentation improvements 2024-05-28 13:36:01 +00:00
05efec8fd7 wg-home: decrease the refresh timeout 2024-05-28 13:36:01 +00:00
e8846b2d6b wpa_supplicant: sandbox 2024-05-28 13:36:01 +00:00
be38d56717 make-sandboxed: handle more systemd/dbus service file locations 2024-05-28 13:36:01 +00:00
7d242ab02c sane-battery-estimate: sandbox 2024-05-28 09:41:04 +00:00
47611eaa26 sane-weather: sandbox 2024-05-28 09:38:04 +00:00
9719f0f785 mpv: relax sandboxing for the sake of subtitle downloading 2024-05-28 09:37:57 +00:00
8042ea76e6 assorted programs: specify sandbox.autodetectCliPaths variant more precisely than just true 2024-05-28 07:14:27 +00:00
c59236509b sane-cast: sandbox 2024-05-28 07:07:11 +00:00
50e5206b0e todo.md: document that moby touchscreen stays on even when the screen is disabled 2024-05-28 05:27:37 +00:00
4ba0343315 networkmanager: hoist some lib.mkIfs up a few levels
would you believe one of these attributes was being set without a mkIf cfg.enabled guard :)
2024-05-28 05:27:23 +00:00
cbe6072c03 polyunfill: remove policykit suid wrappers 2024-05-28 05:24:37 +00:00
bea1fd95e5 polyunfill: disable dbus-daemon-launch-helper suid wrapper 2024-05-28 05:14:06 +00:00
ae544c0649 polyunfill: disable mount/umount suid wrappers 2024-05-28 05:02:26 +00:00
b571f70988 polyunfill: remove fusermount suid wrapper 2024-05-28 04:56:14 +00:00
e6498ad152 notejot: fix sandboxing 2024-05-28 03:59:31 +00:00
976b8ae45e rofi-snippets: make the filtering case insensitive, and improve ellipsis placement come 1.7.6 2024-05-28 03:38:36 +00:00
ab7c4d7410 rofi-snippets: remove the subshell and just use a pipe
i expect that this is faster, particularly because bash should stand up each section of the pipeline in parallel, right?
2024-05-28 03:23:04 +00:00
d2c3bec98e rofi-snippets: remove an extraneous layer of sandbox 2024-05-28 03:04:57 +00:00
3c5e5632ee wtype: sandbox 2024-05-28 03:04:26 +00:00
dcedb8d3f0 sanebox: handle --flag=path style of autodetected paths 2024-05-28 03:04:02 +00:00
8586db59f1 todo.md: sync 2024-05-28 02:14:10 +00:00
1f4d500b02 snippets: update 2024-05-28 02:11:49 +00:00
56b846023b update snippets 2024-05-28 01:27:59 +00:00
747d6c876d sane-vpn: add a "dns-fix" subcommand to open a shell using an external DNS resolver
this is hopefully temporary, until i can cleanup my trust-dns recursive resolver
2024-05-28 01:23:22 +00:00
f38d2d52d2 alsa-ucm-pinephone-pmos: prefer the earpiece over the "internal speaker" 2024-05-27 14:13:56 +00:00
04bbf54385 alsa-ucm-conf: switch to postmarketos version 2024-05-27 13:41:03 +00:00
f2271180dd alsa-ucm-conf: split the patched alsa confs out into their own package 2024-05-27 12:53:33 +00:00
60b1ab1429 conky: split sane-battery-estimate out into its own program 2024-05-27 11:33:40 +00:00
db3636641d sxmo-utils: disable update script 2024-05-27 07:51:56 +00:00
54a891504d delfin: 0.4.2 -> 0.4.4 2024-05-27 07:51:56 +00:00
8ea5061bef firefox-extensions: update to latest 2024-05-27 07:51:56 +00:00
b6d19a7a09 firefox-extensions.ctrl-shift-c-should-copy: update version field to use unstable idioms 2024-05-27 07:51:56 +00:00
439be20be7 lemmy-lemonade: 2024.03.20 -> 2024.04.22 2024-05-27 07:51:56 +00:00
a024f685c3 firefox: replace i-still-dont-care-about-cookies extension with a uBlock filter list
simpler that way; fewer extensions to trust
2024-05-27 07:43:55 +00:00
9c20cef6ea firefox: ublacklist: disable (i wasnt using any rules; it wasnt blocking anything from google search results) 2024-05-27 07:22:47 +00:00
abb65e55c6 uassets: fix updateScript 2024-05-27 07:16:50 +00:00
a2d385708f flake: echo the update command before running it 2024-05-27 07:16:42 +00:00
f6f1a6e136 firefox: uBlock Origin: ship filter lists statically 2024-05-27 06:54:52 +00:00
7941a8b1ed refactor: firefox: fix uBlock json indentation 2024-05-27 04:46:38 +00:00
bbcf8841ea todo.md: sync 2024-05-27 00:49:51 +00:00
063b0be5b6 hosts/modules/gui/greetd: remove 2024-05-27 00:44:01 +00:00
7e490f5c07 remove lingering references to sxmo 2024-05-27 00:38:30 +00:00
10a985e7f9 hosts/modules/gui/sxmo: remove 2024-05-27 00:27:53 +00:00
f3c3df2ca7 sxmo_suspend.sh: lift out of hosts/modules/gui/sxmo/hooks
i want to preserve this script for the future, while deleting the rest of my (unused) SXMO config
2024-05-27 00:23:50 +00:00
f477604063 hosts/modules/gui: remove gnome 2024-05-27 00:13:19 +00:00
d46fa8a242 swaync-fbcli: sandbox (experimental) 2024-05-27 00:11:20 +00:00
62b2eb874c swaync-service-dispatcher: sandbox 2024-05-27 00:07:30 +00:00
133c1b3699 swaync: remove unused systemd integrations
it's all s6 now
2024-05-27 00:06:03 +00:00
1b4300dbeb swaync: remove unused vpn button 2024-05-27 00:00:44 +00:00
a1c1a87dd8 nixpkgs: 2024-05-24 -> 2024-05-26; nixpkgs-wayland, sops-nix
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/cc5c0d369b5e8f49705e2a2d7464e4b162804805' (2024-05-24)
  → 'github:nixos/nixpkgs/2baa940f86e1fc54757fd7d1ed551c0a38904bf2' (2024-05-26)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/2baa58d3488bd9cc4d53d6812509edc34a1c7e2a' (2024-05-24)
  → 'github:nixos/nixpkgs/7780e5160e011b39019797a4c4b1a4babc80d1bf' (2024-05-26)
• Updated input 'nixpkgs-wayland':
    'github:nix-community/nixpkgs-wayland/8746004cd97164c89f0997ea06642b819e5bc3fb' (2024-05-24)
  → 'github:nix-community/nixpkgs-wayland/397c85d463aef789a8dd24c4db467e9ad787907b' (2024-05-26)
• Updated input 'nixpkgs-wayland/lib-aggregate':
    'github:nix-community/lib-aggregate/5fa64b174daa22fe0d20ebbcc0ec2c7905b503f1' (2024-05-19)
  → 'github:nix-community/lib-aggregate/dbc9130fe1455e0f6ee4d8f5f799f9be551f866b' (2024-05-26)
• Updated input 'nixpkgs-wayland/lib-aggregate/nixpkgs-lib':
    'github:nix-community/nixpkgs.lib/0df131b5ee4d928a4b664b6d0cd99cf134d6ab6b' (2024-05-19)
  → 'github:nix-community/nixpkgs.lib/d0d27192931680482081aa1c38389da2af84a651' (2024-05-26)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/b549832718b8946e875c016a4785d204fcfc2e53' (2024-05-22)
  → 'github:Mic92/sops-nix/962797a8d7f15ed7033031731d0bb77244839960' (2024-05-26)
• Updated input 'sops-nix/nixpkgs-stable':
    'github:NixOS/nixpkgs/e7cc61784ddf51c81487637b3031a6dd2d6673a2' (2024-05-18)
  → 'github:NixOS/nixpkgs/59a450646ec8ee0397f5fa54a08573e8240eb91f' (2024-05-25)
```
2024-05-26 15:07:25 +00:00
92b9a56894 cleanup: remove unused secrets/common/wg/* 2024-05-26 14:37:33 +00:00
b159240b7f servo: import ovpn privkey 2024-05-26 14:37:33 +00:00
8a9f96eefc moby: import own OVPN privkey 2024-05-26 14:31:08 +00:00
af5aa15c23 cross: get passt to cross compile 2024-05-26 14:26:56 +00:00
a03099569c sanebox: fix bwrap+pasta DNS forwarding for hosts not using trust-dns 2024-05-26 14:26:56 +00:00
b1c7061b21 vpn: fix typos from previous 2 commits 2024-05-26 14:26:47 +00:00
c528bb3ec9 desko: add to OVPN 2024-05-26 14:07:32 +00:00
002639cc76 ovpn: use a single key per-device
this should fix the traffic collisions i'm seeing with the existing setup
2024-05-26 14:04:52 +00:00
45967fde7b brave: fix sandboxing under pasta/netns 2024-05-26 13:05:44 +00:00
ed97a81ef3 sane-vpn: use bwrap instead of just pasta so that the uids get mapped and programs can be happy 2024-05-26 13:04:13 +00:00
f158842c70 sanebox: fix uid mapping when bwrap uses the pasta backend 2024-05-26 13:03:50 +00:00
90d428be7f sane-vpn: allow sane-vpn do to work with no additional arguments 2024-05-26 11:33:12 +00:00
9d7b68eeb4 sane-tag-music: rewrite empty tracknumber tag to delete the tracknumber tag 2024-05-26 10:44:25 +00:00
8951df2e2c sane-scripts: set vim tags for python scripts 2024-05-26 10:42:12 +00:00
3a045f4d88 doc: polyunfill: point to https://github.com/NixOS/nixpkgs/pull/314791 2024-05-26 08:00:18 +00:00
57d6a9a4c3 polyunfill: simplify pam hacks 2024-05-26 07:04:12 +00:00
2ee39ca0cc poly_unfill: remove /run/wrappers/bin/unix_chkpwd
non-privileged users don't need to check passwords

well, maybe they do (for desktop unlockers), but i've already solved that :)
2024-05-26 06:37:59 +00:00
9d9211c5fa polyunfill: distribute /run/wrappers/bin/unix_chkpwd without suid bit 2024-05-26 01:18:30 +00:00
9ce7dcd57a /run/wrappers: remove unused newgidmap,newuidmap,newgrp binaries 2024-05-26 01:18:30 +00:00
af72f312d3 sandbox: remove /run/wrappers: SUID wrappers dont really accomplish much inside a namespace 2024-05-26 01:18:30 +00:00
efa1ee6c69 iproute2: disable sandbox and fix ip commands 2024-05-26 01:18:30 +00:00
6a15434cc6 net/vpn: remove the bridge devices from my VPN setup 2024-05-26 01:18:30 +00:00
59e4256dd8 sane-vpn: lint 2024-05-26 01:18:30 +00:00
6365bb7594 desko: disable wpa_supplicant/wireless networking again 2024-05-26 01:18:17 +00:00
8cb73687ce unl0kr: don't add extra deps to user's PATH 2024-05-26 01:17:42 +00:00
73f5c9608e sanebox: tighter dependency handling, to not rely on @BACKEND_FALLBACK@ 2024-05-25 10:26:36 +00:00
b035d312aa firejail: purge 2024-05-25 10:21:31 +00:00
a5e1a804c9 sane-vpn: port to sanebox/pasta (no more firejail) 2024-05-25 10:09:10 +00:00
7c6813ff37 sanebox: add a new method pastaonly 2024-05-25 10:08:49 +00:00
7b1bc210fd sanebox: integrate with pasta (passt) for better net sandboxing 2024-05-25 09:39:18 +00:00
118ed5f950 sanebox: populate --sanebox-net-dev with the actual net device -- not the bridge 2024-05-25 08:17:38 +00:00
ffe599e5cb sanebox: rename --sanebox-net to --sanebox-net-dev 2024-05-25 08:13:35 +00:00
fc52860dfc nixpatches: fix miniupnpc 2024-05-25 08:04:08 +00:00
377b1a21a8 todo.md: explore beets for mp3 tagging 2024-05-25 08:03:35 +00:00
a7881ecfce self-check: refactor 2024-05-25 04:10:15 +00:00
692bc89cbb health-check: include a wg-home check 2024-05-25 03:49:33 +00:00
842651efd5 mpv: tune webm.conf 2024-05-25 02:05:18 +00:00
27b4d4da16 mpv: ship a music visualizer
note that it doesnt show in `webm` exports
2024-05-25 02:05:09 +00:00
e407467e55 mpv: ship mpv-webm tool for clipping videos 2024-05-25 00:55:40 +00:00
30c677fafc feeds: subscribe to weekinethereumnews.com 2024-05-25 00:52:39 +00:00
ac59083e01 nixpkgs: 2024-05-23 -> 2024-05-24; nixpkgs-wayland -> 2024-05-24
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/4e80f8a6e6acab514a039e525b8613651c301ad3' (2024-05-23)
  → 'github:nixos/nixpkgs/cc5c0d369b5e8f49705e2a2d7464e4b162804805' (2024-05-24)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/b962cd91aa0b1150ebd4e8552943de9b7700fe5e' (2024-05-23)
  → 'github:nixos/nixpkgs/2baa58d3488bd9cc4d53d6812509edc34a1c7e2a' (2024-05-24)
• Updated input 'nixpkgs-wayland':
    'github:nix-community/nixpkgs-wayland/ff79b5982b903329be17630667bb7a0f28552ac5' (2024-05-23)
  → 'github:nix-community/nixpkgs-wayland/8746004cd97164c89f0997ea06642b819e5bc3fb' (2024-05-24)
• Updated input 'nixpkgs-wayland/nix-eval-jobs/nixpkgs':
    'github:NixOS/nixpkgs/b962cd91aa0b1150ebd4e8552943de9b7700fe5e' (2024-05-06)
  → 'github:NixOS/nixpkgs/ad7efee13e0d216bf29992311536fce1d3eefbef' (2024-05-06)
```
2024-05-24 23:27:05 +00:00
49b48b24fc ship linux/posix manpages 2024-05-24 06:57:20 +00:00
4bc6a4fc67 todo.md: document mpv audiocast limitations 2024-05-24 06:42:23 +00:00
844a128d60 iproute2: fix sandboxing (hopefully) 2024-05-24 06:41:12 +00:00
d25fb31767 sanebox: fix qoute error in linkCache array test 2024-05-24 06:14:08 +00:00
309797fe23 sane-input-handler: fix unrecoverable terminal state
bonsai is prone to miss inputs during high CPU load.
2024-05-24 04:29:34 +00:00
a6b10244eb sane-input-handler: set vim filetype hint 2024-05-24 04:06:53 +00:00
18ec5505c4 servo: re-enable slskd
routing seems stable
2024-05-24 02:58:09 +00:00
e6dbf2d530 nixpatches: update gnome-keyring patch 2024-05-24 02:58:09 +00:00
a9e31539ea koreader-from-src: avoid a runtime dep on cmake 2024-05-24 02:58:09 +00:00
2ccb4d94c5 nixpkgs: 2024-05-16 -> 2024-05-23, nixpkgs-wayland, sops-nix, uninsane-dot-org
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/1887e39d7e68bb191eb804c0f976ad25b3980595' (2024-05-16)
  → 'github:nixos/nixpkgs/?' (2024-05-23)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/977a49df312d89b7dfbb3579bf13b7dfe23e7878' (2024-05-16)
  → 'github:nixos/nixpkgs/?' (2024-05-23)
• Updated input 'nixpkgs-wayland':
    'github:nix-community/nixpkgs-wayland/5e2c5345f3204c867c9d4183cbb68069d0f7a951' (2024-05-16)
  → 'github:nix-community/nixpkgs-wayland/?' (2024-05-23)
• Updated input 'nixpkgs-wayland/lib-aggregate':
    'github:nix-community/lib-aggregate/09883ca828e8cfaacdb09e29190a7b84ad1d9925' (2024-05-12)
  → 'github:nix-community/lib-aggregate/5fa64b174daa22fe0d20ebbcc0ec2c7905b503f1' (2024-05-19)
• Updated input 'nixpkgs-wayland/lib-aggregate/nixpkgs-lib':
    'github:nix-community/nixpkgs.lib/58e03b95f65dfdca21979a081aa62db0eed6b1d8' (2024-05-12)
  → 'github:nix-community/nixpkgs.lib/0df131b5ee4d928a4b664b6d0cd99cf134d6ab6b' (2024-05-19)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/b6cb5de2ce57acb10ecdaaf9bbd62a5ff24fa02e' (2024-05-12)
  → 'github:Mic92/sops-nix/b549832718b8946e875c016a4785d204fcfc2e53' (2024-05-22)
• Updated input 'sops-nix/nixpkgs-stable':
    'github:NixOS/nixpkgs/8e47858badee5594292921c2668c11004c3b0142' (2024-05-11)
  → 'github:NixOS/nixpkgs/e7cc61784ddf51c81487637b3031a6dd2d6673a2' (2024-05-18)
• Updated input 'uninsane-dot-org':
    'git+https://git.uninsane.org/colin/uninsane?ref=refs/heads/master&rev=af8420d1c256d990b5e24de14ad8592a5d85bf77' (2024-04-15)
  → 'git+https://git.uninsane.org/colin/uninsane?ref=refs/heads/master&rev=e6f88f563bdd1700c04018951de4f69862646dd1' (2024-05-16)
```
2024-05-24 02:57:53 +00:00
ca57fd692f sane-input-handler: simplify the volume button controls; reduce vol-hold repeat count to 3 2024-05-23 02:50:38 +00:00
e6a8f5bae8 eg25-control: fix --enable-gps and --ensure-agps commands
these were failing due to pathing changes from systemd -> s6
2024-05-23 02:50:38 +00:00
d9922f8aa8 moby: tidy up the initrd kernel modules 2024-05-23 02:07:30 +00:00
c51dcb30a2 linux-postmarketos: add an option for building *with* modem power feature 2024-05-23 02:07:30 +00:00
03dab63042 moby: ship a bunch of kernel modules in the initrd: this allows the postmarketos kernel to boot to graphics! 2024-05-22 22:35:04 +00:00
293af36d25 linux-postmarketos: ship landlock 2024-05-22 22:33:40 +00:00
0a1b1ae52f linux-megous: remove some unneeded options (i.e. PCI) 2024-05-22 20:25:17 +00:00
5952c275a0 moby: document kernel compatibility 2024-05-21 22:54:11 +00:00
ea8eaaa91a moby: un-blacklist stk3310
i don't know if blacklisting it is maybe interfering with other stuff
2024-05-21 22:47:12 +00:00
14a92b3f64 moby: disable iio sensor
this relaxes kernel requirements, allowing the pmOS kernel to pass eval checks
2024-05-21 22:47:12 +00:00
c5e7ef7b0c polyunfill: don't ship x86-only kernel modules to moby's initrd
notably, this relaxes some constraints on the kernel so that e.g.
postmarketOS kernel actually passes eval checks (and boots to ssh!
no graphics yet)
2024-05-21 22:47:12 +00:00
b6d31e127d linux-megous: dont auto-enable SELINUX
i think maybe it's disabled for a reason: systemd is built without it, and either it or SUN8I_DE2_CCU seems to be the difference between working drm and non-working drm
2024-05-21 22:47:12 +00:00
7f71a47d3b linux-postmarketos: build in a manner such that nixpkgs eval-time assertions pass
nixpkgs needs to know the config as an actual nix expression => have to vendor the pmos config then
2024-05-21 22:47:12 +00:00
2640253424 todo.md: note that bpf may be disabled on moby 2024-05-21 22:47:12 +00:00
42d11998e8 linux-postmarketos: init 2024-05-21 22:47:12 +00:00
d0734947bf polyunfill: disable swraid 2024-05-21 22:47:12 +00:00
41b385b6ca moby: refactor the kernel config into the actual kernel package and do less of that in the module system
this makes it easier to swap Kconfigs verbatim from other distros, e.g.
2024-05-21 22:47:12 +00:00
2e07797065 megapixels: document how to debug 2024-05-21 10:12:20 +00:00
b8a7ac8c95 todo.md: document moby kaslr failings 2024-05-21 01:11:02 +00:00
cda70b2a16 sane-reclaim-disk-space: tell the user about nix profile options 2024-05-20 20:45:58 +00:00
4834b61188 linux-megous: trim config (RC_CORE, DRM_KMS_HELPER)
it still boots to a working desktop without these
2024-05-20 19:40:54 +00:00
134b27f70e linux-megous: remove unnecessary SYSFB_SIMPLEFB config
seems to still work without it
2024-05-20 19:14:48 +00:00
a47102e152 linux-megous: simplify the Kconfig further 2024-05-20 18:08:42 +00:00
6eb75b3841 linux-megous: re-enable OV8858 now that it compiles 2024-05-20 10:04:00 +00:00
3d295e8757 gst-device-monitor: bundle more gstreamer plugins to improve node detection 2024-05-20 09:59:08 +00:00
e3a20477f7 gst-device-monitor: wrap with required gst-plugins-base runtime dependency 2024-05-20 06:17:11 +00:00
7fd527c9d6 trivial-builders: add runCommandLocalOverridable, like runCommand, but supports standard hooks like postBuild, etc. 2024-05-20 06:14:35 +00:00
c21ddca1fd servo: doof tunnel: enable IPv6 and forward-DNS records 2024-05-20 05:47:04 +00:00
f7cc3fc5d9 modules/dns: support AAAA records 2024-05-20 05:46:25 +00:00
875fe315c0 todo.md: document wg-ovpnd-... issue 2024-05-20 05:09:59 +00:00
47da8e55f3 servo: disable jackett/slskd/transmission temporarily 2024-05-20 05:08:58 +00:00
3b99bb497b servo: bridge to doof.net 2024-05-20 05:08:32 +00:00
cfedcc91bd gst-device-monitor: fix so manpages are bundled 2024-05-20 03:00:23 +00:00
ce663b1346 scripts: add health-check as a sort of poor-mans manual CI 2024-05-20 01:53:10 +00:00
9873353d00 refactor: replace --replace substitutions with --replace-fail where applicable 2024-05-19 23:31:54 +00:00
d58bdf82d9 cross: replace --replace with --replace-fail where applicable 2024-05-19 23:24:07 +00:00
9c2cc9641b cross: fix upstream fractal build
it still takes like an hour to build though
2024-05-19 23:16:29 +00:00
5a92b07f5d cross: clean up the meson x cargo flag patching 2024-05-19 22:33:00 +00:00
f20a0ac409 fractal-latest: purge (unused package) 2024-05-19 21:16:06 +00:00
87c84f0e2e ship libcamera, snapshot
note that properly packaging these is still a WIP
2024-05-19 10:41:09 +00:00
c0a6313023 home/mime: micro-opt: use toString instead of string coercion 2024-05-19 10:40:15 +00:00
26e347f38c moby: ship with way higher CMA by default 2024-05-19 10:40:15 +00:00
2d67b78ca4 linux-megous: configure with better DMABUF_HEAPS/CMA flags, which seems to help libcamera? 2024-05-19 10:40:15 +00:00
38c2db0333 libmegapixels: 2024-05-11 -> 2024-05-18 and patch some observed errors
not enough that it works completely though
2024-05-19 10:40:15 +00:00
631e0db7b4 cross: get snapshot to build 2024-05-19 10:40:15 +00:00
5619bb3334 pkgs: ship gst-device-monitor binary 2024-05-19 10:40:15 +00:00
e9d94f2c71 linux-firmware-megous: 2023-05-06 -> 2024-02-28
nothing really changed here
2024-05-19 07:55:22 +00:00
67f0d22ec6 linux-megous: 6.8.4 -> 6.9.0 (orange-pi-6.8-20240405-1842 -> orange-pi-6.9-20240514-1047) 2024-05-19 07:54:48 +00:00
0fc4f83fc9 sane-input-handler: bump volume hold time from 600ms -> 750ms
hopefully this decreases the number of volup inputs which are misread as volup-hold (which happens a lot when the screen is off...?)
2024-05-19 00:34:23 +00:00
1b24bd50f9 errno: ship 2024-05-19 00:21:30 +00:00
f481ef077c megapixels-next: init at unstable-2024-05-11
i might need to still do some wrapping with graphicsmagick/exiftool, not sure
2024-05-18 22:52:20 +00:00
1952e210f0 libmegapixels: init at 0.1.0-unstable-2024-05-11 2024-05-18 22:33:17 +00:00
58ef2cf863 calls/callaudiod: update documentation 2024-05-18 20:55:16 +00:00
da4c71d5f6 todo.md: elaborate a solution for trust-dns stuff 2024-05-18 09:48:51 +00:00
41bc4ac7b4 callaudiod: fix repo URL 2024-05-18 08:10:34 +00:00
6365a58c3e sanebox: avert a subshell in removeSubpaths 2024-05-18 08:10:34 +00:00
3361f2bbe7 zsh: port to sane.programs 2024-05-18 08:10:34 +00:00
c987f13ef0 calls: split callaudiod out and run it manually 2024-05-18 07:14:42 +00:00
ee36f2f052 sway: fix display names 2024-05-18 06:57:24 +00:00
09457bee5a sway: position gnome-calls on workspace 1 2024-05-18 06:55:39 +00:00
278631b59e calls: sandbox 2024-05-18 06:52:53 +00:00
4d09cce1aa calls: fix latency so moby doesnt underrun 2024-05-18 06:47:26 +00:00
b2f2f88dc6 calls: exit on UI close 2024-05-18 06:32:23 +00:00
cbbddee152 modules/programs: add ~/.config/FOO and ~/.local/share/FOO to the sandbox where applicable 2024-05-18 06:32:07 +00:00
68275eeb85 rmDbusServices: preserve package meta 2024-05-18 06:31:44 +00:00
7bb7a24b22 sanebox: tidy up the quoting in a few more edge-cases 2024-05-18 00:00:03 +00:00
795786f46b sanebox: prefer case statments over if/elif/elif... constructs 2024-05-17 23:32:51 +00:00
26aa68ee59 sanebox: replace short-circuit eval idiom with if/else 2024-05-17 23:21:36 +00:00
85c0e72bf1 sanebox: remove unnecessary quotes in case statement 2024-05-17 23:15:00 +00:00
bf98da0061 sanebox: remove extraneous quotes
probably some still remain
2024-05-17 23:01:24 +00:00
76434b6970 sanebox: make it more obvious what we substitute at build-time 2024-05-17 22:27:55 +00:00
0698d4be24 landlock-sandboxer: define meta.mainProgram 2024-05-17 22:26:55 +00:00
afb9d273ab servo: re-enable slskd 2024-05-17 22:00:46 +00:00
0003d79324 sane-tag-music: add a print-missing subcommand 2024-05-17 09:41:50 +00:00
e9bfc6cebd sane-tag-music: fix help message formatting 2024-05-17 09:20:33 +00:00
aeed9ffd5b sane-sync-music: prune directories left empty by sync 2024-05-17 08:59:36 +00:00
9c27b8e864 swaync: sort icons 2024-05-17 08:42:35 +00:00
af34d395fc swaync: fix Discord icon 2024-05-17 07:18:23 +00:00
008b659a10 swaync: reorder icons 2024-05-17 05:49:28 +00:00
1ce2839df9 swaync: clean up icons a bit more 2024-05-17 05:45:15 +00:00
022d15c2c7 swaync: increase font size of service icons 2024-05-17 03:42:32 +00:00
908a2ca6c3 swaync: fix a bug that i couldnt see all icons on the same row 2024-05-17 03:21:41 +00:00
614eebfdc0 todo.md: document a sandbox link cache bug 2024-05-17 03:21:11 +00:00
42fb79b025 swaync: improve gnome-calls icon 2024-05-17 00:49:40 +00:00
4265ea9b99 calls: auto-start 2024-05-17 00:41:32 +00:00
a7d376778e gnome-calls: re-enable 2024-05-17 00:36:56 +00:00
157af52112 feeds: add Grumpy.website 2024-05-16 19:25:22 +00:00
c7838486d3 nixpkgs: 2024-05-14 -> 2024-05-16, nixpkgs-wayland
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/a47743431bb52c25eecbeda1bb2350902478befe' (2024-05-14)
  → 'github:nixos/nixpkgs/1887e39d7e68bb191eb804c0f976ad25b3980595' (2024-05-16)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/18198ef6f41074a6b42318dacb6fa4712b893ba4' (2024-05-14)
  → 'github:nixos/nixpkgs/977a49df312d89b7dfbb3579bf13b7dfe23e7878' (2024-05-16)
• Updated input 'nixpkgs-wayland':
    'github:nix-community/nixpkgs-wayland/ce959368cbc8202181f37a464c825d54720b6b68' (2024-05-14)
  → 'github:nix-community/nixpkgs-wayland/5e2c5345f3204c867c9d4183cbb68069d0f7a951' (2024-05-16)
• Updated input 'nixpkgs-wayland/nix-eval-jobs':
    'github:nix-community/nix-eval-jobs/63154bdfb22091041b307d17863bdc0e01a32a00' (2024-05-09)
  → 'github:nix-community/nix-eval-jobs/bb95091f6c6f38f6cfc215a1797a2dd466312c8b' (2024-05-15)
```
2024-05-16 09:46:40 +00:00
1ac5b56f34 todo.md: task to fix ip netns sandboxing 2024-05-16 09:42:05 +00:00
5924d092f4 coturn: expand documentation 2024-05-16 09:41:53 +00:00
63cbcb0896 todo.md: add a few improvements to make 2024-05-16 04:39:35 +00:00
7cff078698 todo.md: remove completed items 2024-05-16 04:10:09 +00:00
a5f6aae6f5 desko: use stock systemd resolver
i need a backup system to use when things are broken, and this helps with debugging as well
2024-05-16 03:12:30 +00:00
fd94422982 distcc: purge 2024-05-16 02:51:38 +00:00
55a7119e3f ccache: purge 2024-05-16 02:51:03 +00:00
d258d4ddd5 desko: re-enable firewall 2024-05-16 02:49:03 +00:00
c39aab34e0 refactor: nix_serve_privkey -> nix_signing_key 2024-05-16 02:48:16 +00:00
9d725a0974 servo: disable unused nixcache.uninsane.org 2024-05-16 02:46:23 +00:00
4a15339e0e desko: re-introduce the nix_serve key, which is actually needed for SSH deployements, not just nix-serve 2024-05-16 02:43:32 +00:00
df4ef0ce5a desko: disable nix-serve 2024-05-16 02:35:27 +00:00
3bb5546aaf systemd-logind: fix to not sleep when i close the lid (again) 2024-05-16 02:13:02 +00:00
4de3c6d664 sanebox: fix tab typo when parsing the link cache 2024-05-16 00:15:57 +00:00
b5502ea401 sanebox: remove --sanebox-cache-symlink flag 2024-05-15 23:59:38 +00:00
1211023c55 modules/programs: remove dead code from per-user profiles 2024-05-15 23:58:10 +00:00
b4229ecb1e sanebox: load the link cache from a static /etc path instead of via CLI args 2024-05-15 23:55:15 +00:00
348837ff4a programs: sandboxing: replace profiles with raw CLI args 2024-05-15 09:13:20 +00:00
17eaa7446a sanebox: remove all profile-related features except for direct, path-based profile loading 2024-05-15 09:13:20 +00:00
530664294a programs: sandbox: always specify --sanebox-profile-dir instead of loading from XDG_DATA_DIRS 2024-05-15 08:54:16 +00:00
b649071d98 programs: sandboxing: make the profiles be generic across users
this is a step toward making the profile not even be dynamically loaded, since its content is no longer dynamic :)
2024-05-15 08:48:09 +00:00
ea2653b7ce programs: sandboxing: pass home- and runtime-relative paths to the sandboxer, instead of making absolute first 2024-05-15 08:20:09 +00:00
d97f0f7300 sanebox: implement --sanebox-home-path and --sanebox-run-path flags 2024-05-15 08:05:00 +00:00
ee43fcdb89 rename LG TV -> Cuddlevision 2024-05-15 07:50:38 +00:00
4c1b1282d6 modules/programs: sandbox: be compatible with systemd resolved again 2024-05-15 02:57:40 +00:00
bc73a16475 networkmanager: fix to be compatible when systemd-resolved is enabled 2024-05-15 02:57:40 +00:00
adfaa7f9c1 sane-sandboxed -> sanebox 2024-05-15 01:41:40 +00:00
f9a6873ee9 signal-desktop: remove NIXOS_OZONE_WL=1 hack (no longer required) 2024-05-15 00:10:00 +00:00
66f73c92bd trust-dns: asSystemResolver: listen also on ipv6 address 2024-05-14 23:38:01 +00:00
d5e8974a4a refactor: trust-dns: listenAddrs -> listenAddrsIpv4 2024-05-14 23:22:50 +00:00
e040a5b0c5 servo: trust-dns: remove hn-resolver
my hosts run their own recursive DNS resolvers now, so there's no need for the wireguard VPN to provide them with that
2024-05-14 23:20:19 +00:00
d2ac88d66d nixpatches: upstream the gnome-keyring cross compilation patch 2024-05-14 23:12:59 +00:00
b534af5203 signal-desktop: use nixpkgs' nodejs instead of the signal pin
it still seems stable
2024-05-14 23:12:41 +00:00
b06b75441c signal-desktop: 7.0.0 -> 7.8.0 2024-05-14 23:05:00 +00:00
1f405fb2ba element-desktop: update electron_28 -> electron_29 2024-05-14 22:32:56 +00:00
ffe9dcedf7 koreader: 2024.03 -> 2024.04 2024-05-14 22:12:23 +00:00
fc649de64c fractal: remove dead code 2024-05-14 20:56:50 +00:00
1210696e3a fractal: re-enable jpeg decoding 2024-05-14 20:56:37 +00:00
47ced34c84 fractal: 6-unstable-2024-01-31 -> 7 2024-05-14 20:15:27 +00:00
ae7034d942 nixpkgs: 2024-05-13 -> 2024-05-14; nixpkgs-wayland
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/eda36d7cf3391ad06097009b08822fb74acd5e00' (2024-05-13)
  → 'github:nixos/nixpkgs/a47743431bb52c25eecbeda1bb2350902478befe' (2024-05-14)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/0a949cf2618e8eab83aa008f1f8e03db137ed36c' (2024-05-13)
  → 'github:nixos/nixpkgs/18198ef6f41074a6b42318dacb6fa4712b893ba4' (2024-05-14)
• Updated input 'nixpkgs-wayland':
    'github:nix-community/nixpkgs-wayland/ed18785b8816fa878bdd9df7f2e8722695401ef8' (2024-05-13)
  → 'github:nix-community/nixpkgs-wayland/ce959368cbc8202181f37a464c825d54720b6b68' (2024-05-14)
```
2024-05-14 18:04:22 +00:00
f3cf9e0bed trust-dns: set it to NOT be the system resolver for servo
trust-dns recursor is too beta for servo
2024-05-14 09:03:10 +00:00
3a7c9022af trust-dns: bump StartLimitBurst so systemd doesnt abort the service too early 2024-05-14 08:50:37 +00:00
2a199bf373 trust-dns: recursor: merge DHCP DNS servers from all non-downed connections
otherwise overwriting the toml configs gets messy, when interfaces come up in unpredictable order
2024-05-14 08:25:59 +00:00
53198128e8 trust-dns: hook NetworkManager for state changes
there may be some edgecases to sort out around e.g. first-run,
but so far it seems to be importing the DHCP search zones :)
2024-05-14 07:42:41 +00:00
bee3eea040 modules/programs: sandbox: remove no-longer-needed /run/systemd/resolve from sandbox 2024-05-14 04:18:29 +00:00
1e202baa8a networkmanager: tune config
mostly just pruning unused features
2024-05-14 04:18:29 +00:00
39eb1d150a dns: deploy trust-dns as the default recursive resolver
outstanding issues: native.uninsane.org doesn't resolve. appears possibly to be an issue with following CNAMEs
2024-05-14 04:18:29 +00:00
68e6666819 trust-dns: use my patched version 2024-05-14 04:18:29 +00:00
447e1feb9c sway: fix Super+L shortcut to actually lock 2024-05-14 04:17:05 +00:00
26e3c3e5b7 s6-rc: fix persist.byStore.persist typo 2024-05-14 04:16:50 +00:00
38c038f4f7 sane-sandboxed: fix typo in linkCache queries, which would otherwise break for paths containing spaces 2024-05-14 01:22:08 +00:00
3557994cbb gnome-clocks: fix sound an sandboxing artifacts 2024-05-14 01:21:37 +00:00
f3106ee316 programs: maxBuildCost: fix to actually build everything by default 2024-05-13 22:57:40 +00:00
bef0099eec scripts/clean: fix to cleanup more dangling result symlinks 2024-05-13 22:45:33 +00:00
67434caf45 scripts: add a script to clean the git dir 2024-05-13 22:45:33 +00:00
be84ab1f45 programs: set buildCost=1 for assorted low-priority programs 2024-05-13 22:45:33 +00:00
43d32641f3 programs: buildCost: introduce a new level between min and light 2024-05-13 22:45:33 +00:00
9bf0dbabae gnome.seahorse: disable 2024-05-13 22:45:33 +00:00
8c7880774e monero-gui: disable 2024-05-13 22:45:33 +00:00
5774aa4a8f zulip: dont ship 2024-05-13 22:45:33 +00:00
6c6d11578e cross: fix curl-impersonate-chome build 2024-05-13 22:45:33 +00:00
f33e960bdf cross: gnome-keyring: patch via nixpkgs patch instead of override 2024-05-13 22:45:33 +00:00
14202a5bcc neovim: wrap in such a way as to avoid cross-compilation-specific patching 2024-05-13 22:45:33 +00:00
3d2babf2bb overlays/cross: sync upstreaming status 2024-05-13 22:45:33 +00:00
9d51b2ecc7 nixpatches: stop applying patches i dont need 2024-05-13 22:45:33 +00:00
0b855efb5f nixpkgs: bump; nixpkgs-wayland: bump
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/6a217e9b1d39415076c7a6cfc44be5e935e7a839' (2024-05-13)
  → 'github:nixos/nixpkgs/eda36d7cf3391ad06097009b08822fb74acd5e00' (2024-05-13)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/6bc8c8a7ac13182ee24a5e2caab7ad739f1c55c5' (2024-05-13)
  → 'github:nixos/nixpkgs/0a949cf2618e8eab83aa008f1f8e03db137ed36c' (2024-05-13)
• Updated input 'nixpkgs-wayland':
    'github:nix-community/nixpkgs-wayland/5f7272dff81558143f93e2cb32189a52ef965892' (2024-05-13)
  → 'github:nix-community/nixpkgs-wayland/ed18785b8816fa878bdd9df7f2e8722695401ef8' (2024-05-13)
```
2024-05-13 22:45:33 +00:00
2ae286ff75 nixpkgs: 2024-05-08 -> 2024-05-13, nixpkgs-wayland, sops-nix
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/c8e3f684443d7c2875ff169f6ef2533534105e7b' (2024-05-08)
  → 'github:nixos/nixpkgs/6a217e9b1d39415076c7a6cfc44be5e935e7a839' (2024-05-13)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/a751e2faa2fc94c1337c32aaf6a6e417afe90be9' (2024-05-08)
  → 'github:nixos/nixpkgs/6bc8c8a7ac13182ee24a5e2caab7ad739f1c55c5' (2024-05-13)
• Updated input 'nixpkgs-wayland':
    'github:nix-community/nixpkgs-wayland/7dc8fb2aa7db995ac1ce2a8f2f8d8784b2af591c' (2024-05-08)
  → 'github:nix-community/nixpkgs-wayland/5f7272dff81558143f93e2cb32189a52ef965892' (2024-05-13)
• Updated input 'nixpkgs-wayland/lib-aggregate':
    'github:nix-community/lib-aggregate/26fabca301e1133abd3d9192b1bcb6fb45b30f1d' (2024-05-05)
  → 'github:nix-community/lib-aggregate/09883ca828e8cfaacdb09e29190a7b84ad1d9925' (2024-05-12)
• Updated input 'nixpkgs-wayland/lib-aggregate/nixpkgs-lib':
    'github:nix-community/nixpkgs.lib/4b620020fd73bdd5104e32c702e65b60b6869426' (2024-05-05)
  → 'github:nix-community/nixpkgs.lib/58e03b95f65dfdca21979a081aa62db0eed6b1d8' (2024-05-12)
• Updated input 'nixpkgs-wayland/nix-eval-jobs':
    'github:nix-community/nix-eval-jobs/7b6640f2a10701bf0db16aff048070f400e8ea7c' (2024-04-23)
  → 'github:nix-community/nix-eval-jobs/63154bdfb22091041b307d17863bdc0e01a32a00' (2024-05-09)
• Updated input 'nixpkgs-wayland/nix-eval-jobs/nixpkgs':
    'github:NixOS/nixpkgs/1e1dc66fe68972a76679644a5577828b6a7e8be4' (2024-04-22)
  → 'github:NixOS/nixpkgs/ad7efee13e0d216bf29992311536fce1d3eefbef' (2024-05-06)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/893e3df091f6838f4f9d71c61ab079d5c5dedbd1' (2024-05-06)
  → 'github:Mic92/sops-nix/b6cb5de2ce57acb10ecdaaf9bbd62a5ff24fa02e' (2024-05-12)
• Updated input 'sops-nix/nixpkgs-stable':
    'github:NixOS/nixpkgs/b980b91038fc4b09067ef97bbe5ad07eecca1e76' (2024-05-04)
  → 'github:NixOS/nixpkgs/8e47858badee5594292921c2668c11004c3b0142' (2024-05-11)
```
2024-05-13 22:45:33 +00:00
a05fa53ee1 curlftpfs: EXPERIMENT: double the connect timeout to see if this reduces dropped conns 2024-05-13 07:52:43 +00:00
46d95805e9 programs: simplify sandbox symlink closure code 2024-05-13 07:49:00 +00:00
9346a066d1 sane-sandboxed: fix typo in derefOnce 2024-05-13 06:49:43 +00:00
567531727e sane-sandboxed: fix typos in normPath 2024-05-13 06:32:13 +00:00
6c65e4b313 sane-sandboxed: be a little more careful with out vars 2024-05-13 04:00:15 +00:00
e6b13adb61 sane-open: associate rofi-applications.desktop with keyboard 2024-05-13 03:19:03 +00:00
bd3e06982b sane-sandboxed: tweak symlink caching to allow /run/current-system to be bind-mounted instead of symlinked 2024-05-13 02:11:47 +00:00
660ba94c7c sane-sandboxed: introduce a symlink cache to reduce readlink calls even more
it's all a bit silly. i still do a bunch of -L tests: i just avoid the costly readlink fork :|
2024-05-13 01:31:30 +00:00
11ddce043d sane-sandboxed: reduce forking (use out vars) 2024-05-12 22:35:05 +00:00
980fe6b33c sane-sandboxed: use local where applicable 2024-05-12 22:15:34 +00:00
016df3ff74 sane-open: launch some .desktop files even when they point outside ~/.local/share/applications
an unfortunate reality is that symlinks tend to get dereferenced too
early by other programs.
2024-05-12 22:13:28 +00:00
d827235d31 sane-sandboxed: be more strict internally about keeping paths var as absolute-paths 2024-05-12 21:44:33 +00:00
f7a25d1421 sane-sandboxed: bwrap: expose symlinks to the sandbox directly, instead of binding
some things (e.g. `sane-open`) require the symlink, and lose too much
info when working only with the bind. having the sandboxed environment
stay similar to the out env sould make debugging things simpler
2024-05-12 21:42:31 +00:00
d148b19767 sane-sandboxed: expand symlinks before binding them into the sandbox 2024-05-12 21:41:49 +00:00
89135d08cb rofi: file browser: include an entry to open the app launcher 2024-05-12 19:46:51 +00:00
15a5afd2c4 sane-open: special-case how i open .desktop files to be compatible with portals 2024-05-12 19:46:03 +00:00
e63e359417 sane-open: fix so we can launch read-only files 2024-05-12 17:50:11 +00:00
3c1a74998e applications: hide .desktop files which arent meant to be user-visible 2024-05-12 17:43:07 +00:00
eadf85f66d sane-open: associate as the default launcher for .desktop files 2024-05-12 17:41:00 +00:00
536eb2154a sane-open: add auto-keyboard action for a few more apps 2024-05-12 17:23:08 +00:00
e62365436c sane-cast: implement --device option to choose a specific device non-interactively 2024-05-11 00:40:38 +00:00
4b04c283b6 fcitx5: temporarily disable 2024-05-10 17:51:37 +00:00
def5816003 sane-vpn: fix "regions" printing to print all regions 2024-05-10 09:07:59 +00:00
6f2ae56126 sane-cast: add an --always-ask option 2024-05-10 07:01:16 +00:00
a40f05260a unl0kr: simplify the crash edge-case handling 2024-05-09 08:42:41 +00:00
2b539fafcd unl0kr: handle some crashy edgecases 2024-05-09 08:38:22 +00:00
954c5c8344 trust-dns: fix so it starts as part of boot 2024-05-09 07:19:17 +00:00
2a8ecf0423 nixpkgs: 2024-04-28 -> 2024-05-08; nixpkgs-wayland, sops-nix
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/0e395f4da1693e39239ffac7abf73a0a6931c961' (2024-04-28)
  → 'github:nixos/nixpkgs/c8e3f684443d7c2875ff169f6ef2533534105e7b' (2024-05-08)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/93909e9c7b05634ad924ff97c259ae0859b81756' (2024-04-28)
  → 'github:nixos/nixpkgs/a751e2faa2fc94c1337c32aaf6a6e417afe90be9' (2024-05-08)
• Updated input 'nixpkgs-wayland':
    'github:nix-community/nixpkgs-wayland/4e58e2cf22d11426ed2f997551f3650de0639e3a' (2024-04-28)
  → 'github:nix-community/nixpkgs-wayland/7dc8fb2aa7db995ac1ce2a8f2f8d8784b2af591c' (2024-05-08)
• Updated input 'nixpkgs-wayland/lib-aggregate':
    'github:nix-community/lib-aggregate/49d9b510614b9bd137e067eb31445a8feca83313' (2024-04-28)
  → 'github:nix-community/lib-aggregate/26fabca301e1133abd3d9192b1bcb6fb45b30f1d' (2024-05-05)
• Updated input 'nixpkgs-wayland/lib-aggregate/nixpkgs-lib':
    'github:nix-community/nixpkgs.lib/ade4fb7bbf04cd52bc1705734d5dc67755d77ec9' (2024-04-28)
  → 'github:nix-community/nixpkgs.lib/4b620020fd73bdd5104e32c702e65b60b6869426' (2024-05-05)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/f1b0adc27265274e3b0c9b872a8f476a098679bd' (2024-04-23)
  → 'github:Mic92/sops-nix/893e3df091f6838f4f9d71c61ab079d5c5dedbd1' (2024-05-06)
• Updated input 'sops-nix/nixpkgs-stable':
    'github:NixOS/nixpkgs/74574c38577914733b4f7a775dd77d24245081dd' (2024-04-20)
  → 'github:NixOS/nixpkgs/b980b91038fc4b09067ef97bbe5ad07eecca1e76' (2024-05-04)
```
2024-05-09 05:26:23 +00:00
a056ca84be todo.md: fix multiple-schlocks bug 2024-05-07 15:26:08 +00:00
8d8bf00a34 s6-rc: use s6-rc stop instead of exiting 125 in the no-restart branch of "restartCondition = on-failure"
exiting 125 stops the service, but does NOT put it in the down state, preventing it from being re-started
2024-05-07 15:24:14 +00:00
f58bcb4767 swaylock, schlock: convert to services 2024-05-07 15:02:46 +00:00
4f56acc316 s6-rc: implement restartCondition to allow restarting of the service only on failure 2024-05-07 15:01:40 +00:00
fdf1b20368 s6-rc: propagate service status out of run script 2024-05-07 12:50:09 +00:00
c12691a3a0 todo.md: document multi-instance schlock issue 2024-05-06 17:31:54 +00:00
06bfa05ec1 todo.md: complete swaync modem toggle perm bug 2024-05-06 17:29:41 +00:00
32e06ce998 programs: gnome-disk-utility: grant sandbox access to ~/tmp 2024-05-06 05:15:28 +00:00
c0a7b831cd sane-open: more robust auto-application/file detection 2024-05-05 05:19:07 +00:00
8c04023eba sway: fix sane-open integration to not mistake it as a file 2024-05-05 05:04:25 +00:00
cf3cfc5249 sane-open: add debug logging 2024-05-05 05:03:22 +00:00
a1625ea41d programs: ship zulip 2024-05-04 08:28:48 +00:00
2cedd2beb4 readme: fix renamed users.nix -> users/default.nix 2024-05-02 10:30:41 +00:00
6544b9aca4 doc: dns: fix typo 2024-05-02 10:27:38 +00:00
08a9b838e5 sane-input-handler: fix log bog 2024-04-30 19:22:37 +00:00
b7dd40e558 sane-open-desktop -> sane-open and have it auto-open/close the keyboard based on what an app wants 2024-04-30 19:22:37 +00:00
7f2abf7e6e sane-input-handler: fix missing newline when logging 2024-04-30 15:30:39 +00:00
825812e511 sane-input-handler: reset rofi directory to ~ when using the app + fsbrowser 2024-04-30 15:29:00 +00:00
69e5495cc9 sane-input-handler: set keyboard as appropriate for file/app browser 2024-04-30 15:16:59 +00:00
b422f15b59 sane-input-handler: swap volup tap/hold actions 2024-04-30 14:38:17 +00:00
889b332ade trust-dns: split the parts which are generalizable into their own file
i can try to build this into a recursive resolver for *all* my hosts
2024-04-30 14:35:56 +00:00
46d1a49f0f servo: enable sane-cast program 2024-04-29 21:50:03 +00:00
1b156dcb0a networkmanager: fix eval error when not enabled 2024-04-29 05:58:32 +00:00
efd2f14a13 nixpkgs: 2024-04-27 -> 2024-04-28; nixpkgs-wayland
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/19c30e016f04874d60ed0922bf58be4aa9a15e53' (2024-04-27)
  → 'github:nixos/nixpkgs/0e395f4da1693e39239ffac7abf73a0a6931c961' (2024-04-28)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/77759bd39047f1b92f12b26b55029f0cc2c88093' (2024-04-27)
  → 'github:nixos/nixpkgs/93909e9c7b05634ad924ff97c259ae0859b81756' (2024-04-28)
• Updated input 'nixpkgs-wayland':
    'github:nix-community/nixpkgs-wayland/ff41a88e80aaf3ae1561cc6a54636fc46f9214de' (2024-04-27)
  → 'github:nix-community/nixpkgs-wayland/4e58e2cf22d11426ed2f997551f3650de0639e3a' (2024-04-28)
• Updated input 'nixpkgs-wayland/lib-aggregate':
    'github:nix-community/lib-aggregate/3b32a98eb3053f8c8ca55497d1881443ef2996e6' (2024-04-21)
  → 'github:nix-community/lib-aggregate/49d9b510614b9bd137e067eb31445a8feca83313' (2024-04-28)
• Updated input 'nixpkgs-wayland/lib-aggregate/nixpkgs-lib':
    'github:nix-community/nixpkgs.lib/6882347415e352cfc9c277cc01f73e0f5cb7b93c' (2024-04-21)
  → 'github:nix-community/nixpkgs.lib/ade4fb7bbf04cd52bc1705734d5dc67755d77ec9' (2024-04-28)
```
2024-04-29 04:16:33 +00:00
d4d06d037c replace pipewire ffadoSupport toggle with a patch to fix cross compilation 2024-04-28 15:07:28 +00:00
9525c09c41 cross: remove obsoleted gpodder patch 2024-04-27 17:10:50 +00:00
e5876a1e5b nixpkgs: 2024-04-26 -> 2024-04-27; nixpkgs-wayland -> 2024-04-27
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/7d3f4eadec32d447a5f20d87fa309f00986cb288' (2024-04-26)
  → 'github:nixos/nixpkgs/19c30e016f04874d60ed0922bf58be4aa9a15e53' (2024-04-27)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/0b868df4ced96400774414f5baf30b696215b98f' (2024-04-26)
  → 'github:nixos/nixpkgs/77759bd39047f1b92f12b26b55029f0cc2c88093' (2024-04-27)
• Updated input 'nixpkgs-wayland':
    'github:nix-community/nixpkgs-wayland/ca9d278400c170935a95dd75e7e2537c2afd1cb7' (2024-04-26)
  → 'github:nix-community/nixpkgs-wayland/ff41a88e80aaf3ae1561cc6a54636fc46f9214de' (2024-04-27)
```
2024-04-27 16:18:28 +00:00
1757ea4492 cross: upstream eyeD3 patch 2024-04-27 13:31:47 +00:00
39d31c3ffd swaync-service-dispatcher: add -b to block on service state query, to avoid incorrect responses when run in parallel 2024-04-27 12:32:12 +00:00
c50ef59102 swaync: fix service state tracking for oneshot services 2024-04-27 12:13:34 +00:00
5fc4ca6dad modemmanager: ship udev rules 2024-04-27 12:01:01 +00:00
35c7527946 modemmanager: fix so it's active on boot 2024-04-27 11:54:08 +00:00
7e8a014f37 NetworkManager: use the upstream service file 2024-04-27 10:58:21 +00:00
4ce951bbed wpa_supplicant: re-enable 2024-04-27 10:34:25 +00:00
f784550b9b networkmanager: migrate from nixpkgs service to my own 2024-04-27 09:51:55 +00:00
1f2bbd4aec refactor: split modemmanager stuff into own file 2024-04-27 08:32:15 +00:00
2389757581 firefox-extensions.browserpass-extension: 3.7.2-2023-06-18 -> 3.8.0 2024-04-27 08:32:05 +00:00
9021ab9f05 s6: fix oneshot service runner
the runner previously couldn't find the 'live' directory, where the service state lives. now it can
2024-04-27 08:05:54 +00:00
547d71c19a nixpkgs: 2024-04-24 -> 2024-04-26, nixpkgs-wayland
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/acba655f267a49327f2cea95003f17b8540909c0' (2024-04-24)
  → 'github:nixos/nixpkgs/7d3f4eadec32d447a5f20d87fa309f00986cb288' (2024-04-26)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/1eb9a6980dee3970850f47ba8139c7402f54a9a0' (2024-04-24)
  → 'github:nixos/nixpkgs/0b868df4ced96400774414f5baf30b696215b98f' (2024-04-26)
• Updated input 'nixpkgs-wayland':
    'github:nix-community/nixpkgs-wayland/80659e4b2805654de851996e682b063a5d7eea5e' (2024-04-24)
  → 'github:nix-community/nixpkgs-wayland/ca9d278400c170935a95dd75e7e2537c2afd1cb7' (2024-04-26)
```
2024-04-27 06:33:24 +00:00
79bba42768 s6-rc: fix oneshot services to generate up, not run 2024-04-27 06:33:24 +00:00
8dd4fe06f3 s6: longshot -> longrun (typo) 2024-04-27 05:22:35 +00:00
19115dfb65 eg25-control: port to s6 (hopefully) 2024-04-26 21:44:13 +00:00
4c0ae75b00 todo.md: more context for the uosc volume issue 2024-04-26 17:21:32 +00:00
34842c00fe moby: make the modem powerable by the user, without root
this should allow migrating eg25-control to a user service
2024-04-26 17:19:38 +00:00
46a513b263 feeds: subscribe to SamuelDR 2024-04-26 17:19:38 +00:00
6129fbf2b3 lemmy: upstream the proxy headers 2024-04-26 16:44:43 +00:00
242541304e todo.md: document a few moby bugs around modem 2024-04-26 13:05:34 +00:00
f3d2dee470 lemmy: fix federation (broke due to invalid HTTP signatures) 2024-04-26 10:31:47 +00:00
3d207ab7bb coturn: allocate 256 ports instead of 16 2024-04-26 08:47:52 +00:00
95447eb765 goaccess: fix missing state dir 2024-04-26 08:47:09 +00:00
593268f620 coturn: run inside ovpns namespace 2024-04-26 08:01:34 +00:00
5c98a51cd6 dino: build without echo cancelation
this reduces CPU load on moby; it may also have implications for incoming call audio though, still sorting that out
2024-04-26 05:11:43 +00:00
4453bde815 dino: increase buffering 20ms -> 100ms (closer to 82ms, actually) 2024-04-25 11:28:22 +00:00
7843f9650a feeds: subscribe to The Amp Hour (podcast) 2024-04-25 05:54:10 +00:00
82dce71b9c feeds: add microarch.club podcast 2024-04-25 05:51:52 +00:00
8a981c3ca9 hackgregator: init at 2024-12-05
N.B.: it uses appstream/bwrap, and hence much be run with capsh --caps=
2024-04-25 03:56:57 +00:00
9c00c2c5cc zsh: add exit aliases: ecit, exi5 2024-04-25 01:51:45 +00:00
aad645f2c5 nixpkgs: 2024-04-22 -> 2024-04-24; nixpkgs-wayland; sops-nix
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/fe2b7d6a922c875221671df6aa360b6e73d47e2f' (2024-04-22)
  → 'github:nixos/nixpkgs/acba655f267a49327f2cea95003f17b8540909c0' (2024-04-24)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/8a3f95b79ba3083cfff90752296ef8a52a6bec9a' (2024-04-22)
  → 'github:nixos/nixpkgs/1eb9a6980dee3970850f47ba8139c7402f54a9a0' (2024-04-24)
• Updated input 'nixpkgs-wayland':
    'github:nix-community/nixpkgs-wayland/f01c36f09cc5c2d77cbab4475528e06d6641bff4' (2024-04-22)
  → 'github:nix-community/nixpkgs-wayland/80659e4b2805654de851996e682b063a5d7eea5e' (2024-04-24)
• Updated input 'nixpkgs-wayland/nix-eval-jobs':
    'github:nix-community/nix-eval-jobs/6b03a93296faf174b97546fd573c8b379f523a8d' (2024-01-14)
  → 'github:nix-community/nix-eval-jobs/7b6640f2a10701bf0db16aff048070f400e8ea7c' (2024-04-23)
• Updated input 'nixpkgs-wayland/nix-eval-jobs/flake-parts':
    'github:hercules-ci/flake-parts/34fed993f1674c8d06d58b37ce1e0fe5eebcb9f5' (2023-12-01)
  → 'github:hercules-ci/flake-parts/9126214d0a59633752a136528f5f3b9aa8565b7d' (2024-04-01)
• Updated input 'nixpkgs-wayland/nix-eval-jobs/nix-github-actions':
    'github:nix-community/nix-github-actions/93e39cc1a087d65bcf7a132e75a650c44dd2b734' (2023-11-28)
  → 'github:nix-community/nix-github-actions/5163432afc817cf8bd1f031418d1869e4c9d5547' (2023-12-29)
• Updated input 'nixpkgs-wayland/nix-eval-jobs/nixpkgs':
    'github:NixOS/nixpkgs/d6863cbcbbb80e71cecfc03356db1cda38919523' (2023-12-21)
  → 'github:NixOS/nixpkgs/1e1dc66fe68972a76679644a5577828b6a7e8be4' (2024-04-22)
• Updated input 'nixpkgs-wayland/nix-eval-jobs/treefmt-nix':
    'github:numtide/treefmt-nix/2961375283668d867e64129c22af532de8e77734' (2023-12-19)
  → 'github:numtide/treefmt-nix/49dc4a92b02b8e68798abd99184f228243b6e3ac' (2024-04-01)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/4371a1301c4d36cc791069d90ae522613a3a335e' (2024-04-22)
  → 'github:Mic92/sops-nix/f1b0adc27265274e3b0c9b872a8f476a098679bd' (2024-04-23)
```
2024-04-24 22:19:36 +00:00
d01e49f566 pipewire: switch back to bwrap sandboxing and document limitations 2024-04-24 13:14:35 +00:00
7447d4879e pipewire: man: link to docs 2024-04-24 10:33:23 +00:00
215864e3d4 pipewire: reduce realtime priority so it doesnt crash moby gpu driver 2024-04-24 09:36:22 +00:00
0cbb81cfea WIP: pipewire: trying to tune so lima doesnt crash 2024-04-24 09:20:13 +00:00
9d7816a1cd koreader: fix sandboxing so that i can open links again 2024-04-24 01:02:02 +00:00
461aa5ede0 htop: include "PRIORITY" column 2024-04-23 12:01:15 +00:00
b5874f4b49 sane-cast: fix casting for relative paths to mp4-only devices 2024-04-23 09:12:53 +00:00
10fc7bbb84 curlftpfs: document sandbox attempt 2024-04-23 09:08:05 +00:00
87e3f2a9ef pipewire: split rtkit into own file, and use defaults from pipewire project 2024-04-23 09:08:05 +00:00
5006692594 linux-megous: 6.7-20240306 -> 6.8-20240405 2024-04-23 09:08:05 +00:00
9481131daf pipewire: sandbox with landlock (so that rtkit integration works) and split rtkit into own file 2024-04-23 09:08:05 +00:00
ae418fb2d1 valgrind: mark as not sandboxable 2024-04-23 09:08:05 +00:00
c174eddddf wireplumber: sandbox such that it gets higher sched priority 2024-04-23 09:08:05 +00:00
6d74c6616c pipewire: shrink the mount sandbox 2024-04-23 09:08:05 +00:00
7db40fbf47 sane-cast: add a menu for choosing which device to cast to whenever there are multiple 2024-04-23 08:10:05 +00:00
152a5d4c92 sane-cast: integrate with mpv 2024-04-23 07:52:48 +00:00
e33b7d7701 sane-cast: init 2024-04-23 07:37:17 +00:00
01e176d902 libjxl: fix hash 2024-04-23 05:42:24 +00:00
fd771cdb2c fs: mount media/torrents instead of media/freeleech (the latter was removed) 2024-04-23 01:25:57 +00:00
243e8b831b libjxl cross patch: push upstream 2024-04-22 23:40:06 +00:00
9a8b4395f1 nixpkgs: 2024-04-19 -> 2024-04-22; nixpkgs-wayland, sops-nix
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/6ad1fe08582fcdfedb2cb7c31b4a016a227bd38a' (2024-04-19)
  → 'github:nixos/nixpkgs/fe2b7d6a922c875221671df6aa360b6e73d47e2f' (2024-04-22)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/40d15ed86dd08eff6a29e0a9abc416001d19cd67' (2024-04-19)
  → 'github:nixos/nixpkgs/8a3f95b79ba3083cfff90752296ef8a52a6bec9a' (2024-04-22)
• Updated input 'nixpkgs-wayland':
    'github:nix-community/nixpkgs-wayland/ab0f8d391a960764348935e6497fc62ba0d2378d' (2024-04-19)
  → 'github:nix-community/nixpkgs-wayland/f01c36f09cc5c2d77cbab4475528e06d6641bff4' (2024-04-22)
• Updated input 'nixpkgs-wayland/lib-aggregate':
    'github:nix-community/lib-aggregate/f347ed9a1cab12c27541ed4d173e2f2d5c9bc0bb' (2024-04-14)
  → 'github:nix-community/lib-aggregate/3b32a98eb3053f8c8ca55497d1881443ef2996e6' (2024-04-21)
• Updated input 'nixpkgs-wayland/lib-aggregate/nixpkgs-lib':
    'github:nix-community/nixpkgs.lib/361d8a4f443bbfab20bd6d222f9022b8c6665906' (2024-04-14)
  → 'github:nix-community/nixpkgs.lib/6882347415e352cfc9c277cc01f73e0f5cb7b93c' (2024-04-21)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/b94c6edbb8355756c53efc8ca3874c63622f287a' (2024-04-18)
  → 'github:Mic92/sops-nix/4371a1301c4d36cc791069d90ae522613a3a335e' (2024-04-22)
• Updated input 'sops-nix/nixpkgs-stable':
    'github:NixOS/nixpkgs/8494ae076b7878d61a7d2d25e89a847fe8f8364c' (2024-04-18)
  → 'github:NixOS/nixpkgs/74574c38577914733b4f7a775dd77d24245081dd' (2024-04-20)
```
2024-04-22 22:44:15 +00:00
4c7cd06212 go2tv: clarify compatibility 2024-04-22 12:45:55 +00:00
d0de6a9254 sftpgo: reduce the passive port range
hopefully this eases the load on the upstream firewall's UPNP service
2024-04-22 12:08:23 +00:00
12f2798140 servo: sftpgo: move to own directory 2024-04-22 12:05:16 +00:00
bd92076291 fontconfig: populate the cache directory even when cross compiling 2024-04-22 09:47:20 +00:00
9cbe774c5a sane-input-handler: fix power_hold -> power_tap_1_hold when inhibited by rofi 2024-04-22 06:27:33 +00:00
b4653b20a2 moby: button map: move vol{up,down}_hold to only act in power-off, else they may falsely trigger during other power-on actions 2024-04-22 05:13:29 +00:00
2c011df252 moby: tweak button mappings
- power hold: toggle media
- power x1 -> hold: kill

now nothing in screenoff uses power x2, which means we can get to
screen-on without waiting for any timeout.
2024-04-22 05:10:35 +00:00
9d472bb290 sane-input-handler: clean up suggestedPrograms 2024-04-22 04:13:56 +00:00
95b21cbed9 moby: update improve button mappings
- power + volup: screenshot
- power + voldown: camera
- volup_hold: file browser
- remove modal media controls
2024-04-22 04:05:52 +00:00
82007c9b40 bonsai: store the config in ~/.config to allow easier online editing 2024-04-22 04:05:15 +00:00
50c72de4f9 megapixels: fix folder icon to actually open ~/Pictures/Photos 2024-04-22 00:16:46 +00:00
36237a3201 megapixels: remove unnecessary ~/tmp directory from sandbox 2024-04-22 00:16:14 +00:00
eb9df628e6 megapixels: remove unnecessary ~/.local/share/applications from sandbox 2024-04-21 23:49:29 +00:00
6e04e288ea todo.md: document rofi crashes 2024-04-21 23:21:43 +00:00
a92960d778 megapixels: place photos in ~/Pictures/Photos instead of directly in ~/Pictures 2024-04-21 23:13:49 +00:00
ef9b0e9309 megapixels: fix .dng -> .jpg conversion 2024-04-21 21:59:05 +00:00
350e00e0cd firefox: decrease scrollbar width 20px -> 14px 2024-04-21 21:08:07 +00:00
e924363dfb sysvol: 2024-02-08 -> 2024-04-11
it no longer flashes the volume on init
2024-04-21 20:43:03 +00:00
b12f31652c todo.md: update blast items 2024-04-21 11:15:22 +00:00
b77e811ad4 blast-to-default: leverage sane-die-with-parent 2024-04-21 11:09:23 +00:00
a000a722ba mpv: fix so sane-sysvol doesnt hang exit 2024-04-21 10:08:46 +00:00
4dde01245e mpv: sane_sysvol: fix non_blocking_popen to use metatables and be more readable 2024-04-21 03:47:01 +00:00
f50c0a98c2 sane-sysvol -> sane_sysvol, sane-cast -> sane_cast
when a script contains a dash, mpv silently renames *parts* of it to _, which causes confusion
2024-04-21 00:27:30 +00:00
0625bfdd10 mpv: sane-cast: fix crash due to missing table.concat function 2024-04-21 00:24:46 +00:00
4dfee58d09 sops: fix sandbox path 2024-04-20 21:43:13 +00:00
a7b8eb179b pipewire: move the clock quantum config into sane.programs proper
this ensures it's available in the sandbox
2024-04-20 09:09:05 +00:00
f10bb6c86c sftpgo: adjust file mode to be compatible with Kodi 2024-04-20 08:07:00 +00:00
a59a7b5346 feeds: podcasts: add Tech Tales 2024-04-19 21:46:03 +00:00
1bd715e57e nixpkgs: 2024-04-18 -> 2024-04-19; nixpkgs-wayland, sops-nix
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/19d2eb80a0e23daf1c4a8cf25b1011fbdb2260fb' (2024-04-18)
  → 'github:nixos/nixpkgs/6ad1fe08582fcdfedb2cb7c31b4a016a227bd38a' (2024-04-19)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/457c34178411e0072e59564ee7986e86255a6eff' (2024-04-18)
  → 'github:nixos/nixpkgs/40d15ed86dd08eff6a29e0a9abc416001d19cd67' (2024-04-19)
• Updated input 'nixpkgs-wayland':
    'github:nix-community/nixpkgs-wayland/7867aa617c6eb205b1ac1b71d98cd18a2561bb18' (2024-04-17)
  → 'github:nix-community/nixpkgs-wayland/ab0f8d391a960764348935e6497fc62ba0d2378d' (2024-04-19)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/cc535d07cbcdd562bcca418e475c7b1959cefa4b' (2024-04-15)
  → 'github:Mic92/sops-nix/b94c6edbb8355756c53efc8ca3874c63622f287a' (2024-04-18)
• Updated input 'sops-nix/nixpkgs-stable':
    'github:NixOS/nixpkgs/c27f3b6d8e29346af16eecc0e9d54b1071eae27e' (2024-04-13)
  → 'github:NixOS/nixpkgs/8494ae076b7878d61a7d2d25e89a847fe8f8364c' (2024-04-18)
```
2024-04-19 20:33:48 +00:00
b7d2020f10 sane-tag-music: fix --help message 2024-04-19 07:29:20 +00:00
317996b609 clightning-sane: document the status command more 2024-04-19 07:29:20 +00:00
e197f6f54d clightning-sane: fix build 2024-04-19 07:29:20 +00:00
135f63480b clightning-sane: add a help message 2024-04-19 07:29:20 +00:00
d9ffa5bb5a wike: fix sandboxing for 3.0 2024-04-19 01:26:58 +00:00
f59f13588f jackett/transmission/slskd: validate public IP address before starting 2024-04-18 20:05:59 +00:00
c668a895d4 static-nix-shell: populate meta.mainProgram 2024-04-18 20:00:47 +00:00
9442a87311 sane-ip-check: add an --expect option to abort if IP address is not as expected 2024-04-18 19:46:16 +00:00
3bd56fb565 sane-ip-check: refactor: split out a main function 2024-04-18 19:42:16 +00:00
bdc3b1ed0e sane-ip-check: port argument parsing to argparse 2024-04-18 19:40:44 +00:00
40af93a7fb feeds: add apenwarr 2024-04-18 17:29:50 +00:00
cd4fc97bde nixpkgs: 2024-04-17 -> 2024-04-18; nixpkgs-wayland
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/73f2b40dfc3413958695ae66fca3a52ee68451d6' (2024-04-17)
  → 'github:nixos/nixpkgs/19d2eb80a0e23daf1c4a8cf25b1011fbdb2260fb' (2024-04-18)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/2528b053e7c482baa8cd93cdce81172c3f0a3cee' (2024-04-17)
  → 'github:nixos/nixpkgs/457c34178411e0072e59564ee7986e86255a6eff' (2024-04-18)
• Updated input 'nixpkgs-wayland':
    'github:nix-community/nixpkgs-wayland/b0260157fccc94f4fe5a09fb3a1b1f62a87ae397' (2024-04-17)
  → 'github:nix-community/nixpkgs-wayland/7867aa617c6eb205b1ac1b71d98cd18a2561bb18' (2024-04-17)
```
2024-04-18 06:56:13 +00:00
a36ff517e7 servo: slskd: disable 2024-04-18 06:55:56 +00:00
3642ead646 trust-dns: 0.24.0 -> 0.24.1 2024-04-18 06:03:34 +00:00
60c370df3f sftpgo: fix domain name in banner 2024-04-18 05:01:57 +00:00
d80852c6c1 sftpgo: re-enable password login 2024-04-18 04:58:59 +00:00
62b3047fff sftpgo: support FTPS 2024-04-18 04:34:41 +00:00
de2c3a30ff programs: ship lftp ftp client 2024-04-18 04:17:10 +00:00
c08280589d lsof: fix sandboxing 2024-04-17 23:43:42 +00:00
9a9ffcbea9 transmission: fix faulty "find" expression (thanks shellcheck!) 2024-04-17 23:32:00 +00:00
733efcfaf7 servo: nginx: forceSSL for anything media related 2024-04-17 22:49:24 +00:00
b34d984572 servo: transmission: remove noisy files upon torrent completion 2024-04-17 20:47:00 +00:00
e2b58e1b77 servo: transmission: be extra strict about requiring VPN 2024-04-17 19:52:11 +00:00
b7e5bc5972 servo: sftpgo: disable external access 2024-04-17 19:41:57 +00:00
831b4ad72a nixpkgs: 2024-04-16 -> 2024-04-17; nixpkgs-wayland -> 2024-04-17
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/097ced11fa37dec3146e0480026c0c10d7d35e6f' (2024-04-16)
  → 'github:nixos/nixpkgs/73f2b40dfc3413958695ae66fca3a52ee68451d6' (2024-04-17)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/7f1c8f1b9071c77b81b62e3be62ef5e3d0c578ad' (2024-04-16)
  → 'github:nixos/nixpkgs/2528b053e7c482baa8cd93cdce81172c3f0a3cee' (2024-04-17)
• Updated input 'nixpkgs-wayland':
    'github:nix-community/nixpkgs-wayland/a03b8253e5cedb72a0957f7d534ad2702d7a54f0' (2024-04-15)
  → 'github:nix-community/nixpkgs-wayland/b0260157fccc94f4fe5a09fb3a1b1f62a87ae397' (2024-04-17)
```
2024-04-17 09:54:45 +00:00
54cefa247a dino: record another bug 2024-04-17 09:53:08 +00:00
e3898449b7 sane-tag-music: allow manually specifying the track number 2024-04-17 09:45:10 +00:00
e5bad6a74c sane-tag-music: fixup track numbers 2024-04-17 07:56:52 +00:00
254343a6af todo.md: sync 2024-04-17 02:26:09 +00:00
28bfd75114 sane-tag-music: split into two operations 2024-04-17 02:25:54 +00:00
b7fd5e78cc swaync: show volume-per-app (TODO: stylize it better) 2024-04-17 01:37:03 +00:00
79985ff009 dino: docs: update notes about BUGS 2024-04-16 20:50:00 +00:00
62f5b9276f pwvucontrol: whitelist DRI inside the sandbox, for better perf 2024-04-16 20:49:33 +00:00
276844af0b sane-tag-music: update docs 2024-04-16 19:56:58 +00:00
13c1f01a6b servo: pleroma: migrate port 4000 -> 4040
port 4000 is used by NFS
2024-04-16 18:57:54 +00:00
5f281f57de servo: transmission: inline nested torrent directories 2024-04-16 18:25:41 +00:00
089e434e3f servo: transmission: fix group permissions of media when copying them to public dir 2024-04-16 16:31:10 +00:00
b068b50d7c sane-bt: require specifying a title when torrenting films 2024-04-16 16:05:39 +00:00
14911868e4 nixpkgs: 2024-04-14 -> 2024-04-16; nixpkgs-wayland, sops-nix, uninsane-dot-org
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/2d0506704b7d92cc610412b176b515fe1a782095' (2024-04-14)
  → 'github:nixos/nixpkgs/097ced11fa37dec3146e0480026c0c10d7d35e6f' (2024-04-16)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/bc59f72803cf40fb50f05cb73068d85b5ce21297' (2024-04-14)
  → 'github:nixos/nixpkgs/7f1c8f1b9071c77b81b62e3be62ef5e3d0c578ad' (2024-04-16)
• Updated input 'nixpkgs-wayland':
    'github:nix-community/nixpkgs-wayland/b816217ba4fc77d19ca033ab8f13b35ba0331e91' (2024-04-13)
  → 'github:nix-community/nixpkgs-wayland/a03b8253e5cedb72a0957f7d534ad2702d7a54f0' (2024-04-15)
• Updated input 'nixpkgs-wayland/lib-aggregate':
    'github:nix-community/lib-aggregate/2737d0204685c3274390229a09eb8f7eaa1a9e89' (2024-04-07)
  → 'github:nix-community/lib-aggregate/f347ed9a1cab12c27541ed4d173e2f2d5c9bc0bb' (2024-04-14)
• Updated input 'nixpkgs-wayland/lib-aggregate/nixpkgs-lib':
    'github:nix-community/nixpkgs.lib/3c62b6a12571c9a7f65ab037173ee153d539905f' (2024-04-07)
  → 'github:nix-community/nixpkgs.lib/361d8a4f443bbfab20bd6d222f9022b8c6665906' (2024-04-14)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/226062b47fe0e2130ba3ee9f4f1c880dc815cf87' (2024-04-14)
  → 'github:Mic92/sops-nix/cc535d07cbcdd562bcca418e475c7b1959cefa4b' (2024-04-15)
• Updated input 'uninsane-dot-org':
    'git+https://git.uninsane.org/colin/uninsane?ref=refs/heads/master&rev=b9502e6f190752d327f8cee7fa4b139094bd7c16' (2024-03-25)
  → 'git+https://git.uninsane.org/colin/uninsane?ref=refs/heads/master&rev=af8420d1c256d990b5e24de14ad8592a5d85bf77' (2024-04-15)
```
2024-04-16 04:59:59 +00:00
539fe48947 swaync: cleanup 2024-04-16 04:14:07 +00:00
259c3af526 swaync-fbcli: fix CPU pegging when canceling a phone ringer 2024-04-16 02:18:51 +00:00
6b5e0e57bc swaync: unify the *DEBUG variables 2024-04-15 21:29:17 +00:00
b55c903a81 todo.md: made it so unl0kr starts with keyboard 2024-04-15 21:11:20 +00:00
4f06f0dc5e unl0kr: disable animations 2024-04-15 21:10:55 +00:00
c0dde0e540 unl0kr: populate config file with upstream defaults 2024-04-15 21:05:21 +00:00
6779063578 todo.md: sync 2024-04-15 19:57:58 +00:00
2eea562d1f sandbox: remove unused "binMap" option 2024-04-15 19:56:33 +00:00
0385c09f23 sane-sandboxed: split out into an actual package 2024-04-15 18:57:22 +00:00
bd57b95598 swaync-fbcli: fix so that the child actually exits when killed (critical is to use SIGINT) 2024-04-15 18:32:50 +00:00
465da7c939 swaync-fbcli: migrate an "echo" to a "log" 2024-04-15 18:22:30 +00:00
44f76e656a swaync-fbcli: fix that pkill expression wouldn't work for wrapped binaries 2024-04-15 18:21:27 +00:00
824046aca1 swaync-fbcli: fix CPU pegging 2024-04-15 18:09:21 +00:00
827c50ff43 swaync: cleanup the swaync-fbcli helper 2024-04-15 18:00:51 +00:00
0230291bb2 swaync: move the pkill logic into swaync-fbcli 2024-04-15 17:46:40 +00:00
3d3618256d swaync: split the fbcli wrapper into its own file 2024-04-15 17:46:40 +00:00
590cb2dd7f feeds: sort the list 2024-04-15 16:21:31 +00:00
d9dcab544c feeds: unsubscribe from Profectus 2024-04-15 16:20:17 +00:00
4ee0f0c659 feeds: disable TheSideView 2024-04-15 14:59:50 +00:00
7692ab0b3e firefox-extensions.sidebery: build from source 2024-04-15 05:25:19 +00:00
2af5bb3d78 i-still-dont-care-about-cookies: enable 2024-04-15 03:36:49 +00:00
e72a0a4300 firefox extensions: support more manifest formats 2024-04-15 03:36:27 +00:00
6b0cbf684f sidebery: 5.2.0.1 -> 5.2.0.7 2024-04-15 03:36:03 +00:00
62af314238 firefox-extensions.i-still-dont-care-about-cookies: init at 1.1.4 2024-04-15 03:02:19 +00:00
e8745b4312 firefox-extensions: ublock, metamask -> latest 2024-04-15 02:35:49 +00:00
5a10173ba3 schlock: fix to run on modern sway 2024-04-15 02:07:20 +00:00
2d8fe1d3e5 bonsai: tune niceness to hopefully be more responsive 2024-04-15 01:46:32 +00:00
0741d87bcb rofi: theme so that i can read more text on narrow moby display 2024-04-15 00:04:10 +00:00
2587c27f89 font-manager: fix sandboxing 2024-04-14 21:55:52 +00:00
2d74d0725d feeds: podcasts: add Money Stuff 2024-04-14 20:39:53 +00:00
b0d1d2e1af coppwr: remove (it's been upstreamed into nixpkgs) 2024-04-14 16:16:46 +00:00
61dc79a2ea cross: remove upstreamed webkitgtk patch 2024-04-14 16:08:48 +00:00
7804236499 xdg-terminal-exec: remove upstreamed patched 2024-04-14 14:16:50 +00:00
f908762cf8 nixpkgs: 2024-04-06 -> 2024-04-14; nixpkgs-wayland, sops-nix
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/7c74352f2f7eca1925729f5c9c80cb89df8e74a2' (2024-04-06)
  → 'github:nixos/nixpkgs/2d0506704b7d92cc610412b176b515fe1a782095' (2024-04-14)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/c58702222e0a29fd01cc42d70737d699995f6389' (2024-04-06)
  → 'github:nixos/nixpkgs/bc59f72803cf40fb50f05cb73068d85b5ce21297' (2024-04-14)
• Updated input 'nixpkgs-wayland':
    'github:nix-community/nixpkgs-wayland/9b77653338f52da4b498abdf4835efb6ff6e453e' (2024-04-04)
  → 'github:nix-community/nixpkgs-wayland/b816217ba4fc77d19ca033ab8f13b35ba0331e91' (2024-04-13)
• Updated input 'nixpkgs-wayland/lib-aggregate':
    'github:nix-community/lib-aggregate/9c06929b83e57c18d125f1105ba6a423f24083d2' (2024-03-31)
  → 'github:nix-community/lib-aggregate/2737d0204685c3274390229a09eb8f7eaa1a9e89' (2024-04-07)
• Updated input 'nixpkgs-wayland/lib-aggregate/nixpkgs-lib':
    'github:nix-community/nixpkgs.lib/90b1a963ff84dc532db92f678296ff2499a60a87' (2024-03-31)
  → 'github:nix-community/nixpkgs.lib/3c62b6a12571c9a7f65ab037173ee153d539905f' (2024-04-07)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/99b1e37f9fc0960d064a7862eb7adfb92e64fa10' (2024-03-31)
  → 'github:Mic92/sops-nix/226062b47fe0e2130ba3ee9f4f1c880dc815cf87' (2024-04-14)
• Updated input 'sops-nix/nixpkgs-stable':
    'github:NixOS/nixpkgs/2b4e3ca0091049c6fbb4908c66b05b77eaef9f0c' (2024-03-30)
  → 'github:NixOS/nixpkgs/c27f3b6d8e29346af16eecc0e9d54b1071eae27e' (2024-04-13)
```
2024-04-14 14:15:02 +00:00
feb36d19ac programs: ship cups 2024-04-14 03:33:55 +00:00
06185ac870 todo.md: add a way to exit mpv fullscreen on moby 2024-04-13 20:30:30 +00:00
a8915661a7 style: refine the base pink color for mpv and sway/waybar
this matches swaync a little better. mpv had to be made lighter, i think because of transparency stuff. probably sway/waybar could be made normal lightness
2024-04-13 20:29:24 +00:00
d57aa473ac overlays/pkgs-debug: cleanup 2024-04-13 20:29:24 +00:00
a28b7d5616 todo.md: more mobile games, mpv improvements 2024-04-13 20:29:24 +00:00
dd58ba8b00 gvfs: enable as part of nautilus, not sway 2024-04-13 20:29:24 +00:00
a21508b6ba todo.md: fix schlock (moby) 2024-04-13 20:29:24 +00:00
94cff99f53 todo.md: ftps support 2024-04-13 20:29:24 +00:00
8aa8d773de cherry-pick orc update to fix Dino calls 2024-04-13 20:29:24 +00:00
0a888e205e programs: ship objdump 2024-04-13 20:29:24 +00:00
898dc89c8f overlays: add pkgsDebug for building packages with debug symbols and such 2024-04-13 20:29:24 +00:00
4b22fd95bf introduce 'moby-min' host variant for the quickest deployment (no webkitgtk) 2024-04-13 20:29:24 +00:00
527a9e7612 feeds: add The Side View 2024-04-10 04:47:34 +00:00
3686e6e508 feeds: subscribe to Future of Coding 2024-04-10 03:06:30 +00:00
cda50db23b loupe: associate with avif filetype 2024-04-09 19:22:59 +00:00
344e24fcd2 todo.md: ssh doesnt give the right linux capabilities 2024-04-09 18:38:04 +00:00
9be6960bbf sway: disable shortcuts for creating sub-splits
i'm just always accidentally triggering them
2024-04-09 16:24:02 +00:00
a45aabfb72 sway: todo: load background from a more traditional path 2024-04-09 16:19:56 +00:00
602bf59843 todo.md: disable sway sub-layouts 2024-04-09 16:15:27 +00:00
895d7f6f20 todo.md: note that mpv exit hangs because of sane-sysvol 2024-04-09 16:13:43 +00:00
876103ff7b mpv: remove legacy ao=alsa and volume-max config 2024-04-09 16:10:05 +00:00
46cda87d5e notejot: fix sandboxing 2024-04-09 15:44:01 +00:00
d728dfcd70 mpv: uosc: tweak the maximize button to actually act as a fullscreen toggle 2024-04-09 10:14:40 +00:00
19fcd0318c mpv: remove the double-click-to-fullscreen shortcut 2024-04-09 10:09:17 +00:00
030f6d1a99 mpv: fix so pseudo-gui mode doesnt break logging 2024-04-09 09:58:16 +00:00
86b495cb9f mpv: sane-sysvol: integrate with uosc mute button 2024-04-09 08:05:00 +00:00
c897f4fa4b mpv: sane-sysvol: fix pipewire mute to reflect onto uosc volume level
ideally it would actually show up as the mute parameter!
2024-04-09 08:05:00 +00:00
8181a0664d mpv: sane-sysvol: remove the unused id tracking 2024-04-09 08:05:00 +00:00
c37e94493f mpv: sane-sysvol: optimize 2024-04-09 08:05:00 +00:00
b9e107510d mpv: sane-sysvol: dont force system volume to zero on init 2024-04-09 08:05:00 +00:00
976ae65529 todo.md: remove deprecated use of 'crypt' 2024-04-09 08:05:00 +00:00
0f4c1ccfe3 mpv: update input.conf for sane-cast rename 2024-04-09 08:05:00 +00:00
9d9413c790 mpv: announce pipewire volume changes so uosc can listen for them 2024-04-09 08:05:00 +00:00
64c28ae657 mpv: don't need to force uosc volume state to 0 by default; nil is OK 2024-04-09 08:05:00 +00:00
d221625eb3 todo.md: add work around signal, mpv 2024-04-09 08:05:00 +00:00
1f4c885748 mpv: sane-sysvol script: init
it's a one-way volume control, but that's a start
2024-04-09 08:05:00 +00:00
0545b178af mpv: rename plugin: sane -> sane-cast 2024-04-09 08:04:51 +00:00
fe4b6c36c4 feeds: subscribe to jwz.org 2024-04-09 03:55:25 +00:00
fce3436c88 servo: expose Milkbags to the internet :) 2024-04-08 06:55:09 +00:00
03bec6aab2 coppwr: init at 1.5.1-unstable-2024-03-28 (4e7239d4bd5b2f24f7ebec0a02c1054648a4425c) 2024-04-06 23:42:25 +00:00
3aba91b360 mpv: fix race condition in uosc/ao-volume monitoring 2024-04-06 23:41:59 +00:00
907933612d htop: statically populate config 2024-04-06 23:41:59 +00:00
0db546bf82 nixpkgs: 2024-04-05 -> 2024-04-06
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/9a0c25978d78416219718437fd7e618668d9ad74' (2024-04-05)
  → 'github:nixos/nixpkgs/7c74352f2f7eca1925729f5c9c80cb89df8e74a2' (2024-04-06)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/3541c7628de9414f999ced044c95a284584f4ec1' (2024-04-05)
  → 'github:nixos/nixpkgs/c58702222e0a29fd01cc42d70737d699995f6389' (2024-04-06)
```
2024-04-06 10:20:03 +00:00
b4877a488e discord: add media into sandbox 2024-04-06 09:36:55 +00:00
4b3975367a fix warnings: remove xdg-desktop-portal patch; fix mautrix-meta enable logic 2024-04-05 21:40:42 +00:00
38c8d96e5a nixpkgs: 2024-04-04 -> 2024-04-05; nixpkgs-wayland -> 2024-04-04
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/1ea9e4ecab5010d29f557f7a1f8bb26ad3afd686' (2024-04-04)
  → 'github:nixos/nixpkgs/9a0c25978d78416219718437fd7e618668d9ad74' (2024-04-05)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/e52ada4e6beea931c244bf8cc4a75d8a07d62373' (2024-04-04)
  → 'github:nixos/nixpkgs/3541c7628de9414f999ced044c95a284584f4ec1' (2024-04-05)
• Updated input 'nixpkgs-wayland':
    'github:nix-community/nixpkgs-wayland/30aa5f8c558cd8a699f9a9227cf7310f291f1e29' (2024-04-03)
  → 'github:nix-community/nixpkgs-wayland/9b77653338f52da4b498abdf4835efb6ff6e453e' (2024-04-04)
```
2024-04-05 09:28:25 +00:00
28110c3e85 fix system hang during vim ctrl+z (disable io_uring in libuv) 2024-04-05 07:29:55 +00:00
43aa498ff9 mpv: fix uosc touch controls 2024-04-05 07:29:15 +00:00
f7e4504764 pict-rs: remove no-transcoding patch (it doesnt apply anymore) 2024-04-04 19:09:12 +00:00
4942fa8a38 nixpkgs: 2024-04-02 -> 2024-04-04
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/7a5ee8d0c786f9fd789b5bb07245d2a8b12193a4' (2024-04-02)
  → 'github:nixos/nixpkgs/1ea9e4ecab5010d29f557f7a1f8bb26ad3afd686' (2024-04-04)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/7ab59131642a42b92f4d6554173ef9a35cbb39f0' (2024-04-02)
  → 'github:nixos/nixpkgs/e52ada4e6beea931c244bf8cc4a75d8a07d62373' (2024-04-04)
• Updated input 'nixpkgs-wayland':
    'github:nix-community/nixpkgs-wayland/8c4df2153c615554b516ba698f5f7bd64f7bf520' (2024-03-31)
  → 'github:nix-community/nixpkgs-wayland/30aa5f8c558cd8a699f9a9227cf7310f291f1e29' (2024-04-03)
```
2024-04-04 06:27:24 +00:00
7ab148ea58 servo: migrate /var/media to be 100% on zfs pool 2024-04-04 06:20:50 +00:00
0dfeec3260 mpv-uosc: 5.2.0 -> 5.2.0-unstable-2024-03-13 2024-04-04 06:19:15 +00:00
eb2317a743 mpv: 0.37.0 -> 0.37.0-unstable-2024-03-31 2024-04-04 06:19:15 +00:00
1a0ef28377 sane-bt-add: document how to *move* a torrent 2024-04-03 11:00:54 +00:00
7c3ad85d75 sane-bt-add: fix sandboxing 2024-04-03 09:48:21 +00:00
7766e1cec1 sane_bt: save torrents to /var/media/torrents by default 2024-04-03 09:48:21 +00:00
158e674f83 sane_bt.py: fix dict typo 2024-04-03 09:48:21 +00:00
410097480f docs: servo: fs: fix setfacl typo 2024-04-03 09:48:10 +00:00
f5fadbe4cf transmission: place torrents in a separate directory, and copy them to the main media directory on completion 2024-04-03 09:48:10 +00:00
a0550660e7 feeds: add The Corresponding Source podcast 2024-04-02 22:10:36 +00:00
bad6c353ed sane-bt: refactor 2024-04-02 20:53:01 +00:00
a814832e48 feeds: add Hacker Public Radio podcast 2024-04-02 19:34:42 +00:00
a4312f1494 nixpkgs: 2024-04-01 -> 2024-04-02
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/409234ba0c73ce2cee676f14b68a88e2b5a52af8' (2024-04-01)
  → 'github:nixos/nixpkgs/7a5ee8d0c786f9fd789b5bb07245d2a8b12193a4' (2024-04-02)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/e7de14ea98fe984aa73a5a6b2f540ca817471106' (2024-04-01)
  → 'github:nixos/nixpkgs/7ab59131642a42b92f4d6554173ef9a35cbb39f0' (2024-04-02)
```
2024-04-02 09:46:40 +00:00
747032d9a4 dino: run with higher scheduling priority 2024-04-02 09:02:44 +00:00
9b2e35b93f pipewire: ship rtkit and unlock better scheduling priority 2024-04-02 09:02:06 +00:00
d2751237c1 xdg-desktop-portal-wlr: propery document its dependency on pipewire 2024-04-02 09:01:35 +00:00
ae87160de3 dino: 0.4.3 -> 0.4.3-unstable-2024-04-01 2024-04-02 04:57:11 +00:00
a90a213cc0 apps: gui: disable under-used "blanket" noise generator 2024-04-02 04:18:53 +00:00
24c04b8fc0 docs: xdg-desktop-portal: link to Door Knocker debugging tool 2024-04-02 04:18:53 +00:00
d0b022d1c6 libnice: 0.1.21 -> 0.1.22 2024-04-02 04:18:35 +00:00
9d9791814a audacity: fix sandboxing 2024-04-02 02:56:51 +00:00
b85d4b20f8 nixpkgs: 2024-03-31 -> 2024-04-01, nixpkgs-wayland
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/6b7b5776bef8eed645f63725ce31fa0946f997ff' (2024-03-31)
  → 'github:nixos/nixpkgs/409234ba0c73ce2cee676f14b68a88e2b5a52af8' (2024-04-01)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/7848d6f048d38c42a8aeeff7fe7d36916ffb8284' (2024-03-31)
  → 'github:nixos/nixpkgs/e7de14ea98fe984aa73a5a6b2f540ca817471106' (2024-04-01)
• Updated input 'nixpkgs-wayland':
    'github:nix-community/nixpkgs-wayland/11544449e6b696e209463aae094e736368eef757' (2024-03-30)
  → 'github:nix-community/nixpkgs-wayland/8c4df2153c615554b516ba698f5f7bd64f7bf520' (2024-03-31)
• Updated input 'nixpkgs-wayland/lib-aggregate':
    'github:nix-community/lib-aggregate/120535dff702c551ec76a125a181d90131407264' (2024-03-24)
  → 'github:nix-community/lib-aggregate/9c06929b83e57c18d125f1105ba6a423f24083d2' (2024-03-31)
• Updated input 'nixpkgs-wayland/lib-aggregate/nixpkgs-lib':
    'github:nix-community/nixpkgs.lib/b2a1eeef8c185f6bd27432b053ff09d773244cbc' (2024-03-24)
  → 'github:nix-community/nixpkgs.lib/90b1a963ff84dc532db92f678296ff2499a60a87' (2024-03-31)
```
2024-04-01 07:42:47 +00:00
331e673589 common/fs: mount /mnt/servo/media/* directories more granularly
this benefits sandboxing
2024-04-01 07:31:25 +00:00
bbb93600b7 /mnt/servo/*: mount in a way which doesn't block sandboxes 2024-04-01 06:00:17 +00:00
c0de54c11a curlftpfs: exit on timeout error 2024-04-01 04:02:32 +00:00
0d29722443 common/fs: refactor and DRY 2024-04-01 02:12:06 +00:00
1c2a375b6d common/fs: split curlftpfs into sane.programs
this makes it easier to build outside of /etc/fstab context, and opens a future path to sandboxing
2024-04-01 00:50:14 +00:00
b6840a3ed4 curlftpfs: build via my own repo 2024-04-01 00:43:07 +00:00
74e994598e feeds: add David Revoy 2024-03-31 20:28:41 +00:00
856b6fcd7a feeds: add Willow 2024-03-31 18:20:49 +00:00
2404fb66f3 nixpkgs: 2024-03-26 -> 2024-0-31; nixpkgs-wayland, sops
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/c904e6bf24e582e4fe28e988b7cdb7e9fda595c3' (2024-03-26)
  → 'github:nixos/nixpkgs/6b7b5776bef8eed645f63725ce31fa0946f997ff' (2024-03-31)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/da0502af1164c4fd04ebcd3acde1e378a861bd19' (2024-03-26)
  → 'github:nixos/nixpkgs/7848d6f048d38c42a8aeeff7fe7d36916ffb8284' (2024-03-31)
• Updated input 'nixpkgs-wayland':
    'github:nix-community/nixpkgs-wayland/7274c73cf5708ed3a814edc9605463ec4a116619' (2024-03-25)
  → 'github:nix-community/nixpkgs-wayland/11544449e6b696e209463aae094e736368eef757' (2024-03-30)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/405987a66cce9a4a82f321f11b205982a7127c88' (2024-03-24)
  → 'github:Mic92/sops-nix/99b1e37f9fc0960d064a7862eb7adfb92e64fa10' (2024-03-31)
• Updated input 'sops-nix/nixpkgs-stable':
    'github:NixOS/nixpkgs/ac6bdf6181666ebb4f90dd20f31e2fa66ede6b68' (2024-03-23)
  → 'github:NixOS/nixpkgs/2b4e3ca0091049c6fbb4908c66b05b77eaef9f0c' (2024-03-30)
```
2024-03-31 06:30:10 +00:00
cd6a91e995 sway: tune sandboxing 2024-03-31 05:59:10 +00:00
89d4b0ae0b s6-rc: don't tee to /dev/stderr, as i don't want any logs going to the console and interfering with text entry 2024-03-31 05:20:33 +00:00
ade680d9d2 unl0kr: remove legacy wayland stuff (it's handled by s6 now) 2024-03-31 05:20:33 +00:00
6d4a43fa0d sway: warn when needed runtime dirs dont exist 2024-03-31 05:20:20 +00:00
d3ad661970 servo: zfs: enable reflink support 2024-03-31 03:48:34 +00:00
c9632b05f9 linux-megous: fix config so that it boots to graphics again
see: <https://github.com/NixOS/nixpkgs/pull/298332>
2024-03-31 03:24:33 +00:00
1e7de43da8 docs: sway: mention that hotplugging is broken 2024-03-31 03:24:33 +00:00
eff37765ae sane.image: fix so imgs.moby includes a working bootloader 2024-03-31 03:24:33 +00:00
a65673847a superTux, superTuxKard: don't ship on moby
i don't use it there; it wastes deploy time
2024-03-31 03:24:33 +00:00
930c5e2412 delfin: don't ship
i don't use it; it wastes deploy time
2024-03-31 03:24:33 +00:00
aff2a78ec3 sane-reclaim-boot-space: fix "self.format_attr" typo 2024-03-31 03:23:49 +00:00
f01758503c linux-megous: orange-pi-6.7-20240211-1928 -> orange-pi-6.7-20240306-2359
still getting PHY issues with it, but it boots to ssh
2024-03-29 18:18:37 +00:00
e855be4796 hosts/common: port /mnt/servo/* from NFS -> FTP
fuse ftp seems to be easier to debug than kernel nfs so far
2024-03-28 23:15:05 +00:00
701e10b121 hosts/common/fs: optimize NFS options 2024-03-28 23:15:05 +00:00
eadb2057d9 sane-wipe: port from systemd -> s6 2024-03-28 23:15:05 +00:00
5ed29ceb47 servo: /var/media: fixup permissions so everything is r/w by "media" group, including sftpgo 2024-03-28 23:14:40 +00:00
725ab13628 servo: nfs: allow UDP NFSv3 connections 2024-03-27 00:54:58 +00:00
32e691b85b feeds: add Hardcore Software by Steven Sinofsky 2024-03-26 14:08:13 +00:00
0108502055 feedbackd: fix so it depends on pipewire before launch 2024-03-26 13:48:13 +00:00
6c5b32aac2 s6-rc: fix so the service manager knows about readiness notifications again 2024-03-26 13:34:38 +00:00
f59dd99470 s6-rc: init services in the "down" state 2024-03-26 12:55:40 +00:00
55c8a98c33 s6-rc: pre-compute more stuff as nix exprs; don't even run s6-rc-init 2024-03-26 12:36:46 +00:00
7bb67391ae nixpkgs: remove obsoleted patches 2024-03-26 11:16:43 +00:00
c6a1f310a0 servo: net: actually assert that ovpns exists if we fail to add it 2024-03-26 11:13:10 +00:00
1d494513a9 slskd: document common errors/flakiness 2024-03-26 11:04:21 +00:00
fb79ca4c8e programs: iproute: use a less restrictive sandbox 2024-03-26 10:54:29 +00:00
3cf42db7dc slskd: fix for more recent nixpkgs 2024-03-26 10:47:20 +00:00
aba5eee837 nixpkgs: 2024-03-25 -> 2024-03-26; others
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/8794d573a4fdd15b0002135cebf65a8f5d9adb6c' (2024-03-25)
  → 'github:nixos/nixpkgs/c904e6bf24e582e4fe28e988b7cdb7e9fda595c3' (2024-03-26)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/0d2dc20762f21c3e43fc2acc03f9552adbc392bc' (2024-03-25)
  → 'github:nixos/nixpkgs/da0502af1164c4fd04ebcd3acde1e378a861bd19' (2024-03-26)
• Updated input 'nixpkgs-wayland':
    'github:nix-community/nixpkgs-wayland/59f7ad2c27737a7ea7ad16a48c95631f159ef822' (2024-03-24)
  → 'github:nix-community/nixpkgs-wayland/7274c73cf5708ed3a814edc9605463ec4a116619' (2024-03-25)
• Updated input 'uninsane-dot-org':
    'git+https://git.uninsane.org/colin/uninsane?ref=refs/heads/master&rev=9a3b2d74c3e6d177fd1317d03f4e3eecca7beb7b' (2024-03-19)
  → 'git+https://git.uninsane.org/colin/uninsane?ref=refs/heads/master&rev=b9502e6f190752d327f8cee7fa4b139094bd7c16' (2024-03-25)
```
2024-03-26 09:44:45 +00:00
5cd9f34884 s6-rc: remove more unnecessarily files from live dir 2024-03-26 00:45:24 +00:00
2cabe51956 s6-rc: remove a couple more unused files from the live dir 2024-03-26 00:22:14 +00:00
cb8e9b7a23 s6-rc: make it so, once started, other programs can start/stop services but NOT edit/create them 2024-03-26 00:11:02 +00:00
4eb6b5735e users/s6-rc: allow startS6 "" 2024-03-25 16:46:51 +00:00
5d3899959b users/s6-rc: split out compiled var 2024-03-25 14:56:41 +00:00
ad951ad919 users/s6-rc: add symlink capabilities to my fs abstraction 2024-03-25 14:46:43 +00:00
5ecabc57bf feeds: add low<-tech magazine 2024-03-25 13:13:41 +00:00
48a4c1bd26 feeds: add nixpkgs.news 2024-03-25 13:13:03 +00:00
1f47c5ba2e nixpkgs: 2024-03-23 -> 2024-03-25; nixpkgs-wayland; sops-nix
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/f4a0cee9233d6db356a0bdab307e865327a9b96b' (2024-03-23)
  → 'github:nixos/nixpkgs/8794d573a4fdd15b0002135cebf65a8f5d9adb6c' (2024-03-25)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/499583c00280ed90686b058e38a68fc9be2f4c4c' (2024-03-23)
  → 'github:nixos/nixpkgs/0d2dc20762f21c3e43fc2acc03f9552adbc392bc' (2024-03-25)
• Updated input 'nixpkgs-wayland':
    'github:nix-community/nixpkgs-wayland/0d291a959d01bb5d2bd2e20689b78258fa842cca' (2024-03-23)
  → 'github:nix-community/nixpkgs-wayland/59f7ad2c27737a7ea7ad16a48c95631f159ef822' (2024-03-24)
• Updated input 'nixpkgs-wayland/lib-aggregate':
    'github:nix-community/lib-aggregate/f890211817b941d9ed9de48d62ba8553fa2c20f3' (2024-03-17)
  → 'github:nix-community/lib-aggregate/120535dff702c551ec76a125a181d90131407264' (2024-03-24)
• Updated input 'nixpkgs-wayland/lib-aggregate/nixpkgs-lib':
    'github:nix-community/nixpkgs.lib/fa827dda806c5aa98f454da4c567991ab8ce422c' (2024-03-17)
  → 'github:nix-community/nixpkgs.lib/b2a1eeef8c185f6bd27432b053ff09d773244cbc' (2024-03-24)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/83b68a0e8c94b72cdd0a6e547a14ca7eb1c03616' (2024-03-17)
  → 'github:Mic92/sops-nix/405987a66cce9a4a82f321f11b205982a7127c88' (2024-03-24)
• Updated input 'sops-nix/nixpkgs-stable':
    'github:NixOS/nixpkgs/6dc11d9859d6a18ab0c5e5829a5b8e4810658de3' (2024-03-16)
  → 'github:NixOS/nixpkgs/ac6bdf6181666ebb4f90dd20f31e2fa66ede6b68' (2024-03-23)
```
2024-03-25 00:23:58 +00:00
febedb9323 nits: update --replace uses to --replace-{fail,quiet} as appropriate 2024-03-24 12:49:18 +00:00
aed5ea4b2e static-nix-shell: dont fail build if "nix-shell" occurs in the file as a non-directive 2024-03-24 12:28:23 +00:00
4e74ba5bab swaync-service-dispatcher: fix start/stop inversion 2024-03-24 12:22:54 +00:00
03fbb780b2 sane.programs: sandbox: refactor extraRuntimePaths computation 2024-03-24 12:03:38 +00:00
9c0b175260 swaync: allow toggling of s6 services 2024-03-24 11:54:12 +00:00
e62be121e2 users/services: s6: fix so s6-rc stop can actually kill processes 2024-03-24 11:48:41 +00:00
774066e53c swaync: factor out a "service-dispatcher" 2024-03-24 09:21:07 +00:00
86400f45d6 swaync: port to s6 2024-03-24 08:56:06 +00:00
ddef2d0bfc swaync: rename: print-is-active -> print-systemd-active 2024-03-24 08:54:27 +00:00
0172aa0b69 swaync: refactor 2024-03-24 08:54:27 +00:00
ce991c8887 swaync: refactor 2024-03-24 08:54:27 +00:00
92d8d42997 swaync: split the buttons out of the main config file 2024-03-24 08:54:27 +00:00
1c4ef84ec7 swaync: remove legacy sxmo-specific notification visibility rules 2024-03-24 08:54:27 +00:00
a820ae57c0 swaync: remove sxmo timer rules 2024-03-24 08:54:27 +00:00
89f913cadc xdg-desktop-portal: 1.18.2 -> 1.18.2-unstable-2024-03-11
this will *hopefully* improve stability
2024-03-24 08:08:48 +00:00
d14fda2e62 engrampa: remove custom patch (upstream released a new version) 2024-03-24 07:46:22 +00:00
f680a4a25c engrampa: patch the package via sane.programs, not nixpkgs overlay 2024-03-24 07:44:30 +00:00
7c461cee2f pkgs: remove gnome-control-center (unused) 2024-03-24 07:38:22 +00:00
47d37b4ce5 xdg-desktop-portal: enable logging 2024-03-24 07:19:33 +00:00
a1cc045837 waybar: update persistent_workspaces -> persistent-workspaces
the former is deprecated
2024-03-24 06:17:43 +00:00
72dd556b72 assorted: fix meta.homepage URLs for nur packages 2024-03-24 03:54:09 +00:00
ff9e1111b3 nixpkgs: 2024-03-22 -> 2024-03-23
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/5132e88bc7caad27f4cf28cbaa7b04c915e2c261' (2024-03-22)
  → 'github:nixos/nixpkgs/f4a0cee9233d6db356a0bdab307e865327a9b96b' (2024-03-23)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/e5d75daa715cbaee8b989f58884a31c0be00a8a0' (2024-03-22)
  → 'github:nixos/nixpkgs/499583c00280ed90686b058e38a68fc9be2f4c4c' (2024-03-23)
• Updated input 'nixpkgs-wayland':
    'github:nix-community/nixpkgs-wayland/61e42f8f6c9b0c2b557a4c978ea11874d3761083' (2024-03-22)
  → 'github:nix-community/nixpkgs-wayland/0d291a959d01bb5d2bd2e20689b78258fa842cca' (2024-03-23)
```
2024-03-23 21:49:57 +00:00
7f8cae42ff s6: migrate to /run/user/$id/s6 2024-03-23 21:33:08 +00:00
5b83d4d944 s6-rc: patch to use /run/user/$id/s6 as the default live dir 2024-03-23 20:52:42 +00:00
f16a68f5bb element-desktop: use native wayland, not Xwayland 2024-03-23 18:51:41 +00:00
6646a21089 nixpatches: fix handbrake hash 2024-03-23 18:02:45 +00:00
4bf43d884a nixpkgs: minor bump
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/86b5ff8306a63bb266590018b21d2ae502a74880' (2024-03-22)
  → 'github:nixos/nixpkgs/5132e88bc7caad27f4cf28cbaa7b04c915e2c261' (2024-03-22)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/6e147dce88054c47dd90c0be8c33500e023f8261' (2024-03-22)
  → 'github:nixos/nixpkgs/e5d75daa715cbaee8b989f58884a31c0be00a8a0' (2024-03-22)
• Updated input 'nixpkgs-wayland':
    'github:nix-community/nixpkgs-wayland/7d053c33b7a130ddada43ba09b089244390b3a23' (2024-03-19)
  → 'github:nix-community/nixpkgs-wayland/61e42f8f6c9b0c2b557a4c978ea11874d3761083' (2024-03-22)
```
2024-03-23 18:01:51 +00:00
46fe6c690b sway: fix WAYLAND_DISPLAY to be relative 2024-03-23 17:59:37 +00:00
dd7b1dae5f sway: remove unnecessary pidspace sandbox exception
i guess this was from when SWAYSOCK was named after the pid?
2024-03-23 17:35:39 +00:00
2e58353b0e refactor: users/services: have waitExists support waiting on multiple paths 2024-03-23 17:28:29 +00:00
f65d3d04dc sway: do the WAYLAND_DISPLAY moving inside sway config itself 2024-03-23 17:09:57 +00:00
6102a0301d sway: move $WAYLAND_DISPLAY into a subdir to make it easier to sandbox 2024-03-23 16:37:22 +00:00
39de5b84c2 sway: fix readiness check 2024-03-23 15:54:20 +00:00
5205251f6f programs: xwayland: sandbox it without exposing net access 2024-03-23 15:33:23 +00:00
8c48adefa5 pipewire: move sockets into a subdirectory for easier sandboxing 2024-03-23 13:34:13 +00:00
db2801c652 sway: don't launch s6 from within the sway session 2024-03-23 13:11:14 +00:00
4418c16967 users/services: s6: push bundle dependencies down onto the actual atomic services 2024-03-23 13:04:12 +00:00
8008fd35cb modules/users: allow readiness.pathExists 2024-03-23 13:03:11 +00:00
36ea5b53ad sway: place SWAYSOCK in a subdirectory 2024-03-23 11:33:58 +00:00
552d14b1b5 nixpatches: fix hashes 2024-03-23 09:29:34 +00:00
c404c8b2ae xdg-terminal-exec: fix bad interaction with TERMINAL 2024-03-23 09:28:26 +00:00
d129ae2c03 koreader-from-src: remove a bunch of old cruft
this is beginning to look upstream-ready :)
2024-03-22 20:16:33 +00:00
58341b75f2 koreader-from-src: popen-noshell,turbo: populate more directly 2024-03-22 20:05:22 +00:00
373388c5b8 koreader-from-src: mupdf: populate more directly 2024-03-22 19:54:13 +00:00
8d45aad534 xdg-dirs: populate env vars at login
otherwise i believe they dont actually take effect?
2024-03-22 19:31:04 +00:00
a783bc9577 koreader-from-src: minizip: populate in a simpler manner 2024-03-22 19:24:19 +00:00
267d374b19 xdg-dirs: specify XDG_SCREENSHOTS_DIR 2024-03-22 19:23:14 +00:00
e67ce7576b koreader-from-src: lunasvg: populate in a simpler way 2024-03-22 19:16:45 +00:00
ce770dbea9 koreader: lodepng: provide in a more direct manner 2024-03-22 18:59:17 +00:00
e7a65abd0b koreader-from-src: libk2pdfopt: populate in a more direct manner 2024-03-22 18:53:23 +00:00
702a6cc7fa koreader: kobo-usbms: link into build environment in a simpler fashion 2024-03-22 18:28:19 +00:00
f889543aa5 koreader-from-src: fbink: provide the sources more directly 2024-03-22 18:21:26 +00:00
98073f5e19 koreader-from-src: inject tesseract sources via make args 2024-03-22 17:58:41 +00:00
96c330813f xterm: remove
xdg-terminal-exec updated recently, and it seems to prefer xterm over alacritty for some reason
2024-03-22 17:28:26 +00:00
a6d9c62bcf lemonade: 2023.10.29 -> 2024.03.20
not much changed
2024-03-22 17:27:20 +00:00
8ff34d8518 koreader: migrate leptonica dep away from the sources hack
i hope that by using the makefile vars i can eventually get rid of the
"stamp" nonsense.
2024-03-22 17:16:19 +00:00
e11dd0ecb0 firefox-extensions: update to latest 2024-03-22 16:27:23 +00:00
3b6dfea2d0 koreader-from-src: notes about updating leptonica 2024-03-22 15:53:17 +00:00
22254db74c koreader-from-src: cleanup (remove unused "machineAgnostic" and "package" third-party dependency options) 2024-03-22 14:42:37 +00:00
a316c87db6 koreader-from-src: use nixpkgs nanosvg (or, most of it) 2024-03-22 14:29:23 +00:00
fe2fb40565 koreader-from-src: don't vendor lj-wpaclient (unused) 2024-03-22 13:40:09 +00:00
cd63fdb510 koreader: cleanup 2024-03-22 12:12:14 +00:00
1e25f37774 nixpkgs: 2024-03-21 -> 2024-03-22
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/33cddc79aa062e243c59d3ac36b8b938f267748a' (2024-03-21)
  → 'github:nixos/nixpkgs/86b5ff8306a63bb266590018b21d2ae502a74880' (2024-03-22)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/783b241f949bea90e3347ce516ad8af84bde3126' (2024-03-21)
  → 'github:nixos/nixpkgs/6e147dce88054c47dd90c0be8c33500e023f8261' (2024-03-22)
```
2024-03-22 11:56:51 +00:00
cdac23211c nixpkgs: 2024-03-13 -> 2024-03-21; others
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/4ee0840ba2ecc50458ab1677d108afcd691f4815' (2024-03-13)
  → 'github:nixos/nixpkgs/33cddc79aa062e243c59d3ac36b8b938f267748a' (2024-03-21)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/2dbc8f62d8af7a1ab962e4b20d12b25ddcb86ced' (2024-03-13)
  → 'github:nixos/nixpkgs/783b241f949bea90e3347ce516ad8af84bde3126' (2024-03-21)
• Updated input 'nixpkgs-wayland':
    'github:nix-community/nixpkgs-wayland/771cb198c281db6918829651f194bf4db32e342d' (2024-03-13)
  → 'github:nix-community/nixpkgs-wayland/7d053c33b7a130ddada43ba09b089244390b3a23' (2024-03-19)
• Updated input 'nixpkgs-wayland/lib-aggregate':
    'github:nix-community/lib-aggregate/45b75bf534592c0c1c881a1c447f7fdb37a87eaf' (2024-03-11)
  → 'github:nix-community/lib-aggregate/f890211817b941d9ed9de48d62ba8553fa2c20f3' (2024-03-17)
• Updated input 'nixpkgs-wayland/lib-aggregate/nixpkgs-lib':
    'github:nix-community/nixpkgs.lib/630ebdc047ca96d8126e16bb664c7730dc52f6e6' (2024-03-10)
  → 'github:nix-community/nixpkgs.lib/fa827dda806c5aa98f454da4c567991ab8ce422c' (2024-03-17)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/e52d8117b330f690382f1d16d81ae43daeb4b880' (2024-03-11)
  → 'github:Mic92/sops-nix/83b68a0e8c94b72cdd0a6e547a14ca7eb1c03616' (2024-03-17)
• Updated input 'sops-nix/nixpkgs-stable':
    'github:NixOS/nixpkgs/b17375d3bb7c79ffc52f3538028b2ec06eb79ef8' (2024-03-10)
  → 'github:NixOS/nixpkgs/6dc11d9859d6a18ab0c5e5829a5b8e4810658de3' (2024-03-16)
• Updated input 'uninsane-dot-org':
    'git+https://git.uninsane.org/colin/uninsane?ref=refs/heads/master&rev=bb10cd8853d05191e4d62947d93687c462e92c30' (2024-02-15)
  → 'git+https://git.uninsane.org/colin/uninsane?ref=refs/heads/master&rev=9a3b2d74c3e6d177fd1317d03f4e3eecca7beb7b' (2024-03-19)
```
2024-03-21 18:03:37 +00:00
e6c00e6215 users/services: implement dbus readiness checks for s6-rc 2024-03-21 17:16:11 +00:00
fff9d69e3e users/services: s6-rc: implement readiness polling 2024-03-21 17:16:11 +00:00
4fa7e6113d users/services: s6: exec into the run/finish commands 2024-03-21 17:16:11 +00:00
16ca71188f users/services: simplify the before/after/wantedBy criteria, to match s6 concepts 2024-03-21 17:16:11 +00:00
c5c37e79ac users/services: actually remove the systemd backend 2024-03-21 17:16:11 +00:00
d2f6648bce users/services: refactor: replace ExecStart/ExecStopPost with command/cleanupCommand
note that this completely breaks the systemd backend (though easily fixable if wanted)
2024-03-21 17:16:11 +00:00
5c9c7f8073 modules/users/s6-rc: add per-service logging 2024-03-21 17:16:11 +00:00
218072b2fe refactor: modules/users/s6-rc.nix 2024-03-21 17:16:11 +00:00
d4f217a4f5 refactor: modules/users/s6-rc.nix 2024-03-21 17:16:11 +00:00
40f6f88a64 users/services: s6: remove broken log stuff
apparently the /log shorthand is only applicable to base `s6-supervise`,
and not `s6-rc`. "pipeline"s are the s6-rc equivalent:
<https://wiki.gentoo.org/wiki/S6-rc#Longrun_pipelining>
2024-03-21 17:16:11 +00:00
fbbb09322a users/services: s6-rc: support ExecStopPost option 2024-03-21 17:16:11 +00:00
e7153ce4a1 users/services: remove ExecStartPre option 2024-03-21 17:16:11 +00:00
b13e7c38c7 users/services: remove script option 2024-03-21 17:16:11 +00:00
058c95bb2c sysvol: remove autostart option (assume true) 2024-03-21 17:16:11 +00:00
9b793ef4b8 programs: services: no need to fully-qualify paths anymore (s6 doesn't require) 2024-03-21 17:16:11 +00:00
1417497001 users/services: remove serviceConfig.Type option 2024-03-21 17:16:11 +00:00
db12e03f64 users/services: remove oneshot service type 2024-03-21 17:16:11 +00:00
dee4866737 users/services: remove ConditionEnvironment option 2024-03-21 17:16:11 +00:00
81a6c53c26 users/services: remove RemainAfterExit option 2024-03-21 17:16:11 +00:00
9afd9725d1 users: services: remove no-longer-needed Restart and RestartSec options 2024-03-21 17:16:11 +00:00
384bc9e816 xdg-desktop-portal: fix to not over-escape $HOME in s6 service definition 2024-03-21 17:16:11 +00:00
452619dbfc s6: log when a service starts up
it still seems to be all logging into a single file though?
2024-03-21 17:16:11 +00:00
6c6e10e470 s6: install manpages 2024-03-21 17:16:11 +00:00
dcdf58e1ab sway: simplify wrapper 2024-03-21 17:16:11 +00:00
48b2280f2e feedbackd: fix over-escaping of $HOME 2024-03-21 17:16:11 +00:00
8bedc860ae s6: add some minimal logging
the root s6 call seems to be doing some logging, notably feedbackd; still don't know where the other logs are going
2024-03-21 17:16:11 +00:00
cbecdc4a95 s6: use exec in the run trampoline, to forward file descriptors and keep a cleaner process tree 2024-03-21 17:16:11 +00:00
e1001f57c5 modules/users: remove no-longer-need environment option 2024-03-21 17:16:11 +00:00
291e704477 programs: replace systemd-specific 'environment' option with generic 'env'
note, these services no longer work with systemd, because systemd expects absolute paths
2024-03-21 17:16:11 +00:00
d199e9df99 programs: wob (and wob-audio): remove
i don't use it, and its service file was no longer compatible with s6 (it used 'environment')
2024-03-21 17:16:11 +00:00
2336767059 port service manager to s6
still a lot of cleanup to do (e.g. support dbus service types), but it boots to a usable desktop
2024-03-21 17:16:11 +00:00
63af94383b sane-input-handler: only inhibit controls if screen is on 2024-03-21 17:16:11 +00:00
05b37669e3 s6-rc: fix service run file to have expected format 2024-03-21 17:16:11 +00:00
ea9768c6ab modules/users: prototype s6 integration: ~/.config/s6/{sources,compiled} 2024-03-21 17:16:11 +00:00
38353dbc29 modules/users: remove unused requiredBy service option 2024-03-21 17:16:11 +00:00
ef4a8e1989 modules: users: split services -> fs mapping into own systemd.nix file 2024-03-21 17:16:11 +00:00
acc9a9cb48 modules/users: make it a directory 2024-03-21 17:16:11 +00:00
0335b89a12 fractal: stop persisting old directories 2024-03-21 17:16:01 +00:00
0a6b0cbec7 gtkcord4: rename to dissent 2024-03-21 17:16:01 +00:00
df2310d590 gnome-keyring: ensure the keyring directory is created before entering the sandbox 2024-03-21 17:16:01 +00:00
70b5c57b50 modules/programs: enforce (or rather document) a stricter schema
this should make it easier to switch to a different service manager
2024-03-21 17:16:01 +00:00
c28ac38652 modules/users: refactor to remove inherits 2024-03-21 17:16:01 +00:00
52133fde30 delfin: 0.4.1 -> 0.4.2 2024-03-21 13:51:46 +00:00
098cd2051e sftpgo: expose to the WAN 2024-03-14 13:11:44 +00:00
691a7d7ff7 sftpgo: configure for credential-gated r/w access 2024-03-14 13:11:44 +00:00
c7c2785ad8 sftpgo_external_auth_hook: refactor 2024-03-14 13:11:44 +00:00
4c1a7fc910 sftpgo: port auth program to python 2024-03-14 13:11:44 +00:00
3c43fba878 feeds: add NativLang per Ben's rec 2024-03-14 07:53:19 +00:00
7904957544 give self cap_sys_nice 2024-03-14 07:02:57 +00:00
b25df1d997 sane-sandboxed: fix capabilities example 2024-03-14 01:36:46 +00:00
d08f318e4b pmos: move to correct section 2024-03-13 23:51:24 +00:00
f655c31d77 Merge branch 'dev' 2024-03-13 23:48:48 +00:00
288d57e5d5 feeds: subscribe to pmOS blog 2024-03-13 23:20:45 +00:00
f669f2bfe8 procmail: merged into staging-next 2024-03-13 23:12:37 +00:00
5554ad9fe2 nixpkgs: 2024-03-12 -> 2024-03-13
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/2e2cc05898bbe54a8004801ea300525b231d24e2' (2024-03-12)
  → 'github:nixos/nixpkgs/4ee0840ba2ecc50458ab1677d108afcd691f4815' (2024-03-13)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/21adc4f16a8ab151fec83b9d9368cd62d9de86bc' (2024-03-12)
  → 'github:nixos/nixpkgs/2dbc8f62d8af7a1ab962e4b20d12b25ddcb86ced' (2024-03-13)
• Updated input 'nixpkgs-wayland':
    'github:nix-community/nixpkgs-wayland/0f9388d3a9daa597ad87b870de236fb45e24ba63' (2024-03-12)
  → 'github:nix-community/nixpkgs-wayland/771cb198c281db6918829651f194bf4db32e342d' (2024-03-13)
```
2024-03-13 15:37:50 +00:00
6595d177be gimp: fix sandboxing 2024-03-13 11:36:57 +00:00
d194abb4bf swaync: stylize the actual notifications 2024-03-13 11:29:05 +00:00
eaf45e2366 swaync: re-theme (pink/black) 2024-03-13 11:07:17 +00:00
66e04857b6 swaync: fix dimensions to be compatible with pinephone 2024-03-13 08:29:23 +00:00
fa0dcdc5be swaync: splie style.css out to own file 2024-03-13 08:18:34 +00:00
23b87a283a swaync: move to own directory 2024-03-13 08:17:14 +00:00
849ca59f68 swaync: fix styling of toggle buttons 2024-03-13 08:16:47 +00:00
5e1a6062af swaync: ensure it starts *after* pipewire-pulse so that the mpris plugin can function 2024-03-13 07:53:45 +00:00
8dacb93861 fontconfig: remove no-longer-needed cache; disable Font Awesome (emoji seem well-covered by Noto Color Emoji) 2024-03-13 05:28:57 +00:00
eafabe87c4 xdg-desktop-portal: tell systemd the BusName of the service so that it won't consider it started until after said bus name is acquired
this partially fixes an error in sandboxed gtk apps where they would try to connect to org.freedesktop.portal to query settings, and then fall back to bad default fonts when the endpoint errored (because xdp-gtk wasn't ready)
2024-03-13 05:27:43 +00:00
4510352c07 sane-sandboxed: implement --sane-sandbox-no-portal flag 2024-03-13 04:49:48 +00:00
430592632c sane-sandboxed: add a help message 2024-03-13 04:49:48 +00:00
ac22b36d78 dconf: invoke it ourselves instead of letting dbus do it for us 2024-03-13 04:49:48 +00:00
4439491bf0 dconf: fix over-restrictive sandboxing (because previously it was being run unsandboxed...) 2024-03-13 04:49:48 +00:00
56aca78d84 make-sandboxed: also sandbox the .lib output of a package 2024-03-13 04:49:48 +00:00
546482dc80 dconf: disable GIO_EXTRA_MODULES patch 2024-03-13 02:41:39 +00:00
2f07fff084 dconf: migrate to sane.programs 2024-03-13 02:33:02 +00:00
294563c655 dbus: fix to only search /run/current-system/sw/share/dbus-1 for service files 2024-03-13 02:04:02 +00:00
f6c3557b8c nixpkgs: 2024-03-11 -> 2024-03-12
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/ec7a981885b5ede88eabf9bb3516706107de00b2' (2024-03-11)
  → 'github:nixos/nixpkgs/2e2cc05898bbe54a8004801ea300525b231d24e2' (2024-03-12)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/0fbcc4b2e8571f4af39be41752581ea09dd9ab06' (2024-03-11)
  → 'github:nixos/nixpkgs/21adc4f16a8ab151fec83b9d9368cd62d9de86bc' (2024-03-12)
• Updated input 'nixpkgs-wayland':
    'github:nix-community/nixpkgs-wayland/27a56d7435094f141bf5adfe9cfe155932597935' (2024-03-11)
  → 'github:nix-community/nixpkgs-wayland/0f9388d3a9daa597ad87b870de236fb45e24ba63' (2024-03-12)
• Updated input 'nixpkgs-wayland/lib-aggregate':
    'github:nix-community/lib-aggregate/b8a148b163687c9be602b63c6b0b7bc81eecb015' (2024-03-10)
  → 'github:nix-community/lib-aggregate/45b75bf534592c0c1c881a1c447f7fdb37a87eaf' (2024-03-11)
• Updated input 'nixpkgs-wayland/lib-aggregate/flake-utils':
    'github:numtide/flake-utils/d465f4819400de7c8d874d50b982301f28a84605' (2024-02-28)
  → 'github:numtide/flake-utils/b1d9ab70662946ef0850d488da1c9019f3a9752a' (2024-03-11)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/f8d5c8baa83fe620a28c0db633be9db3e34474b4' (2024-03-10)
  → 'github:Mic92/sops-nix/e52d8117b330f690382f1d16d81ae43daeb4b880' (2024-03-11)
```
2024-03-12 12:46:24 +00:00
7513811111 blast: minor cleanups 2024-03-12 12:06:57 +00:00
eabd113262 mpv: blast: shut it down properly even when sandboxed
it only cost everything. also, blast doesnt reliably clean up its pseudo devices
2024-03-12 11:51:15 +00:00
01fa9919fd mpv: route casting through a lua script
this lets me use `subcprocess` instead of `run`, and so the command terminate alongside mpv
2024-03-12 05:01:45 +00:00
56a2c4e49f mpv: split conf files out of main nix code 2024-03-12 03:32:07 +00:00
bf953fbdb5 mpv: move to own dir 2024-03-12 03:27:20 +00:00
4f2d0f2e56 mpv: tune uosc options 2024-03-12 03:05:56 +00:00
500c989e61 nixpkgs: 2024-03-10 -> 2024-03-11
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/85e4390bb2db2543b65a61a6fb601819ba331399' (2024-03-10)
  → 'github:nixos/nixpkgs/ec7a981885b5ede88eabf9bb3516706107de00b2' (2024-03-11)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/c916d4cbac62b2d8b70a3940d3471dbd0c57d2f4' (2024-03-10)
  → 'github:nixos/nixpkgs/0fbcc4b2e8571f4af39be41752581ea09dd9ab06' (2024-03-11)
• Updated input 'nixpkgs-wayland':
    'github:nix-community/nixpkgs-wayland/8af78a7dfb3a2041235c116cc9cc92f5a6d3a20c' (2024-03-11)
  → 'github:nix-community/nixpkgs-wayland/27a56d7435094f141bf5adfe9cfe155932597935' (2024-03-11)
```
2024-03-11 12:23:03 +00:00
08ee0375cc mpv: blast-to-default: remove unnecessary xdg-terminal-exec indirection 2024-03-11 12:07:08 +00:00
afd1a42ec7 mpv: refer to xdg-terminal-exec by name, not full path 2024-03-11 11:56:53 +00:00
21691fc2fd mpv: add a menu option to cast just the audio, via Blast 2024-03-11 11:43:53 +00:00
c1edf96ce0 blast-ugjka: introduce a helper blast-to-default program 2024-03-11 11:43:29 +00:00
21714849cf sway: get Celeste to run in fullscreen again 2024-03-11 08:04:21 +00:00
379f3ef9e0 zsh: deref alias: make the result writable 2024-03-11 08:01:27 +00:00
c07c23a9f8 ibus: remove cross patches (i don't use the package anymore) 2024-03-11 07:55:53 +00:00
f44a4c84ee moby: don't ship fcitx5 (doesn't cross compile) 2024-03-11 07:54:49 +00:00
6822dad9c0 splatmoji: remove from config 2024-03-11 07:53:48 +00:00
9f8e42ef92 fcitx5: enable 2024-03-11 07:44:21 +00:00
bda374db13 sway: ship the nightly version 2024-03-11 05:53:14 +00:00
180a217744 cleanup: remove unnecessary config = { ... } scope 2024-03-11 04:31:11 +00:00
f13ece2212 sway: tune resize more shortcuts; enable natural scrolling 2024-03-11 04:30:28 +00:00
00ab28fcac delfin: 0.4.0 -> 0.4.1 2024-03-11 00:13:13 +00:00
bb18f7355a firefox-extensions: update to latest 2024-03-11 00:00:49 +00:00
0905a658ad rofi: cherry-pick my patches instead of pinning to a fork
wayland upstream released 1.7.5+wayland3, which is compatible with my patches
2024-03-10 23:43:34 +00:00
90b9d00f37 swaync: remove mpris icon patch (upstreamed) 2024-03-10 23:16:33 +00:00
40effc08d6 fractal-nixified: 6 -> 6-unstable-2024-01-31
brings ability to enable/disable read and typing receipts
2024-03-10 23:15:02 +00:00
73a2c9d923 nixpkgs: update ~10hrs to remove now-upstreamed conky patch
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/32f638e62d638c9a0011c0162ed1be4a13d00ea9' (2024-03-10)
  → 'github:nixos/nixpkgs/85e4390bb2db2543b65a61a6fb601819ba331399' (2024-03-10)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/9fc2bd0eef6d2651638656c82fbe0b7a40478c3b' (2024-03-10)
  → 'github:nixos/nixpkgs/c916d4cbac62b2d8b70a3940d3471dbd0c57d2f4' (2024-03-10)
```
2024-03-10 22:31:33 +00:00
d93380938d nixpkgs: 2024-03-09 -> 2024-03-10; sops-nix -> 2024-03-10
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/8baf388f460b92102ea1a8e2ece55f1f1260fbfa' (2024-03-09)
  → 'github:nixos/nixpkgs/32f638e62d638c9a0011c0162ed1be4a13d00ea9' (2024-03-10)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/52d9c7906c26317adc3524d44bdd98b953e20ba1' (2024-03-09)
  → 'github:nixos/nixpkgs/9fc2bd0eef6d2651638656c82fbe0b7a40478c3b' (2024-03-10)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/25dd60fdd08fcacee2567a26ba6b91fe098941dc' (2024-03-06)
  → 'github:Mic92/sops-nix/f8d5c8baa83fe620a28c0db633be9db3e34474b4' (2024-03-10)
• Updated input 'sops-nix/nixpkgs-stable':
    'github:NixOS/nixpkgs/66d65cb00b82ffa04ee03347595aa20e41fe3555' (2024-03-03)
  → 'github:NixOS/nixpkgs/b17375d3bb7c79ffc52f3538028b2ec06eb79ef8' (2024-03-10)
```
2024-03-10 13:36:58 +00:00
573a50fedc doc: pipewire: mention some debug env vars 2024-03-10 04:59:51 +00:00
f8797a77ff blast: ship it!
TODO: integrate into mpv :)
2024-03-10 04:09:34 +00:00
92115709f6 blast-ugjka: init at 0.6.2
it works! at least, with the Sony TV, LG TV is detected but might need some finessing
2024-03-10 02:35:10 +00:00
e6111c9d5e firefox: hide the bookmarks menuabar 2024-03-10 01:59:46 +00:00
975df698a4 pa-dlna: init at 0.7
it detects my TVs and adds them as sinks, but i can't the TVs to actually output anything
2024-03-10 01:55:29 +00:00
ce8c4a4f6f remove dead binfmt code 2024-03-10 01:05:33 +00:00
df33576090 todo.md: remove completed xdg-desktop-portal item 2024-03-10 01:03:23 +00:00
4d6eb705eb mpv: link to some useful extensions 2024-03-10 01:02:54 +00:00
fd70b6acbf rofi: tune maximum height 2024-03-09 23:34:43 +00:00
1d3576b892 sxmo-utils: mark as broken/unmaintained 2024-03-09 21:09:32 +00:00
30d49dc3c3 feeds: update Anish's URL 2024-03-09 20:51:15 +00:00
8e0031e770 feeds: update Byrne Hobart's feed URL 2024-03-09 20:49:01 +00:00
7a50fcf566 feeds: unsubscribe webcurious.co.uk (defunct) 2024-03-09 20:46:08 +00:00
c453dbac8e lwn.net: update feed URL 2024-03-09 20:42:03 +00:00
053b8cf737 nixpkgs: 2024-03-08 -> 2024-03-09
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/f391672e1727b933cf6933154817fe236c6f84c7' (2024-03-08)
  → 'github:nixos/nixpkgs/8baf388f460b92102ea1a8e2ece55f1f1260fbfa' (2024-03-09)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/baf89057836e5f9928696526b85774ea529c749d' (2024-03-08)
  → 'github:nixos/nixpkgs/52d9c7906c26317adc3524d44bdd98b953e20ba1' (2024-03-09)
```
2024-03-09 08:54:18 +00:00
8af962c3a6 mpv: auto-populate internal playlist with other files in the same directory, on launch
so now i can listen to whole albums by opening any file from within them.
and for shows the next episode will automatically launch.
2024-03-09 03:02:09 +00:00
9ea39799a5 zsh: fix c alias 2024-03-09 03:01:37 +00:00
e695459b40 geary-gtk4: init (broken!) 2024-03-09 00:58:44 +00:00
f2e760710d sysvol: tune its position 2024-03-08 23:06:37 +00:00
dc70ed8bd8 pipewire: wait for sockets to appear before considering it active
this fixes race around consumers like sysvol starting too early
2024-03-08 22:44:59 +00:00
b41c249830 disable vlc
i don't use it; it forces a bunch of extra qt builds
2024-03-08 18:53:25 +00:00
8f986e4616 nixpkgs: 2024-03-07 -> 2024-03-08
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/5e0cda94371075bead6d953e8a60a717ec022524' (2024-03-07)
  → 'github:nixos/nixpkgs/f391672e1727b933cf6933154817fe236c6f84c7' (2024-03-08)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/90714b18a06ddad90159cc312814f1871509e10e' (2024-03-07)
  → 'github:nixos/nixpkgs/baf89057836e5f9928696526b85774ea529c749d' (2024-03-08)
```
2024-03-08 13:15:25 +00:00
2b73ebb4c1 sysvol: don't start until after pipewire is ready 2024-03-08 12:55:33 +00:00
bffcaa668e sysvol: wrap with required gtk4 environment variables 2024-03-08 12:54:41 +00:00
ebb037bd48 sysvol: fix cross compilation 2024-03-08 12:25:32 +00:00
df98ef30e0 sysvol: integrate as a service (sane.programs) 2024-03-08 11:53:13 +00:00
e45d4d6ae7 sysvol: init at 0-unstable-2024-02-08 2024-03-08 10:10:50 +00:00
f3568b3ffc sway: port volume controls: pulse -> pipewire 2024-03-08 09:56:15 +00:00
9eaf4d71b2 sway: use simpler assign notation where applicable 2024-03-08 09:53:07 +00:00
3200188a32 sway: factor/generalize the TV workspace/output assignment 2024-03-08 09:50:35 +00:00
a4ab60b836 sway: auto-fullscreen everything on the TV 2024-03-08 09:42:07 +00:00
3282b40e9b doc: sway: consider how to auto-fullscreen mpv on external display 2024-03-08 09:31:08 +00:00
39411164af zsh: add deref function to turn a symlink into a real file 2024-03-08 08:50:28 +00:00
c0a94995a5 docs: note limitations of schlock 2024-03-08 08:16:11 +00:00
f4b5d3a70a sway: position certain apps (mpv, Celeste) on external displays by default 2024-03-08 06:27:16 +00:00
07373b5e6b sway: configure TV output 2024-03-08 06:23:33 +00:00
7281b94e23 deadd-notification-center: add to sane.programs
this is the bare, nearly-default config. i may come back to this,
or explore fixing swaync up into shape. deadd looks possibly a bit more
limited; needs much more effort to style.
2024-03-08 04:06:18 +00:00
0e83742096 sway: allow config reloading 2024-03-08 03:44:33 +00:00
7d8205352c moby: use screen scale of 2.0 in portrait AND landscape 2024-03-08 02:21:47 +00:00
c4994162e1 mpv: fix go2tv sandbox interaction 2024-03-08 02:06:23 +00:00
24a211bd3d sane-input-handler: remove keyboard launch fallback
it'll never work, because of sandboxing
2024-03-08 01:18:39 +00:00
3cf651b212 nixpkgs: 2024-03-06 -> 2024-03-07
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/09c267dae0dae6585ddbc98bd2301bd8153ac177' (2024-03-06)
  → 'github:nixos/nixpkgs/5e0cda94371075bead6d953e8a60a717ec022524' (2024-03-07)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/a85303aef29c6a9000a259ed21c9c14a1aa3859e' (2024-03-06)
  → 'github:nixos/nixpkgs/90714b18a06ddad90159cc312814f1871509e10e' (2024-03-07)
```
2024-03-08 01:12:05 +00:00
cb1c76a0db wvkbd-mk: init 2024-03-08 01:06:13 +00:00
27c12edec0 wvkbd: change default key border 2 -> 1 px
since moby is scaled 2x, it's actually 2 px *in practice*
2024-03-08 00:45:45 +00:00
b41320ffb3 megapixels: fix sandbox-related crash 2024-03-08 00:16:29 +00:00
ac41cfcd42 wvkbd: tune height (by guess) 2024-03-08 00:01:23 +00:00
62cbc65f12 epiphany: fix sandboxing 2024-03-07 23:24:33 +00:00
ccb856faf5 sane-input-handler: power -> vol to rotate display 2024-03-07 23:22:07 +00:00
d7f4438371 nixpatches: update procmail cross hash 2024-03-07 23:21:38 +00:00
f44c3f2e1f moby: auto-screenoff: bump timeout from 150s -> 300s 2024-03-07 23:14:03 +00:00
bb300a4eb5 swayidle: dont enable screenoff action by default 2024-03-07 11:18:34 +00:00
fd4842ab5b swayidle: auto screenoff 2024-03-07 10:59:44 +00:00
1cdc3b8bda moby: enable schlock screen locker 2024-03-07 10:37:18 +00:00
531ea11b3d schlock: fix cross build 2024-03-07 10:36:51 +00:00
041ce0654e schlock: sandbox + auto-launch via .desktop file 2024-03-07 10:32:40 +00:00
526a02bb73 schlock: ship a .desktop file 2024-03-07 10:25:41 +00:00
1d0458ab10 schlock: ship as sane.programs 2024-03-07 10:10:39 +00:00
4358f9471e schlock: init
it works! super jank; doesn't accept keyboard input, fails-open on
crash.
2024-03-07 09:36:53 +00:00
cb3a1fb3fe swaylock-mobile: init (i won't likely use it though) 2024-03-07 01:42:43 +00:00
72d52f9239 sxmo_swaylock: init at unstable-2023-04-26 (but i won't likely use it) 2024-03-07 01:34:53 +00:00
219fe67f34 systemd: reduce shutdown timeout from "20" to "10" sec (40s IRL) 2024-03-07 01:01:06 +00:00
b36d224b85 swaylock-plugin: init (but i likely won't be using it) 2024-03-07 01:00:44 +00:00
90e3c33536 feeds: subscribe to slatecave.net 2024-03-06 22:40:57 +00:00
a9419b7351 swayidle: sandbox 2024-03-06 21:33:11 +00:00
f0d0343b32 sway: lappy: fix output name 2024-03-06 21:18:43 +00:00
bd27f3a015 swayidle: enable; pair with swaylock 2024-03-06 20:55:01 +00:00
6a3e632335 sway: remove config for old external displays i no longer use 2024-03-06 19:03:13 +00:00
a4c4b0575c sway: map touch inputs to their correct display 2024-03-06 19:02:23 +00:00
4730a65008 nixpkgs: 2024-03-05 -> 2024-03-06
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/16bca48d251761297746d5bb7b9e47a3c6564c5a' (2024-03-05)
  → 'github:nixos/nixpkgs/09c267dae0dae6585ddbc98bd2301bd8153ac177' (2024-03-06)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/b3ed737064bc4cc0312081b6937fa2bb48d62afa' (2024-03-05)
  → 'github:nixos/nixpkgs/a85303aef29c6a9000a259ed21c9c14a1aa3859e' (2024-03-06)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/291aad29b59ceda517a06e59809f35cb0bb17c6b' (2024-03-04)
  → 'github:Mic92/sops-nix/25dd60fdd08fcacee2567a26ba6b91fe098941dc' (2024-03-06)
```
2024-03-06 09:54:23 +00:00
63d95edcbe zsh: fix c alias 2024-03-06 09:47:33 +00:00
687e72897b xdg-desktop-portal: don't always prompt the user for how to open every file 2024-03-06 06:25:36 +00:00
0e84744115 todo.md: xdg-desktop-portal improvements 2024-03-06 06:25:14 +00:00
1ee38d3aec todo.md: remove completed items 2024-03-06 05:28:18 +00:00
5f4e421ab9 sane-wipe: fix sandboxing 2024-03-06 05:11:24 +00:00
471339d237 hosts (all): remove sxmo-related polyfills 2024-03-06 05:07:30 +00:00
085232f18c wvkbd: configure layers 2024-03-06 05:07:30 +00:00
18c7fc17fd alacritty: configure font size per-host 2024-03-06 05:07:30 +00:00
a7567dfbe6 ship celeste64 2024-03-06 04:56:39 +00:00
bc0660b623 PDF viewer: evince -> zathura 2024-03-06 04:51:01 +00:00
cf86b4a67c xterm: move to pcGuiApps 2024-03-06 04:38:05 +00:00
d39bed46b5 rofi: allow access to Books 2024-03-06 01:39:48 +00:00
525450e21a fix backlight persistence 2024-03-06 00:58:11 +00:00
a4ee820921 /var/lib/colord: don't persist
files haven't changed in over a year; i assume it's legacy
2024-03-05 23:53:41 +00:00
4b5d6b16e1 alacritty: ignore media keys 2024-03-05 23:25:31 +00:00
41a141dba6 servo: disable navidrome 2024-03-05 18:48:25 +00:00
d5811f142d notifyActive activation script -> apply only to GUI systems
else i get warnings on every servo activation
2024-03-05 18:46:43 +00:00
4d6d79cc81 servo: /var/lib/uninsane/media -> /var/media 2024-03-05 18:44:30 +00:00
53d76920e4 servo: persist more specifically the /var/lib/uninsane/media directory 2024-03-05 18:39:23 +00:00
db892273ac nixpatches: fix imagemagick cross fix hash 2024-03-05 18:37:09 +00:00
65e206afde nixpkgs: 2024-03-04 -> 2024-03-05
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/1a3380fec6e3c2d539e58c4be6a4a094d7d14aea' (2024-03-04)
  → 'github:nixos/nixpkgs/16bca48d251761297746d5bb7b9e47a3c6564c5a' (2024-03-05)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/4c0862ebf8e474315767c5210c3d0a336625f318' (2024-03-04)
  → 'github:nixos/nixpkgs/b3ed737064bc4cc0312081b6937fa2bb48d62afa' (2024-03-05)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/075df9d85ee70cfb53e598058045e1738f05e273' (2024-03-03)
  → 'github:Mic92/sops-nix/291aad29b59ceda517a06e59809f35cb0bb17c6b' (2024-03-04)
```
2024-03-05 10:09:39 +00:00
6765fe8d7d wob: rename sxmo.wobsock -> wob.sock 2024-03-05 10:00:45 +00:00
955119e07b wob-audio: fix, by finishing the port to pipewire
also rewrote it in Python because bash can't do floating point math
2024-03-05 09:32:37 +00:00
daddf9314a gpodder: fix .desktop file(s) 2024-03-05 02:58:21 +00:00
e59123fd62 cozy: fix patch hash 2024-03-05 02:58:14 +00:00
d43cc6c61c alsa-ucm-conf: fold the Pinephone patches into sane.programs.alsa-ucm-conf & distribute to all hosts 2024-03-05 00:28:07 +00:00
a8bc77d40c nixpkgs sourceInfo patching: move to nixpatches/
previously i was using the sourceInfo of the flake, which is kinda wrong: and it would force a _new_ nixpkgs for every time i commit to my own repo -- not just when i bump it
2024-03-05 00:06:08 +00:00
dfc768e2e6 flake: place builds strictly in build/ directory 2024-03-04 23:47:31 +00:00
3544b4b132 nixpkgs: 2024-03-03 -> 2024-03-04
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/6a2985393fcc1dfabc6d36af148ca761a807e002' (2024-03-03)
  → 'github:nixos/nixpkgs/1a3380fec6e3c2d539e58c4be6a4a094d7d14aea' (2024-03-04)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/286977c08ddf540b4c6bebd8cd96fe30070bcb46' (2024-03-03)
  → 'github:nixos/nixpkgs/4c0862ebf8e474315767c5210c3d0a336625f318' (2024-03-04)
```
2024-03-04 09:41:23 +00:00
c86afca795 cozy: patch via sane.programs, not overlay 2024-03-04 09:26:25 +00:00
5f3ef37050 cozy: 1.2.1 -> 1.3.0 2024-03-04 08:57:52 +00:00
3b8252fe43 delfin: doc improvements 2024-03-04 08:28:50 +00:00
1e6e4d2644 cozy: doc improvements 2024-03-04 08:28:35 +00:00
60c447b6c4 signal-desktop: 6.44.0 -> 7.0.0 2024-03-04 08:26:59 +00:00
4fc2ffef56 koreader-from-src: 2024.01 -> 2024.03 2024-03-04 08:19:41 +00:00
9416ef1ff6 firefox-extensions: update 2024-03-04 08:18:48 +00:00
b1dff9bfa8 steam: fix controllers to work in the sandbox 2024-03-03 20:03:20 +00:00
0003acc091 nixpkgs: 2024-03-02 -> 2024-03-03
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/aefac840b87e8e0ab658fa5080539e292ad8a9ba' (2024-03-02)
  → 'github:nixos/nixpkgs/6a2985393fcc1dfabc6d36af148ca761a807e002' (2024-03-03)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/df41961bd4b7e838cb997543ea1297f4cbd7da15' (2024-03-02)
  → 'github:nixos/nixpkgs/286977c08ddf540b4c6bebd8cd96fe30070bcb46' (2024-03-03)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/a1c8de14f60924fafe13aea66b46157f0150f4cf' (2024-02-26)
  → 'github:Mic92/sops-nix/075df9d85ee70cfb53e598058045e1738f05e273' (2024-03-03)
• Updated input 'sops-nix/nixpkgs-stable':
    'github:NixOS/nixpkgs/89a2a12e6c8c6a56c72eb3589982c8e2f89c70ea' (2024-02-25)
  → 'github:NixOS/nixpkgs/66d65cb00b82ffa04ee03347595aa20e41fe3555' (2024-03-03)
```
2024-03-03 10:11:16 +00:00
0630037f86 steam: sandbox
controllers are untested, probably need to be added; graphics and sound work fine
2024-03-03 10:10:14 +00:00
9513680538 sway: enable net access in the sandbox (for Xwayland) 2024-03-03 10:09:29 +00:00
0affeb098a rofi: optimize sizing 2024-03-03 07:36:33 +00:00
979d07d693 wob: port pulseaudio -> pipewire 2024-03-03 07:22:03 +00:00
fd072883dc sane-input-handler: port pulseaudio -> pipewire native 2024-03-03 07:13:23 +00:00
ed87792f9b sed: sandbox 2024-03-03 07:06:00 +00:00
8821b3ca7d procps: sandbox 2024-03-03 06:55:17 +00:00
5e5a1fbaae rofi: allow to use more space on moby when keyboard is active 2024-03-03 04:46:12 +00:00
d2f470dc74 wvkbd: sandbox 2024-03-03 04:44:23 +00:00
7933ef41a2 unl0kr: simplify this code 2024-03-03 04:43:44 +00:00
6b45589e54 wireplumber: ensure ALSA_UCM_CONF2 env var is on PATH
this is critical for pipewire/wireplumber to work on moby
2024-03-03 04:43:11 +00:00
b04357c9de nix.conf: dont ship NIX_PATH for light deploys
it's like 150 MiB
2024-03-03 03:53:13 +00:00
4b04cbc078 mpv: couple app volume to system volume 2024-03-03 03:22:28 +00:00
1498e364b2 doc: mimeo: mention jaro as alternative 2024-03-03 03:16:10 +00:00
0aaa3eaaeb mpv: remove legacy vo=wlshim hack 2024-03-02 23:46:52 +00:00
3ac6b92c18 /etc/nix/registry.json: don't generate for -light builds (it links back to src) 2024-03-02 23:42:58 +00:00
c747855810 bonsai: sandbox 2024-03-02 22:34:38 +00:00
711865018d /etc/nixos: don't link on '*-light' builds 2024-03-02 22:13:04 +00:00
f33fcc2018 nixpatches: update hashes 2024-03-02 21:23:44 +00:00
96ec0106ee sane-input-handler: leverage sane-open-desktop instead of making direct gdbus calls 2024-03-02 21:20:47 +00:00
0c4d7761d3 sane-input-handler: sandbox 2024-03-02 21:20:47 +00:00
fe10640821 wob-pulse: sandbox 2024-03-02 20:57:44 +00:00
1f208083be mpvScripts.uosc: 5.1.1 -> 5.2.0 2024-03-02 20:39:04 +00:00
6ec3126321 moby: fix display driver reload check to run before unl0kr
this should fix the no-graphics-on-boot bug i'm seeing. it was previously fixed for lightdm and greetd: just not unl0kr
2024-03-02 19:50:50 +00:00
8029744c90 modules/programs: don't expose *all* of /run/secrets/home to every program
this was actually causing a lot of bwrap errors because that directory's not user-readable

turns out any program which already uses programs.xyz.secrets gets the /run/secrets mounts for free via symlink following
2024-03-02 18:51:39 +00:00
1fcf0bfcb1 swaync: fix signal-desktop check to be --user 2024-03-02 18:33:35 +00:00
a3ae650273 dialect: fix so it works inside a sandbox 2024-03-02 18:25:13 +00:00
7e0bef549f nixpkgs: 2024-03-01 -> 2024-03-02
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/ee743c92310804de4b4505ff0ac40b4f3f4f49de' (2024-03-01)
  → 'github:nixos/nixpkgs/aefac840b87e8e0ab658fa5080539e292ad8a9ba' (2024-03-02)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/f7fca9d98b0ec282f4b0d63f1fc2e38caf4ea55a' (2024-03-01)
  → 'github:nixos/nixpkgs/df41961bd4b7e838cb997543ea1297f4cbd7da15' (2024-03-02)
```
2024-03-02 07:52:21 +00:00
3b603519ff fuzzel: sandbox (well, i probably dont even have it on my system anymore :P) 2024-03-02 07:43:42 +00:00
f69ca166f4 sway: sandbox 2024-03-02 07:41:51 +00:00
a45e42910d make-sandboxed: generalize runCommand patch to handle any derivation, called with or without callPackage 2024-03-02 07:11:45 +00:00
3dd1d18dcd less: sandbox 2024-03-02 07:11:45 +00:00
28cb705bd4 grim: sandbox 2024-03-02 07:11:45 +00:00
7fa1dbc5d5 slurp: sandbox 2024-03-02 07:11:45 +00:00
8b7575c205 swappy: sandbox 2024-03-02 07:11:45 +00:00
52e9902fa1 sane-screenshot: give it permissions to my screenshots dir (derp) 2024-03-02 06:14:05 +00:00
ab765a81af sway: integrate sane-screenshot as the PrintScreen shortcut 2024-03-02 06:14:05 +00:00
a7bd831ad8 sane-screenshot: port to sane.programs 2024-03-02 06:14:05 +00:00
063d99dd73 todo.md: task to remove /run/wrappers 2024-03-02 05:42:26 +00:00
0d48c462cb sane-screenshot: init 2024-03-02 02:04:48 +00:00
f4ec09f010 rofi: remember the last selected directory 2024-03-02 00:35:29 +00:00
a7ef9fc0b8 todo.md: task for better app integrations 2024-03-02 00:21:56 +00:00
a40cefc8a5 pipewire: speculatively add /dev/video* 2024-03-02 00:14:47 +00:00
f55bb3518f wireplumber: add missing /dev/video2 which is on moby 2024-03-02 00:14:21 +00:00
3d16aa62ea sway: let the pinephone default to it's normal scaling
it's actually pretty nice at 2.0 scaling with my current apps. i'll need to tweak swaync, conky, wvkbd, etc. later.
2024-03-01 23:53:31 +00:00
2548cfeadc xdg-desktop-portal-wlr: fix crashing due to over-restrictive sandbox 2024-03-01 21:17:31 +00:00
90acbf716d Videos/gPodder: allow access from mpv and rofi 2024-03-01 21:02:04 +00:00
4d98593b3f todo.md: sync 2024-03-01 20:48:56 +00:00
db89ac88f0 sane-sandboxed: add new --sane-sandbox-keep-namespace all option 2024-03-01 20:48:56 +00:00
bba149c670 zsh: new c helper to change into a dir and list it 2024-03-01 20:09:20 +00:00
c056984003 zsh: alias exiy -> exit 2024-03-01 19:56:09 +00:00
2324d75165 switch psmisc -> killall
otherwise a really shitty `pstree` makes its way onto my PATH
2024-03-01 18:50:20 +00:00
9296b7731b rofi: add a .desktop file to rofi-snippets 2024-03-01 18:07:52 +00:00
75e9ce509e static-nix-shell: add support for extra nativeBuildInputs 2024-03-01 18:07:07 +00:00
95c95d6f53 splatmoji: actually install the .desktop files 2024-03-01 18:03:45 +00:00
fca23e661a xdg-desktop-portal: disable debug logging 2024-03-01 17:50:49 +00:00
9a7ebbd9d3 rofi: configure window height/location 2024-03-01 17:18:40 +00:00
56b00d998e rofi: theme
i still need to figure out how to make it wider for moby
2024-03-01 16:40:09 +00:00
01ef182073 waybar: theme the indicator style
i don't know if it's perfect, but it is better
2024-03-01 15:32:52 +00:00
b6daeddfa2 waybar: show different modules for moby v.s. others 2024-03-01 15:25:42 +00:00
c6e956f3d2 waybar: fix button.urgent color to match sway's client.urgent 2024-03-01 15:03:14 +00:00
f9510e5d24 nixpkgs: 2024-02-29 -> 2024-03-01
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/e894afb6c101fea0771b47d7827bef022e89ee1e' (2024-02-29)
  → 'github:nixos/nixpkgs/ee743c92310804de4b4505ff0ac40b4f3f4f49de' (2024-03-01)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/d29fabd630000579f744d04639d625828ba412bf' (2024-02-29)
  → 'github:nixos/nixpkgs/f7fca9d98b0ec282f4b0d63f1fc2e38caf4ea55a' (2024-03-01)
```
2024-03-01 07:31:58 +00:00
2e737c2ab1 moby: sxmo -> sway
still several things need to be improved, but the groundwork is there
2024-03-01 07:26:26 +00:00
82368eb45a sway: desko: fix monitor layout
i guess my monitor's name changed... 👀
2024-03-01 07:19:00 +00:00
65fb9e1d57 rofi: allow access to more servo media paths 2024-03-01 07:14:41 +00:00
b02ae7ef74 moby: polyfill an OK sway layout 2024-03-01 05:20:28 +00:00
37ddb2ae17 waybar: fix font size to be more usable on moby 2024-03-01 04:46:06 +00:00
81e02e2885 sway: moby: fix layout/scale preferences 2024-03-01 04:38:26 +00:00
4a3f59468c sway: launch gui apps via sane-open-desktop instead of inline
this will allow for sandboxing, in the future
2024-03-01 04:19:19 +00:00
daab5939e7 rofi: split sane-open-desktop out as a helper 2024-03-01 04:19:19 +00:00
e7430c41f9 refactor: sway-config: for readability 2024-03-01 03:29:52 +00:00
5849e75577 sway-config: remove dead window specializations 2024-03-01 03:21:47 +00:00
296123651c sway: fold sway-config.nix into default.nix 2024-03-01 03:18:37 +00:00
7f0d5e7810 sane-input-handler: explain why i setsid 2024-03-01 03:11:06 +00:00
7af928a6d2 sway: direct inputs to bonsai WITHOUT swallowing them 2024-03-01 03:10:44 +00:00
b73569d675 wvkbd: fix service typo 2024-02-29 22:04:42 +00:00
50ee15ef2b send sway-related cross patches upstream 2024-02-29 21:35:02 +00:00
9764d5f095 sway/waybar: decrease cross-specific patches
cava cross compiles now (yay); sndio is actually required by waybar if cava is enabled, so remove the disable
2024-02-29 18:56:54 +00:00
43386f3ba5 nixpkgs: update; couple cross-compiling patches have merged upstream
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/0852bff4370133e3a62b0cc7d14d193b928a7c59' (2024-02-29)
  → 'github:nixos/nixpkgs/e894afb6c101fea0771b47d7827bef022e89ee1e' (2024-02-29)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/9f21aa90cb8c078969543956d88c19696b646743' (2024-02-29)
  → 'github:nixos/nixpkgs/d29fabd630000579f744d04639d625828ba412bf' (2024-02-29)
```
2024-02-29 18:22:35 +00:00
a3a6278a59 notifyActive: don't depend on sway
it was a little silly to be shipping sway on headless systems
2024-02-29 17:32:19 +00:00
083f743c1f remove nixpkgs less defaults and manage PAGER myself
this lets me avoid the lesspipe cross failures, notably
2024-02-29 15:18:51 +00:00
626ad97005 nixpkgs: 2024-02-27 -> 2024-02-29
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/6daf4de0662e1d895d220a4a4ddb356eb000abe9' (2024-02-27)
  → 'github:nixos/nixpkgs/0852bff4370133e3a62b0cc7d14d193b928a7c59' (2024-02-29)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/5bd8df40204f47a12263f3614c72cd5b6832a9a0' (2024-02-27)
  → 'github:nixos/nixpkgs/9f21aa90cb8c078969543956d88c19696b646743' (2024-02-29)
```
2024-02-29 06:42:18 +00:00
6253d1799a port sxmo_hook_inputhandler.sh -> sane-input-handler
this one can run outside the SXMO environment.
major thing missing at the moment is that rofi doesn't get volume
control inputs because bonsai out-competes it for exclusive control.
2024-02-29 01:26:38 +00:00
d8a8038cae xdg-terminal-exec: define a .desktop file 2024-02-29 00:17:26 +00:00
7fd56b63cb rofi: better patch for the DT_UNKNOWN edgecase 2024-02-28 21:41:59 +00:00
7a65bd36c7 rofi: patch the filebrowser to reliably list entries on remote filesystems
see: <https://github.com/davatorium/rofi/issues/1954>
2024-02-28 21:18:19 +00:00
bd4eeeeb3b nixpatches: imagemagick closure fix: mark as merged upstream 2024-02-28 18:27:15 +00:00
7c22b59b9d sane-which: handle relative symlinks 2024-02-28 18:16:08 +00:00
9e504676bd sane-which: only print the first 30 lines for text files 2024-02-28 18:09:38 +00:00
b515127101 sane-which: follow nix wrappers 2024-02-28 18:09:24 +00:00
40e30cf2f8 programs: make sandbox.wrapperType default to "wrappedDerivation" and remove everywhere i manually set that 2024-02-28 17:39:00 +00:00
812c0c8029 packages: reduce the number of packages which are using inplace sandbox wrapping 2024-02-28 17:35:40 +00:00
7ca5ae84b7 flake: deploy: abort on error 2024-02-28 17:34:45 +00:00
a4248fd5cc make-sandboxed: don't try to wrap directories
whoops. test -x is true for directories
2024-02-28 16:28:25 +00:00
70229e0839 rofi: persist the filebrowsercache 2024-02-28 15:41:52 +00:00
cd303a76bc rofi: disable "run" from combi
they wouldn't work, since i only 'xdg-open' the entries
2024-02-28 15:32:12 +00:00
e43aa3bb8b splatmoji: fix sandboxing so rofi can read its config/cache 2024-02-28 15:19:53 +00:00
6c2d80715c rofi-snippets: fix sandboxing so rofi can read its config/cache 2024-02-28 15:15:02 +00:00
db8456f152 flake: provide a "benchmark" target 2024-02-28 15:10:45 +00:00
d912190db5 sway: split snippets into own program (rofi-snippets) 2024-02-28 14:44:05 +00:00
c380f61bea fix "rescue" host to eval again 2024-02-28 14:19:45 +00:00
ff8cfc9372 flake: fix check.nur target 2024-02-28 13:47:51 +00:00
b302113fc0 modules/programs: require manual definition; don't auto-populate attrset
this greatly decreases nix eval time
2024-02-28 13:35:09 +00:00
9749ff0442 sane.gui.phosh: remove 2024-02-28 13:35:05 +00:00
0d97191f74 sane-wipe-browser: dont call pkill with sudo 2024-02-28 13:35:00 +00:00
3816393e06 rofi: try integrating rofi-emoji (failed) 2024-02-28 01:28:05 +00:00
4c6c470c86 sway: snippets: port from fuzzel -> rofi 2024-02-28 01:26:22 +00:00
409a4db232 splatmoji: use rofi instead of fuzzel
will be best if i can port everything to one dmenu helper
2024-02-28 01:18:51 +00:00
c73684557e overlays: remove dead optimizations overlay (old ccache stuff) 2024-02-28 00:19:29 +00:00
44067f6570 cross: document the state of gnome-keyring 2024-02-28 00:05:23 +00:00
466e7a9ecd cross: libshumate: push patch upstream 2024-02-27 23:58:49 +00:00
6b2d189771 cross: graphicsmagick: push patch upstream 2024-02-27 23:46:05 +00:00
6ef729bbaf assorted: prefer runCommandLocal over runCommand where it makes sense 2024-02-27 22:26:56 +00:00
8f424dcd5a programs: sandboxing: link /etc into sandboxed programs
this is crucial for e.g. swaync, to find its resource files.
maybe a good idea to link *every* package directory which i also link
into /run/current-system.
2024-02-27 22:25:17 +00:00
7fb7f72bc0 cross: remove modemmanager patch; it compiles OOTB :)
thanks Cole!
2024-02-27 22:08:12 +00:00
67536e3c1f programs: assorted: correct sandbox paths now that Pictures/Videos/Books are categorized
i don't like this Pictures/ approach though. i may reconsolidate some of those
2024-02-27 21:37:20 +00:00
715de37954 rofi: fix files to be opened with xdg-open 2024-02-27 21:20:12 +00:00
c8035abddf fs: Books: persist subdirectories individually
TODO: KOReader will need to be updated for this
2024-02-27 20:48:38 +00:00
ef1cdac6b4 fs: split Pictures into separate persisted directory
TODO: update camera and screenshot apps to be aware of these directories
2024-02-27 20:46:25 +00:00
e37a7d85b3 ~/Videos: don't persist ALL videos: just ~/Videos/local
otherwise, ~/Videos/servo is a symlink which the programs module doesn't know how to traverse (and hence, sandbox).
2024-02-27 20:45:56 +00:00
36f6c72183 rofi: sandbox, and launch apps via xdg-open or gdbus 2024-02-27 18:35:15 +00:00
20a1aeb5b3 programs: add gdbus as a standalone program, separate from the rest of glib 2024-02-27 18:28:24 +00:00
9ba0833d5f todo.md: remove completed/obsoleted tasks 2024-02-27 17:40:42 +00:00
15f353f883 overlays: remove disable-flakey-tests: everything there only applied to emulated builds, which i no longer do 2024-02-27 17:34:22 +00:00
27af0002c8 nixpatches: remove obsoleted j4-menu-desktop build fix 2024-02-27 17:32:56 +00:00
9265252e04 nixpatches: remove stale commented-out patches 2024-02-27 17:29:17 +00:00
11a53c402d nixpatches: procure procmail cross fix from nixpkgs PR 2024-02-27 17:24:20 +00:00
464f439f4a nixpatches: remove ccache cross fix
i assume this was only needed when i was using binfmt?? anyways it doesn't apply cleanly
2024-02-27 17:04:44 +00:00
a4dbf18d7a nixpatches: remove upstreamed "allow i2p to build on aarch64" patch 2024-02-27 17:04:40 +00:00
1579e089e9 cross: remove superfluous spandsp fix
it was upstreamed to nixpkgs 2.5 years ago:
<https://github.com/NixOS/nixpkgs/pull/134698>

meanwhile, my patch was added in 46dabcd33f
2023-03-07: "cross compilation: speculatively compile spandsp with ac_cv_func_malloc_0_nonnull"

this was at a time when nixpkgs spandsp had version 3 and 0.0.6,
and *possibly* only 0.0.6 had the fix.
the fix was added to version 3 in nixpkgs
88cbe74d05cac6e037e934ee7fbe8b1f0d164f25, dated 2023-02-26.
2024-02-27 16:54:59 +00:00
4ce0c23c19 cross: comment out/remove a few more cross fixes for packages i don't plan to use 2024-02-27 16:44:47 +00:00
9710d55c6a cross: comment out/remove cross fixes for packages i don't plan to use anytime soon 2024-02-27 16:20:55 +00:00
4b014af4b1 cross: disable unneeded libei patch 2024-02-27 16:11:59 +00:00
4379addf9e plumb my configured sway through to everywhere that wants pkgs.sway.
kinda ugly. this lets me avoid having multiple versions of sway on my
system.
2024-02-27 16:11:10 +00:00
5c7eceeb55 grimshot: move to own file 2024-02-27 14:54:53 +00:00
50aa16df81 cross compilation: remove unused patches; note upstreaming status 2024-02-27 14:53:26 +00:00
b1e943c9bb swaynotificationcenter: push cross fix upstream 2024-02-27 11:59:36 +00:00
be5fae369f swaynotificationcenter: fix cross compilation 2024-02-27 11:32:48 +00:00
40e22533fb swaynotificationcenter: update config/patches to be compatible with 0.10.0 2024-02-27 11:19:29 +00:00
03c5f82dbf flake: fix sourceInfo propagation (and hence, nixosConfiguration naming!) 2024-02-27 10:34:20 +00:00
e90bbfe551 nixpkgs: 2024-02-25 -> 2024-02-27
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/f42891a2fa716dcab10336a1b7313993430568ea' (2024-02-25)
  → 'github:nixos/nixpkgs/6daf4de0662e1d895d220a4a4ddb356eb000abe9' (2024-02-27)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/8e474340ed0592ca21c1398d88dd89bf7100e881' (2024-02-25)
  → 'github:nixos/nixpkgs/5bd8df40204f47a12263f3614c72cd5b6832a9a0' (2024-02-27)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/2874fbbe4a65bd2484b0ad757d27a16107f6bc17' (2024-02-25)
  → 'github:Mic92/sops-nix/a1c8de14f60924fafe13aea66b46157f0150f4cf' (2024-02-26)
```
2024-02-27 01:24:07 +00:00
92033c8414 rofi: place druncache into rofi cache dir 2024-02-27 01:21:27 +00:00
16f0424631 rofi: patch so that i can use -run-command "my-launcher {app_id}.desktop"
this plus xdg-desktop-portal's DynamicLauncher should provide a way to sandbox everything
2024-02-27 01:03:21 +00:00
6fd1ce1f61 rofi: port cache from plaintext to cryptClearOnBoot
because i don't think it has any invalidation logic
2024-02-26 23:04:50 +00:00
a7c325c8e1 xdg-desktop-portal: link applications so that DynamicLauncher portal can work 2024-02-26 22:31:48 +00:00
fc7814e6cd docs: mime: document gio launch 2024-02-26 22:29:15 +00:00
245e6c93cd docs: xdg-desktop-portal: document notable dbus endpoints 2024-02-26 22:29:03 +00:00
ec073592ed sway: use rofi app launcher instead of fuzzel 2024-02-26 21:22:03 +00:00
617525a317 programs: add rofi (dmenu-style launcher/file browser) 2024-02-26 21:21:30 +00:00
1098d121b4 firefox-extensions.sidebery: 5.0.0 -> 5.1.1.7 2024-02-26 18:07:45 +00:00
821c631b1d firefox-extensions.sponsorblock: 5.5.5 -> 5.5.6 2024-02-26 18:03:44 +00:00
96347ad7ac firefox-extensions.bypass-paywalls-clean: 3.5.5.0 -> 3.5.7.0 2024-02-26 18:02:10 +00:00
4f933cc0fa fix "update.pkgs" script 2024-02-26 18:01:47 +00:00
03615ce244 nixpkgs: 2024-02-24 -> 2024-02-25; sops-nix -> 2024-02-25
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/a3e2b0de906a8fe0143c2783199abdc132dee56a' (2024-02-24)
  → 'github:nixos/nixpkgs/f42891a2fa716dcab10336a1b7313993430568ea' (2024-02-25)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/b66514c14e85cd7d853d6dbbf1a421ba232eff10' (2024-02-24)
  → 'github:nixos/nixpkgs/8e474340ed0592ca21c1398d88dd89bf7100e881' (2024-02-25)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/f6b80ab6cd25e57f297fe466ad689d8a77057c11' (2024-02-21)
  → 'github:Mic92/sops-nix/2874fbbe4a65bd2484b0ad757d27a16107f6bc17' (2024-02-25)
• Updated input 'sops-nix/nixpkgs-stable':
    'github:NixOS/nixpkgs/69405156cffbdf2be50153f13cbdf9a0bea38e49' (2024-02-17)
  → 'github:NixOS/nixpkgs/89a2a12e6c8c6a56c72eb3589982c8e2f89c70ea' (2024-02-25)
```
2024-02-26 17:35:34 +00:00
7d613d90d8 nixcache: disable my own substituters by default 2024-02-26 17:35:34 +00:00
afd52014d1 sane-reclaim-disk-space: note to run as root 2024-02-26 15:25:12 +00:00
dd6e1c5e38 flake: fix "deploy" commands to bypass substituters, and address deprecated nix path signing 2024-02-26 15:01:14 +00:00
d0d7994c2f sxmo: remove 'greeter' option 2024-02-26 07:27:33 +00:00
b5da7a86fa libkiwix: 12.1.1 -> 13.1.0 2024-02-26 06:10:37 +00:00
f2e1bb6b86 programs: python3-repl: sandbox 2024-02-25 18:52:55 +00:00
fe0f6988bd programs: disable wine (unused) 2024-02-25 18:42:25 +00:00
c402a265cd programs: stepmania: sandbox 2024-02-25 18:26:32 +00:00
d5643a6a5d assorted static-nix-shell packages: use srcRoot 2024-02-25 17:37:38 +00:00
e757e35065 static-nix-shell: add a srcRoot argument which allows more precisely specifying the source files and avoiding unnecessary rebuilds 2024-02-25 17:37:10 +00:00
953dd98b0f refactor: static-nix-shell: remove unused options 2024-02-25 17:28:00 +00:00
c9c1181242 programs: wireplumber: sandbox 2024-02-25 17:11:48 +00:00
f9888fe8d6 programs: sane-private-init: sandbox 2024-02-25 16:46:10 +00:00
036145e6ba programs: sane-private-change-passwd: sandbox
note that this is entirely untested
2024-02-25 16:35:13 +00:00
5b647a1a90 programs: sane-private-change-passwd: rewrite based on how my system looks today
i haven't tested this
2024-02-25 16:28:57 +00:00
7c486492c8 programs: pipewire: port sandbox to bwrap and restrict further 2024-02-25 15:19:57 +00:00
890b41f563 programs: pipewire: sandbox
still need to sandbox wireplumber
2024-02-25 14:34:11 +00:00
ca36fe1b96 programs: gnome.seahorse: sandbox 2024-02-25 12:03:42 +00:00
d2df668c9e modules/programs: sane-sandboxed: replace --sane-sandbox-keep-pidspace with --sane-sandbox-keep-namespace <pid|cgroup|ipc|uts> 2024-02-25 12:00:00 +00:00
b7921ac41b refactor: programs: sort 2024-02-25 11:53:49 +00:00
c304367e21 programs: gnome-maps: sandbox 2024-02-25 11:51:50 +00:00
2ad33a49df refactor: pipewire: remove dead code 2024-02-25 10:38:42 +00:00
0b4efd2ab2 pipewire: migrate services to sane.programs to completely disable socket activation
see: https://github.com/NixOS/nixpkgs/issues/291318
2024-02-25 10:36:21 +00:00
0745e9fc06 refactor: programs: split gnome-maps into own file 2024-02-25 09:06:32 +00:00
e0267b5669 programs: pipewire: disable socket activation 2024-02-25 08:55:59 +00:00
b3c7aac8c5 programs: wike: sandbox: enable DRI to fix graphical glitches 2024-02-25 08:38:10 +00:00
c788596c45 programs: sane-private-do: grant net access
crucial for e.g. sane-private-do git push
2024-02-25 08:25:13 +00:00
f807d7c0a2 modules/programs: sane-sandboxed: bwrap: don't virtualize {/dev,/proc,/tmp} if explicitly asked to bind them instead
this is necessary for some programs which want a near-maximial sandbox, like
launchers or shells, or more specifically, `sane-private-do`.
2024-02-25 08:15:39 +00:00
6ab5dd8a8f modules/persist: ensure that the mountpoint for the private store is created at boot 2024-02-25 07:51:24 +00:00
52b8cd0209 modules/persist: ensure backing directory is created *before* we mount 2024-02-25 07:22:50 +00:00
6865331b48 programs: sandbox sane-scripts.private-do 2024-02-25 05:41:27 +00:00
dd00a2fe6e sane-private-do: run a shell by default, and leave the mount in its original state on exit 2024-02-25 05:41:27 +00:00
4ee02151f4 sane-private-{lock,unlock}: just defer to mount 2024-02-25 05:19:44 +00:00
00bf2f79cc ssh: clean up /etc/ssh/host_keys persistence 2024-02-25 05:19:44 +00:00
04a6055d06 remove /libexec from environment.pathsToLink 2024-02-25 05:12:44 +00:00
15a7793f0d bonsai: 1.0.2 -> 1.1.0 2024-02-25 01:59:01 +00:00
f714bd8281 programs: jq: sandbox 2024-02-25 01:59:01 +00:00
73b2594d9b programs: sandboxing: distinguish between "existingFileOrParent" and "existingOrParent" 2024-02-25 01:59:01 +00:00
a55dc5332d modules/programs: sane-sandboxed: introduce "existingOrParent" autodetect-cli option
some programs will want this, to create directories by name; e.g. archive managers
2024-02-25 01:48:10 +00:00
86108518da modules/programs: sane-sandboxed: add a new "existingFile" option for the cli autodetect 2024-02-25 01:43:39 +00:00
0f1ad0f3c9 fs: auto-mount /mnt/<host>/home and enable "follow_symlinks" option 2024-02-24 16:04:04 +00:00
bcd7a6f646 nixpkgs: 2024-02-22 -> 2024-02-24
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/024149d718e25378f4decfeeb614b88208c2f700' (2024-02-22)
  → 'github:nixos/nixpkgs/a3e2b0de906a8fe0143c2783199abdc132dee56a' (2024-02-24)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/a7fa133a1e973c127e9c83e2c8e3407ae3797099' (2024-02-22)
  → 'github:nixos/nixpkgs/b66514c14e85cd7d853d6dbbf1a421ba232eff10' (2024-02-24)
```
2024-02-24 12:21:27 +00:00
92c2eb8383 nixpatches: update the icu cross fix 2024-02-24 12:14:29 +00:00
879d01ac2e modules/ssh: note that theres a better store to place the ssh host_keys in 2024-02-24 12:14:14 +00:00
0448df51e3 modules/programs: sane-sandboxed: add a --sane-sandbox-dry-run flag 2024-02-24 12:00:58 +00:00
8e3eed7d51 modules/programs: sane-sandboxed: factor out the actual execution of the sandbox/program into the toplevel
this will make it easier to intercept
2024-02-24 11:57:42 +00:00
88a70b41f1 modules/programs: handle more symlink forms when calculating a program's sandbox closure 2024-02-24 11:47:39 +00:00
6f59254a22 modules/programs: fix symlink following 2024-02-24 05:36:44 +00:00
4023960dc0 README: MANUAL MIGRATION: move "plaintext" store to /nix/persist/plaintext
to migrate the data:
```sh
$ sudo mkdir /nix/persist/plaintext
$ sudo mv /nix/persist/{etc,home,var} /nix/persist/plaintext
$ sudo ln -s plaintext/etc /nix/persist/etc  #< temporarily; if deploying over ssh
$ switch
$ reboot
$ sudo rm /nix/persist/etc  #< if you did the symlink earlier
```
2024-02-23 18:02:17 +00:00
fff9f9d49a README: MANUAL MIGRATION: move "private" store to /nix/persist/private
to migrate the data, first unmount `~/private` (`sane-private-lock`), then:
```sh
$ sudo mv /nix/persist/home/colin/private /nix/persist
$ switch
$ reboot
```
2024-02-23 16:01:09 +00:00
eecb98e2ee programs: bonsai: fix eval error 2024-02-23 16:00:32 +00:00
5838603953 programs: sane-private-unlock: unbreak
it still doesn't work inside a sandbox, because 'mount' requires suid
2024-02-23 15:59:56 +00:00
c6ebcfe66e servo: port legacy /var/lib users over to "method = bind" persistence
i may wittle these down in the future
2024-02-23 15:49:54 +00:00
d7402ae170 persist: stores: make naming more consistent 2024-02-23 14:57:20 +00:00
bd7ca20361 desko: fs: remove dead code 2024-02-23 14:45:57 +00:00
f5ef1e96ca lappy: fs: remove dead code 2024-02-23 14:44:49 +00:00
6267e7f966 tidy up small persist/private nitpicks 2024-02-23 14:44:38 +00:00
120a41b169 persistence: split /var/log persistence into dedicated "initrd" store 2024-02-23 14:42:47 +00:00
aa0991bd6c persistence: cleanup so it all works well with symlink-based stores 2024-02-23 13:09:44 +00:00
af2f97d61e fs: ensure-file: don't error if the file already exists 2024-02-23 11:29:14 +00:00
5b8f13d9cc fs: notice when a fs entry is set to two incompatible types (e.g. symlink + dir) and error 2024-02-23 11:24:32 +00:00
62b39bf01e firefox: integrate the "persist" config into "sane.programs" 2024-02-23 11:23:41 +00:00
0d8307e877 programs: gnome-keyring: sandbox
and now secrets are readable again. they were broken for the last ~10 commits :)
2024-02-23 09:49:35 +00:00
9b1a2ae9bb programs: mpv: remove useless "extraRuntimePaths = []" override 2024-02-23 09:32:19 +00:00
b8b805765b programs: gnome-keyring-daemon: remove the SUID wrapper
it's not actually mandated. just, when enabled, gkd will `mlock` its
secrets into memory. but i don't use swap anyway. plus, i'll enable that
momentarily anyway (though systemd will probably not understand the
capablity)
2024-02-23 09:28:41 +00:00
84eae20765 gnome-keyring: don't integrate with PAM
PAM integration is only required if the keyring is encrypted on-disk
2024-02-23 09:15:30 +00:00
4a10c5f729 gnome-keyring: start as systemd service explicitly, not as implicit dbus service 2024-02-23 09:09:54 +00:00
c2696c1cd9 gnome-keyring: use sane.fs abstractions to write out the keyrings 2024-02-23 08:57:41 +00:00
c23e4dc9c7 servo: note why i use file.text instead of symlink.text here 2024-02-23 08:14:27 +00:00
ea6f45555c gnome-keyring: simplify the scripts (untested) 2024-02-23 08:14:09 +00:00
687db545b4 gnome-keyring: move persistence and init script to sane.programs 2024-02-23 07:22:07 +00:00
24d1d13d0a programs: simplify sandboxing of file browsers/etc now that private data lives on a different mount 2024-02-23 07:06:29 +00:00
2ada436634 home: remove ~/private symlink; move to .persist/private and add related aliases 2024-02-23 07:06:29 +00:00
e5ad0862fb refactor: move ~/ fs definitions into hosts/common/home, not users/ 2024-02-23 07:06:29 +00:00
057b9e3fed replace links/references to ~/private/FOO with just ~/FOO 2024-02-23 07:06:29 +00:00
1bcfccf7e3 refactor: persist ~/knowledge formally instead of relying on the symlink 2024-02-23 07:06:29 +00:00
170eeeacc4 programs: dereference not just the leaf, but any part of the path, when determining a program's sandbox closure 2024-02-23 07:06:29 +00:00
a402822084 move "private" store to /mnt/persist/private instead of ~/private
this will allow me to add all of ~ to a sandbox without giving all of ~/private
2024-02-23 07:06:29 +00:00
80ecdcc4f9 persist: plaintext: consider "/mnt/persist/plaintext" as the logical root, and abstract away "/nix/persist" 2024-02-23 07:06:29 +00:00
0864790bb7 docs: modules/persist: document the "origin" store parameter 2024-02-23 07:06:29 +00:00
478747a96e modules/persist: change default mounting method to symlink
this changes the plaintext and cryptClearOnBoot stores: private was already symlink-based.
this isn't strictly necessary: the rationale is:
1. `mount` syscall *requires* CAP_SYS_ADMIN (i.e. superuser/suid).
   that's causing problems with sandboxing, particularly ~/private.
   that doesn't affect other stores *yet*, but it may in the future.
2. visibility. i.e. it makes *clear* where anything is persisted.
   if `realpath` doesn't evaluate to `/nix/persist`, then it's not
   persisted.
2024-02-23 07:06:29 +00:00
771dc2e1ce fs: allow common /mnt points to be mounted by me without sudo 2024-02-23 07:06:29 +00:00
4a316d4b91 bonsai: lift out of sxmo 2024-02-23 07:06:29 +00:00
0ff8154e96 icu: fix cross compilation 2024-02-23 07:04:39 +00:00
af03b3f6e8 xwayland: sandbox 2024-02-23 01:05:24 +00:00
5819f07181 programs: xwayland: sandbox 2024-02-22 22:12:03 +00:00
122f3fa5cc sway: remove xwayland-specific placement of Signal
it breaks non-xwayland sway config parsing, and Signal is native Wayland now anyway even with Xwayland running'
2024-02-22 22:01:48 +00:00
ece612ea70 nixpkgs: 2024-02-21 -> 2024-02-22
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/97c19bdc7ecbe44755084a52acf38e17bdf2bc71' (2024-02-21)
  → 'github:nixos/nixpkgs/024149d718e25378f4decfeeb614b88208c2f700' (2024-02-22)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/0e74ca98a74bc7270d28838369593635a5db3260' (2024-02-21)
  → 'github:nixos/nixpkgs/a7fa133a1e973c127e9c83e2c8e3407ae3797099' (2024-02-22)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/acfcce2a36da17ebb724d2e100d47881880c2e48' (2024-02-20)
  → 'github:Mic92/sops-nix/f6b80ab6cd25e57f297fe466ad689d8a77057c11' (2024-02-21)
```
2024-02-22 07:07:29 +00:00
f27f994090 systemd: fix the timeout for the user service manager 2024-02-22 00:24:05 +00:00
473999c001 sway: re-enable networkmanager 2024-02-21 23:46:25 +00:00
d1de9efde1 sway: port xwayland use to sane.programs API 2024-02-21 23:32:10 +00:00
50c3f04714 pipewire: remove dead alsa comments 2024-02-21 23:26:40 +00:00
49bad8f186 sway: split pipewire persisted file into pipewire.nix 2024-02-21 23:26:25 +00:00
fd9f500e97 sway: split pipewire config into separate sane.programs.pipewire 2024-02-21 23:23:52 +00:00
386651044e sway: port to sane.programs API 2024-02-21 23:18:57 +00:00
55a6c828f2 sway: lift portal/menu reset into polyunfill.nix 2024-02-21 22:09:53 +00:00
7ecebd7521 sway: treat fontconfig as an ordinary sane.programs 2024-02-21 22:08:45 +00:00
7b299176e3 sway: simplify the wrapper 2024-02-21 22:06:10 +00:00
4da9cb5ac8 sway: simplify the wrapper... slightly 2024-02-21 21:42:48 +00:00
f068da709f sway: compile with xwayland only if we plan to use it at runtime
else it's just extra weight
2024-02-21 21:05:41 +00:00
5b21257e4f gui: sway: remove useGreeter option (provide a greeter always, via suggestedPrograms) 2024-02-21 20:59:34 +00:00
d77a12ce7b unl0kr: remove the "afterLogin" option and choose automatically which desktop to launch 2024-02-21 20:47:48 +00:00
153d2a1047 GSK_RENDERER: don't set globally, but just for the apps which _actually_ require it
this way i can avoid conflicts around apps which don't expect this to be set (e.g. delfin)
2024-02-21 16:56:56 +00:00
2a528a5d8e sane-sandboxed: leave a note about future mount work 2024-02-21 16:08:42 +00:00
b8f090be93 programs: delfin: add required mpris permissions 2024-02-21 13:27:19 +00:00
b16902bec1 delfin: downgrade 0.4.1 -> 0.4.0
0.4.1 doesn't cross compile because of rust requirement. 0.4.0 does
2024-02-21 13:26:54 +00:00
c919372324 delfin: add option to build in debug mode, and with debug patches 2024-02-21 12:09:48 +00:00
60371585e4 delfin: 0.4.0 -> 0.4.1 2024-02-21 09:04:49 +00:00
20cb850fb5 nixpkgs: 2024-02-18 -> 2024-02-21
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/d076cde70cbceca9315a11bdc609ddfcec9dfbca' (2024-02-18)
  → 'github:nixos/nixpkgs/97c19bdc7ecbe44755084a52acf38e17bdf2bc71' (2024-02-21)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/9511a7b219df1f8d8f5c2a58c4870fde169fe397' (2024-02-18)
  → 'github:nixos/nixpkgs/0e74ca98a74bc7270d28838369593635a5db3260' (2024-02-21)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/ffed177a9d2c685901781c3c6c9024ae0ffc252b' (2024-02-18)
  → 'github:Mic92/sops-nix/acfcce2a36da17ebb724d2e100d47881880c2e48' (2024-02-20)
```
2024-02-21 00:35:14 +00:00
c6470918de types.string -> types.str 2024-02-21 00:25:44 +00:00
c0f374bd80 programs: sane-secrets-dump: don't leak secrets onto proc/cmdline 2024-02-21 00:24:31 +00:00
5a0760a571 programs: sandbox oathtools 2024-02-21 00:03:48 +00:00
757ab79724 programs: dconf: sandbox 2024-02-20 23:43:25 +00:00
81148b7b42 programs: explicitly depend on dconf instead of manually persisting dconf's dirs 2024-02-20 23:39:27 +00:00
429d0c53e7 programs: ripgrep: sandbox with bwrap instead of landlock
this provides network isolation
2024-02-20 23:32:54 +00:00
6cf1bc5a28 programs: grep: sandbox 2024-02-20 23:32:28 +00:00
768b340c93 findutils: sandbox
use bwrap instead of landlock for the dumb preference that i can disable
net
2024-02-20 23:31:58 +00:00
d9901aa161 programs: sane-secrets-*: sandbox 2024-02-20 23:31:39 +00:00
be2098c18a programs: sane-vpn: sandbox 2024-02-20 23:05:24 +00:00
ee7d99289a sane-vpn: allow shorthands like "sane-vpn up us" instead of full ovpnd-us 2024-02-20 23:01:53 +00:00
bb569b1668 sane-vpn: port away from systemd so that i can use it as an ordinary user (no sudo) 2024-02-20 22:21:02 +00:00
34524ea3e4 modules/vpn: fix the vpn-* systemd services 2024-02-20 20:40:46 +00:00
71025329e7 programs: sane-dev-cargo-loop: sandbox 2024-02-20 19:26:38 +00:00
ca4d1e3b9d programs: sane-tag-music: sandbox 2024-02-20 19:26:18 +00:00
284b698015 sane-reclaim-boot-space: fix, and sandbox
well i didn't get to test this thoroughly: might still have problems
2024-02-20 19:16:36 +00:00
bc50daf685 nix.settings: port to structured attrs 2024-02-20 18:35:03 +00:00
47dcfb9cba fix nix.settings.nix-path to actually take effect
now i can `nix-shell` again! nix-path takes precedence over `NIX_PATH`
env var.
2024-02-20 17:54:25 +00:00
2bd99f6e51 remove no-longer-needed nix trusted-users setting
well, it *seems* to work, at least!
2024-02-20 13:43:41 +00:00
8beac8df2f programs: sandbox sane-shutdown, sane-reboot 2024-02-20 13:43:05 +00:00
58db553c84 programs: unl0kr: sandbox 2024-02-20 13:29:56 +00:00
2ea3776d84 programs: sane-sync-from-servo: remove
this was obsoleted by the top-level flake `sync` scripts
2024-02-20 13:16:21 +00:00
d596d005ca systemd: configure a 25s stop timeout for the user manager too (hopefully) 2024-02-20 13:11:47 +00:00
e92db138ef systemd: allow ordinary users to invoke shutdown/reboot 2024-02-20 12:25:04 +00:00
5fed127c23 refactor: split systemd config into own file 2024-02-20 12:18:28 +00:00
db49f0461c refactor: move nix stuff out of common/default.nix -> common/nix/default.nix 2024-02-20 12:16:00 +00:00
73bb7827c0 refactor: nix-path/ -> nix/ 2024-02-20 12:13:52 +00:00
a624571b22 move glib program recommendation into programs/assorted.nix 2024-02-20 12:11:26 +00:00
53cbe5c8da dconf: split into own sane.programs definition 2024-02-20 12:09:52 +00:00
46de7b7e0d move environment.defaultPackages clearing into polyunfill.nix 2024-02-20 11:54:39 +00:00
d7be5da483 warnings.nix: port to a proper module 2024-02-20 11:19:12 +00:00
902e351085 hack: silence the warning about using hashedPasswordFile *and* initialPassword
see: <https://github.com/NixOS/nixpkgs/pull/287506>

i'll factor this into something more general, later
2024-02-20 11:11:07 +00:00
9e8e1d82a6 flake: add a deploy.self-light target 2024-02-20 10:24:33 +00:00
a05184f956 programs: neovim: fix nvim-treesitter typo 2024-02-20 10:23:52 +00:00
36ad2d5421 programs: unl0kr: auto-derive the user option 2024-02-20 07:21:22 +00:00
b0f62830a5 unl0kr: port to sane.programs 2024-02-20 07:14:30 +00:00
f970679266 sxmo: remove symlinks for legacy sxmo_hook_{poweroff,reboot}.sh 2024-02-20 06:49:42 +00:00
c7f4661c1c programs: htop: persist config 2024-02-20 05:38:45 +00:00
e8306831c5 programs: qemu: mark as slowToBuild 2024-02-20 05:34:47 +00:00
41b1a013d7 programs: sane-sudo-redirect: disable sandbox 2024-02-19 17:09:27 +00:00
f785ccd351 programs: sane-reclaim-disk-space: sandbox 2024-02-19 17:06:22 +00:00
48744dcaaa programs: sane-ip-reconnect: remove (unused) 2024-02-19 17:05:27 +00:00
9373864b60 programs: sane-git-init: remove (unused) 2024-02-19 16:53:59 +00:00
c16c9dfe0b programs: sandbox a bunch of sane scripts 2024-02-19 16:51:53 +00:00
292a411fb3 linux-megous: 6.7.2 (20240127-1717) -> 6.7.4 (20240211-1928) 2024-02-19 16:37:11 +00:00
2d17826731 programs: eza: sandbox with bwrap instead of landlock 2024-02-19 15:32:40 +00:00
34dedcff57 modules/programs: sane-sandboxed: fix normPath handling of paths containing special characters like [ 2024-02-19 15:32:23 +00:00
de297f22be programs: split sane-scripts out of assorted.nix 2024-02-19 14:19:10 +00:00
4b47b76461 programs: sfeed: sandbox 2024-02-19 14:14:59 +00:00
3effd59c9b xdg-desktop-portal-{gtk,wlr}: start via service manager, with ordered deps, instead of letting dbus activate it for us
that gets more reliable environment importing, etc
2024-02-19 13:44:23 +00:00
a3d0691d99 trivial-builders: add rmDbusServicesInPlace for when the symlink method isnt applicable 2024-02-19 13:43:22 +00:00
44647e0d36 programs: forkstat: sandbox 2024-02-19 13:15:15 +00:00
da1053d635 programs: configure auto-launching programs to only start *after* graphical-session.target
this ensures they really have their environment
2024-02-19 12:58:08 +00:00
273b1b84e3 systemd: reduce the stop job timeout 2024-02-19 12:58:08 +00:00
0b6b98bba6 sway: add a safeguard to catch if the systemd environ race condition is re-introduced 2024-02-19 12:58:08 +00:00
8886177c23 xdg-desktop-portal: fix it to find all the portal configs again
maybe i broke this when i simplified XDG_CONFIG_DIRS? not sure
2024-02-19 12:58:08 +00:00
7e343bfc05 sway: fix race condition around dbus/systemd environment importing 2024-02-19 10:52:51 +00:00
f72bdb6f3a activationScripts: notify on deploy: fix to work with new SWAYSOCK name 2024-02-19 08:21:23 +00:00
5666a05ef0 strip out a bunch of unused nixpkgs defaults 2024-02-19 06:20:13 +00:00
05daf738fc nixpkgs: 2024-02-17 -> 2024-02-18
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/6caa6affcc4774c81467ed08fa3ec35da40fd1d9' (2024-02-17)
  → 'github:nixos/nixpkgs/d076cde70cbceca9315a11bdc609ddfcec9dfbca' (2024-02-18)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/28d6a724f54085377102db7c3278ba82a0a5255f' (2024-02-17)
  → 'github:nixos/nixpkgs/9511a7b219df1f8d8f5c2a58c4870fde169fe397' (2024-02-18)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/48afd3264ec52bee85231a7122612e2c5202fa74' (2024-02-13)
  → 'github:Mic92/sops-nix/ffed177a9d2c685901781c3c6c9024ae0ffc252b' (2024-02-18)
• Updated input 'sops-nix/nixpkgs-stable':
    'github:NixOS/nixpkgs/d8cd80616c8800feec0cab64331d7c3d5a1a6d98' (2024-02-10)
  → 'github:NixOS/nixpkgs/69405156cffbdf2be50153f13cbdf9a0bea38e49' (2024-02-17)
```
2024-02-18 19:05:04 +00:00
35b4cc779f megapixels: switch to bwrap, to support Loupe image viewer 2024-02-18 18:46:37 +00:00
c7d111a318 megapixels: 1.7.0 -> 1.8.0 2024-02-18 18:27:47 +00:00
7e5eb6324d megapixels: sandbox
it's iffy... 1.8.0 is released, which can be sandboxed w/o sys/dev/char or ~/.local/share/applications, but seems to be even flakier
2024-02-18 17:44:49 +00:00
95cb5624ca modules/programs: sane-sandboxed: fix but that --sane-sandbox-path / wasnt being canonicalized 2024-02-18 13:53:53 +00:00
55c305812d WIP: megapixels: sandbox 2024-02-18 13:53:18 +00:00
600f6eb56c modules/programs: sane-sandboxed: remove all remaining forks/subshells
launchtime for firefox in bwrap is about 65ms; 35ms for --sane-sandbox-method none
2024-02-18 13:15:04 +00:00
fd6f8493a7 modules/programs: sane-sandboxed: remove all forking from normPath
reduces time for librewolf benchmark from 90ms -> 65ms. there's still _some_ forking in this script, but it's constant now.
2024-02-18 12:25:03 +00:00
f10f1ee7b1 modules/programs: sane-sandboxed: optimize "normPath" to not invoke subshells
each subshell causes like 5ms just on my laptop, which really adds up.
this implementation still forks internally, but doesn't exec.
runtime decreases from 150ms -> 90ms for
`time librewolf --sane-sandbox-replace-cli true`
2024-02-18 12:08:23 +00:00
67395bdcd3 programs: ship forkstat 2024-02-18 11:58:30 +00:00
90ceeede74 programs: flare-signal: disable (unused) 2024-02-18 07:07:29 +00:00
32a704b1b8 moby: disable unused "calls" program
i may have future use for it, but as-is currently it's not worth the difficulty of sandboxing
2024-02-18 07:07:29 +00:00
a591be98d4 programs: portfolio-filemanager: sandbox 2024-02-18 07:07:29 +00:00
82e028e37d programs: nautilus: assign a mime priority 2024-02-18 07:07:29 +00:00
a531676d0d mime: include an error message when two file associations have identical mime priority 2024-02-18 07:07:29 +00:00
7f7543ee78 programs: planify: sandbox 2024-02-18 07:07:29 +00:00
8d0e3e0db3 programs: notejot: sandbox 2024-02-18 07:07:29 +00:00
bf352d184c programs: tangram: sandbox 2024-02-18 07:07:29 +00:00
81a6600f54 programs: xarchiver: sandbox 2024-02-18 07:07:29 +00:00
9fde167e71 firefox-extensions.open-in-mpv: build from source
this ensures that the extension and the native component stay in sync
2024-02-18 06:14:49 +00:00
4e180e11df open-in-mpv: update the non-browser component to 2.2.0
i _suppose_ i should keep these in sync... hmm
2024-02-18 06:02:00 +00:00
902166e45a sxmo-utils: 2024-01-01 -> 2024-02-05 2024-02-18 04:57:20 +00:00
797bc4e188 delfin: 0.3.0 -> 0.4.0
i can't upstream this until i figure out why both versions fail to open media for me (portal stuff?)
2024-02-18 04:54:35 +00:00
536f0aedc3 open-in-mpv: remove my patch which has been upstreamed, previously required to use xdg-open 2024-02-18 04:52:27 +00:00
b855df902f firefox-extensions: metamask,open-in-mpv,sponsorblock,ublacklist: update to latest 2024-02-18 04:50:03 +00:00
80ce49c579 firefox-extensions.bypass-paywalls-clean: 3.5.3.0 -> 3.5.5.0 2024-02-18 04:49:18 +00:00
408059420d snippets: prefer the repology link which specifically shows my outdated packages 2024-02-18 04:15:05 +00:00
a3102c9395 pkgs overlay: prefer my own packages, if theyre newer than whats in nixpkgs
this gives me an easier way to test updates for the packages i maintain than a workflow based on patching nixpkgs
2024-02-18 04:07:23 +00:00
6760fcf1f4 snippets: remove home-manager; add repology 2024-02-18 03:43:32 +00:00
a90898491e flake: fix "preDeploy" action mishandling null 2024-02-18 01:24:05 +00:00
059940d8e7 nixpkgs: 2024-02-16 -> 2024-02-17
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/0ec5bef772dc12003df7a55f7be1f7b8809f8b48' (2024-02-16)
  → 'github:nixos/nixpkgs/6caa6affcc4774c81467ed08fa3ec35da40fd1d9' (2024-02-17)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/1225df86908f6f5b23553e9d77da4df4bfdd58ef' (2024-02-16)
  → 'github:nixos/nixpkgs/28d6a724f54085377102db7c3278ba82a0a5255f' (2024-02-17)
```
2024-02-17 17:18:38 +00:00
98aafead94 programs: wob: add missing "coreutils" dep
it *should* be acquired via user's PATH, but wob-pulse can start before sway imports PATH to systemd
2024-02-17 16:38:22 +00:00
cef2591425 modules/programs: sane-sandboxed: capshonly/landlock: don't request capabilities we know won't be granted 2024-02-17 16:30:18 +00:00
f8663cd827 programs: monero-gui: sandbox 2024-02-17 16:06:58 +00:00
af1ee1734d programs: wireguard-tools: sandbox 2024-02-17 15:54:16 +00:00
5375cab716 programs: ntfy-sh: sandbox 2024-02-17 15:47:47 +00:00
162b3f5674 imagemagick: don't add 'ghostscript' package to path 2024-02-17 15:45:50 +00:00
a729f91d21 programs: jq: add working sandbox criteria, but don't enable yet
i need to handle the extremely common `cat foo | jq .` without adding
`.` to the sandbox
2024-02-17 15:36:41 +00:00
a273b559e2 programs: gnome-disk-utility: sandbox 2024-02-17 15:36:28 +00:00
785b375671 programs: smartmontools (smartctl): sandbox 2024-02-17 15:36:13 +00:00
24cba0c856 programs: xq: remove 2024-02-17 15:30:23 +00:00
df1db5d01c programs: sox: sandbox 2024-02-17 15:27:22 +00:00
6749b64bca programs: nautilus: add mounted media to the sandbox 2024-02-17 15:26:49 +00:00
d3e4bdfcd5 programs: gdisk: fix sandboxing 2024-02-17 15:26:16 +00:00
799cd4373f programs: socat: disable 2024-02-17 15:11:12 +00:00
2efa6d1e27 programs: mepo: sandbox 2024-02-17 15:08:21 +00:00
a1470956a5 programs: gdisk: sandbox 2024-02-17 14:57:33 +00:00
556c20bc04 programs: vulkan-tools: sandbox 2024-02-17 14:53:22 +00:00
cf5f58dda6 programs: nmap: sandbox 2024-02-17 14:51:26 +00:00
fd30f7abbc dev-machines: disable broken ldd-aarch64 program 2024-02-17 14:47:28 +00:00
6f8c299c69 programs: xdg-desktop-portal: log more 2024-02-17 14:40:56 +00:00
bbf7aac062 programs: gnome-frog: sandbox 2024-02-17 14:40:42 +00:00
7d1fd2f30a programs: nvme-cli: sandbox 2024-02-17 14:40:29 +00:00
472987f164 programs: gimp: fix sandboxing failure 2024-02-17 13:43:35 +00:00
784c2145f3 programs: iputils: sandbox 2024-02-17 03:33:05 +00:00
4ced02b0b2 modules/programs: make-sandboxed: fix incorrect "priority" attribute 2024-02-17 03:32:49 +00:00
0000afb315 programs: make nixosBuiltins package set more precise 2024-02-17 03:08:14 +00:00
31fa21bd20 programs: host/iproute2/iw/nettools/wirelesstools: sandbox 2024-02-17 03:05:58 +00:00
9510817604 programs: document nixosBuiltins programs 2024-02-17 02:40:28 +00:00
4a84de3ee4 programs: inetutils/iptables: sandbox 2024-02-17 02:32:57 +00:00
ab42a4cc5a programs: qemu: disable sandbox 2024-02-17 01:43:58 +00:00
f6537b083a programs: discord: add dbus to sandbox 2024-02-17 01:42:22 +00:00
5ff1d014b8 servo: transmission: fix user agent 2024-02-17 01:35:40 +00:00
fa41e6c402 nixpkgs: 2024-02-14 -> 2024-02-16; uninsane-dot-org -> 2024-02-15
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/52e165035c897a7b41ff26bc235f8d841e9d3850' (2024-02-14)
  → 'github:nixos/nixpkgs/0ec5bef772dc12003df7a55f7be1f7b8809f8b48' (2024-02-16)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/c0a130d16b170f4820c3d2ed294a7aaabf451bfd' (2024-02-14)
  → 'github:nixos/nixpkgs/1225df86908f6f5b23553e9d77da4df4bfdd58ef' (2024-02-16)
• Updated input 'uninsane-dot-org':
    'git+https://git.uninsane.org/colin/uninsane?ref=refs/heads/master&rev=4a1fa488e64e6c87c6c951e3fafb2684692f64d3' (2024-01-01)
  → 'git+https://git.uninsane.org/colin/uninsane?ref=refs/heads/master&rev=bb10cd8853d05191e4d62947d93687c462e92c30' (2024-02-15)
```
2024-02-16 15:34:19 +00:00
1b4306e649 programs: switch bridge-utils, btrfs-progs from landlock -> bwrap
landlock can't isolate net yet, so bwrap gives better sandboxing
2024-02-16 15:32:41 +00:00
af8a8358bd programs: hdparm: sandbox 2024-02-16 15:32:41 +00:00
464c6c56c5 programs: btrfs-progs: sandbox 2024-02-16 15:32:41 +00:00
8e314e8b73 programs: bridge-utils: sandbox 2024-02-16 15:32:41 +00:00
198029f95f programs: netcat: sandbox 2024-02-16 15:32:41 +00:00
1d646459ab programs: pulsemixer: sandbox 2024-02-16 15:32:41 +00:00
8f3bab3636 programs: sort 2024-02-16 15:32:41 +00:00
a909a93c29 programs: strings: fix sandboxing 2024-02-16 15:32:41 +00:00
6aaa724abf programs: strings: sandbox 2024-02-16 14:57:25 +00:00
a1c721d5b4 programs: binutils-unwrapped -> strings: distribute just the binary i care about 2024-02-16 14:57:25 +00:00
4002a57e03 servo: transmission: advertise as 3.00 to deal with old trackers 2024-02-16 12:58:08 +00:00
74a0b0d125 gitea: serve phone-case-cq/ build files as proper html/js content type 2024-02-16 12:07:28 +00:00
cd3b4dde7b programs: nix-index: sandbox 2024-02-16 11:39:05 +00:00
a9d384688a programs: alsaUtils: sandbox 2024-02-16 11:28:43 +00:00
fffd6f4204 programs: pciutils: sandbox 2024-02-16 11:12:47 +00:00
324485d105 programs: networkmanagerapplet: sandbox 2024-02-16 11:07:24 +00:00
7cb8b144b2 programs: sandbox fatresize 2024-02-16 10:45:56 +00:00
c2bb97e7e6 programs: ethtool: sandbox 2024-02-16 10:38:39 +00:00
3cbdc03369 programs: zeal: disable sandboxing 2024-02-16 10:32:49 +00:00
5c7fa591a0 programs: sandbox: dtrx/e2fsprogs/efibootmgr/electrum 2024-02-16 10:32:18 +00:00
18c54e8b04 programs: sandbox cryptsetup and ddrescue (latter is untested, probably lacking!) 2024-02-16 10:05:24 +00:00
1416856fb6 programs: blueberry: sandbox 2024-02-16 07:58:00 +00:00
2a5bc6f612 programs: util-linux: disable sandbox 2024-02-16 07:37:59 +00:00
c56a6a8c24 programs: disable libcap_ng since it cant sandbox 2024-02-16 07:32:34 +00:00
f5a4bdedaf programs: libcap_ng (netcap): disable sandbox 2024-02-16 07:32:05 +00:00
114a45f347 programs: pstree: sandbox 2024-02-16 06:57:45 +00:00
d53344d527 programs: killall: sandbox 2024-02-16 06:57:32 +00:00
561447de70 programs: shattered-pixel-dungeon: sandbox 2024-02-16 06:57:03 +00:00
b6f918c32f TODO.md: update sandboxing tasks 2024-02-16 06:18:11 +00:00
9cc12fab5d programs: gpodder: fix to work in sandbox (add dbus) 2024-02-16 06:07:46 +00:00
5cda3b2805 programs: firefox/fractal: document portal filechooser limitations 2024-02-16 05:49:56 +00:00
4afd56ff4c programs: powertop: fix capabilities typo in sandbox definition 2024-02-16 05:49:13 +00:00
029ba43bd6 modules/programs: sane-sandboxed: invoke "capsh" with the --no-new-privs argument 2024-02-16 05:48:50 +00:00
00e4078300 programs: disable lemoa. it's broken and development doesn't seem to be progressing 2024-02-16 05:34:24 +00:00
94b4f78e39 programs: lemoa: sandbox 2024-02-16 05:32:22 +00:00
3fd89ec91b programs: sandbox powertop 2024-02-16 05:28:17 +00:00
4085828575 programs: sandbox parted 2024-02-16 05:28:07 +00:00
1a972927b6 programs: sandbox nethogs, nmon, nixpkgs-review 2024-02-16 05:27:50 +00:00
5f3ec42f57 programs: sandbox lsof with capsh only
can't get it to sandbox any more aggressively with either landlock or
bwrap
2024-02-16 04:55:18 +00:00
28aaeb051f programs: disable sandboxing for strace and screen 2024-02-16 04:51:52 +00:00
9d252d095e programs: htop/iotop/iftop: sandbox 2024-02-16 04:51:18 +00:00
4e5e4219ec programs: usbutils: sandbox 2024-02-16 04:03:47 +00:00
824dd7c1f5 programs: endless-sky: sandbox with bwrap 2024-02-16 04:00:27 +00:00
b840a0d61c programs: space-cadet-pinball: sandbox w/ bwrap 2024-02-16 03:58:09 +00:00
36bcecfd68 programs: sort 2024-02-16 03:53:53 +00:00
c3a5fb9394 programs: wdisplays: sandbox with bwrap 2024-02-16 03:53:27 +00:00
30507c3564 programs: soundconverter: sandbox with bwrap 2024-02-16 03:51:23 +00:00
2b66ffc58a programs: feedbackd: sandbox w/ bwrap 2024-02-16 03:49:59 +00:00
48d96c1f36 programs: hase: sandbox with bwrap
couldn't test the net feature, because hase servers have since gone
offline :((
2024-02-16 03:48:59 +00:00
cdf61755a3 programs: splatmoji: document the sandboxing approach 2024-02-16 03:46:48 +00:00
dd1dc69530 packages: remove unused kid3 2024-02-16 03:39:45 +00:00
481f54ea2f packages: disable unused packages: makemkv, mumble, openscad 2024-02-16 03:20:17 +00:00
511752fab5 programs: xdg-desktop-portal{-gtk,-wlr}: enable sandbox 2024-02-16 03:17:19 +00:00
40ed7cff1b programs: git: fix failing sandbox build 2024-02-16 03:16:46 +00:00
5e7f914354 programs: superTux: fix failing sandbox build 2024-02-16 03:16:28 +00:00
8c9c6ec979 modules/programs: make-sandboxed: support /libexec binaries 2024-02-16 03:15:45 +00:00
0dec8b6d5b programs: fontconfig: sandbox 2024-02-15 18:26:45 +00:00
7eaffc9fa0 programs: w3m: enable sandbox 2024-02-15 18:25:48 +00:00
b7c1a6331d programs: mate.engrampa: enable sandbox 2024-02-15 18:24:27 +00:00
d6868d58e6 xdg-desktop-portal: disable sandbox 2024-02-15 18:23:40 +00:00
1edb1fc8b6 modules/programs: sane-sandboxed: avoid adding the sandbox implementation to $PATH 2024-02-15 17:58:22 +00:00
52d768a162 programs: xterm: mark as not needing a sandbox 2024-02-15 17:26:55 +00:00
7a685d8de9 programs: inkscape: sandbox with bwrap 2024-02-15 17:26:37 +00:00
838c6d7dc8 programs: swaync: sandbox 2024-02-15 16:38:38 +00:00
8d20dcadd1 modules/programs: sane-sandboxed: add --sane-sandbox-keep-pidspace flag 2024-02-15 15:05:28 +00:00
9d706df5b5 programs: waybar: narrow the /run/user paths to just sway-ipc.sock 2024-02-15 14:40:01 +00:00
06f1f1e9ea sway: give SWAYSOCK a consistent name 2024-02-15 14:38:54 +00:00
2fbbe7fd78 sway: remove unused "sane.gui.sway.package" option 2024-02-15 14:38:10 +00:00
24d23f7903 programs: bemenu: fix sandboxing 2024-02-15 14:33:20 +00:00
0394aa65e9 sway: simplify config 2024-02-15 14:25:45 +00:00
5090c4e88c sway: define without using nixos "programs.sway"
motivation was to leverage 'sane.programs.sway.env' to statically configure SWAYSOCK. i think that's still the right way: we'll see
2024-02-15 14:25:27 +00:00
081114da65 programs: waybar: sandbox in a way that works well for moby too 2024-02-15 13:16:18 +00:00
c943442c94 modules/programs: sane-sandboxed: add --sane-sandbox-method none for benchmarking 2024-02-15 13:13:39 +00:00
02b7586ffa programs: komikku: add dbus to the sandbox to fix it 2024-02-15 11:58:08 +00:00
02dd629616 modules/programs: sane-sandboxed: rework so portal env vars arent set when sandbox is disabled
and by setting them only at launch time we aid introspectability/debugging
2024-02-15 11:57:36 +00:00
25dcb7f89a programs: open-in-mpv: document that upstream merged my PR 2024-02-15 11:38:37 +00:00
88f1d63b6e firefox: properly integrate xdg-desktop-portal for opening media 2024-02-15 11:36:50 +00:00
d36e269edd programs: loupe: remove the dbus services to make it work with Firefox 2024-02-15 11:36:24 +00:00
40af8b95fd pkgs.rmDbusServices: also remove dbus properties from .desktop files 2024-02-15 11:35:52 +00:00
582a003739 programs: waybar: fix battery indicator within sandbox 2024-02-15 10:35:24 +00:00
df60be8c61 open-in-mpv: sandbox with bwrap 2024-02-15 09:49:03 +00:00
e8b4c36442 programs: nautilus: specify inode/directory mime association 2024-02-15 09:48:26 +00:00
2f699737f5 firefox: fix open-in-mpv integration
two parts: add open-in-mpv's config to firefox's sandbox; patch open-in-mpv to forward to xdg-open
2024-02-15 09:14:57 +00:00
4a3d24be3f waybar: migrate all config to "sane.programs" 2024-02-15 07:18:12 +00:00
10feb319fe sway: lift waybar to own file and sandbox it 2024-02-15 02:33:40 +00:00
fde1e5d872 README: add a graphic 2024-02-15 01:01:31 +00:00
b2fcf6fdfd programs: messengers (fractal, signal, dino, tuba): add media libraries to the sandbox 2024-02-15 00:49:24 +00:00
dcc2eb265d programs: re-enable sandbox for tumiki-fighters and losslesscut (X applications) 2024-02-15 00:09:40 +00:00
5f1036118f modules/programs: sandboxing: add a "whitelistX" option 2024-02-15 00:09:16 +00:00
8ac4869f10 gpodder-adaptive: fix meta.position and thereby fix NUR eval
idk why it broke. seems that attrset members (passthru.*) don't preserve their position anymore
2024-02-14 23:39:18 +00:00
226425bbef nixpkgs: 2024-02-13 -> 2024-02-14; sops-nix -> 2024-02-13
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/013603a52da98fe4abf15a5700479a58fa5899a5' (2024-02-13)
  → 'github:nixos/nixpkgs/52e165035c897a7b41ff26bc235f8d841e9d3850' (2024-02-14)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/40a7b182e0a00245d69f6b8c1dfd3ea4bfc6257c' (2024-02-13)
  → 'github:nixos/nixpkgs/c0a130d16b170f4820c3d2ed294a7aaabf451bfd' (2024-02-14)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/695275c349bb27f91b2b06cb742510899c887b81' (2024-02-12)
  → 'github:Mic92/sops-nix/48afd3264ec52bee85231a7122612e2c5202fa74' (2024-02-13)
```
2024-02-14 22:50:47 +00:00
518c3afd07 programs: sandbox: disable losslesscut/tumiki-fighters sandbox until i can figure out Xwayland 2024-02-14 14:37:59 +00:00
90dee85664 programs: sort alphabetically 2024-02-14 14:28:22 +00:00
26fc283fd9 programs: losslesscut: sandbox 2024-02-14 14:26:56 +00:00
d0430ce1e9 programs: pavucontrol/pwvucontrol: enable audio devices inside the sandbox 2024-02-14 14:26:56 +00:00
368a52b91e programs: speedtest-cli: sandbox with bwrap 2024-02-14 14:26:56 +00:00
d90dacee1f programs: grimshot: sandbox with bwrap 2024-02-14 14:17:41 +00:00
a6e2b3bc5c programs: xdg-terminal-exec: disable sandbox 2024-02-14 14:11:35 +00:00
8863a3c674 programs: wob: sandbox with bwrap 2024-02-14 14:10:20 +00:00
fa8d6dbb9f programs: wob: fix config substitution 2024-02-14 14:04:54 +00:00
e5e79a6b60 programs: FileMimeInfo: disable sandbox 2024-02-14 13:54:21 +00:00
95f7eeeb5c programs: libnotify: sandbox with bwrap 2024-02-14 13:49:48 +00:00
29d638c68b programs: dig: sandbox with bwrap 2024-02-14 13:47:44 +00:00
7d22a5466f programs: zsh: fix "switch" function to be friendly to sandboxing 2024-02-14 13:45:56 +00:00
b747742e23 flake: implement "deploy.self" app as replacement for nixos-rebuild switch 2024-02-14 13:45:15 +00:00
5907d9fa42 Revert "xdg-desktop-portal-gtk: build without support for notifications"
This reverts commit c9e02bfd8a.

disable notifications at this level did not cause fractal (gtk app) to
send its notifications to swaync. instead, it still tried to deliver to
the Portal, where the Portal wasn't expecting anything and just returned
an error to fractal.

setting `GNOTIFICATION_BACKEND = "freedesktop"` seems to be the correct
way to get gtk apps to behave as desired with their notifications.
2024-02-14 11:09:37 +00:00
67fe8d4666 swaync: propagate GNOTIFICATION_BACKEND = "freedesktop" to all users 2024-02-14 11:09:20 +00:00
22ca253ae0 modules/programs: better document the env option 2024-02-14 11:08:43 +00:00
c9e02bfd8a xdg-desktop-portal-gtk: build without support for notifications 2024-02-14 10:51:18 +00:00
03b58b3cab programs: vim: support system copy/paste inside of sandbox 2024-02-14 09:11:31 +00:00
ae01c17c05 programs: splatmoji: fix to work inside a sandbox again 2024-02-14 09:11:12 +00:00
677e6e679b programs: sandbox {s,}waylock lockscreen 2024-02-14 08:48:03 +00:00
3eb47a9a8d programs: swaylock: *partially* sandbox with capsh 2024-02-14 05:46:36 +00:00
f11e443678 programs: waylock: *partially* sandbox with capsh 2024-02-14 05:46:28 +00:00
9faf1bb52c README: document the sandboxing feature of my "programs" module 2024-02-14 05:24:48 +00:00
e599724811 README: use consistent tab width (2 spaces) 2024-02-14 05:18:43 +00:00
c0b03950dc README: format links to local files in a way that markdown will render them 2024-02-14 05:16:59 +00:00
8f8ec090c4 programs: add "waylock" 2024-02-14 05:01:33 +00:00
e174eaeff0 programs: loupe: fix sandboxing 2024-02-14 04:32:10 +00:00
8b32f2f231 modules/programs: add support for 'autodetectCliPaths = parent' 2024-02-14 04:31:59 +00:00
f12b7afa1e programs: mimeo: dont sandbox 2024-02-14 01:51:26 +00:00
080bd856ec programs: sandboxing: only permit wayland socket access to those specific apps which require it 2024-02-14 01:49:49 +00:00
548a95a7e1 modules/programs: sandboxing: unshare ipc/cgroup/uts by default 2024-02-14 01:48:59 +00:00
2d7c5b9fa5 programs: mpv: explicitly add Videos/servo, Books/servo to sandbox 2024-02-13 15:38:57 +00:00
e696cb96b6 nixpkgs: 2024-02-12 -> 2024-02-13
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/f176844192a0b4ab719dffd91fcf356fc24ccbff' (2024-02-12)
  → 'github:nixos/nixpkgs/013603a52da98fe4abf15a5700479a58fa5899a5' (2024-02-13)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/b05b56d24858cfbc2064bda18d00a242bed5ddfb' (2024-02-12)
  → 'github:nixos/nixpkgs/40a7b182e0a00245d69f6b8c1dfd3ea4bfc6257c' (2024-02-13)
```
2024-02-13 12:54:00 +00:00
83cb29aeeb xdg-utils: re-add mimetype package 2024-02-13 12:31:04 +00:00
34b148f6cc modules/programs: allow specifying perlPackages members as programs, as i do with python3Packages, etc 2024-02-13 12:31:04 +00:00
44c2f8bcc0 cross: xdg-utils: build xdg-screensaver, and simplify a bit 2024-02-13 12:31:04 +00:00
9c18aa2765 cross: fix xdg-utils 2024-02-13 12:31:04 +00:00
4458a74e4c nixpkgs: 2024-02-09 -> 2024-02-12; sops-nix -> 2024-02-12
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/b38903da74d4fa07bd7045e89bb31e6d4cc13548' (2024-02-09)
  → 'github:nixos/nixpkgs/f176844192a0b4ab719dffd91fcf356fc24ccbff' (2024-02-12)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/410b90f31644cc71ffc145261d76a351012aac66' (2024-02-09)
  → 'github:nixos/nixpkgs/b05b56d24858cfbc2064bda18d00a242bed5ddfb' (2024-02-12)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/2168851d58595431ee11ebfc3a49d60d318b7312' (2024-02-08)
  → 'github:Mic92/sops-nix/695275c349bb27f91b2b06cb742510899c887b81' (2024-02-12)
• Updated input 'sops-nix/nixpkgs-stable':
    'github:NixOS/nixpkgs/bc6cb3d59b7aab88e967264254f8c1aa4c0284e9' (2024-02-08)
  → 'github:NixOS/nixpkgs/d8cd80616c8800feec0cab64331d7c3d5a1a6d98' (2024-02-10)
```
2024-02-13 12:31:04 +00:00
1a18ed533b programs: don't include dbus in the sandbox by default 2024-02-13 11:58:33 +00:00
18eec98cae programs: brightnessctl: switch to landlock 2024-02-13 11:58:33 +00:00
82c386a6a4 programs: tor-browser-bundle-bin -> tor-browser
they're the same (aliased), only my programs API expects 'tor-browser' specifically
2024-02-13 11:58:33 +00:00
634dc318cd programs: spotify: remove old/unused firejail config 2024-02-13 11:15:30 +00:00
6eaaeeb91a programs: remove audio from the sandbox by default 2024-02-13 11:14:38 +00:00
94be4a7551 programs: wob: fix service definition (Exec -> ExecStart) 2024-02-13 11:03:18 +00:00
b4a20da78a programs: brightnessctl: sandbox 2024-02-13 10:55:44 +00:00
bb68506839 modules/programs: add separate "user" v.s. "system" options for whitelistDbus 2024-02-13 10:55:10 +00:00
77e2af0ed9 programs: krita: enable sandbox 2024-02-13 10:36:42 +00:00
126f3e4922 programs: sandboxing: restrict /run/user dir to just dbus/pipewire/pulse/wayland, by default 2024-02-13 10:28:30 +00:00
73afceb8c6 modules/programs: sandbox: add whitelistWayland option 2024-02-13 10:24:35 +00:00
371af5939e programs: mpv: tighten the /run/user portion of the sandbox 2024-02-12 15:24:07 +00:00
27fd81ad80 modules/programs: add new options for whitelisting audio/dbus 2024-02-12 15:23:35 +00:00
d82b4b0f62 modules/programs: sane-sandboxed: reorder the --sane-sandbox-profile-dir arg so it takes precedence 2024-02-12 14:56:48 +00:00
7b28023e08 modules/programs: re-introduce the "withEmbeddedSandboxer" passthru attr 2024-02-12 14:27:48 +00:00
2b9db897a1 implement sane.defaultUser attr 2024-02-12 14:27:32 +00:00
6124cb9b36 modules/programs: sane-sandboxed: search for profiles in XDG_DATA_DIRS, not NIX_PROFILES 2024-02-12 13:16:48 +00:00
b0394d877d modules/programs: rename allowedRootPaths -> allowedPaths
now that allowedHomePaths doesn't exist
2024-02-12 13:00:10 +00:00
14d8230821 modules/programs: sane-sandboxed: remove --sane-sandbox-home-path argument and plumbing
no longer needed, and mixing this with root paths is liable to cause troubles at this point, around symlink dereferencing/canonicalization/etc
2024-02-12 12:57:54 +00:00
e94e338040 programs: handbrake: remove unneeded Pictures/servo-macros from sandbox 2024-02-12 12:54:41 +00:00
354ce378f6 programs: assorted: convert /mnt/servo "extraPaths" into "extraHomePaths" where possible 2024-02-12 12:54:16 +00:00
a90b5b53db modules/programs: sandboxing: dereference symlinks and also include those in the sandbox 2024-02-12 12:48:02 +00:00
eee3e138ff modules/programs: sandboxing: allow specifying individual /run/user/$uid paths to expose to the sandbox 2024-02-12 12:18:59 +00:00
f61cd17e99 modules/programs: sandboxing: specialize profiles per-user by expanding $HOME 2024-02-12 12:08:58 +00:00
3e0b0a0f02 modules/programs: make-sandboxed: lift profile creation logic out to the toplevel 2024-02-12 11:52:33 +00:00
2ee34e9af3 modules/profiles: remove sandbox.embedProfile option
with upcoming refactors, this setting would force a different package to be installed per user, which doesn't mesh with the existing sane.programs infra
2024-02-12 11:35:59 +00:00
f9a998eb92 programs: koreader: remove "sandbox.embedProfile = true"
i guess this was set while i was debugging
2024-02-12 11:33:55 +00:00
7c05d221d6 modules/programs: split "make-sandbox-profile" out of "make-sandboxed" 2024-02-12 11:20:40 +00:00
93012664e5 modules/programs: simplify how sandbox profiles make it into system packages 2024-02-12 10:52:44 +00:00
c424f7ac3b sane-sandboxed: load all profiles, not just the first one we find
this allows some amount of overriding, or splitting profiles between system and user dirs
2024-02-12 10:40:15 +00:00
088b6f1b9a sane-sandboxed: load profiles via $NIX_PROFILES env var 2024-02-12 10:37:26 +00:00
96575acf3a programs: sane-sandboxed: move parseArgsExtra to outer scope; improve docs 2024-02-12 10:28:14 +00:00
1e05119adc mpv: fix loading of album art within sandbox 2024-02-12 08:59:46 +00:00
e81df0ac86 modules/programs: enforce that user services don't accidentally override PATH 2024-02-12 08:44:55 +00:00
b19492ba23 programs: mpv: add .config/mpv to sandbox paths 2024-02-12 08:26:51 +00:00
8b26fa1303 programs: wob: split the script into an actual package 2024-02-12 08:26:51 +00:00
c0883dc777 sway: refactor: store sway-portals.conf in the user dir instead of system-wide
it's a user service, so prefer to configure it via user/home conf dirs
2024-02-12 07:13:39 +00:00
6b3a71aadf programs: xdg-desktop-portal: dont show app chooser for apps which are the default association 2024-02-12 07:12:04 +00:00
8d0d20757e gui: fold xdg-desktop-portal.nix back into sway config 2024-02-12 01:38:05 +00:00
66ca822ac1 remove xdg-desktop-portal-gtk service; xdg-desktop-portal knows how to start that itself 2024-02-12 01:33:34 +00:00
db7a414030 xdg-desktop-portal(s): dont install globally 2024-02-12 01:16:17 +00:00
87050a0500 feeds: add "FullTimeNix" podcast :) 2024-02-12 00:09:49 +00:00
bf53e3628a xdg-utils: cleanup 2024-02-11 23:57:50 +00:00
d35f938806 mime.nix: fix cross build 2024-02-11 23:44:55 +00:00
d719eb0f11 programs: gPodder: enable Videos/gPodder in sandbox 2024-02-11 23:37:16 +00:00
0861edd7f9 modules/programs: remove ~/.config/mimeo from sandbox defaults 2024-02-11 23:35:27 +00:00
b6bf8720c9 modules/programs: implement --sane-sandbox-portal flag for apps which want to use the portal to open other apps 2024-02-11 23:32:24 +00:00
0fbc10fce3 mime: store mime associations in ~/.local/share/applications instead of /run/current-system/sw/share/applications to facilitate sandboxing 2024-02-11 23:31:43 +00:00
772f1070e7 xdg-desktop-portal: configure myself, to unblock future portal-related work 2024-02-11 23:29:07 +00:00
50c6e406bc programs: disable zecwallet-lite 2024-02-09 20:23:56 +00:00
41020b2c0d nixpkgs: 2024-02-08 -> 2024-02-09
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/74098fff8838394e2cdf78012bbc7f5bf835197e' (2024-02-08)
  → 'github:nixos/nixpkgs/b38903da74d4fa07bd7045e89bb31e6d4cc13548' (2024-02-09)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/075bf9cffe5b04d39874747239022de9aec5cdcd' (2024-02-08)
  → 'github:nixos/nixpkgs/410b90f31644cc71ffc145261d76a351012aac66' (2024-02-09)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/23f61b897c00b66855074db471ba016e0cda20dd' (2024-02-04)
  → 'github:Mic92/sops-nix/2168851d58595431ee11ebfc3a49d60d318b7312' (2024-02-08)
• Updated input 'sops-nix/nixpkgs-stable':
    'github:NixOS/nixpkgs/9a333eaa80901efe01df07eade2c16d183761fa3' (2024-01-22)
  → 'github:NixOS/nixpkgs/bc6cb3d59b7aab88e967264254f8c1aa4c0284e9' (2024-02-08)
```
2024-02-09 10:39:27 +00:00
590a239f7d programs: gpodder: sandbox with bwrap
which we can do, now that xdg-open works correctly within sandboxes
2024-02-09 10:31:42 +00:00
bcbc57f5ef programs: get xdg-open to work from within sandboxes
note that implementation may have a quirk that applications launched via the portal cannot themselves "xdg-open" through the portal, because of the environment variable manipulation.

not sure how best to address that.
2024-02-09 10:27:30 +00:00
0d3adcdc5c modules: users: have user services inherit PATH from environment rather than forcibly overwriting it 2024-02-09 09:50:26 +00:00
d19907a38d sway: enable OpenURI interface in xdg-desktop-portal 2024-02-09 05:57:02 +00:00
9ac0e0e4fc modules/programs: put things in a pid namespace by default 2024-02-08 23:36:59 +00:00
c9af5bf9b4 programs: sandboxing: enable net isolation for most sandboxed programs 2024-02-08 21:51:32 +00:00
bc85169e3d programs: sandboxer: allow disable net access 2024-02-08 21:07:34 +00:00
7b9b3344a0 nixpkgs: 2024-02-07 -> 2024-02-08
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/966fd30804ad0e400fa3502e9f848bfad63b1852' (2024-02-07)
  → 'github:nixos/nixpkgs/74098fff8838394e2cdf78012bbc7f5bf835197e' (2024-02-08)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/be4596f17b30403478c629b27d87fd914a2b9f8a' (2024-02-07)
  → 'github:nixos/nixpkgs/075bf9cffe5b04d39874747239022de9aec5cdcd' (2024-02-08)
```
2024-02-08 11:09:25 +00:00
f6ca6210f9 feeds: link to podcastindex.org 2024-02-07 21:47:19 +00:00
19cfc86d1a nixpkgs: 2024-02-06 -> 2024-02-07
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/952bd699447d82d69f4b15d994d5dc232e7addfb' (2024-02-06)
  → 'github:nixos/nixpkgs/966fd30804ad0e400fa3502e9f848bfad63b1852' (2024-02-07)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/8ad5408ea36be34ae262b04c8e913a95f8248fc7' (2024-02-06)
  → 'github:nixos/nixpkgs/be4596f17b30403478c629b27d87fd914a2b9f8a' (2024-02-07)
```
2024-02-07 09:45:02 +00:00
227d159c66 sway: map Super+Shift+PageUp/Down to next/prev track 2024-02-06 23:52:53 +00:00
a6becb8c42 sway: add Super+space to toggle media 2024-02-06 23:22:24 +00:00
2a5398beb3 sway: simplify brightness_up_cmd
sxmo just uses brightnessctl internally, plus a call to 'notify'

i don't really need the notification, and if i did i could implement wob support on both desktop and mobile
2024-02-06 23:10:01 +00:00
0f12ed68f7 sway: simplify config templating 2024-02-06 23:04:44 +00:00
0c050d1953 programs: fuzzel: fix overly-aggressive sandboxing 2024-02-06 20:10:29 +00:00
2fc1fe7510 modules/programs: make-sandboxed: fix that /share/* was being linked into top-level /; better way to enforce sandboxing of /share entries 2024-02-06 19:55:55 +00:00
8d705af7a0 nixpkgs: 2024-02-04 -> 2024-02-06
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/259981b0af5c285bb3cc7146de1da1b5af92236d' (2024-02-04)
  → 'github:nixos/nixpkgs/952bd699447d82d69f4b15d994d5dc232e7addfb' (2024-02-06)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/2be0b5db83fbea4a838f753994e8ebd35af91968' (2024-02-04)
  → 'github:nixos/nixpkgs/8ad5408ea36be34ae262b04c8e913a95f8248fc7' (2024-02-06)
```
2024-02-06 06:18:59 +00:00
e91ec2c35e todo.md: task to consolidate ~/dev and ~/ref 2024-02-06 06:08:06 +00:00
5fbf66fb15 programs: loupe: sandbox with bwrap 2024-02-06 06:05:32 +00:00
97d50629e9 programs: handbrake: sandbox with landlock 2024-02-06 05:48:54 +00:00
5f8699fcef rearrange /mnt structure for host-based subdirs
e.g. /mnt/servo/media, /mnt/desko/home, etc
2024-02-06 05:48:11 +00:00
7ce957c3af gtk: set GSK_RENDERER=cairo to fix a bug somewhere in moby's render stack 2024-02-06 05:02:02 +00:00
d7612d5034 modules/programs: make-sandboxed: avoid deep-copying all of /share when sandboxing
saves like 1 GiB of closure. but i haven't thoroughly tested this
2024-02-06 05:02:02 +00:00
5ff7bf0c69 programs: fuzzel: sandbox 2024-02-06 02:34:46 +00:00
2495200b67 tidy: programs: wget: remove warning about the sandbox being untested 2024-02-06 01:34:40 +00:00
4c499629f5 programs: vvvvvv: sandbox with bwrap 2024-02-06 01:34:04 +00:00
7b9f54dd54 programs: superTux: sandbox with bwrap 2024-02-06 01:16:36 +00:00
bda932c3df programs: supertuxkart: sandbox with bwrap 2024-02-06 01:10:39 +00:00
3f96f4af82 sway: refer to fewer programs in the config by absolute path
this aids in sandboxing and swapping stuff in/out at runtime
2024-02-05 23:40:18 +00:00
1c4e2f97fe swaylock: mark sandboxing as unsupported 2024-02-05 23:36:35 +00:00
594a729968 feeds: remove balaji 2024-02-05 22:48:09 +00:00
5c8bb55cec todo.md: better sandboxing around /mnt/servo-media 2024-02-05 22:33:42 +00:00
6eb2a3d67f programs: handbrake: sandbox with bwrap 2024-02-05 22:28:15 +00:00
ddc41bc9d8 programs: pavucontrol/pwvucontrol: sandbox with bwrap 2024-02-05 22:15:48 +00:00
7d833ebf76 programs: kdenlive: sandbox with bwrap 2024-02-05 22:07:37 +00:00
bfc0eadfaa programs: hitori: sandbox with bwrap 2024-02-05 21:52:57 +00:00
ff1cbcc16b programs: gnome-clocks,gnome-calendar: sandbox with bwrap 2024-02-05 21:46:27 +00:00
fd81e35c31 todo.md: package blurble game! 2024-02-05 21:46:09 +00:00
9a8d8a20bd programs: frozen-bubble: persist data and sandbox with bwrap 2024-02-05 21:32:58 +00:00
cd1d22e7b9 programs: gnome-calculator: sandbox with bwrap 2024-02-05 20:58:38 +00:00
2c0e93826d programs: gimp: sandbox with bwrap 2024-02-05 20:53:05 +00:00
cab346f3ad programs: delfin: sandbox with bwrap 2024-02-05 20:44:47 +00:00
568a72f6a4 gpodder-configured: remove unused derivation inputs 2024-02-05 20:22:27 +00:00
a2decaff9c programs: bemenu: sandbox with landlock 2024-02-05 18:41:52 +00:00
23411ed973 todo.md: make dconf stuff less monolithic 2024-02-05 18:33:03 +00:00
8ef9f7a485 epiphany: persist dconf settings; reduce sandboxer errors 2024-02-05 18:31:38 +00:00
12846732b9 programs: blanket: sandbox with bwrap 2024-02-05 18:26:21 +00:00
e84079e84c programs: firefox: allow sandbox access to ~/dev 2024-02-05 18:17:49 +00:00
45ffd9246d programs: brave: sandbox with bwrap 2024-02-05 18:17:28 +00:00
ed3935318d feeds: subscribe to non-paywalled Matt Levine 2024-02-05 16:41:38 +00:00
8052f62796 programs: sane-wipe browser: also clear epiphany artifacts 2024-02-05 16:31:19 +00:00
413903d03c make-sandboxed: also embed profiles for the withEmbeddedSandboxer passthru pkg 2024-02-05 08:26:40 +00:00
6d1eae2200 programs: gnome-2048: sandbox with bwrap 2024-02-05 08:26:06 +00:00
4d51c34ad2 programs: allow sane.strictSandboxing = "warn" 2024-02-05 05:28:02 +00:00
bc50a8c489 nixpkgs: 2024-02-03 -> 2024-02-04; sops-nix -> 2024-02-04
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/94db8d8c016a54feeaaf2643e2ce42bf4cc29286' (2024-02-03)
  → 'github:nixos/nixpkgs/259981b0af5c285bb3cc7146de1da1b5af92236d' (2024-02-04)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/79a13f1437e149dc7be2d1290c74d378dad60814' (2024-02-03)
  → 'github:nixos/nixpkgs/2be0b5db83fbea4a838f753994e8ebd35af91968' (2024-02-04)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/73bf36912e31a6b21af6e0f39218e067283c67ef' (2024-01-28)
  → 'github:Mic92/sops-nix/23f61b897c00b66855074db471ba016e0cda20dd' (2024-02-04)
```
2024-02-04 22:55:03 +00:00
ee8e33b795 koreader: remove dead patching code
it still builds (in 3:00 minutes), huh
2024-02-04 22:08:12 +00:00
8afb6406a1 koreader: remove dead code/build inputs 2024-02-04 22:02:03 +00:00
7ac1ee66ad koreader: use nixpkgs' luasocket and luasec 2024-02-04 21:30:30 +00:00
8a47eb92ed koreader: use nixpkgs' lua-rapidjson 2024-02-04 21:30:30 +00:00
b87934d5f8 koreader: use nixpkgs lpeg and remove vendor-external-projects.patch 2024-02-04 20:37:10 +00:00
293eab8225 koreader: use modern openssl 2024-02-04 20:05:02 +00:00
abdbb83e10 koreader: replace vendored dependencies with their nixpkgs equivalents much more effectively
the old method was still causing everything to be re-compiled within koreader, rather than linking against the nix store.

decreases build time to about 3m on a desktop
2024-02-04 19:39:32 +00:00
4a96fa233a koreader: 2023.10 -> 2024.01 2024-02-04 02:51:27 +00:00
4bd73ddca3 koreader-from-src: build even more from source 2024-02-03 23:58:41 +00:00
dc74bca06a programs: vim: add private/knowledge to sandbox 2024-02-03 23:53:53 +00:00
42523b75a8 programs: gdb: disable sandboxing 2024-02-03 23:53:34 +00:00
79736a4a0a koreader-from-src: tidy 2024-02-03 16:30:03 +00:00
111946eb1d programs: vim, imagemagick: fix sandboxing to consider uncreated files 2024-02-03 14:07:53 +00:00
09f3bfc944 flake: make "nix run .#deploy" deploy to all hosts 2024-02-03 02:55:13 +00:00
b8fc75ebd6 nixpkgs: 2024-02-02 -> 2024-02-03
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/1bfd22b6448ac4d407510bd37fe16d87a9dcb41b' (2024-02-02)
  → 'github:nixos/nixpkgs/94db8d8c016a54feeaaf2643e2ce42bf4cc29286' (2024-02-03)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/eef63ea04722d812a09a5974ed18c9761088a6e1' (2024-02-02)
  → 'github:nixos/nixpkgs/79a13f1437e149dc7be2d1290c74d378dad60814' (2024-02-03)
```
2024-02-03 02:15:09 +00:00
8de015f098 flake: preDeploy: fix host/addr mixup 2024-02-03 02:15:05 +00:00
6da85f6d8f flake: add a preDeploy target 2024-02-03 02:04:41 +00:00
2dc6da476b flake: deploy app: remove the last call to nixos-rebuild 2024-02-03 01:42:54 +00:00
453f40d0a8 flake: sync photos from moby with "nix run .#sync.moby" 2024-02-03 00:54:04 +00:00
14b20fd9c2 programs: komikku: fix sandboxing 2024-02-03 00:52:17 +00:00
2df1b20f02 programs: epiphany: simplify the sandboxing 2024-02-03 00:44:23 +00:00
56e7e9a7cc remove unused "default.nix.cmp" file
should have never been checked in
2024-02-03 00:18:33 +00:00
2f9fad503c programs: fix sandboxing errors for programs which create files (notably: ffmpeg) 2024-02-03 00:17:54 +00:00
3439ca34b8 sane-sandboxed: add more autodetect options, and a "withEmbeddedSandboxer" package output (for dev) 2024-02-03 00:17:24 +00:00
24e6e6cacc firefox-extensions.sidebery: downgrade 5.1.1 -> 5.0.0
release format is inconsistent; would need to build from-source to reliably use the latest version(s)
2024-02-02 23:26:14 +00:00
0ee9f2026c sane-sandboxed: hopefully fix a problem with path normalization for paths with spaces 2024-02-02 22:56:43 +00:00
5e3c2636db programs: make-sandboxed: handle packages which use relative links in bin (like spotify) 2024-02-02 22:38:36 +00:00
cd0a046776 dovecot: remove dead code 2024-02-02 20:47:55 +00:00
27edee0bbf dovecot2: fix sieves 2024-02-02 20:47:20 +00:00
56734fe5da mpv: add /dev/dri to the sandbox 2024-02-02 19:18:30 +00:00
832a572d56 firefox-extensions: bump to latest 2024-02-02 19:17:04 +00:00
3c96f6d418 programs: koreader: enable DRI in the sandbox, and use wrappedDerivation 2024-02-02 17:22:57 +00:00
86b23e8183 programs: fractal: enable DRI in sandbox 2024-02-02 17:19:35 +00:00
2bb9115f35 modules/programs: sandboxing: add "whitelistDri" option for gfx-intensive apps 2024-02-02 17:18:51 +00:00
065d045640 fix so sway inherits program env vars 2024-02-02 15:36:06 +00:00
d3eaa69261 lappy/desko: auto-start signal-desktop 2024-02-02 14:22:08 +00:00
6151eee8d5 programs (assorted): fix wantedBy = "default.target" to be more specific
now GUI apps aren't stuck in a restart loop until sway starts

in particular, signal-desktop can actually be autostarted
2024-02-02 14:21:57 +00:00
483a1d1780 sway: signal on launch to systemd that the graphical-session.target is ready
this allows auto-launching of other services which require a compositor (i.e. messaging apps)
2024-02-02 14:20:30 +00:00
567c7993b6 modules/programs: sandbox: allow mimeo config in any sandbox 2024-02-02 12:52:36 +00:00
f6eeab5650 nixpkgs: 2024-02-01 -> 2024-02-02
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/06002f375e1d20f1481abcb696a50f232202e7ac' (2024-02-01)
  → 'github:nixos/nixpkgs/1bfd22b6448ac4d407510bd37fe16d87a9dcb41b' (2024-02-02)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/fbba9b8f0b6364928f60ef1b97e686b569cdb64e' (2024-02-01)
  → 'github:nixos/nixpkgs/eef63ea04722d812a09a5974ed18c9761088a6e1' (2024-02-02)
```
2024-02-02 01:07:32 +00:00
2824671bde tune nix deploy parameters (specifically for moby)
this is experimental; hard to understand immediately how significant are the effects
2024-02-02 00:50:25 +00:00
efcaef2c35 lappy/desko/servo: downgrade kernel 6.7 -> 6.6 (latest supported by zfs) 2024-02-01 16:21:46 +00:00
25707eb79e servo: address deprecation warning: dovecot2.sieveScripts -> sieve.scripts 2024-02-01 15:47:56 +00:00
18679cd8c3 fix deprecation warnings: overrideScope' -> overrideScope 2024-02-01 15:44:46 +00:00
09923b60ea moby: disable desko as nixcache 2024-02-01 15:41:43 +00:00
3100189172 purge supercap
i no longer have access to dispatch build jobs to it :((((
2024-02-01 15:36:37 +00:00
715ac42f13 remove samba from closure
current samba hangs during configurePhase. this is not the first time samba has failed to build. nor the third. purge it.
2024-02-01 15:28:40 +00:00
a9810e7343 re-ship linux 6.7 to lappy/desko/servo
now that landlock-sandboxer builds against the correct linux headers,
this can actually work.
2024-02-01 13:54:44 +00:00
4f352c5725 landlock-sandboxer: build against headers which match the sandboxer source 2024-02-01 13:53:39 +00:00
17f35a3619 linux-megous: 6.6.0 -> 6.7.2 2024-02-01 12:51:53 +00:00
89d4f3eec3 nixpkgs: 2024-01-29 -> 2024-02-01
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/aa476d3e0de89aeb67950a1bc76b4fd576c24505' (2024-01-29)
  → 'github:nixos/nixpkgs/06002f375e1d20f1481abcb696a50f232202e7ac' (2024-02-01)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/a31b9bd76009c73a2f932fbdaa7145ac4a79544f' (2024-01-29)
  → 'github:nixos/nixpkgs/fbba9b8f0b6364928f60ef1b97e686b569cdb64e' (2024-02-01)
```
2024-02-01 11:32:36 +00:00
44419d71a5 lemmy-lemonade: init at 2023.10.29 2024-02-01 11:32:07 +00:00
02e597a862 fractal-nixified: 5 -> 6 2024-02-01 10:57:01 +00:00
00f995aec9 fixup landlock-sandboxer to work well for all systems
downgrade lappy/desko/servo back to default linux; zfs doesn't support latest

build landlock-sandboxer against the specific kernel being deployed; it's less noisy that way
2024-01-31 21:19:10 +00:00
368eb2c29b programs: git: whitelist more repo roots 2024-01-31 21:17:48 +00:00
5f793523d1 ship linux 6.7 to lappy/desko/servo 2024-01-31 20:33:15 +00:00
33bee7ac2e unl0kr: be a little more robust against bad password entry 2024-01-31 20:32:26 +00:00
84af8aca3c unl0kr: remove debugging code 2024-01-31 20:10:57 +00:00
a0f00313a7 moby: disable signal-desktop autostart 2024-01-31 20:09:03 +00:00
6603115192 moby: disable getty auto-login
i think this interacts badly with unl0kr style logins, though
honestly kinda hard to tell if that was a fluke or real.
2024-01-31 19:47:24 +00:00
ac968e1589 sxmo: allow the option to disable greeter entirely 2024-01-31 19:46:37 +00:00
2d4fc4f274 landlock-sandboxer: build against latest compatible linux 2024-01-31 17:45:46 +00:00
1d72e13a98 sxmo: launch via unl0kr by default 2024-01-31 17:40:36 +00:00
d9667653e7 docs: sway: point out that one can launch sway directly from a TTY 2024-01-31 16:29:27 +00:00
8c6bf07102 todo.md: sync 2024-01-31 16:28:56 +00:00
634520a1e9 unl0kr: fix cross compilation 2024-01-31 16:23:55 +00:00
13be5a1731 unl0kr: fix LOGIN_TIMEOUT to be infinite 2024-01-31 15:43:30 +00:00
30288cd67f user: add CAP_NET_ADMIN,CAP_NET_RAW even outside of systemd session
in fact, *only* outside of systemd session because they broke ambient caps in 255
2024-01-31 15:42:43 +00:00
87e2509af4 doc: cozy: mention that upstream has merged the patch i apply 2024-01-31 15:36:54 +00:00
8736ca478b programs: firefox: allow access to servo image-macros 2024-01-31 15:36:09 +00:00
cb3960fb21 programs: git: fix access to ~/private/knowledge 2024-01-31 15:35:21 +00:00
6e24a1ff28 programs: re-enable sops 2024-01-31 15:30:15 +00:00
91eae95b32 modules.gui.gnome: fix build 2024-01-31 15:29:49 +00:00
f5c88853ee sway: replace "greetd" with "unl0kr"-based login process 2024-01-31 15:20:27 +00:00
0009e5ca4c programs: sandboxing: use wrapperType="wrappedDerivation" where applicable 2024-01-29 15:21:16 +00:00
0403d5c03e nixpkgs: 2024-01-28 -> 2024-01-29
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/a86d1125195505d4ea8997b12507b9c623511256' (2024-01-28)
  → 'github:nixos/nixpkgs/aa476d3e0de89aeb67950a1bc76b4fd576c24505' (2024-01-29)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/f58fe0f36dbbef39b3f5ec8542a02dece7c9559b' (2024-01-28)
  → 'github:nixos/nixpkgs/a31b9bd76009c73a2f932fbdaa7145ac4a79544f' (2024-01-29)
```
2024-01-29 13:49:54 +00:00
db6ba61429 programs: sandbox more apps with wrapperType=wrappedDerivation 2024-01-29 13:45:57 +00:00
881d2f79ed modules/programs: add "unchecked" passthru to aid debugging 2024-01-29 13:36:01 +00:00
47abdfb831 modules/programs: patch dbus-1 files to use sandboxed binaries 2024-01-29 13:09:43 +00:00
3831c6f087 TODO: fold 2024-01-29 13:07:44 +00:00
d3f7a036ce ripgrep: move options out of assorted.nix into its own file 2024-01-29 12:57:56 +00:00
0454abacd9 komikku: sandbox 2024-01-29 12:56:08 +00:00
4f8d476ebf modules/programs: patch old /nix/store paths in .desktop files 2024-01-29 12:56:08 +00:00
1cb2c5225f programs: use wrapperType=wrappedDerivation where possible 2024-01-29 12:07:04 +00:00
7af970f38c modules/programs: extend wrapperType="wrappedDerivation" to handle common share/ items 2024-01-29 11:59:38 +00:00
6f86e61a00 firefox: fix build
zip was giving some complaints... i'm not sure why, i think it still works
2024-01-29 09:57:35 +00:00
3ea3776281 nixpkgs: 2024-01-27 -> 2024-01-28
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/ef4dd61b7d53af44b060473308c50fa3b34d5681' (2024-01-27)
  → 'github:nixos/nixpkgs/a86d1125195505d4ea8997b12507b9c623511256' (2024-01-28)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/c002c6aa977ad22c60398daaa9be52f2203d0006' (2024-01-27)
  → 'github:nixos/nixpkgs/f58fe0f36dbbef39b3f5ec8542a02dece7c9559b' (2024-01-28)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/4606d9b1595e42ffd9b75b9e69667708c70b1d68' (2024-01-24)
  → 'github:Mic92/sops-nix/73bf36912e31a6b21af6e0f39218e067283c67ef' (2024-01-28)
• Updated input 'sops-nix/nixpkgs-stable':
    'github:NixOS/nixpkgs/a1982c92d8980a0114372973cbdfe0a307f1bdea' (2024-01-12)
  → 'github:NixOS/nixpkgs/9a333eaa80901efe01df07eade2c16d183761fa3' (2024-01-22)
```
2024-01-29 09:57:35 +00:00
a7eb8dd6fa nixpkgs: 2024-01-22 -> 2024-01-27
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/dceddd03df4f840ea28c65887c199495793fb322' (2024-01-22)
  → 'github:nixos/nixpkgs/ef4dd61b7d53af44b060473308c50fa3b34d5681' (2024-01-27)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/8cccce637e19577815de54c5ecc3132dff965aee' (2024-01-22)
  → 'github:nixos/nixpkgs/c002c6aa977ad22c60398daaa9be52f2203d0006' (2024-01-27)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/ae171b54e76ced88d506245249609f8c87305752' (2024-01-21)
  → 'github:Mic92/sops-nix/4606d9b1595e42ffd9b75b9e69667708c70b1d68' (2024-01-24)
```

this breaks sway login for lappy. not obvious why.
2024-01-29 09:57:35 +00:00
c1a1f51ca2 git: fix git-upload-pack (used on the remote when doing git pull) 2024-01-29 09:57:27 +00:00
32824cfade modules/programs: sandbox in a manner that's more compatible with link-heavy apps like busybox, git, etc 2024-01-29 09:56:30 +00:00
51fc61b211 sane-sandboxed: cleanup 2024-01-29 09:14:43 +00:00
7b9795ea3d modules/programs: implement embedWrapper option 2024-01-29 09:13:49 +00:00
5f3e481fe4 sane-sandboxed: refactor and avoid passing duplicate/subpaths into the sandbox 2024-01-29 07:15:02 +00:00
86219d7006 sane-sandboxed: simplify: consolidate homePaths and rootPaths into just "paths" 2024-01-29 05:43:10 +00:00
381da74e6c users: enable pam_cap for "login" program 2024-01-28 17:55:19 +00:00
24c70c3683 feeds: switch acoup.blog to the database type feed
at some point my feed script became capable of understanding his RSS :)
2024-01-28 12:37:38 +00:00
bfec531fa2 sandbox a bunch more apps 2024-01-28 11:43:05 +00:00
de11edffa5 programs/assorted: remove more unused programs 2024-01-28 11:34:33 +00:00
294f167df0 sane-sandboxed: fix CLI escaping with capsh 2024-01-28 11:11:07 +00:00
e536e3c718 programs/assorted.nix: remove unused tree-sitter package 2024-01-28 11:03:09 +00:00
17d14dbac2 programs/assorted.nix: uninstall some programs i don't frequently use 2024-01-28 10:40:57 +00:00
94981ef335 vim: sandbox 2024-01-28 10:39:08 +00:00
3cd244be76 git: sandbox with bwrap 2024-01-28 10:36:19 +00:00
f100595257 modules/programs: properly forward autodetectCliPaths to the sandboxer 2024-01-28 10:31:07 +00:00
e84da827c2 sane-sandboxed: fix typo in add-pwd flag 2024-01-28 09:17:12 +00:00
42f9fa029d modules/programs: fix that whitelistPwd wasnt passed into the sandbox profile 2024-01-28 09:04:27 +00:00
40fee97b06 modules/programs: make-sandboxed: disallowReferences to the fake sane-sandboxed used during checkPhase 2024-01-28 08:58:13 +00:00
3cc8292d8b modules/programs: make-sandboxed: support packages with checkPhase by bypassing the sandbox 2024-01-28 07:45:08 +00:00
9261d30a34 modules/programs: reformatting 2024-01-28 05:58:08 +00:00
3eb3a8db5a modules/programs: add a whitelistPwd option to grant the program access to the directory it was called from 2024-01-28 05:57:30 +00:00
97129268f0 modules/programs: sandbox: add "capshonly" as a valid sandbox.method 2024-01-28 05:57:11 +00:00
fa39a965ca TODO: investigate sane.programs as a contributor to nixos-rebuild times 2024-01-28 05:55:32 +00:00
7da979503b bubblewrap: explicitly disable sandboxing 2024-01-27 17:20:40 +00:00
3b32c26026 zsh: explicitly disable sandboxing 2024-01-27 17:20:24 +00:00
cad25306e7 alacritty: explicitly disable sandbox 2024-01-27 17:20:11 +00:00
4d7414c941 programs: introduce and use "autodetectCliPaths" nix config 2024-01-27 17:19:48 +00:00
b29b8bdec7 wireshark: specify capabilities via sandbox.capabilities config 2024-01-27 17:12:40 +00:00
a7d081bfcb modules/programs: add a sane.strictSandboxing option 2024-01-27 17:11:07 +00:00
5ca208d07f modules/programs: sandbox: add enable flag and capabilities structured config 2024-01-27 17:08:27 +00:00
6c605944c5 pkgs: firefox-extensions: update to latest 2024-01-27 15:50:47 +00:00
02b6e17449 nicotine-plus: disable
now i have no firejail programs; no more setuid wrapper in /run/wrappers :)
2024-01-27 15:37:43 +00:00
770db96ec6 go2tv: sandbox with bwrap 2024-01-27 15:31:08 +00:00
ff356fdd49 playerctl: sandbox with bwrap 2024-01-27 15:18:56 +00:00
eec89e2cc1 librewolf: sandbox with bwrap 2024-01-27 15:16:53 +00:00
d69d8f64f3 tor-browser: sandbox with bwrap; remove useHardenedMalloc patch 2024-01-27 15:04:22 +00:00
4ee2562202 programs: tidy: prefer "sandbox.extraHomePaths" over "fs" for external deps 2024-01-27 14:54:17 +00:00
08b1ece56e programs: gnome-weather: sandbox with bwrap 2024-01-27 14:53:38 +00:00
26b978dcf2 modules/programs: sandbox: fix "inline" -> "inplace" typo 2024-01-27 14:42:25 +00:00
b22c2e094c koreader: sandbox with bwrap 2024-01-27 14:39:22 +00:00
b40775f97c koreader-from-src: document FTP configuration 2024-01-27 14:39:02 +00:00
a27a72646c koreader-from-src: fix non-cross build 2024-01-27 14:38:52 +00:00
100ddad40e wike: link to issue about state directory 2024-01-27 14:27:02 +00:00
d8b6d419b6 modules/programs: sandboxing: add wrapperType = "wrappedDerivation" to wrap without rebuilding the whole package 2024-01-27 14:26:41 +00:00
1bde38bf72 cozy: sandbox with bwrap 2024-01-27 13:11:22 +00:00
a06c81643c sane-sandboxed: don't error if ~ files aren't available to be bound 2024-01-27 12:48:58 +00:00
15fd7bf4a5 sane-sandboxed: implement a "capshonly" backend 2024-01-27 12:39:36 +00:00
0a25ef544f wike: sandbox with bwrap 2024-01-27 12:29:58 +00:00
a6b824d3c4 modules/programs/sandbox: add an "embedProfile" option to source sandbox settings from the package instead of the system 2024-01-27 12:23:25 +00:00
79ee47bada firefox: get away with linking slightly less into the sandbox 2024-01-27 11:41:18 +00:00
be06e61bfb programs: geary: fix sandboxing
this is an UGLY one. geary itself uses bwrap, and that fails if it's sandboxed AT ALL in landlock (i.e. even with just / landlocked as RW).

maybe this has to do with what landlock-sandboxer considers 'read/write' to be, and there's actually more file ops i need to enable on /
2024-01-27 11:28:08 +00:00
3b4884fcf1 sane-sandbox: fix secret binding 2024-01-27 11:26:10 +00:00
4319dc58eb programs: landlock: restrict the capabilities of sandboxed processes 2024-01-27 09:49:51 +00:00
3122434908 programs: add an option to configure extra home paths to make accessible in the sandbox 2024-01-27 09:11:32 +00:00
dae7785ee2 wireshark: remove dead code 2024-01-27 09:04:08 +00:00
d54f8b1e93 programs: fix so environment variables make it onto user sessions 2024-01-27 09:02:55 +00:00
27f3b2bd76 firefox: allow ~/tmp and ~/Pictures access 2024-01-27 06:00:46 +00:00
b417f60769 sane-sandboxed: try binding /proc/self in landlock. still doesnt work well 2024-01-27 05:59:40 +00:00
df2d5b6d01 sane-sandboxed: fixup /dev/std* for wireshark 2024-01-27 05:12:43 +00:00
3e6278fa21 wireshark: sandbox with landlock instead of firejail
and remove the SUID wrapper, yay!
2024-01-27 04:44:21 +00:00
a66b257644 sane-sandboxed: better support for landlock and SANE_SANDBOX_PREPEND/APPEND 2024-01-27 04:43:42 +00:00
ef66d2ec72 sane-sandboxed: add support for landlock backend 2024-01-27 03:39:26 +00:00
e21dbd507d landlock-sandboxer: init 2024-01-26 16:52:33 +00:00
64878bee67 sane-sandboxed: add SANE_SANDBOX_PREPEND, SANE_SANDBOX_APPEND env vars 2024-01-26 09:14:18 +00:00
557a080ffc TODO.md: try landlocked for sandboxing, instead of bubblewrap 2024-01-26 09:13:46 +00:00
8ecb17ed3e programs: enable libcap_ng/netcap 2024-01-26 09:13:20 +00:00
c4874c85b1 bubblewrap: debugging 2024-01-26 09:13:00 +00:00
563a75e9b2 users: launch entire systemd --user namespace with cap_net_admin, cap_net_raw
this should make sandboxing wireshark *much* easier, and same with things which require net namespaces, in the future
2024-01-25 15:05:35 +00:00
7f002b8718 programs: sane-sandboxed: implement --sane-sandbox-cap for capabilities setting 2024-01-24 06:34:11 +00:00
79e2bd2913 epiphany: sandbox with bwrap
this is the first app which *requires* DRI/DRM to function correctly. maybe this effects anything webkitgtk (like wike)?
2024-01-24 06:25:20 +00:00
95161b55cd spot: sandbox with bwrap 2024-01-24 05:47:04 +00:00
d91759068c element-desktop: sandbox with bwrap 2024-01-24 05:37:46 +00:00
c23c496066 programs: tuba: sandbox with bwrap
it complains "Fontconfig error: No writable cache directories"
seeeeeveral times. not sure if that's new or not. no obvious
consequences.
2024-01-24 05:34:10 +00:00
824630f7d1 programs: sandboxing: document /dev/dri a bit more 2024-01-24 05:28:27 +00:00
f8e8d23857 vlc: sandbox with bwrap instead of firejail 2024-01-24 05:19:20 +00:00
8484bb7978 docs: mime: document how to show the nix mime associations 2024-01-24 05:00:35 +00:00
57105c6861 sane-sandboxed: autodetect: handle file:/// URIs 2024-01-24 05:00:08 +00:00
3758044e7b sane-sandboxed: better handle "--" 2024-01-24 04:59:24 +00:00
bfaf098c31 sane-sandboxed: fix handling of -- (which previously smushed arguments) 2024-01-24 02:52:01 +00:00
0e99b296bc animatch: remove the (unused) .config directory 2024-01-24 02:18:58 +00:00
089f86d5e4 programs: make /usr/bin/env available in the sandbox
enables KOReader to run
2024-01-24 01:48:02 +00:00
d0e1241bd1 animatch: fix to run on wayland w/o Xwayland, and enable bwrap sandbox 2024-01-24 01:43:33 +00:00
c1a0a08b76 gtkcord4: sandbox with bwrap 2024-01-24 00:12:12 +00:00
e8748ce0a0 servo: lemmy: pict-rs: port the media-enable-full-video -> media-video-allow-audio CLI flag 2024-01-23 17:12:13 +00:00
7cf9b342cc gpodder: fixup GPODDER_DOWNLOAD_DIR to be more friendly to sandboxing 2024-01-23 16:44:47 +00:00
8739851f48 evince: port sandbox from firejail to bwrap 2024-01-23 16:44:13 +00:00
d945b43f6b signal-desktop: switch sandbox from firejail -> bwrap 2024-01-23 16:42:48 +00:00
fcc3ea1e39 todo: update containerization tasks 2024-01-23 16:41:06 +00:00
7722acecee sway: obtain deps via "config.sane.programs", so that i get the sandboxed version of e.g. splatmoji 2024-01-23 16:32:42 +00:00
bdd70f8fa2 sane-sandboxed: ignore the executable path when autodetecting media 2024-01-23 16:32:06 +00:00
571a0a9d06 gui: disable unused abaddon app 2024-01-23 16:30:06 +00:00
ccf4f66dd9 programs: dialect: sandbox with bubblewrap 2024-01-23 16:23:14 +00:00
b38e5403a5 splatmoji: sandbox 2024-01-23 16:01:27 +00:00
09af041745 g4music: ensure it can access the Music dir in its sandbox 2024-01-23 16:00:21 +00:00
cb5131746f programs: audacity: sandbox with bubblewrap 2024-01-23 15:59:50 +00:00
2fbd0f8ee1 nixpatches: apply bonsai refactor PR 2024-01-23 15:50:32 +00:00
bfd5630e21 programs: sandbox: omit media dirs by default, and implement --sane-sandbox-autodetect for programs which are liable to load data from paths 2024-01-23 15:48:12 +00:00
026f5dee4d programs: g4music: sandbox with bwrap 2024-01-23 15:06:45 +00:00
b59be8338a firefox: fix up sandboxing of ssh/sops 2024-01-23 14:57:57 +00:00
ab4bbc2224 programs: remove explicit firejail installation; let sane.programs decide when to install it sys-wide 2024-01-23 14:57:33 +00:00
156fcd1bf2 aerc: enable bwrap sandbox 2024-01-23 14:57:33 +00:00
576d2c32f0 programs: support secrets even when sandboxed 2024-01-23 14:57:33 +00:00
bb63a594ab conky: fixup needed paths for bwrap 2024-01-23 14:57:33 +00:00
25739ec2ba programs: sane-sandboxed: avoid reading firejail profiles when the backend isnt firejail
this should provide a marginal perf gain
2024-01-23 14:57:33 +00:00
f148334b58 programs: port extraFirejailConfig to extraConfig 2024-01-23 14:57:33 +00:00
da537ea8ea fractal: switch from firejail -> bwrap 2024-01-23 14:13:09 +00:00
18d224dc34 dino: switch from firejail to bwrap 2024-01-23 14:12:52 +00:00
3a6ee8708e programs: sane-sandboxed: dont error if network mountpoints are offline 2024-01-23 13:13:31 +00:00
983bf93d8f programs: sane-sandboxed: make the profile handle arguments with spaces 2024-01-23 12:47:25 +00:00
40cc8f5d1c programs: sane-sandboxed: make more debuggable 2024-01-23 12:27:23 +00:00
cce03a5dc8 programs: sandbox: use --dev-bind-try for root paths; fixes mpv on moby 2024-01-23 12:18:32 +00:00
38fd171713 spotify: sandbox with bwrap instead of firejail 2024-01-23 12:12:56 +00:00
84c78d9256 conky: sandbox with bwrap instead of firejail 2024-01-23 12:11:22 +00:00
973203d85e programs: mpv: sandbox with bwrap instead of firejail 2024-01-23 11:37:37 +00:00
f9174dd2aa programs: firefox: sandbox with bwrap instead of firejail 2024-01-23 11:37:19 +00:00
98dfc3aa5a programs: sandbox: allow all programs to access media
hopefully this is just a stopgap
2024-01-23 11:36:58 +00:00
27b56b1a12 programs: sane-sandbox: implement a cleaner debugshell and test API 2024-01-23 11:19:52 +00:00
6e9220d2bb programs: allow programs to specify "sandbox.method = "bwrap"" for bubblewrap sandboxing 2024-01-23 10:44:13 +00:00
0ddcfcaa23 sane-sandboxed: retrieve profiles from /share/sane-sandboxed/profiles so they can be customized without mass rebuilds 2024-01-23 08:01:23 +00:00
a4cb6645b4 programs: indirect firejail access through sane-sandboxed 2024-01-23 04:02:31 +00:00
2492ed2ca7 programs: introduce a sane-sandboxed helper
not yet used, but will be soon
2024-01-23 02:29:33 +00:00
f49d2a1e0e programs: split "makeSandboxed" into its own file 2024-01-23 01:23:14 +00:00
0dc3f4f7f2 modules/programs: move to subdir
this will help me factor out helpers
2024-01-23 01:02:04 +00:00
0bed4d0ada mpv: disable firejail sandboxing (it fails on moby) 2024-01-23 01:01:21 +00:00
f3e8af3fdb doc: libreoffice: mention "still" v.s. "fresh" variants 2024-01-23 01:00:34 +00:00
af542ec05f docs: gnome-keyring: point out that system gnome-keyring doesn't inherit my sandboxing 2024-01-23 01:00:06 +00:00
399a1d2052 steam: use wrapped package as system steam 2024-01-23 00:59:23 +00:00
bb6e5611d4 docs: conky: point out that un-sandboxed conky is used by sxmo-utils 2024-01-23 00:58:56 +00:00
d5901afb8e programs: firejail: specify profile via : (clarifies to firejail that its an identifier and not a path); invoke firejail via name instead of absolute path 2024-01-22 23:58:54 +00:00
c11f5a1401 wireshark: fix security.wrappers when wireshark is disabled 2024-01-22 23:58:04 +00:00
5b220f3fec wireshark: enable firejail isolation 2024-01-22 13:12:10 +00:00
8bf41ea858 programs: fix missing newline in firejail config concatenation 2024-01-22 13:11:47 +00:00
df861a3ef0 programs: firejail: inject custom firejail config through /etc/firejail
this improves rebuild times, and makes it easier for packages to inject their own free-form config
2024-01-22 11:12:18 +00:00
d6754b6cac evince: sandbox with firejail 2024-01-22 10:20:29 +00:00
b03d7f7fb0 geary: test the firejail profile; it's not ready 2024-01-22 10:04:18 +00:00
008b186479 audacity: test the firejail profile; it's not ready 2024-01-22 10:04:03 +00:00
914f9b3703 vlc: sandbox with firejail 2024-01-22 09:47:24 +00:00
ed7ec4a371 conky: sandbox with firejail 2024-01-22 09:31:00 +00:00
2d338201a5 signal-desktop: sandbox with firejail
TODO: fix URL opening / xdg-open
2024-01-22 09:30:34 +00:00
a8aad1f98f dino: sandbox with firejail
TODO: fix URL opening / xdg-open
2024-01-22 09:30:13 +00:00
2d06b93118 fractal: sandbox with firejail
TODO: seems this broke link opening? (xdg-open?)
2024-01-22 09:28:50 +00:00
60547204a8 sane.programs: firejail: support wrapping "runCommand" packages 2024-01-22 09:16:25 +00:00
3d763a0021 tor-browser-bundle-bin -> tor-browser
upstream nixpgs just has tor-browser-bundle-bin as an alias for tor-browser
2024-01-22 08:13:37 +00:00
ad474873e2 dovecot: fix unparseable config
upstream/nixpkgs is doing some shit, ugh
2024-01-22 08:09:37 +00:00
dd35136ac0 firejail: fix so /run/wrappers are available inside a jail 2024-01-22 07:18:50 +00:00
cfe6e9c20a nixpkgs: 2024-01-19 -> 2024-01-22
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/331c78971299375240001d946861951b6cc98176' (2024-01-19)
  → 'github:nixos/nixpkgs/dceddd03df4f840ea28c65887c199495793fb322' (2024-01-22)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/bbec4099302591a41304d360e3bab805e5ccc0be' (2024-01-19)
  → 'github:nixos/nixpkgs/8cccce637e19577815de54c5ecc3132dff965aee' (2024-01-22)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/87755331580fdf23df7e39b46d63ac88236bf42c' (2024-01-15)
  → 'github:Mic92/sops-nix/ae171b54e76ced88d506245249609f8c87305752' (2024-01-21)
```
2024-01-22 04:05:59 +00:00
0f3f0933b1 mpv: sandbox with firejail 2024-01-22 03:50:28 +00:00
f8440e3811 go2tv: allow more ports through the firewall 2024-01-22 03:50:04 +00:00
829460a076 todo: update firejail/sandboxing tasks 2024-01-22 02:04:32 +00:00
9ecd0adcbe firefox: sandbox with firejail
TODO: get it so open-in-mpv launches an mpv that has access to ~/.config/mpv

i guess this is the 'firejail url problem'
2024-01-21 23:59:15 +00:00
ad92a2e158 programs: abort when no firejail profile is found for a program.
in the future, i can whitelist specific binaries to omit their firejail
profiles.
2024-01-21 04:32:49 +00:00
5f5891d241 programs: apply firejail profile to programs which are net isolated 2024-01-21 04:28:48 +00:00
cf475c4696 nicotine-plus: remove distro-specific symlink 2024-01-21 03:56:33 +00:00
992194a1f0 programs: achieve network sandboxing without "sane-vpn do" 2024-01-21 03:51:12 +00:00
bad6a7bfee programs: implement "default vpn" with native nix code instead of sane-vpn 2024-01-21 01:04:31 +00:00
66d5e204be vpn: enforce "id" restrictions 2024-01-21 00:57:46 +00:00
ce35330923 vpn.nix: factor into a proper module
this will allow for better integration with 'sane.programs'
2024-01-21 00:49:34 +00:00
bdab1aa7e3 firefox-extensions: update to latest 2024-01-20 21:30:15 +00:00
080c8dbe3d sane-bt-search: try to install some logging for a sporadic error 2024-01-20 21:19:18 +00:00
a31fe44624 sane-bt-add: handle https:// URIs which forward to magnet: 2024-01-20 21:18:58 +00:00
59187a0ec0 programs: allow running binaries in a netns-style firejail 2024-01-20 11:11:12 +00:00
03fbf42680 servo: lemmy: pict-rs: fix broken CLI argument 2024-01-20 03:15:06 +00:00
f3b2a98874 firejail: fix cross compilation 2024-01-20 03:14:32 +00:00
2e9084c9ef nixpkgs: 2024-01-14 -> 2024-01-19; sops-nix -> 2024-01-15
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/724e39ebb9b8eda97f17d423f66fbc5a991f4f8d' (2024-01-14)
  → 'github:nixos/nixpkgs/331c78971299375240001d946861951b6cc98176' (2024-01-19)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/6c08fe3ccf437d8b26bec010fd925ddd6bb0d0d5' (2024-01-14)
  → 'github:nixos/nixpkgs/bbec4099302591a41304d360e3bab805e5ccc0be' (2024-01-19)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/70dd0d521f7849338e487a219c1a07c429a66d77' (2024-01-14)
  → 'github:Mic92/sops-nix/87755331580fdf23df7e39b46d63ac88236bf42c' (2024-01-15)
```
2024-01-20 03:14:32 +00:00
0907240fda sane-vpn: implement the "do" command, to run a program in a netns 2024-01-19 22:55:26 +00:00
7d670facd4 feeds: sort 2024-01-19 21:38:45 +00:00
61e5704fd6 feeds: unsub LW
too verbose, and too many of y'all turned into authoritarians
2024-01-19 21:38:14 +00:00
fd0723169f nix-serve: fix coredump loop 2024-01-19 21:34:45 +00:00
a725d42bf5 ip_forward: consolidate the options to fix servo build 2024-01-19 21:34:18 +00:00
c03cea2d4e net/vpn.nix: cleanup dead code 2024-01-19 09:58:13 +00:00
f43d6bff92 route VPN traffic such that i can configure any app to selectively use the VPN
e.g. firejail --net=br-ovpnd-us-mi --noprofile --dns=46.227.67.134 getent ahostsv4 uninsane.org
2024-01-19 09:54:01 +00:00
43a8ca90a7 feeds: add Cat and Girl 2024-01-16 19:12:25 +00:00
dac6046828 firefox-extensions: update to latest 2024-01-16 19:10:32 +00:00
e2a6ae22dc sxmo-utils: 2024-12-28 -> 2024-01-01 2024-01-16 19:10:08 +00:00
f2ee43d1ef delfin: 0.2.1 -> 0.3.0 2024-01-16 19:09:50 +00:00
3d80b46570 lemoa: 0.5.0 -> 0.5.1 2024-01-16 19:09:38 +00:00
e7d383604a signal-desktop-from-src: 6.42.0 -> 6.44.0 2024-01-16 19:09:25 +00:00
7d504892be servo: dovecot: fix broken sieve 2024-01-16 06:28:25 +00:00
d7a2bf9d26 servo: remove networking.useDHCP=false override
seems likely that the change to systemd-networkd renamed the ethernet interface, and so eth0.useDHCP wasn't right. this change seems to restore networking
2024-01-16 06:09:19 +00:00
d6184a7b6d sane-vpn: update to be compatible with newer systemd-network vpn implementation 2024-01-16 03:36:37 +00:00
851c15aa6d vpn: port ovpnd connections to use systemd-network
this should allow better integration with e.g. systemd-run, in future
2024-01-16 03:20:40 +00:00
c45898f903 WIP: wg-dev 2024-01-15 04:15:17 +00:00
0efec20904 hosts/common/net/vpn: remove unused "extraOptions" argument 2024-01-15 03:52:31 +00:00
2f04b563d1 nixpkgs: 2024-01-11 -> 2024-01-14
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/06797d4df4baaa51b229081083a88b92dac3ff7c' (2024-01-11)
  → 'github:nixos/nixpkgs/724e39ebb9b8eda97f17d423f66fbc5a991f4f8d' (2024-01-14)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/51f399ec47c082d678261883095bb8ad552e6500' (2024-01-11)
  → 'github:nixos/nixpkgs/6c08fe3ccf437d8b26bec010fd925ddd6bb0d0d5' (2024-01-14)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/c0b3a5af90fae3ba95645bbf85d2b64880addd76' (2024-01-10)
  → 'github:Mic92/sops-nix/70dd0d521f7849338e487a219c1a07c429a66d77' (2024-01-14)
• Updated input 'sops-nix/nixpkgs-stable':
    'github:NixOS/nixpkgs/70bdadeb94ffc8806c0570eb5c2695ad29f0e421' (2024-01-03)
  → 'github:NixOS/nixpkgs/a1982c92d8980a0114372973cbdfe0a307f1bdea' (2024-01-12)
```
2024-01-15 01:32:07 +00:00
5b9c58dbc6 hosts/common: use servo-style dns on all machines
it'll be handy as i want to place individual applications inside VPNs/namespaces
2024-01-15 01:16:22 +00:00
a7964c4f0c hosts/common: net: split upnp config into own file 2024-01-15 01:12:09 +00:00
006a7e9f72 consolidate net-related stuff into hosts/common/net/ directory 2024-01-15 01:11:13 +00:00
3856710faf net: annotate the UPNP rule 2024-01-15 01:08:10 +00:00
6cbc0bedf3 ddns-he (HurricaneElectric): remove
it's unused for a year
2024-01-15 00:55:10 +00:00
fbc0c7615a ddns-afraid (afraid.org): remove
it's unused for a year
2024-01-15 00:54:41 +00:00
34bcdb5128 firefox: disable kinetic scrolling 2024-01-14 20:34:14 +00:00
a5c6e41622 feeds: subscribe to POD OF JAKE 2024-01-14 05:20:28 +00:00
02e03227d8 servo: try to integrate peerswap with clightning, but it fails 2024-01-14 04:33:12 +00:00
faa0a7c9ea peerswap: init at unstable-20240111 2024-01-14 02:55:32 +00:00
812a02bc6b feeds: add The Dollop podcast 2024-01-14 00:49:29 +00:00
27898ecdc8 feeds: unsubscribe from Louis Rossman
his channel is kinda just the same idea  played over and over
2024-01-14 00:36:52 +00:00
1c2324cca4 servo: clightning-sane: status command: show profits from fees 2024-01-13 16:43:49 +00:00
70f059eaac feeds: subscribe to Jack Stauber 2024-01-13 16:43:41 +00:00
bac72be730 servo: clightning-sane: status command: show in/out payment sums 2024-01-13 15:53:48 +00:00
99858c1384 servo: clightning-sane: centralize metric reporting, fix so we blacklist our own channels less frequently 2024-01-13 04:47:20 +00:00
103a300e77 servo: clightning-sane: implement an autobalance subcommand 2024-01-13 03:04:24 +00:00
6b5cdd7508 servo: clightning-sane: log before we give up 2024-01-13 01:10:52 +00:00
2f1e354400 servo: clightning-sane: drop caches after so many failures 2024-01-12 23:54:06 +00:00
585a87130c servo: clightning-sane: remove unused loop_once_with_retries method 2024-01-12 23:31:30 +00:00
0e68533776 servo: clightning-sane: introduce parallelism 2024-01-12 23:30:52 +00:00
882cc5bfd0 servo: clightning-sane: rename Balancer -> LoopRouter 2024-01-12 21:36:20 +00:00
91847a9a8e servo: clightning-sane: factor "loop" action into own subroutine 2024-01-12 21:28:20 +00:00
5c649ff216 servo: clightning-sane: include peer_id in status --full 2024-01-12 20:56:00 +00:00
abdd224211 servo: clightning-sane: increase CLTV 9->18 2024-01-12 20:55:32 +00:00
0c72c59190 servo: clightning-sane: handle closed channels in status listing 2024-01-12 20:28:57 +00:00
432170a69e servo: clightning-sane: rename ppm in/out to theirs/mine 2024-01-12 19:31:39 +00:00
805b37a9a5 servo: clightning-sane: add a --full option for more info 2024-01-12 19:24:50 +00:00
87a0bda011 servo: clightning-sane: perform rebalance operation in a loop 2024-01-12 19:17:07 +00:00
5d2c6e1978 servo: clightning-sane: mark channels which cant be rebalanced freely 2024-01-12 18:43:58 +00:00
abafbd811b servo: clightning-sane: minor bugfixes 2024-01-12 18:30:49 +00:00
aca50d9946 servo: clightning-sane: add a "status" subcommand 2024-01-12 17:42:44 +00:00
bd4f4dab81 servo: clightning-sane: factor out a subcommands interface 2024-01-12 15:42:12 +00:00
aebd11ea82 alacritty: port config: yaml to toml 2024-01-12 03:24:55 +00:00
fa6906fdf9 cross: fix appstream/eyed3 failures from nixpkgs update 2024-01-12 03:24:55 +00:00
cec21375a5 servo: disable mautrix-signal 2024-01-12 03:24:55 +00:00
0428f64afa nixpkgs: 2024-01-10 -> 2024-01-11
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/2f9e98ccf3283a34ce9301c7ee4ca18d219d829d' (2024-01-10)
  → 'github:nixos/nixpkgs/06797d4df4baaa51b229081083a88b92dac3ff7c' (2024-01-11)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/32afa5e024e45885dacadf1c8ad65e9ebc51a901' (2024-01-10)
  → 'github:nixos/nixpkgs/51f399ec47c082d678261883095bb8ad552e6500' (2024-01-11)
```
2024-01-12 03:24:55 +00:00
e0864edefc nixpkgs: 2024-01-10 -> 2024-01-10
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/0231e3ccf485b7b110f0e0e55be6a711cb0093fb' (2024-01-10)
  → 'github:nixos/nixpkgs/2f9e98ccf3283a34ce9301c7ee4ca18d219d829d' (2024-01-10)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/a962df01db9bff000df83733bf6d7ef60a855057' (2024-01-10)
  → 'github:nixos/nixpkgs/32afa5e024e45885dacadf1c8ad65e9ebc51a901' (2024-01-10)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/0ded57412079011f1210c2fcc10e112427d4c0e6' (2024-01-08)
  → 'github:Mic92/sops-nix/c0b3a5af90fae3ba95645bbf85d2b64880addd76' (2024-01-10)
```
2024-01-12 03:24:55 +00:00
7460fd283c nixpkgs: 2024-01-09 -> 2024-01-10
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/fcff3d7883a38ef71832899085ba365658c96867' (2024-01-09)
  → 'github:nixos/nixpkgs/0231e3ccf485b7b110f0e0e55be6a711cb0093fb' (2024-01-10)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/519c93eda20a7c361e6159d853bf33b1e6236141' (2024-01-09)
  → 'github:nixos/nixpkgs/a962df01db9bff000df83733bf6d7ef60a855057' (2024-01-10)
```
2024-01-12 03:24:55 +00:00
7a7dee1630 nixpkgs: 2023-12-29 -> 2024-01-09; sops-nix; uninsane-dot-org
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/f50aae4fb10dd51bd6ffcce0eb96d02b608a9595' (2023-12-29)
  → 'github:nixos/nixpkgs/fcff3d7883a38ef71832899085ba365658c96867' (2024-01-09)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/04df6aa7bad237aeeb69f603e1f4ec1a2c28a4da' (2023-12-29)
  → 'github:nixos/nixpkgs/519c93eda20a7c361e6159d853bf33b1e6236141' (2024-01-09)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/e523e89763ff45f0a6cf15bcb1092636b1da9ed3' (2023-12-24)
  → 'github:Mic92/sops-nix/0ded57412079011f1210c2fcc10e112427d4c0e6' (2024-01-08)
• Updated input 'sops-nix/nixpkgs-stable':
    'github:NixOS/nixpkgs/7790e078f8979a9fcd543f9a47427eeaba38f268' (2023-12-23)
  → 'github:NixOS/nixpkgs/70bdadeb94ffc8806c0570eb5c2695ad29f0e421' (2024-01-03)
• Updated input 'uninsane-dot-org':
    'git+https://git.uninsane.org/colin/uninsane?ref=refs/heads/master&rev=b21e6899490f25fa450fb9e3efa0c8774bcee0d3' (2023-12-31)
  → 'git+https://git.uninsane.org/colin/uninsane?ref=refs/heads/master&rev=4a1fa488e64e6c87c6c951e3fafb2684692f64d3' (2024-01-01)
```
2024-01-12 03:24:55 +00:00
913403aac6 servo: clightning-sane: tidy 2024-01-12 01:25:56 +00:00
432a66bf5f servo: clightning: initialize a script for rebalancing with peers 2024-01-11 23:11:33 +00:00
e2a43ddfa0 servo: clightning: allow group members to run lightning-cli 2024-01-11 15:59:32 +00:00
b2ba204ca1 nixpatches: update hashes (?) 2024-01-11 15:58:44 +00:00
892b045342 pyln-client: init at 23.11.2 2024-01-11 00:38:08 +00:00
8644e6705a servo: decrease ZFS cache size 2024-01-11 00:20:52 +00:00
3f60206eef servo: clightning: tune config 2024-01-10 23:40:17 +00:00
568ead4bd7 servo: lightning: tune config 2024-01-10 21:01:36 +00:00
14241d54c9 flake: fix packages output to eval (even though its dumb and i just use hostPkgs.<machine>.<xyz>) 2024-01-10 11:48:20 +00:00
e4d75c5f38 servo: clightning: disable features which are incompatible with lnd 2024-01-10 11:18:54 +00:00
c42dda1bab servo: clightning: document more parts of the config 2024-01-09 16:19:48 +00:00
3295ae3b74 servo: clightning: update config 2024-01-09 16:13:08 +00:00
e63438bedf feeds: disable The Linux Experience 2024-01-09 00:45:18 +00:00
25422da9ba servo: tune clightning config 2024-01-09 00:42:37 +00:00
37583d8c9c clightning: tune fees, logging 2024-01-06 18:08:51 +00:00
62b3863722 servo: clightning: enable experimental features 2024-01-06 09:13:17 +00:00
b11f03bd18 servo: clightning: docs 2024-01-05 22:09:32 +00:00
63620fa058 servo: clightning: node personalization and docs 2024-01-04 21:55:13 +00:00
cecb114810 clightning: harden 2024-01-04 18:47:40 +00:00
4ce93f74c6 wob: add debug logging 2024-01-04 17:07:47 +00:00
09b806d7a7 go2tv: document youtube workarounds 2024-01-04 16:26:25 +00:00
2f31100c3f servo: ship go2tv 2024-01-04 16:25:50 +00:00
ca3f97ec51 docs: go2tv: elaborate seeking limitations 2024-01-04 16:25:49 +00:00
7378d6c5b2 bitcoind: host behind tor 2024-01-04 16:25:49 +00:00
276de5d662 tor: fix /var/lib/tor directory permissions 2024-01-04 16:25:49 +00:00
6f449cf35f clightning: document some places to find nodes for channels 2024-01-04 16:25:49 +00:00
daf046861c wob: implement as part of sway instead of exclusive to sxmo 2024-01-04 13:08:20 +00:00
43498c62f9 clightning: integrate with tor 2024-01-03 18:29:16 +00:00
22f5853741 firefox: remove unused functions 2024-01-03 14:59:59 +00:00
fe217f6667 firefox: disable ctrl+shift+c shortcut more broadly 2024-01-03 14:59:27 +00:00
41ae86f40f servo: enable clightning 2024-01-03 13:56:42 +00:00
6d52c8ecf8 servo: split tor/i2p into own files 2024-01-03 13:56:14 +00:00
75b649543a firefox: enable ctrl-shift-c-should-copy extension 2024-01-03 13:42:58 +00:00
1261a6f452 firefox-extensions.ctrl-shift-c-should-copy: init at unstable-2023-03-04 2024-01-03 13:33:32 +00:00
041855dbc7 zsh: fix broken <del> and <ctrl>+<arrow> keybindings 2024-01-03 13:07:29 +00:00
3e52956a3a servo: clightning: integrate, but do not enable 2024-01-02 18:32:34 +00:00
d8f4158bc6 servo: consolidate blockchains under cryptocurrencies directory 2024-01-02 18:16:58 +00:00
36638e80a3 bitcoin: add myself as an authenticated rpcuser 2024-01-02 18:11:46 +00:00
28d0a72c62 define (but dont activate) a clighting bitcoin service 2024-01-02 14:29:52 +00:00
6471524f4a programs: zecwallet-lite: move to own file 2024-01-01 15:17:51 +00:00
61b2b8f2cd nixpatches: cleanup 2024-01-01 14:46:37 +00:00
02aae4bb8b conky: start upstreaming it 2024-01-01 14:38:08 +00:00
3efecb9560 sxmo_hook_block_suspend: re-introduce exponential backoff 2024-01-01 13:03:26 +00:00
8d0707699c mpv/vlc: associate with flv video type 2024-01-01 11:48:18 +00:00
318774a2a0 sxmo_suspend: fix that "sxmo_jobs periodic_blink" would hang post-wakeup 2024-01-01 11:48:03 +00:00
b14e997a43 sxmo: remove sxmo_hook_screenoff.sh override
generally, i can get away with the defaults and patch my alternative into sxmo_suspend.sh more reliably/simply
2024-01-01 10:33:24 +00:00
b949438be5 sxmo_suspend.sh: stop, and resume, the sxmo LED blinking
then later i can remove the custom screenoff hook
2024-01-01 10:01:48 +00:00
6ee9e8e405 sxmo_hook_screenoff: decrease the blink frequency even more
if i was smarter i'd just disable the periodic blinking right before entering sleep
2024-01-01 07:24:08 +00:00
09ee8e6efc sxmo_hook_block_suspend: forward only to the next script, not all next scripts 2024-01-01 07:01:09 +00:00
49527edaa9 sxmo_suspend.sh: fix rtcwake to use sudo 2024-01-01 06:38:43 +00:00
92d193ffe3 sxmo_hook_block_suspend: fix recursion counter 2024-01-01 06:19:30 +00:00
4805510073 sxmo-utils: ship with gojq 2024-01-01 06:15:31 +00:00
6fe195e2dd sxmo: block suspend if go2tv is active 2024-01-01 04:56:39 +00:00
c54df8d9c4 hare-ev: 2023-10-31 -> 2023-12-04 2024-01-01 03:56:45 +00:00
6d8b6c61a2 feeds: sort 2024-01-01 03:56:25 +00:00
822653ec10 feeds: vitalik.ca -> vitalik.eth.limo 2024-01-01 03:48:06 +00:00
68502ca944 feeds: add webcurious.co.uk link aggregator 2024-01-01 03:46:52 +00:00
103d11a87c net: fix broken firewall/ipset setup 2023-12-31 14:25:36 +00:00
0028c41bdc uninsane-dot-org: update 2023-12-31 12:22:23 +00:00
a4fe002607 sway: always render KOReader titlebar 2023-12-30 11:57:33 +00:00
b54ab9391b sxmo-utils: add Notejot app 2023-12-30 11:41:36 +00:00
0c7612c83f sxmo-utils: 2023-12-17 -> 2023-12-28
this should fix spurious screenoff -> unlock transitions (thanks Aren!)
2023-12-30 11:31:36 +00:00
f9361af41c go2tv: remove firewall fix and allow SSDP at the iptables layer 2023-12-30 06:16:17 +00:00
3cd3ebed51 nixpkgs -> latest 2023-12-30 05:34:23 +00:00
4ad209020a disable chatty (doesnt cross compile) 2023-12-30 05:34:02 +00:00
556327740b nixpkgs: 2023-12-26 -> 2023-12-29
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/0db7618e46243d3710ff2b8040aca5f6e0102900' (2023-12-26)
  → 'github:nixos/nixpkgs/bd7fd36fe22e0de1162f1623f1736517c1506164' (2023-12-29)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/d956588517edbcde71781bd8ac3a9947a9fc55a6' (2023-12-26)
  → 'github:nixos/nixpkgs/f46c267fc63f01c75fa9f6d9fb8345e6a1ed0063' (2023-12-29)
```
2023-12-29 15:52:32 +00:00
b0ddb1b31c conky: use the same percent symbol even in battery_estimate 2023-12-28 17:43:34 +00:00
70ee98736a conky/battery_estimate: handle the static state better 2023-12-28 17:35:33 +00:00
5de06cef35 conky: fix text substitutions 2023-12-28 17:07:29 +00:00
4f3706622c conky/battery_estimate: render stylized 2023-12-28 03:05:27 +00:00
104e76de47 conky/battery_estimate: render h/m indicators as superscript 2023-12-28 01:53:43 +00:00
1df99978bb conky/battery_estimte: select icon based on battery percentage 2023-12-28 01:11:51 +00:00
3846322f12 conky/battery_estimate: support new-style Thinkpad batteries 2023-12-28 00:41:23 +00:00
623b2c6611 conky/battery_estimate: add debugging 2023-12-28 00:35:48 +00:00
cb4d73f959 nixpkgs: 2023-12-23 -> 2023-12-26
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/2125288b9266cde9e3333a6787525bc151918742' (2023-12-23)
  → 'github:nixos/nixpkgs/0db7618e46243d3710ff2b8040aca5f6e0102900' (2023-12-26)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/d8aba6fe4067abdd8b1a7f398f2b90f21c608530' (2023-12-23)
  → 'github:nixos/nixpkgs/d956588517edbcde71781bd8ac3a9947a9fc55a6' (2023-12-26)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/f7db64b88dabc95e4f7bee20455f418e7ab805d4' (2023-12-18)
  → 'github:Mic92/sops-nix/e523e89763ff45f0a6cf15bcb1092636b1da9ed3' (2023-12-24)
• Updated input 'sops-nix/nixpkgs-stable':
    'github:NixOS/nixpkgs/a19a71d1ee93226fd71984359552affbc1cd3dc3' (2023-12-17)
  → 'github:NixOS/nixpkgs/7790e078f8979a9fcd543f9a47427eeaba38f268' (2023-12-23)
```
2023-12-27 00:34:48 +00:00
58febf51bd remove most useDHCP=false settings
networking.useDHCP was deprecated, and then later undeprecated: it's safe to keep it defaulted
2023-12-24 02:17:06 +00:00
b254379fb1 firefox-extensions: update to latest 2023-12-23 21:31:13 +00:00
835d933719 nixpkgs: 2023-12-22 -> 2023-12-23
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/21e572254ecbbb9d55be98841b279d21ee5754b6' (2023-12-22)
  → 'github:nixos/nixpkgs/2125288b9266cde9e3333a6787525bc151918742' (2023-12-23)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/66bda599f409f9834c6fd6abc602e452a5c16b61' (2023-12-22)
  → 'github:nixos/nixpkgs/d8aba6fe4067abdd8b1a7f398f2b90f21c608530' (2023-12-23)
```
2023-12-23 21:18:25 +00:00
31130d90bc nixpatches: fix broken hash 2023-12-23 12:44:17 +00:00
237c493252 slskd: fix Restart option 2023-12-23 10:23:17 +00:00
18e7acd9e7 slskd: restart even on non-failure exit 2023-12-23 05:39:22 +00:00
906026e333 nixpkgs: 2023-12-21 -> 2023-12-22
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/63fbe1a992e6030fbf444ac9d6b629ec76ab86ad' (2023-12-21)
  → 'github:nixos/nixpkgs/21e572254ecbbb9d55be98841b279d21ee5754b6' (2023-12-22)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/490828bce1b0cdfe328adc7f6280a519d7e68ed4' (2023-12-21)
  → 'github:nixos/nixpkgs/66bda599f409f9834c6fd6abc602e452a5c16b61' (2023-12-22)
```
2023-12-22 19:07:32 +00:00
9e24fba5ee document that loupe is an image viewer 2023-12-21 22:58:23 +00:00
12edd60969 nixpkgs: bump 2023-12-21
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/459873d8d6492b492ca7f9b03d5a50117099abfa' (2023-12-21)
  → 'github:nixos/nixpkgs/63fbe1a992e6030fbf444ac9d6b629ec76ab86ad' (2023-12-21)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/38bbf09b10659db891af01288bd99a5e8e8d7861' (2023-12-21)
  → 'github:nixos/nixpkgs/490828bce1b0cdfe328adc7f6280a519d7e68ed4' (2023-12-21)
```
2023-12-21 20:03:06 +00:00
0f429caaca nixpkgs: 2023-12-20 -> 2023-12-21
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/7749fa1e8c5e2f6a003fd4d3a2ed52924c4a7217' (2023-12-20)
  → 'github:nixos/nixpkgs/459873d8d6492b492ca7f9b03d5a50117099abfa' (2023-12-21)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/9ee63abe2cbeea5bf15f319a0a5aaf0919fe22e8' (2023-12-20)
  → 'github:nixos/nixpkgs/38bbf09b10659db891af01288bd99a5e8e8d7861' (2023-12-21)
```
2023-12-21 18:41:55 +00:00
940f1140a3 disable webkit for erlang 2023-12-21 05:22:45 +00:00
dbb6773634 audacity: disable first-run splashscreen 2023-12-21 04:08:05 +00:00
245a0544bc audacity: ship w/o the webkitgtk dependency 2023-12-21 03:10:38 +00:00
cbd65f0816 argyllcms: build without qemu 2023-12-21 01:44:36 +00:00
f8ea711f6a cross compilation: remove dead code 2023-12-21 00:20:42 +00:00
ace94cf4d6 cross: use newer jbig2dec fix; send dconf upstream 2023-12-20 22:32:07 +00:00
829fde4336 bonsai: grab from upstream PR 2023-12-20 09:24:41 +00:00
ba8774d6e5 hare-ev: remove (upstreamed) 2023-12-20 09:21:11 +00:00
7597853cda nixpkgs: 2023-12-19 -> 2023-12-20
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/7467ab39493e17abc28c7f66179feb0a69a3dbd4' (2023-12-19)
  → 'github:nixos/nixpkgs/7749fa1e8c5e2f6a003fd4d3a2ed52924c4a7217' (2023-12-20)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/63dd8e1d2e81aaecb7de9b70ca143a607b19a3b9' (2023-12-19)
  → 'github:nixos/nixpkgs/9ee63abe2cbeea5bf15f319a0a5aaf0919fe22e8' (2023-12-20)
```
2023-12-20 09:08:42 +00:00
21077c0e34 cross: document rustPlatform cross compilation woes 2023-12-20 08:00:40 +00:00
b6a45656af gui: add planify app 2023-12-19 22:31:14 +00:00
33d2f0895f signal-desktop-from-src: 6.40.0 -> 6.42.0 2023-12-19 20:53:33 +00:00
5cd92279b7 firefox-extensions: update to latest 2023-12-19 19:40:24 +00:00
4085f60018 firefox-extensions.bypass-paywalls-clean: 3.4.6.0 -> 3.4.7.0 2023-12-19 19:40:08 +00:00
3faee78717 docs: cross: update upstreaming status 2023-12-19 19:39:38 +00:00
e96e07ac21 lemoa: todo: fold 2023-12-19 19:39:11 +00:00
0c34aec8ec lemoa: 0.4.0 -> 0.5.0 2023-12-19 18:08:16 +00:00
9d04037bec hare-ev: remove unnecessary rec 2023-12-19 17:44:04 +00:00
6af44bfd86 delfin: add an updateScript 2023-12-19 17:43:07 +00:00
5ceefa4d6d nixpkgs: 2023-12-18 -> 2023-12-19; uninsane-dot-org -> 2023-12-18
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/ab47e6046f991dc98641ffbd9f881afcd304cfca' (2023-12-18)
  → 'github:nixos/nixpkgs/7467ab39493e17abc28c7f66179feb0a69a3dbd4' (2023-12-19)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/f61b7ce80fcc95be72c5c4fea19fba928072af8b' (2023-12-18)
  → 'github:nixos/nixpkgs/63dd8e1d2e81aaecb7de9b70ca143a607b19a3b9' (2023-12-19)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/21f2b8f123a1601fef3cf6bbbdf5171257290a77' (2023-12-17)
  → 'github:Mic92/sops-nix/f7db64b88dabc95e4f7bee20455f418e7ab805d4' (2023-12-18)
• Updated input 'uninsane-dot-org':
    'git+https://git.uninsane.org/colin/uninsane?ref=refs/heads/master&rev=ee722a13732b8d03bae56be8147333d144a02126' (2023-12-10)
  → 'git+https://git.uninsane.org/colin/uninsane?ref=refs/heads/master&rev=41354f754107376f5c9265eae89d07275f0305de' (2023-12-18)
• Removed input 'uninsane-dot-org/flake-utils'
• Removed input 'uninsane-dot-org/flake-utils/systems'
```
2023-12-19 16:44:22 +00:00
f618925190 gui: ship openscad 2023-12-19 08:04:20 +00:00
68ae723543 nixos-prebuild: disable 2023-12-19 01:58:59 +00:00
e4123759f5 nginx: only auto-index /share 2023-12-19 00:12:27 +00:00
5e727a83b3 slskd: disable debug logging 2023-12-18 18:09:58 +00:00
dc288d9aa7 sane_ssdp: reduce verbosity 2023-12-18 18:00:12 +00:00
8d49c423ca transmission: disable debug logging 2023-12-18 17:58:04 +00:00
c056564c9c nixpkgs: 2023-12-17 -> 2023-12-18
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/ec02adf37f19c5dcd891ebf9f175ebb1c4fba80a' (2023-12-17)
  → 'github:nixos/nixpkgs/ab47e6046f991dc98641ffbd9f881afcd304cfca' (2023-12-18)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/91a00709aebb3602f172a0bf47ba1ef013e34835' (2023-12-17)
  → 'github:nixos/nixpkgs/f61b7ce80fcc95be72c5c4fea19fba928072af8b' (2023-12-18)
```
2023-12-18 16:39:25 +00:00
efb2815fa5 uninsane.org: simplify the /share routing (and generalize it to other subdirectories) 2023-12-18 06:03:49 +00:00
577d149728 sxmo-utils: 2023-12-09 -> 2023-12-17 2023-12-18 00:05:14 +00:00
45c2bfaaeb nixpkgs: 2023-12-16 -> 2023-12-17
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/029c707186e2b00f9e98f590b9a019320ccc21d7' (2023-12-16)
  → 'github:nixos/nixpkgs/ec02adf37f19c5dcd891ebf9f175ebb1c4fba80a' (2023-12-17)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/ceb8e4efd95627c0a86f106ba2afcd207ad5c6b3' (2023-12-16)
  → 'github:nixos/nixpkgs/91a00709aebb3602f172a0bf47ba1ef013e34835' (2023-12-17)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/d806e546f96c88cd9f7d91c1c19ebc99ba6277d9' (2023-12-10)
  → 'github:Mic92/sops-nix/21f2b8f123a1601fef3cf6bbbdf5171257290a77' (2023-12-17)
• Updated input 'sops-nix/nixpkgs-stable':
    'github:NixOS/nixpkgs/b8f33c044e51de6dde3ad80a9676945e0e4e3227' (2023-12-09)
  → 'github:NixOS/nixpkgs/a19a71d1ee93226fd71984359552affbc1cd3dc3' (2023-12-17)
```
2023-12-18 00:02:23 +00:00
16d4c9cdf2 nixpkgs: 2023-12-15 -> 2023-12-16
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/9ad53b7aaf2b9e9e0d7e36ff4f8a779bf9b0195f' (2023-12-15)
  → 'github:nixos/nixpkgs/029c707186e2b00f9e98f590b9a019320ccc21d7' (2023-12-16)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/8a205497ba6f6938b7b516c184b7cf326ab15548' (2023-12-15)
  → 'github:nixos/nixpkgs/ceb8e4efd95627c0a86f106ba2afcd207ad5c6b3' (2023-12-16)
```
2023-12-17 21:26:41 +00:00
1063a89541 powerbutton/lid-switch: tune the desired actions 2023-12-17 21:08:16 +00:00
fd0f709d50 git: remove a/ b/ prefixes from diffs 2023-12-17 20:48:31 +00:00
5edd10c332 move kiwix data to /var/lib/kiwix and persist 2023-12-16 03:05:15 +00:00
5c36ee79be kiwix: wikipedia snapshot: 2022-05 -> 2023-11 2023-12-16 01:54:34 +00:00
b2bf9d63a3 mpv: don't assume xdg-terminal-exec is on PATH 2023-12-16 00:43:43 +00:00
e297df011d xdg-terminal-exec: remove (it exists upstream now) 2023-12-16 00:41:51 +00:00
bcac00d766 mpv: uosc: add a "cast" option to the menu 2023-12-16 00:39:36 +00:00
c256d7ded5 koreader: implement copy-to-clipboard 2023-12-15 20:53:04 +00:00
7ba39ea831 koreader: document how to configure 2023-12-15 20:05:06 +00:00
28f90e4421 sxmo: lengthen voldown hold time before revealing terminal 2023-12-15 19:12:26 +00:00
5d66a1e6a5 hare-json: remove. it's been upstreamed as hareThirdParty.hare-json 2023-12-15 17:59:09 +00:00
1522eccfb3 nixpkgs: 2023-12-14 -> 2023-12-15
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/248d12a902bfc36134176f31beba87b1fe30a3c1' (2023-12-14)
  → 'github:nixos/nixpkgs/9ad53b7aaf2b9e9e0d7e36ff4f8a779bf9b0195f' (2023-12-15)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/fd7914c96f7c006047e0154dd239aa2396478094' (2023-12-14)
  → 'github:nixos/nixpkgs/8a205497ba6f6938b7b516c184b7cf326ab15548' (2023-12-15)
```
2023-12-15 17:40:44 +00:00
728604e036 gui hosts: ship delfin 2023-12-15 08:44:32 +00:00
58d4f0d512 delfin: fix cross build 2023-12-15 08:43:10 +00:00
1f7fc8700e delfin: fix icons 2023-12-15 08:30:20 +00:00
a933f8b512 delfin: persist server settings 2023-12-15 08:17:07 +00:00
83b83841d6 delfin: init at 0.2.1 2023-12-15 08:08:11 +00:00
ef8a8bc246 go2tv: document known-good format matrix 2023-12-15 03:22:03 +00:00
136ddda055 nautilus: enable the A/V pane 2023-12-15 02:57:25 +00:00
5fbf2166f1 moby: enable go2tv/catt 2023-12-15 02:33:18 +00:00
ba7bc3bd03 go2tv: docs: show that some mp4s work w/o transcoding 2023-12-15 02:32:44 +00:00
311412c5ee go2tv: configure firewall as needed 2023-12-15 00:50:58 +00:00
d18e94ea87 feeds: subscribe to linmob.net 2023-12-14 22:20:30 +00:00
6a548366cd sway: enable gvfs to support remote filesystems 2023-12-14 21:59:42 +00:00
54d2e875f6 koreader: disable image-based feeds; text only 2023-12-14 20:51:09 +00:00
c5cc0e90a3 wob: theme 2023-12-14 20:49:48 +00:00
50ce8da68c sxmo: remove sxmo-set-permissions job. upstream refactored it to not exist and they use doas now instead 2023-12-14 19:17:38 +00:00
3449bfc2a9 sxmo: bonsai: tune timings: powerhold: 1000ms -> 900ms; volhold: 400ms -> 600ms
this should improve: (1) awkwardly long power hold until window is killed, (2) accidentally seeking the media player when i meant to only adjust volume
2023-12-14 19:12:08 +00:00
18d301d9dd cross: dino: remove patch which has been upstreame into nixpkgs 2023-12-14 19:08:08 +00:00
357bf7f4ca nixpkgs: 2023-12-13 -> 2023-12-14
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/022a4231437548b719eb9e5b8bae1a7f6117fa93' (2023-12-13)
  → 'github:nixos/nixpkgs/1aca249f1846b6bb7a156b809c312de58945c85a' (2023-12-14)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/8556109c1f04574ad59dcb0c4882f44eb27ea581' (2023-12-13)
  → 'github:nixos/nixpkgs/8e23dec5ac5ebc36057e980d4e6a3eb6a44da74b' (2023-12-14)
```
2023-12-14 18:50:36 +00:00
f763448d6f go2tv: docs: firewall 2023-12-14 10:56:07 +00:00
deb828e98a programs: enable go2tv 2023-12-14 10:39:33 +00:00
cbca41accf permit moby to ssh into my devices 2023-12-14 10:35:36 +00:00
ac22e07388 sxmo: bring wob service in-house 2023-12-14 10:33:33 +00:00
cb0d9e077b programs: enable catt 2023-12-14 08:41:16 +00:00
58105e9b62 fix open-in-mpv extension 2023-12-14 07:26:50 +00:00
32fb79d43d dino: auto-start 2023-12-14 01:57:32 +00:00
f129afdae8 flare-signal: document linking/registration issue 2023-12-14 01:56:54 +00:00
29cde5e724 firefox: support Element and Nheko URIs 2023-12-13 23:14:04 +00:00
3467a5df48 feeds: subscribe Origin Stories 2023-12-13 22:31:58 +00:00
694dd59e27 feeds: subscribe bitsaboutmoney 2023-12-13 22:29:22 +00:00
540b3e4af2 firefox: auto-dispatch mpv:// URI handlers 2023-12-13 21:41:06 +00:00
e0211646b2 firefox: extraNativeMessagingHosts -> nativeMessagingHosts 2023-12-13 21:34:59 +00:00
94dcb0f08a firefox: ship open-in-mpv extension 2023-12-13 21:34:34 +00:00
0b38ed2f2a firefox: docs: clarify fxCast behavior 2023-12-13 20:58:45 +00:00
15622251ef firefox: define the fx_cast addon 2023-12-13 20:51:57 +00:00
4eb79a4a5c gui: ship pwvucontrol 2023-12-13 20:43:16 +00:00
9f54413d46 pwvucontrol: support cross compilation 2023-12-13 20:02:48 +00:00
f467898a04 sync TODO 2023-12-13 17:41:31 +00:00
413c8a4fef sponsorblock: re-disable the first-launch nag 2023-12-13 17:37:48 +00:00
d4440736dd nixpkgs: 2023-12-12 -> 2023-12-13
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/a3eee1a84ec0aadb7f567175d79574d63dcecff2' (2023-12-12)
  → 'github:nixos/nixpkgs/022a4231437548b719eb9e5b8bae1a7f6117fa93' (2023-12-13)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/47bca5bb0209496389f3a70d2e388c5531831d60' (2023-12-12)
  → 'github:nixos/nixpkgs/8556109c1f04574ad59dcb0c4882f44eb27ea581' (2023-12-13)
```
2023-12-13 16:27:18 +00:00
bb1ceaed12 gui: disable newsflash
it doesn't cross compile. also, gnome-feeds would be a better implementation if i can get the package updated
2023-12-13 16:27:18 +00:00
51a90136ea sxmo-utils: default preferSystemd to true
this probably removes some duplicate sxmo-utils packages from my install
2023-12-13 16:27:18 +00:00
e7cfa19897 sxmo-utils: use xdg-open in sxmo_open.sh 2023-12-13 16:27:18 +00:00
41411e005f flare-signal-nixified: document experience with 10.1-xx seies 2023-12-13 08:10:50 +00:00
c22119f69b flare-signal-nixified: enable primary device registration 2023-12-13 07:17:17 +00:00
354a4e523b flare-signal-nixified: 0.10.1-beta.4 -> 0.10.1-beta.6 2023-12-13 07:01:16 +00:00
b34b8a249c nixpatches: link but dont apply gnome-feeds update 2023-12-13 03:47:20 +00:00
508257da87 newsflash: enable podcasts/videos; document 2023-12-13 03:45:07 +00:00
fadcf7d7c1 mpv: youtube: associate with another URL variant 2023-12-13 03:44:57 +00:00
7f43360120 newsflash: enable 2023-12-13 03:06:08 +00:00
f9a8389f58 gui: switch from gthumb to loupe for image viewing 2023-12-13 02:29:43 +00:00
f77a18a655 cross: enable Loupe for cross compilation 2023-12-13 02:00:43 +00:00
7e4d6853f5 cross: glycin-loaders: simplify 2023-12-13 01:48:26 +00:00
5615c7cf6e cross: glycin-loader: fix compilation 2023-12-13 01:40:36 +00:00
54c51a5636 fractal-latest: remove old comments 2023-12-12 21:02:09 +00:00
1119726c64 docs: koreader: dictionary installation 2023-12-12 20:56:46 +00:00
101a2bc3af hare-ev: 2023-10-30 -> 2023-12-04 2023-12-12 20:45:46 +00:00
f4bfaf3581 firefox-extensions: update to latest 2023-12-12 20:44:56 +00:00
e8dfc1dc71 sxmo-utils: 2023-11-26 -> 2023-12-09 2023-12-12 20:44:27 +00:00
ef26b9085c nixpatches: remove merged numpy patch 2023-12-12 20:37:55 +00:00
85d9c11733 sxmo: add an option to disable wob 2023-12-12 19:00:43 +00:00
6d41f1f1db sxmo: re-enable audio
SXMO_NO_AUDIO disables too much. i just want to not launch the daemons, and customizing sxmo_hook_start is enough for that
2023-12-12 18:59:31 +00:00
f9434215db nixpkgs: 2023-12-11 -> 2023-12-12
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/43f7188eba3bc2eb73031bf8f9ad1a02224b6be1' (2023-12-12)
  → 'github:nixos/nixpkgs/a3eee1a84ec0aadb7f567175d79574d63dcecff2' (2023-12-12)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/a8dac2fa64af92360f126d2e20f47cd4ccf1c905' (2023-12-11)
  → 'github:nixos/nixpkgs/47bca5bb0209496389f3a70d2e388c5531831d60' (2023-12-12)
```
2023-12-12 18:40:06 +00:00
83d402eb77 nixos-prebuild: fix typo 2023-12-12 18:39:46 +00:00
cec48e0270 nixpkgs: 2023-12-11 -> 2023-12-12
```
• Updated input 'nixpkgs-next-unpatched':
    'github:nixos/nixpkgs/f81605387c494a302c16901ac6459e877c45f913' (2023-12-11)
  → 'github:nixos/nixpkgs/43f7188eba3bc2eb73031bf8f9ad1a02224b6be1' (2023-12-12)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/e97b3e4186bcadf0ef1b6be22b8558eab1cdeb5d' (2023-12-11)
  → 'github:nixos/nixpkgs/a59c7364955e5f32798d0314fbb6aae347ff064d' (2023-12-12)
```
2023-12-12 09:34:52 +00:00
322038ca21 flake.nix: expose the patched nixpkgs as an output, for debugging 2023-12-12 09:34:28 +00:00
6395e60f17 nixpatches: fix date check to be based on when upstream nixpkgs was updated, not this repo 2023-12-12 09:34:28 +00:00
7969eb12d6 cross: partially fix glycin-loaders 2023-12-12 09:34:28 +00:00
f942e2c5a9 nixpatches: revise numpy master merge date 2023-12-12 09:34:28 +00:00
089f676c4a gui: switch back to gthumb; loupe does not cross compile yet 2023-12-12 08:44:08 +00:00
d2012b4e40 notejot: fix store typo 2023-12-12 07:55:18 +00:00
a319017567 gui: switch from gthumb to loupe 2023-12-12 07:38:13 +00:00
a669c9c88b gui: add Loupe image viewer specialization 2023-12-12 07:36:21 +00:00
8391e500c9 gui: handheld: ship notejot 2023-12-12 07:31:00 +00:00
5f27c8fddf servo: nixos-prebuild: cleanup garbage better 2023-12-12 06:47:47 +00:00
a4ae41e627 servo: nixos-prebuild: dont ship jobs to other builders 2023-12-12 06:44:08 +00:00
a5126ae8fb cross: re-enable jbig2dec fix (turns out it is necessary) 2023-12-12 06:20:43 +00:00
f33776e0ed flake: check.nur: simplify nixpkgs path 2023-12-12 03:53:54 +00:00
189eccb01e nixpatches: improve patch conditionality 2023-12-12 03:22:25 +00:00
4336d68e6f flake: fix CLI argument quoting 2023-12-12 02:16:06 +00:00
4f45adb063 gui: disable slic3r 2023-12-12 02:16:06 +00:00
e6b16624c3 ntfy-waiter: fix port typo in service description 2023-12-12 02:15:01 +00:00
e87d2f545c sftpgo: fix systemd after/wants typo 2023-12-12 02:14:45 +00:00
69bc219efa ports: fix systemd RandomizedDelaySec typo 2023-12-12 02:14:27 +00:00
e4f1cfb53f servo: deploy a service which periodically rebuilds my nix config to populate the cache 2023-12-12 02:13:59 +00:00
f1e59061d7 flake: check.hostConfigs: build *-light first even for -next 2023-12-11 23:00:15 +00:00
cd312e41d4 flake: remove check.hostConfigs variants 2023-12-11 22:51:58 +00:00
1bd2d0dfc1 flake: remove separate nixpkgs-staging and staging-next 2023-12-11 22:33:38 +00:00
49235a4d83 flake: add check.hostConfigsNext 2023-12-11 22:23:14 +00:00
e7826e0648 flake: add host outputs for nixpkgs-staging and nixpkgs-staging-next 2023-12-11 22:15:35 +00:00
e7edb4739f flake.nix: fix for better caching on non-cross builds 2023-12-11 21:24:33 +00:00
4a622c558e signal-desktop-from-src: fix nodejs to 18.x 2023-12-11 21:07:42 +00:00
bfe69a4708 flake: fix patching process to assume less about nixpkgs internals 2023-12-11 21:07:17 +00:00
688b4edf13 mpv: handle shorthand youtu.be URLs too 2023-12-11 16:19:51 +00:00
7ca2e5f539 nixpkgs: 2023-12-10 -> 2023-12-11; uninsane-dot-org
```
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/64292b08dc5d1538d7ab88817a90b2713c34c8a0' (2023-12-10)
  → 'github:nixos/nixpkgs/e97b3e4186bcadf0ef1b6be22b8558eab1cdeb5d' (2023-12-11)
• Updated input 'uninsane-dot-org':
    'git+https://git.uninsane.org/colin/uninsane?ref=refs/heads/master&rev=8f7a3f3f7ce95f21131f94418c522062a8dc2055' (2023-12-09)
  → 'git+https://git.uninsane.org/colin/uninsane?ref=refs/heads/master&rev=ee722a13732b8d03bae56be8147333d144a02126' (2023-12-10)
```
2023-12-11 06:23:43 +00:00
4c5fb74c7d feeds: subscribe to kosmosghost 2023-12-11 04:55:47 +00:00
ad82bb2630 mimeo: fix infinite loop when dispatching non-specialized http/s URLs 2023-12-11 04:52:49 +00:00
008a6192d4 mpv: associate with https://youtube.com/... 2023-12-11 04:52:49 +00:00
f4d4c7a92a sxmo-utils: remove gojq and just use normal jq 2023-12-11 04:44:45 +00:00
0a41192eb1 sxmo-utils: remove gojq requirement 2023-12-11 03:27:58 +00:00
f044fcb584 gnome-frog: fix cross compilation 2023-12-11 03:27:46 +00:00
9e2c0a7112 megapixels: simplify zbar fix 2023-12-11 03:27:29 +00:00
d2e1441d1f sane-clone: grab package data from ~/nixos instead of nixpkgs
this way i can clone my own packages
2023-12-10 17:28:30 +00:00
abbd28a634 git: add an "amend" alias 2023-12-10 17:01:58 +00:00
b309402784 nixpkgs: update; sops-nix: 2023-12-04 -> 2023-12-10
```
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/852e0ea0e8e1bd174bf1af9706f6b855319a5f1d' (2023-12-10)
  → 'github:nixos/nixpkgs/64292b08dc5d1538d7ab88817a90b2713c34c8a0' (2023-12-10)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/e91ece6d2cf5a0ae729796b8f0dedceab5107c3d' (2023-12-04)
  → 'github:Mic92/sops-nix/d806e546f96c88cd9f7d91c1c19ebc99ba6277d9' (2023-12-10)
• Updated input 'sops-nix/nixpkgs-stable':
    'github:NixOS/nixpkgs/dc01248a9c946953ad4d438b0a626f5c987a93e4' (2023-12-03)
  → 'github:NixOS/nixpkgs/b8f33c044e51de6dde3ad80a9676945e0e4e3227' (2023-12-09)
```
2023-12-10 16:50:24 +00:00
a7d3ac95aa nginx: uninsane.org: redirect common feed URIs to the canonical feed 2023-12-10 16:31:30 +00:00
255da2b976 docs: gtkcord4: explain how to disable notif sounds 2023-12-10 16:26:26 +00:00
8cdb4aa53d docs: feedbackd: show how to trigger a sound 2023-12-10 16:25:13 +00:00
4d5b462b2c swaync: add rules to help with debugging 2023-12-10 16:18:55 +00:00
f7a318c937 modules/users: fix services to specify PATH with correct precedence 2023-12-10 15:18:26 +00:00
eb5b9b083c mpv-uosc-latest: remove (no longer needed)
nixpkgs mpv-uosc was recently updated, seems to work well out-of-the-box
2023-12-10 02:32:33 +00:00
e0d9a59d10 nixpkgs: 2023-12-09 -> 2023-12-10
```
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/61b691834e5ce9590c44690e73392ee7e001d45a' (2023-12-09)
  → 'github:nixos/nixpkgs/852e0ea0e8e1bd174bf1af9706f6b855319a5f1d' (2023-12-10)
```
2023-12-10 02:13:59 +00:00
119ac4cf95 cross: start upstreaming wob patch 2023-12-09 20:20:10 +00:00
f53d0e16ff cross: start upstreaming dino patch 2023-12-09 20:11:36 +00:00
5321ccc980 uninsane-dot-org: mobile-linux-push-notifications: fix src-port -> dest-port typo 2023-12-09 18:28:28 +00:00
e8a6fa3506 uninsane-dot-org: mobile-linux-push-notifications: fix link typo 2023-12-09 18:22:58 +00:00
26e1cc2a7a uninsane-dot-org: revise linux-mobile-notifications for sxmo integration 2023-12-09 18:16:32 +00:00
cec4b4b78e sway: fix app_id for gtkcord4 2023-12-09 16:48:17 +00:00
7ce3cb79c9 switch from abaddon -> gtkcord4 as default discord client 2023-12-09 16:45:40 +00:00
4c553b1525 gtkcord4: fix to Default_keyring instead of login.keyring 2023-12-09 16:42:27 +00:00
84ec809fb5 gui: ship gnome.seahorse 2023-12-09 15:02:00 +00:00
f49e466ce8 flake: add a "hostSystems" target 2023-12-09 14:11:37 +00:00
402baa1011 uninsane-dot-org: 2023-12-03 -> 2023-12-09; nixpkgs 2023-12-09 14:01:51 +00:00
01de6f84cf feeds: subscribe to Louis Rossmann 2023-12-09 08:14:16 +00:00
e1e9047664 nixpkgs: 2023-12-08 -> 2023-12-09
```
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/c89d45747b4ba510caa6b2704b574484b6f93e96' (2023-12-08)
  → 'github:nixos/nixpkgs/d02151974acd5d2e1a47cee3245d97e130c3ecfa' (2023-12-09)
```
2023-12-09 05:51:01 +00:00
0be9831b0c cross: update upstreaming status 2023-12-08 22:49:18 +00:00
1db9d4d10b roles/build-machine: re-enable big-parallel 2023-12-08 20:20:55 +00:00
ccef9d1414 nixpkgs: update
```
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/f63903a90faf6cce169eb2bcc93fb45c457b1d31' (2023-12-08)
  → 'github:nixos/nixpkgs/c89d45747b4ba510caa6b2704b574484b6f93e96' (2023-12-08)
```
2023-12-08 20:14:44 +00:00
8b09599c5e sane-sync-music: update files if mtime differs
*presumably* most tagging software updates the mtime when tags change, but i didn't actually check
2023-12-08 15:07:12 +00:00
368099e95a cross: ostree: apply Mindavi's PR feedback 2023-12-08 15:00:29 +00:00
34342b7f48 sync.moby: reduce job count 2023-12-08 14:52:11 +00:00
fcc7ebf5c1 sync.desko: fix mountpoint typo 2023-12-08 12:24:00 +00:00
114bdb30e8 flake: sync-*: refactor 2023-12-08 10:25:01 +00:00
4caf61387e sane-sync-music: add --compress and --compat options 2023-12-08 10:24:48 +00:00
ab020327f4 nixpkgs: 2023-12-07 -> 2023-12-08
```
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/449c6fb06be60edd4233bb9fe748a0754df185b1' (2023-12-07)
  → 'github:nixos/nixpkgs/f63903a90faf6cce169eb2bcc93fb45c457b1d31' (2023-12-08)
```
2023-12-08 04:26:09 +00:00
bacad0f111 sane-sync-music: add a --force-copy flag 2023-12-07 19:00:51 +00:00
9619c6d2e1 sane-sync-music: refactor to facilitate future tweaks 2023-12-07 18:49:01 +00:00
07c7050335 docs: sane-sync-music: document a bug 2023-12-07 18:17:21 +00:00
24a6fba008 sane-tag-music: remove prefer-path flag to force 2023-12-07 18:08:41 +00:00
51c53b2103 sane-tag-music: allow manually specifying tags via CLI 2023-12-07 18:08:41 +00:00
4ae01aa353 sane-tag-music: auto-create id3 tags for MP3 files 2023-12-07 18:08:41 +00:00
0db1e3728a sway: dont ship custom gtk icons
the GNOME 45 update makes it so default adwaita icons are reliable on moby
2023-12-07 17:56:56 +00:00
83c7657951 sane-tag-music: better handle track names for compilation albums 2023-12-07 17:29:10 +00:00
e20386299f sane-tag-music: add a --force flag 2023-12-07 17:29:10 +00:00
d6e43effde sane-tag-music: better handle verbose track names 2023-12-07 17:29:10 +00:00
bbe8f4a852 sane-tag-music: support opus, aac (limited) 2023-12-07 17:29:10 +00:00
8c98e38053 sane-tag-music: better handling of "Various Artists" 2023-12-07 17:29:10 +00:00
96a36d4d6b sane-tag-music: support ogg files 2023-12-07 17:29:10 +00:00
366a9cea0d fractal: ship optimized build 2023-12-07 16:39:36 +00:00
e810774202 fractal,flare: note that release is incompatible with cross compilation 2023-12-07 16:39:36 +00:00
f2de781cbc nixpkgs: update
```
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/17411d69e415b5f4910f9a66f89dc6a1866cb410' (2023-12-07)
  → 'github:nixos/nixpkgs/449c6fb06be60edd4233bb9fe748a0754df185b1' (2023-12-07)
```
2023-12-07 16:39:36 +00:00
7f08ad01db sane-tag-music: handle more character encoding edgecases 2023-12-07 15:52:28 +00:00
2c66d8cad0 sane-tag-music: don't crash when file opening fails 2023-12-07 15:51:51 +00:00
fc4803f3fd sane-tag-music: fix bug that song would be extracted into a list of chars 2023-12-07 15:51:17 +00:00
5a6d1dd3c2 sane-tag-music: don't write empty tags 2023-12-07 13:55:45 +00:00
ba42ff7469 sane-tag-music: support mp3 2023-12-07 13:55:45 +00:00
a6cc698c69 signal-desktop-from-src: simplify build process 2023-12-07 13:49:07 +00:00
19b0a62fee flake: support cross deployments from non-binfmt machines 2023-12-07 13:49:07 +00:00
1a6ce11b07 disable binfmt emulation on my build machines 2023-12-07 13:49:07 +00:00
49d8578b83 signal-desktop-from-src: build without emulation 2023-12-07 13:49:07 +00:00
53c0cd570a update todos: moby: install games 2023-12-07 13:49:07 +00:00
4d84bdafed koreader: cross-compile without binfmt 2023-12-07 13:49:07 +00:00
059cd38e7b cross: comment out the firefox hacks
they're unused and broken anyway
2023-12-07 13:49:07 +00:00
8f89d11435 cross: fix wob compilation 2023-12-07 13:49:07 +00:00
243f78ff0e nixpkgs: 2023-12-06 -> 2023-12-07
```
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/2bea1bc0f98bb316e26d1a5a17df58fce54ca8c4' (2023-12-06)
  → 'github:nixos/nixpkgs/17411d69e415b5f4910f9a66f89dc6a1866cb410' (2023-12-07)

```
2023-12-07 13:49:07 +00:00
21be1b392e servo: switch external storage to zfs pool 2023-12-07 08:57:26 +00:00
8b71e6ac5a sane-stop-all-servo: update with newer services 2023-12-07 05:36:09 +00:00
f5f6298284 re-enable flare-signal 2023-12-06 19:27:47 +00:00
c8370bc290 cross: tried to get cinny to cross-compile, not quite there 2023-12-06 19:26:18 +00:00
abc0ac88d3 flare-signal-nixified: cross-compile without emulation 2023-12-06 19:25:09 +00:00
9da604c0af fractal-nixified: fix build 2023-12-06 19:22:45 +00:00
801da9d321 cross: add a cantBinfmt option to force a package to be built on a non-binfmt machine 2023-12-06 19:20:39 +00:00
ac3b0b873b transmission: increase speed limits 2023-12-06 18:03:08 +00:00
9beee146f2 feeds: sort Youtube feeds 2023-12-06 16:49:40 +00:00
2d06401f3c feeds: subscribe to Tom Scott 2023-12-06 16:19:37 +00:00
2db56f2499 feeds: subscribe to TheB1M 2023-12-06 16:18:03 +00:00
63ea6d7002 feeds: subscribe to Exurb1a 2023-12-06 16:16:29 +00:00
3e2523cc2c feeds: subscribe to Cold Fusion 2023-12-06 16:15:25 +00:00
ad3f5e305e feeds: subscribe to Vox
don't @ me
2023-12-06 16:13:08 +00:00
aa5b9e3db3 user services: wrap with user PATH
notably, this alllows Fractal to open links with the preferred browser
2023-12-06 16:09:07 +00:00
46123719e9 feeds: subscribe to Vihart 2023-12-06 16:09:07 +00:00
16bce990c6 feeds: subscribe to PolyMatter 2023-12-06 16:09:07 +00:00
d55e387187 feeds: subscribe to Vsauce 2023-12-06 16:09:06 +00:00
e75c3375dc feeds: subscribe to Channel5 News 2023-12-06 16:08:50 +00:00
b1c7cb367a feeds: subcsribe to hbomberguy 2023-12-06 15:47:39 +00:00
d63d660ec2 feeds: subscribe to ContraPoints 2023-12-06 15:45:43 +00:00
f24a0a84b5 gpodder: ship on all systems
it's more useful on desko/lappy now that i can ship Youtube feeds.
2023-12-06 15:36:41 +00:00
9704dcc997 feeds: add support for video; subscribe to videos in gpodder 2023-12-06 15:36:05 +00:00
80875d6312 feeds: subscribe to Technology Connections 2023-12-06 15:35:38 +00:00
79f4c9f98c flare-signal-nixified: support defaultCrateOverrides 2023-12-06 14:22:16 +00:00
e2735e151e cross: make buildInQemu more flexible to non-stdenv builders 2023-12-06 14:08:46 +00:00
afb4a88830 moby: enable dialect 2023-12-06 14:00:34 +00:00
84dc8cfd23 cross: build dialect so that it doesn't depend on build binaries at runtime 2023-12-06 13:56:39 +00:00
6ef52677ee nixpkgs: 2023-12-05 -> 2023-12-06
```
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/3532bd963c2a1417e7d5d9a13b90f3ab8e6b6538' (2023-12-05)
  → 'github:nixos/nixpkgs/2bea1bc0f98bb316e26d1a5a17df58fce54ca8c4' (2023-12-06)
```
2023-12-06 01:45:09 +00:00
73c0e9a742 cross: update error message for fractal 2023-12-05 17:02:33 +00:00
7ff259073e swaync: decrease mpris icon size 64 -> 48px 2023-12-05 17:01:57 +00:00
2bf10c60ee swaynotificationcenter: fix mpris icon height even when it fails to load an icon 2023-12-05 16:57:24 +00:00
72f4b43b54 sxmo: better input mappings 2023-12-05 15:12:08 +00:00
e1ced7a7fe sxmo_hook_inputhandler.sh: remove unused VOL_INCR_2 variable 2023-12-05 10:08:16 +00:00
f41b1cf3b5 sxmo: enable powertoggle -> volup/down for seeking even when screen is on
it's not currently mapped to anything else, so...
2023-12-05 10:04:01 +00:00
70693c2052 sxmo: simplify shortcuts
remove power -> volup DE menu map -- it's accessible via sysmenu now

replace power -> voldown terminal map with just voldown hold
2023-12-05 10:02:19 +00:00
f61d7d0f7d sxmo: decrease power-button timeout 2023-12-05 08:54:18 +00:00
3d7ea75bfc sxmo: simplify XDG_SESSION_TYPE fix 2023-12-05 08:50:19 +00:00
f350d7949c sxmo: fix missing XDG_SESSION_TYPE env var 2023-12-05 08:06:14 +00:00
10c21714ef tangram: build without emulation 2023-12-05 06:02:38 +00:00
2dbae69d50 komikku: build without emulation 2023-12-05 05:16:40 +00:00
4cc5eed884 feeds: subscribe to srslywrong.com 2023-12-05 04:25:25 +00:00
9967868e80 nixpkgs: update
```
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/d90955124ff3af2d469bf10000b09b9d7dfc5240' (2023-12-04)
  → 'github:nixos/nixpkgs/3532bd963c2a1417e7d5d9a13b90f3ab8e6b6538'
```
2023-12-05 02:04:40 +00:00
bb79752101 cross: gnome-online-accounts: disable unnecessary needsBinfmt
perhaps this was fixed in gnome 44 -> gnome 45
2023-12-04 17:50:12 +00:00
ebd24e5999 cross: evolution-data-server: build w/o binfmt/qemu 2023-12-04 17:50:12 +00:00
7a3fa88559 cross: gnome.mutter: build without binfmt/qemu 2023-12-04 17:50:12 +00:00
cff4fdc5f5 feeds: unsubscribe from Daniel Huberman 2023-12-04 12:36:10 +00:00
e7fc52ff20 cross: build neovim w/o binfmt/qemu 2023-12-04 11:26:28 +00:00
b061aff76e IOCTL_... errrors: track mesa 23.3.1 PR which SHOULD fix them? 2023-12-04 11:07:59 +00:00
b14214761b cross: get jbig2dec to build without binfmt/qemu 2023-12-04 11:07:53 +00:00
9bd684a971 cross: waybar: build without binfmt/qemu 2023-12-04 08:57:57 +00:00
89286be9e1 cross: tidy: remove explicit "final." 2023-12-04 07:42:11 +00:00
991a6a7552 cross: build libpanel w/o binfmt/qemu 2023-12-04 07:26:56 +00:00
04af5558b5 ibus: cross compile without binfmt/qemu 2023-12-04 06:59:00 +00:00
3ee487ca94 cross: fix flatpak to not require binfmt/qemu 2023-12-04 05:05:26 +00:00
20352ff170 calls: cross compile without binfmt/qemu 2023-12-04 04:24:53 +00:00
819894ccbf dino: compile without binfmt/qemu 2023-12-04 04:02:07 +00:00
aa46c4cb8f chatty: remove redundant evolution-data-server override: its done in overlays/preferences.nix 2023-12-04 02:09:52 +00:00
1c75977da7 firefox-extensions: update bypass-paywalls-clean, ublacklist, ublock-origin 2023-12-04 01:47:35 +00:00
c099483305 cross: mark as needsBinfmtOrQemu those packages which can build in either 2023-12-04 01:47:35 +00:00
959e200837 cross: remove upstreamed vulkan-tools fix 2023-12-04 00:38:54 +00:00
d9f0bdb089 nixpkgs, sops-nix, uninsane-dot-org -> 2023-12-04
```
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/0616776a5e4072e9455e3966d1fce58feefa7a58' (2023-12-03)
  → 'github:nixos/nixpkgs/d90955124ff3af2d469bf10000b09b9d7dfc5240' (2023-12-04)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/e19071f9958c8da4f4347d3d78790d97e98ba22f' (2023-12-02)
  → 'github:Mic92/sops-nix/8bca48cb9a12bbd8766f359ad00336924e91b7f7' (2023-12-03)
• Updated input 'sops-nix/nixpkgs-stable':
    'github:NixOS/nixpkgs/dfb95385d21475da10b63da74ae96d89ab352431' (2023-11-25)
  → 'github:NixOS/nixpkgs/dc01248a9c946953ad4d438b0a626f5c987a93e4' (2023-12-03)
• Updated input 'uninsane-dot-org':
    'git+https://git.uninsane.org/colin/uninsane?ref=refs/heads/master&rev=8a4273489d945f21d7e0ca6aac952460c7d4c391' (2023-11-09)
  → 'git+https://git.uninsane.org/colin/uninsane?ref=refs/heads/master&rev=f865fdd262e249bb1b829900f99cbb67f21a0365' (2023-12-03)
```
2023-12-04 00:34:27 +00:00
b50d723158 servo: nginx: remove "root" in uninsane share path 2023-12-03 15:53:29 +00:00
14739af1b9 servo: nginx: dont follow symlinks in the /share directory 2023-12-03 15:51:01 +00:00
747511c6a8 waybar: link to a better playerctl integration 2023-12-03 15:19:55 +00:00
c96f9cd4de ibus: 1.5.29-rc1 -> 1.5.29
TODO: cleanup this patch and then send to nixpkgs :)
2023-12-03 14:41:56 +00:00
31da2f10c9 sane-wipe: support dino 2023-12-03 14:40:14 +00:00
9e51d7f150 sane-wipe-*: consolidate into one sane-wipe binary 2023-12-03 14:25:35 +00:00
b1b1f8d659 cross: vulkan-tools: link to upstream PR 2023-12-03 14:02:57 +00:00
0c0e7881b1 signal-desktop: document a known bug 2023-12-03 13:58:30 +00:00
6c2f07aab1 cross: disable gnome-2048 fix in light of vala fix being upstreamed (still in staging) 2023-12-03 13:46:01 +00:00
84d2b31c51 cross: fix vulkan-tools compilation 2023-12-03 13:29:44 +00:00
2f23d916f5 sxmo: disable xwayland 2023-12-03 13:03:57 +00:00
d413f4a782 gtkcord4: partially re-enable 2023-12-03 13:01:52 +00:00
c2080cfe1e sway: position Signal on the correct desktop even when run without Xwayland 2023-12-03 13:00:29 +00:00
c687d059c5 signal-desktop: support wayland even when running as a service 2023-12-03 13:00:29 +00:00
a131358c36 signal-desktop: support wayland 2023-12-03 13:00:29 +00:00
0ba012fd7c guis: ship vulkan-tools 2023-12-03 13:00:29 +00:00
b43a693a1e nginx: render directory listings for uninsane.org/share 2023-12-03 09:00:45 +00:00
6f4072efdd servo: enable bitcoind 2023-12-03 08:49:24 +00:00
908984c285 cross: mark mutter as needs binfmt 2023-12-03 02:10:34 +00:00
8772aaec65 zfs: dont ship on moby 2023-12-03 00:58:49 +00:00
f3d605bb63 cross: fix fractal-nixified dep which needs binfmt 2023-12-03 00:40:08 +00:00
6741e0b9e1 nixpkgs: -> tip; sops-nix: 2023-11-27 -> 2023-12-02
```
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/eb18da27b9cb7e2006574cd962f8a22baf2955f1' (2023-12-02)
  → 'github:nixos/nixpkgs/0616776a5e4072e9455e3966d1fce58feefa7a58' (2023-12-03)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/b1edbf5c0464b4cced90a3ba6f999e671f0af631' (2023-11-27)
  → 'github:Mic92/sops-nix/e19071f9958c8da4f4347d3d78790d97e98ba22f' (2023-12-02)
```
2023-12-03 00:22:07 +00:00
a9f932408c servo: add zfs dataset 2023-12-02 17:38:00 +00:00
a00e6984d9 nixpkgs: 2023-12-01 -> 2023-12-02
```
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/7c12c8615307e2677a5f769e27ddb0ab4e36a940' (2023-12-01)
  → 'github:nixos/nixpkgs/eb18da27b9cb7e2006574cd962f8a22baf2955f1' (2023-12-02)
```
2023-12-02 00:12:16 +00:00
b4738438b1 nixpkgs: 2023-11-30 -> 2023-12-01
```
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/8d0f0ca32319439fe9940b1de917dbbdcb8e6f3d' (2023-11-30)
  → 'github:nixos/nixpkgs/7c12c8615307e2677a5f769e27ddb0ab4e36a940' (2023-12-01)
```
2023-12-01 16:19:05 +00:00
416c2f2f39 feeds: remove Hard Fork 2023-12-01 15:35:15 +00:00
589f86010f fix that servo had too low of a inotify watch limit for wan.txt path unit to work 2023-12-01 13:18:05 +00:00
76a7c19996 waybar-sxmo-status: fix volume 2023-12-01 12:51:55 +00:00
3fa676e169 sxmo: waybar: include the volume sxmo status (i.e. microphone/headphones) 2023-12-01 08:45:31 +00:00
3193028c48 sxmo_hook_start: dont start the statusbar items 2023-12-01 07:56:43 +00:00
ba823e8283 sxmo: waybar: provide status more granularly 2023-12-01 07:43:20 +00:00
55f4ef9a4f firefox-extensions.metamask: 11.6.2 -> 11.6.3 2023-12-01 04:33:03 +00:00
200b0dcf7c sxmo: better integrate the status components into waybar
maybe i'll remove all the sxmo-specific logic eventually: it seems generalizable
2023-12-01 03:28:32 +00:00
181f9597c2 Merge branch 'dev' 2023-12-01 01:52:12 +00:00
e55c264c29 activationScripts: fix error messages which would occur on boot, for scripts which only want to run during upgrades 2023-12-01 01:51:37 +00:00
dfbae7e7b5 notify user when nixos deploy/activation completes 2023-12-01 01:29:37 +00:00
98fa50d0eb nixpkgs: 2023-11-29 -> 2023-11-30
```
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/6711380ae7874005d707d7d03830bd5eee40b43b' (2023-11-29)
  → 'github:nixos/nixpkgs/8d0f0ca32319439fe9940b1de917dbbdcb8e6f3d' (2023-11-30)
```
2023-11-30 23:53:17 +00:00
9503658dec sane-tag-music: handle tracks with soundcloud ID at end of title 2023-11-30 13:59:08 +00:00
3c9bf681b2 sane-tag-music: better handle compilation albums 2023-11-30 13:23:55 +00:00
c1b20675c1 sane-tag-music: handle more path schemas 2023-11-30 12:53:04 +00:00
5703caac19 remove unused scripts/ensure-perms script 2023-11-30 12:53:04 +00:00
7abf7459f9 signal-desktop-from-src: 6.38.0 -> 6.40.0 2023-11-30 09:58:25 +00:00
b14c6ecd5b firefox-extensions: update to latest 2023-11-30 09:47:09 +00:00
455127219d flake: rename check.host-configs -> check.hostConfigs 2023-11-30 01:40:50 +00:00
e235014bde cross: lift defaultCrateOverrides patches to toplevel 2023-11-30 01:40:02 +00:00
ed1bf899b6 fractal: annotate crates which require binfmt for cross compilation 2023-11-30 01:36:53 +00:00
36c7f77a98 nixpkgs: 2023-11-28 -> 2023-11-29
```
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/c9702bf40b036c0f1d3d5b0aaf3eee2bf920124c' (2023-11-28)
  → 'github:nixos/nixpkgs/6711380ae7874005d707d7d03830bd5eee40b43b' (2023-11-29)
```
2023-11-30 00:50:35 +00:00
996b4f8366 sane-tag-music: update tags even if file had no existing tags 2023-11-29 13:05:05 +00:00
39d94b34d7 sane-tag-music: better handle singles 2023-11-29 12:57:16 +00:00
6edc6841bf sane-tag-music: support directory/tree operations 2023-11-29 12:52:35 +00:00
b2806bd649 sxmo: ship codemadness-frontends 0.6 2023-11-29 12:31:36 +00:00
936118b8cb sane-tag-music: init 2023-11-29 12:29:58 +00:00
120f251590 sxmo-utils: enable sxmo_youtube.sh script 2023-11-29 10:16:00 +00:00
d9962e1b03 codemadness-frontends: fix cross compilation 2023-11-29 10:15:39 +00:00
1396eb2c58 codemadness-frontends: init at 0.8 2023-11-29 09:51:42 +00:00
12daa9830e pkgs/default.nix: fix sorting 2023-11-29 04:29:40 +00:00
3e5e1477b9 pipeline: init at 1.14.1
note that this doesn't cross compile, because of stupid fucking rust build.rs scripts

thanks, openssl-sys
2023-11-29 04:28:19 +00:00
c100f55f1c mpv: associate with opus mimetype 2023-11-29 01:14:15 +00:00
5a0c0dff41 nixpkgs: 2023-11-27 -> 2023-11-28, sops-nix -> 2023-11-27
```
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/927a9655a267b2b92ece7363efc4f74bf7b2612d' (2023-11-27)
  → 'github:nixos/nixpkgs/c9702bf40b036c0f1d3d5b0aaf3eee2bf920124c' (2023-11-28)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/4be58d802693d7def8622ff34d36714f8db40371' (2023-11-26)
  → 'github:Mic92/sops-nix/b1edbf5c0464b4cced90a3ba6f999e671f0af631' (2023-11-27)
```
2023-11-28 14:16:22 +00:00
8fc5e3611e slskd: fix that the nixos module unconditionall enables nginx 2023-11-28 14:08:08 +00:00
3c3fe16569 servo: enable Soulseek 2023-11-28 11:46:47 +00:00
8eb83bb283 sane-ssl-dump: remove
i never used it
2023-11-28 09:12:39 +00:00
e559f1b960 docs: comment nixpkgs.config options 2023-11-28 08:05:19 +00:00
24a485c213 ripgrep: send cross compilation patch upstream 2023-11-28 00:33:13 +00:00
413669d118 cross: avoid building samba
i was already trying to avoid it, just missed some spots
2023-11-28 00:33:13 +00:00
1729f29374 cross: fix ripgrep 2023-11-28 00:33:13 +00:00
e58833da3b nixpkgs: 2023-11-27 -> 2023-11-27
```
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/494d8bcc83c99f1c5668cfd5f042b11a0d753749' (2023-11-27)
  → 'github:nixos/nixpkgs/927a9655a267b2b92ece7363efc4f74bf7b2612d' (2023-11-27)
```
2023-11-28 00:33:13 +00:00
e5d4b57d9e overlays/cross: remove dead commented out code 2023-11-28 00:33:13 +00:00
1d61834a95 cross: remove upstreamed mpv patch 2023-11-28 00:33:13 +00:00
b74f55cf54 nixpkgs: 2023-11-26 -> 2023-11-27
```
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/013f0a99e56eeb1cfb44764fc0d419306b84bbe4' (2023-11-26)
  → 'github:nixos/nixpkgs/494d8bcc83c99f1c5668cfd5f042b11a0d753749' (2023-11-27)
```
2023-11-28 00:33:13 +00:00
eb07a416b4 nixcache: disable big-parallel for servo 2023-11-28 00:33:13 +00:00
ca277567f4 snippets.txt: remove double-spaces 2023-11-27 11:31:52 +00:00
68c2f8f333 fetchFromGitLab: passthru owner and repo 2023-11-27 10:26:44 +00:00
ae5dee394c sane-clone: simplify to not use jq 2023-11-27 10:22:45 +00:00
a94c460a95 sane-clone: note that fetchFromGitLab doesnt pass attrs through in quite the same way 2023-11-27 09:48:59 +00:00
78bf5caf00 cross: fix iotas
i don't know if it's actually runnable. it complains about aspell/gtkspellcheck not finding any dictionary, when i emulate it. but if this is a problem on non-emulated host, i expect it's not specific to cross compilation
2023-11-27 09:48:37 +00:00
c5dbda67ad bonsai: fix cross compilation 2023-11-27 09:19:13 +00:00
2260fbaec5 bonsai/hare-ev/hare-json: sync with nixpkgs PR 2023-11-27 09:19:13 +00:00
4d2fecec13 geary: add my other email account 2023-11-27 07:56:26 +00:00
101677688e trust-dns: note that --debug doesnt act as expected 2023-11-27 06:53:48 +00:00
ca8fefe0c6 sxmo: persist SMS messages 2023-11-27 06:46:57 +00:00
3e8d7ef8e3 sane-wipe-browser: also wipe Brave 2023-11-27 06:45:41 +00:00
71aed74e20 nixcache: disable supercap 2023-11-27 01:48:19 +00:00
712e2c2d12 monero: forward port 18080 2023-11-27 01:48:19 +00:00
892ba7d63e sxmo: disable sway-autoscaler
1: gnome-maps 45 scales way better. 2: the autoscaler seems to not be working anymore (app_id changed?)
2023-11-26 22:03:57 +00:00
96ca2a6585 sxmo-utils: 2023-11-07 -> 2023-11-26 2023-11-26 22:02:47 +00:00
3ebf6470c1 nixpkgs: 2023-11-26 -> 2023-11-26
```
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/c6c20c63b4c1f715f602ecc46e21521e7825c2fb' (2023-11-26)
  → 'github:nixos/nixpkgs/013f0a99e56eeb1cfb44764fc0d419306b84bbe4' (2023-11-26)
```
2023-11-26 21:58:03 +00:00
f8db994129 nixpkgs: 2023-11-25 -> 2023-11-26; sops-nix -> 2023-11-26
```
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/e6e261526ebe0762e1fb7a80cd320d09602ade5a' (2023-11-25)
  → 'github:nixos/nixpkgs/c6c20c63b4c1f715f602ecc46e21521e7825c2fb' (2023-11-26)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/49a87c6c827ccd21c225531e30745a9a6464775c' (2023-11-19)
  → 'github:Mic92/sops-nix/4be58d802693d7def8622ff34d36714f8db40371' (2023-11-26)
• Updated input 'sops-nix/nixpkgs-stable':
    'github:NixOS/nixpkgs/decdf666c833a325cb4417041a90681499e06a41' (2023-11-18)
  → 'github:NixOS/nixpkgs/dfb95385d21475da10b63da74ae96d89ab352431' (2023-11-25)
```
2023-11-26 12:33:32 +00:00
dcb74234a6 wine: persist pb powerbomber 2023-11-26 12:18:08 +00:00
ac7c0709e8 monero: enable i2p/tor 2023-11-26 10:11:52 +00:00
7d8595233c servo: enable monero service 2023-11-26 10:11:52 +00:00
5452286493 games: ship hitori 2023-11-26 09:22:40 +00:00
5528b6d87d games: ship wine
launch games with `wine some-game.exe`
2023-11-26 09:20:48 +00:00
6ae3e61d1d sxmo: doc: dedupe_lisgd 2023-11-26 07:01:13 +00:00
a9093a6a69 snippets: fix comment formatting 2023-11-26 06:35:49 +00:00
3dcf7a1204 snippets: add link 2023-11-26 06:35:31 +00:00
c2c63d400f sxmo: bonsai: dont ship service file if sxmo isnt enabled 2023-11-26 02:31:59 +00:00
8f9c9efca1 feeds: econlib: update feed URL 2023-11-26 02:17:36 +00:00
1cb83032a1 feeds: postmarketOS: update feed url 2023-11-26 02:17:23 +00:00
eba9253efe firefox-extensions: bump 2023-11-26 02:16:55 +00:00
9bd0537854 flake: fix "update" for my newer overlay schema 2023-11-26 02:16:25 +00:00
9491190ce4 bonsai: 1.0.0 -> 1.0.2; hare-json/hare-ev deps also updated
nixpkgs has a new version of hare which supports these
2023-11-26 01:21:02 +00:00
9b70d8884d refactor: expose "pkgs.sane.*" even for pkgs which wouldnt be visible in the toplevel scope 2023-11-26 01:20:17 +00:00
9824094fdc nixpkgs: 2023-11-24 -> 2023-11-25
```
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/869da636fea368dccc4331355894778f64c4a9bb' (2023-11-24)
  → 'github:nixos/nixpkgs/e6e261526ebe0762e1fb7a80cd320d09602ade5a' (2023-11-25)
```
2023-11-25 10:41:25 +00:00
361be1e5d1 fractal-latest: 2023-09-14 -> 2023-11-24 2023-11-25 09:01:41 +00:00
1d38aa62de fractal: persist the new(est) state dir
hope it stops moving around soon lol
2023-11-25 08:57:50 +00:00
d8a4702f1e bonsai: disable auto-updater 2023-11-25 08:57:50 +00:00
75124f18c0 firefox-extensions: update 2023-11-25 08:57:50 +00:00
f54df71d2a fractal-nixified: unstable-2023-09-14 (350a65cb0) -> 5 (2023-11-24)
this gets me the libadwaita/gtk4 updates from gnome 45.
2023-11-25 08:57:50 +00:00
b40b29350a linux-megous: orange-pi-6.5-20230914-1327 -> orange-pi-6.6-20231103-1422 2023-11-25 08:57:42 +00:00
6a9b8b558a cross: mark tangram, gnome-online-accounts as needs binfmt 2023-11-25 06:27:20 +00:00
58f17eac2d cross: mark calls as needs binfmt 2023-11-25 05:55:17 +00:00
41709b6eac cross: mark fractal-nixified as needs binfmt 2023-11-25 05:54:06 +00:00
f9f247df39 cross: annotate which packages require binfmt 2023-11-25 05:05:05 +00:00
4c4a8a0897 neovim: port to wrapNeovimUnstable 2023-11-25 05:02:48 +00:00
10aea555dd neovim: simplify implementation 2023-11-25 04:46:24 +00:00
43f7f07d0e cross: mark argyllcms, jbig2dec as needsBinfmt 2023-11-25 00:13:49 +00:00
3bde4a70ca docs: nix store ping when user doesnt have perms 2023-11-24 22:38:58 +00:00
b9fefdab80 nixcache: fix so supercap can be used as a remote builder w/o any of the others 2023-11-24 22:21:08 +00:00
2ac2aa4e6c tuba: 0.4.1 -> 0.5.0 2023-11-24 21:57:29 +00:00
8f526cd2b5 tuba: remove workaround (fixed via gnome 45 update) 2023-11-24 21:41:07 +00:00
6382ac22cb zsh: new alias to aid cloning an OS package 2023-11-24 21:40:16 +00:00
e1845d37da zsh: order aliases alphabetically 2023-11-24 21:39:52 +00:00
9ccbfd8bf0 sane-clone: init
script to "git clone" a nix packages source code
2023-11-24 21:29:15 +00:00
37a95b97f6 nixpkgs: 2023-11-21 -> 2023-11-24
```
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/72edcc748a92377d0568c9536ece114dbabb948c' (2023-11-21)
  → 'github:nixos/nixpkgs/869da636fea368dccc4331355894778f64c4a9bb' (2023-11-24)
```
2023-11-24 09:17:21 +00:00
4e0845eb9c cross: koreader-from-src: mark as needsBinfmt 2023-11-24 09:17:17 +00:00
dc8b79b721 sync todo.md 2023-11-24 08:20:03 +00:00
dd0ab41396 refactor: move builders-user-substitutes to be near the other nix extraOptions 2023-11-24 08:13:37 +00:00
c3c3cff6ca enable supercap as remote builder 2023-11-24 08:06:17 +00:00
1f26b36fb8 hosts/modules/hostnames.nix -> hosts/common/hostnames.nix 2023-11-24 07:37:14 +00:00
e990d5a645 hosts: add supercap 2023-11-24 07:35:58 +00:00
121e86013e feeds: add Hard Fork podcast 2023-11-23 05:57:23 +00:00
e0a1dcd51f refactor: remove modules/data/keys.nix 2023-11-23 03:56:00 +00:00
758281f772 modules/feeds: remove unused parameter 2023-11-23 03:37:18 +00:00
fe19065a6a rename working -> .working 2023-11-23 03:29:04 +00:00
a9ba9b77ad enable servo as a remote builder 2023-11-23 02:21:01 +00:00
23f4b2e2e4 nixserve: dependency-inject the pubkey
this is in modules/ dir; shouldn't have that kind of data in it
2023-11-23 02:14:18 +00:00
2d65282643 nixremote: define the user as part of the nixserve module 2023-11-23 02:08:45 +00:00
0bd9125484 remote builder: simplify auth 2023-11-23 02:06:54 +00:00
175144663d desko: dont use ourself as remote substituter/builder 2023-11-23 02:02:19 +00:00
77a0a36bb8 enable remote-building for lappy/moby 2023-11-23 01:59:37 +00:00
f26b64c660 nixremote: fix up perms 2023-11-23 01:44:27 +00:00
3ff9c0ad0c add a "nixremote" user for remote bulding (experimental; builds arent actually enabled yet) 2023-11-23 01:27:28 +00:00
3eb6ce6ff6 cross: apply vala targetOffset fix 2023-11-22 22:11:27 +00:00
845b4b219d cross: update upstreaming status 2023-11-22 22:03:34 +00:00
ffe53086fb cross: update upstreaming notes 2023-11-22 10:22:11 +00:00
5c34c807c5 cross: remove unused networkmanager-fortisslvpn 2023-11-22 09:52:30 +00:00
de2a33580a cross: update upstreaming/blocker notes 2023-11-22 08:33:09 +00:00
08a875d862 cross: remove workaround for obex_data_server, which cross compiles cleanly now 2023-11-22 08:05:14 +00:00
7eeebd632d cross: libpanel: annotate with upstreaming status 2023-11-22 05:02:43 +00:00
a72e9b1a3e cross: remove fixes for packages i dont use 2023-11-22 05:01:34 +00:00
56808821da overlays/cross: disable the unused qt5 stuff; it's not clear it even still works 2023-11-22 03:53:27 +00:00
b53eca6323 cross: annotate xdg-desktop-portal upstreaming status 2023-11-22 03:52:36 +00:00
5a1edb51ef preferences: re-enable pipewire patch. it's still needed 2023-11-22 03:52:15 +00:00
b03328b54f chatty-latest: fix build
evolution-data-server no longer propagates libsecret: upstream nixpkgs applied this patch as well
2023-11-22 03:50:39 +00:00
4e2615f321 xdg-desktop-portal: fix cross compilation 2023-11-22 03:36:50 +00:00
1e14654d95 libpanel: fix cross compilation 2023-11-22 03:36:36 +00:00
0519db4d2c overlays/preferences: disable python stuff no longer needed by komikku 2023-11-22 02:21:23 +00:00
5b9e4df03b overlays/cross: remove upstreamed dead-code 2023-11-22 02:21:00 +00:00
2dbde57f46 overlays/disable-flakey-tests: remove unneeded libwacom patch 2023-11-22 01:42:33 +00:00
d51b7eb124 overlays/disable-flakey-tests: remove unneeded gupnp patch 2023-11-22 01:30:06 +00:00
bfcc071d94 overlays/disable-flakey-tests: remove unnecessary visidata patch 2023-11-22 01:26:38 +00:00
72e1ab6ad6 nixpatches: remove dead mepo patch (merged upstream) 2023-11-22 01:11:49 +00:00
d54efbaacf overlays/preferences: remove unneeded pipewire specialization 2023-11-22 00:54:05 +00:00
7d2f166d67 prefs: remove unnecessary electrum patch 2023-11-22 00:36:48 +00:00
aff3e1aee8 disable gtkcord4 2023-11-22 00:25:14 +00:00
9343447c03 nixpkgs: 2023-11-19 -> 2023-11-21
switch to `master` branch for the GNOME changes

```
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/e4ad989506ec7d71f7302cc3067abd82730a4beb' (2023-11-19)
  → 'github:nixos/nixpkgs/72edcc748a92377d0568c9536ece114dbabb948c' (2023-11-21)
```
2023-11-22 00:00:52 +00:00
beb13b8f84 gnome 44 -> 45 2023-11-21 23:12:19 +00:00
70b273a0d2 sxmo: include WM menu in the system menu 2023-11-21 22:39:31 +00:00
fc2bf35588 sway-autoscaler: tune gnome-maps scale 2023-11-21 08:59:34 +00:00
05893ad661 moby: auto-start Signal 2023-11-21 08:28:15 +00:00
fdc9df6b91 sway-autoscaler: cleanup 2023-11-21 08:25:01 +00:00
c6d68e1450 sway: reposition displays 2023-11-21 08:18:35 +00:00
d294be9f35 sxmo: auto-scale the environment to accomodate non-mobile-friendly apps
this is hacky, but it hopefully makes gnome-maps usable, quickly.
an alternative fix would be to theme gnome-maps.
it's likely also that it becomes more mobile-friendly in the gnome 45
release.
2023-11-21 08:14:52 +00:00
98ea4d2dfe abaddon: depend on gnome-keyring 2023-11-21 06:05:52 +00:00
6a950b4e97 abaddon: integrate with swaync services buttons 2023-11-21 03:32:59 +00:00
70292e4f8e abaddon: dont show the "view members" pane, by default 2023-11-21 03:06:58 +00:00
67f8b82740 gitea: track upstream auth fix PR 2023-11-21 02:44:42 +00:00
e9eb139b80 gitea: fix database permissions 2023-11-21 02:27:00 +00:00
61d5b9f048 abaddon: disable platform override (upstream has merged support for aarch64) 2023-11-21 00:37:02 +00:00
c5c86c3964 abaddon: configure for autoconnect 2023-11-21 00:36:43 +00:00
0f233f3a22 gitea: fix database creation error (from latest nixpkgs update) 2023-11-20 10:48:27 +00:00
166bd70a1f nixpkgs: 2023-11-17 -> 2023-11-19; sops-nix -> 2023-11-19
```
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/c757e9bd77b16ca2e03c89bf8bc9ecb28e0c06ad' (2023-11-17)
  → 'github:nixos/nixpkgs/e4ad989506ec7d71f7302cc3067abd82730a4beb' (2023-11-19)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/0e3a94167dcd10a47b89141f35b2ff9e04b34c46' (2023-11-14)
  → 'github:Mic92/sops-nix/49a87c6c827ccd21c225531e30745a9a6464775c' (2023-11-19)
• Updated input 'sops-nix/nixpkgs-stable':
    'github:NixOS/nixpkgs/9502d0245983bb233da8083b55d60d96fd3c29ff' (2023-11-12)
  → 'github:NixOS/nixpkgs/decdf666c833a325cb4417041a90681499e06a41' (2023-11-18)
```
2023-11-20 10:02:56 +00:00
776b4a6c02 doc: consider ideal input mapping a bit more 2023-11-20 09:21:44 +00:00
75dcc60be5 sxmo/bonsai: simplify bindings: remove power x 3 in favor of powerhold 2023-11-20 09:12:43 +00:00
53034a6ff4 bonsai: simplify the nix code for volume handling 2023-11-20 09:07:51 +00:00
1ea6df9e6c sxmo/bonsai: rework mappings so vol-up/vol-down (app menu/keyboard) trigger instantly w/o timeout 2023-11-20 08:44:10 +00:00
a98a14da3d sxmo: map power hold to just a single power press
less risky than accidentally killing a window (power x3)
2023-11-20 07:36:46 +00:00
629cb8776e sxmo: map volup_three/voldown_three to seek controls when screenoff 2023-11-20 07:35:23 +00:00
96a63d0e89 sxmo: friendly format with which to define bonsai map 2023-11-20 07:25:21 +00:00
c7b065eed9 sxmo_hook_inputhandler: set volume directly
now that i'm using SXMO_NO_AUDIO, i can't use sxmo_audio.sh
2023-11-20 06:57:51 +00:00
89b0b8884b sxmo: set SXMO_STATES=unlock screenoff 2023-11-20 06:53:59 +00:00
644983d27a bonsaid: configure via nix 2023-11-20 06:46:44 +00:00
04d3ea97f3 flake: add a hostConfigs output 2023-11-20 06:29:51 +00:00
11baf471a4 desko: open firewall for nix-serve 2023-11-20 04:58:13 +00:00
505c2d83f2 sxmo-utils: add missing upower dependency 2023-11-20 04:49:38 +00:00
f84ab9a4d1 sxmo: fix that sxmo_state_switch.sh was renamed upstream 2023-11-20 02:36:42 +00:00
0127b61901 sxmo: fix that upstream renamed sxmo_dameons.sh -> sxmo_jobs.sh 2023-11-20 02:31:55 +00:00
b7247f6082 sxmo.bonsaid: make it a proper nix module 2023-11-20 02:31:23 +00:00
9cc72c09dc sxmo: split bonsai out to own file 2023-11-20 01:55:15 +00:00
d763f3b912 nix.extraOptions: tune 2023-11-20 01:37:26 +00:00
f8899aada0 sane.programs.animatch: move to own file 2023-11-19 23:58:00 +00:00
2e983267d4 sxmo-utils: 2023-10-10 -> 2023-11-07 2023-11-19 23:55:41 +00:00
df0c63b300 sxmo-utils: obtain via fetchFromSourcehut 2023-11-19 23:53:37 +00:00
1db2031b76 sxmo-utils: rename from sxmo-utils-latest 2023-11-19 23:44:48 +00:00
2720ccc1fc sxmo-utils.stable: remove
i don't use this. upstream doesn't tag releases enough for it to be useful.
2023-11-19 23:40:56 +00:00
f2aea2c201 phog: 0.1.5 -> 0.1.6 2023-11-19 23:35:00 +00:00
6b9c5f518e koreader-from-src: 2023-10-18 -> 2023.10 (i.e. end-of-month commit) 2023-11-19 23:04:39 +00:00
6d6d2320bd cross: fix mutter build 2023-11-19 11:06:51 +00:00
a1298d6cda nixpkgs 2023-11-14 -> 2023-11-17
```
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/bf744fe90419885eefced41b3e5ae442d732712d' (2023-11-14)
  → 'github:nixos/nixpkgs/c757e9bd77b16ca2e03c89bf8bc9ecb28e0c06ad' (2023-11-17)
```
2023-11-19 10:57:50 +00:00
52b59bcde8 feeds: add Mic92 (nix dev) 2023-11-19 10:55:51 +00:00
256c85ba5c abaddon: refer to upstream PR for platforms fix 2023-11-19 03:24:46 +00:00
5e484719c2 swaync: sound alerts for abaddon (discord) 2023-11-19 03:14:22 +00:00
6b88379b01 abaddon: 0.1.12 -> 0.1.13
this resolves the warning on launch about the build id not being found
2023-11-19 03:13:44 +00:00
7b29624776 abaddon: force to workspace 1 2023-11-19 03:02:14 +00:00
18f8825cd5 flake: fix deploy so the -light and -test variants work 2023-11-19 02:53:38 +00:00
3d94d02960 flake: fix deploy script map 2023-11-19 02:41:00 +00:00
1f8886684f ship abaddon discord client 2023-11-19 02:37:51 +00:00
29f1da873b sane-weather: enable alternate NWS provider (metar API has changed) 2023-11-19 02:07:07 +00:00
97ec517a1e conky: battery_estimate: fix formatting 2023-11-19 01:51:15 +00:00
2fccaf684c conky: show battery on lappy, and not on desko 2023-11-19 01:50:14 +00:00
008063e645 flake: check target builds hosts in a specific order 2023-11-19 01:36:34 +00:00
867c949604 todo: removed x86GuiApps 2023-11-19 01:36:29 +00:00
7a1af6ee5c firefox: mark as *not* slow to build
this ensures it's always in the base desktop build. otherwise, i never build any browser for desko-light
2023-11-18 23:00:40 +00:00
0893c90c51 refactor how i decide which programs go on which machine (leverage "roles" like pc and handheld) 2023-11-18 22:56:53 +00:00
3c7ebb5385 hosts/modules/gui: refactor package sets 2023-11-18 22:20:38 +00:00
91c2f6fc95 implement sane.programs.slowToBuild and {moby,desko,lappy}-light targets
i'm not sure this is the exact right abstraction, but it's a starting point
2023-11-18 22:06:42 +00:00
ead08fbb5d disable nheko 2023-11-18 22:06:37 +00:00
3ad6a15f56 firefox: reduce scrollbar size :-( 2023-11-18 22:06:34 +00:00
12adb9f10a element-desktop: use electron-bin instead of from-source electron 2023-11-18 22:06:30 +00:00
7b2932b02b firefox-extensions: update to latest 2023-11-18 22:06:26 +00:00
57a47da12c swaync: audibly notify on gtkcord4 notification 2023-11-18 19:19:33 +00:00
84a51faa70 todo.md: document some nix-related bugs 2023-11-18 00:24:16 +00:00
ad495301c0 feeds: add Jeff Geerling 2023-11-18 00:23:58 +00:00
43bd745228 sway: fix broken brightness_down_cmd 2023-11-17 22:46:44 +00:00
fea056d9be todo.md: fix swaync mpris art 2023-11-17 09:36:07 +00:00
2f320db5e2 gtkcord4: add swaync icon and user service 2023-11-17 09:18:14 +00:00
130268491c ship gtkcord4 2023-11-17 08:27:19 +00:00
caf95675d6 packages: persist data for unofficial discord clients 2023-11-17 08:26:36 +00:00
b23281e9dc swaync: make the service buttons more compact 2023-11-17 04:06:26 +00:00
850354b7d7 integrate Signal into swaync and sway/autostart 2023-11-17 04:05:59 +00:00
5c7851e4d9 signal-desktop-from-src: fix SOURCE_EPOCH_DATE to prevent "build to old" runtime error 2023-11-17 03:22:27 +00:00
d85dbf1d33 animatch: correctly persist progress (?) 2023-11-17 01:24:04 +00:00
93ea668db3 install more desktop games 2023-11-17 00:13:34 +00:00
5f426b3efd ship vvvvvv game 2023-11-16 20:50:40 +00:00
4b6a18e4e7 programs: split games into own category; re-enable shattered-pixel-dungeon 2023-11-16 20:26:37 +00:00
35629a2a07 nixpkgs: 2023-11-12 -> 2023-11-14
```
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/e44462d6021bfe23dfb24b775cc7c390844f773d' (2023-11-12)
  → 'github:nixos/nixpkgs/bf744fe90419885eefced41b3e5ae442d732712d' (2023-11-14)
```
2023-11-16 20:17:30 +00:00
50651d1c03 animatch: provide via upstream 2023-11-16 20:17:20 +00:00
412667dd0e nixpatches: remove gnustep patch (invalid ref) 2023-11-16 20:12:53 +00:00
c46a5089a6 animatch: simplify build 2023-11-16 07:39:49 +00:00
1b3f902dc2 signal-desktop-from-src: use non-builtins fetchurl to fix purity (and NUR build) 2023-11-16 07:24:39 +00:00
bfcb4f92e8 add todo item: remove x86GuiApps 2023-11-16 00:38:06 +00:00
13dda2e533 programs: ship animatch 2023-11-16 00:36:31 +00:00
29c5811b68 animatch: init at 1.0.3 2023-11-16 00:32:02 +00:00
8111757357 firefox-extensions: update (bypass-paywalls-clean, ublacklist, ether-metamask) 2023-11-15 23:20:40 +00:00
93ff8f25a1 signal-desktop-from-src: 6.36.0 -> 6.38.0
apparently after pairing, both versions give the message that they're 'too old'
2023-11-15 23:12:55 +00:00
bb810ac75a signal-desktop: fix directory persistence 2023-11-15 23:07:25 +00:00
87b78d1c89 signal-desktop-from-src: remove unused package.json 2023-11-15 22:41:05 +00:00
bc56f78fd2 signal-desktop-from-src: clean up the package 2023-11-15 22:40:13 +00:00
41ac63f445 signal-desktop-from-src: remove lockfile from repo 2023-11-15 21:41:29 +00:00
b538044d9a nvme-cli: dont ship on moby 2023-11-15 20:41:41 +00:00
02882dd781 nixpkgs: 2023-10-29 -> 2023-11-12; sops-nix -> 2023-11-14; uninsane-dot-org
```
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/0cbe9f69c234a7700596e943bfae7ef27a31b735' (2023-10-29)
  → 'github:nixos/nixpkgs/e44462d6021bfe23dfb24b775cc7c390844f773d' (2023-11-12)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/632c3161a6cc24142c8e3f5529f5d81042571165' (2023-10-29)
  → 'github:Mic92/sops-nix/0e3a94167dcd10a47b89141f35b2ff9e04b34c46' (2023-11-14)
• Updated input 'sops-nix/nixpkgs-stable':
    'github:NixOS/nixpkgs/d87c5d8c41c9b3b39592563242f3a448b5cc4bc9' (2023-10-29)
  → 'github:NixOS/nixpkgs/9502d0245983bb233da8083b55d60d96fd3c29ff' (2023-11-12)
• Updated input 'uninsane-dot-org':
    'git+https://git.uninsane.org/colin/uninsane?ref=refs/heads/master&rev=2419750ca98fc04af42c91e50c49a29c68d465d2' (2023-10-30)
  → 'git+https://git.uninsane.org/colin/uninsane?ref=refs/heads/master&rev=8a4273489d945f21d7e0ca6aac952460c7d4c391' (2023-11-09)
• Updated input 'uninsane-dot-org/flake-utils':
    'github:numtide/flake-utils/dbabf0ca0c0c4bce6ea5eaf65af5cb694d2082c7' (2023-06-25)
  → 'github:numtide/flake-utils/ff7b65b44d01cf9ba6a71320833626af21126384' (2023-09-12)
```
2023-11-15 07:16:20 +00:00
a24d5581f1 nixpatches: build latest zcash 2023-11-15 07:13:33 +00:00
3125acc95c nixpatches: assorted minor updates 2023-11-15 07:12:46 +00:00
d4c7cfcdf8 ship signal-desktop-from-src 2023-11-15 07:07:58 +00:00
6ff01649d6 signal-desktop-from-src: build with electron_27-bin 2023-11-15 07:07:44 +00:00
dfe724ff52 shattered-pixel-dungeon: persist save file 2023-11-15 05:53:14 +00:00
6c759c226a cross: docs: mention that libgnome-games-support has been merged 2023-11-15 05:52:46 +00:00
d22c2ea56a sxmo: re-enable xwayland
this fixes signal-desktop :)
2023-11-15 05:51:32 +00:00
319bfe205d signal-desktop-from-src: support cross compilation 2023-11-15 05:50:23 +00:00
c4367644dd sane-vpn: add usage/help 2023-11-14 23:29:34 +00:00
69464c2405 snippets: update dead links 2023-11-14 22:43:09 +00:00
1da78d093f ship gnome-2048 game 2023-11-14 03:36:15 +00:00
70ccbb3f59 signal-desktop-from-src: working build 2023-11-14 02:18:28 +00:00
214f24805e swaync: disable vpn::hn action 2023-11-14 01:31:30 +00:00
37f6c9c3bf swaync: improve service icons slightly more 2023-11-14 00:46:39 +00:00
c0ba6dc9f5 swaync: change GPS icon to an actual icon 2023-11-14 00:39:24 +00:00
92159f2a3d dino: simplify service description 2023-11-14 00:39:24 +00:00
3855fb5eb6 geary: integrate with swaync and auto-start 2023-11-14 00:39:24 +00:00
5b3a716819 todo.md: add more apps to install 2023-11-14 00:39:24 +00:00
48b6045ba3 gui: ship superTux, superTuxKart 2023-11-14 00:39:24 +00:00
fd965177ff gui: ship gnome-calendar 2023-11-14 00:39:24 +00:00
b34d332a32 gui: ship gnome-clocks 2023-11-14 00:39:24 +00:00
23db2bf1bf gui: ship gnome-calculator 2023-11-14 00:39:24 +00:00
5996e1f301 servo: fix sane.persist ext store 2023-11-13 05:27:14 +00:00
70a61386b8 add todo for biblioteca doc viewer 2023-11-13 00:14:21 +00:00
53df000ba6 zsh: increase history size 2023-11-12 22:16:33 +00:00
802294ec9c moby: disable dialect program 2023-11-11 02:07:36 +00:00
ed4e289209 moby: fix cross-compilation of dialect/wike 2023-11-10 23:05:12 +00:00
796977713d cross compilation: fix spot build 2023-11-10 22:12:00 +00:00
1f0f84f2f0 programs: add dialect, spot, wike, xq 2023-11-10 19:29:43 +00:00
4e328ae0a3 todo: fix fractal link opener 2023-11-10 18:52:03 +00:00
b572d6d27b new todo: RSS paywall bypass 2023-11-10 17:34:15 +00:00
cd79be5414 feeds: remove unused fields 2023-11-10 17:27:51 +00:00
28dbf10a30 todo.md: remove completed items 2023-11-10 16:25:51 +00:00
96cabc30bc move /etc/nix/source -> /etc/nixos 2023-11-09 17:29:41 +00:00
f5376f2dbb desko: update disk UUIDs 2023-11-09 16:10:11 +00:00
8b25bc96a4 rescue: enable root-on-tmpfs, and consolidate those definitions 2023-11-09 00:15:30 +00:00
6acd363f55 sane.persist.root-on-tmpfs -> sane.root-on-tmpfs 2023-11-09 00:15:04 +00:00
539ee010ab hosts: ship a copy of this repo in /etc/nix/source 2023-11-08 23:56:31 +00:00
5202c572fb firefox-extensions: update to latest 2023-11-08 23:44:27 +00:00
5630b6d8d7 swaync: fix build (github patch changed) 2023-11-08 21:56:46 +00:00
23c46079a9 image: allow configuring the sector size 2023-11-08 16:42:25 +00:00
df9ffcb7b1 zsh: auto-detect guiIntegrations feature 2023-11-08 15:33:15 +00:00
f4f1917ed6 rescue: remove extraneous generic-extlinux-compatible option 2023-11-08 15:33:15 +00:00
851b2cec88 rescue: disable persistence 2023-11-08 15:33:15 +00:00
28d4a4b065 persistence: move stores behind a byStore attr to support disabling persistence altogether (for e.g. rescue image) 2023-11-08 15:33:15 +00:00
7c5f5bd604 programs: add nvme, e2fsprogs to sysadminTools 2023-11-08 14:36:27 +00:00
7e4899832d wg-home: fix type error 2023-11-08 13:24:10 +00:00
226c4ba818 rescue: auto-login user 2023-11-08 13:18:30 +00:00
76b6b71879 mobile-nixos: pin to 2023-09-15 2023-11-08 12:13:50 +00:00
4951520584 flake: integrate rescue image building into the "check" target 2023-11-08 11:39:45 +00:00
e30d452254 flake: add help for building the rescue image 2023-11-08 11:35:32 +00:00
18a7598f62 programs: xdg-terminal-exec: move to gui programs 2023-11-08 11:31:49 +00:00
4d3e482174 zsh: remove vteIntegration from rescue image 2023-11-08 11:26:55 +00:00
68556222e2 fix rescue host build 2023-11-08 11:16:56 +00:00
2275fc20cd nixpatches: update hashes 2023-11-08 10:56:18 +00:00
7c247a6d39 initrd: add more helper (debugging) tools 2023-11-08 10:55:47 +00:00
1483dac941 cross: explain the webkitgtk situation better 2023-11-08 10:55:13 +00:00
e1a8c94ab9 programs: ship ddrescue 2023-11-06 23:57:48 +00:00
b0e66056ec WIP: signal-desktop-from-src: use node headers from electron.bin 2023-11-05 20:03:38 +00:00
08dd4ca641 sane-bt-add: leave a TODO for fixing InvalidSchema exceptions 2023-11-05 20:03:03 +00:00
f6eadd3696 devPkgs: add requests to python 2023-11-05 20:02:40 +00:00
b59685cc9d signal-desktop-from-src: get more working
no longer complains about ABI mismatches
2023-11-05 14:49:40 +00:00
c30e131aa7 signal-desktop-from-src: closer to working 2023-11-04 14:52:09 +00:00
5adf6c0194 snippets.txt: add billshare 2023-11-03 12:26:57 +00:00
6b7507384c sftpo: restart on failure (e.g. when it fails to bind address 2023-11-03 07:21:21 +00:00
e97d844380 signal-desktop-from-src: link in ringrtc, better-sqlite3
now it launches, but hangs at splashscreen
2023-11-02 15:52:23 +00:00
0628bd7880 ublock-origin: 1.52.3b17 -> 1.53.1b1 2023-11-02 10:35:54 +00:00
bee3b664c9 signal-desktop-from-src: remove comments which are no longer helpful 2023-11-02 10:25:49 +00:00
15cade99e7 signal-desktop-from-src: clean up a bit
still doesn't run, but the build process is cleaner
2023-11-02 10:24:23 +00:00
4150fab10b signal-desktop-from-src: get building (but it crashes at launch) 2023-11-02 09:10:08 +00:00
25e314c02e blogs: follow artemis.sh 2023-11-01 04:38:04 +00:00
ed0528fafa firefox: enable oversized scrollbars 2023-11-01 04:32:59 +00:00
c5ad11a243 nixpkgs: 2023-10-26 -> 2023-10-29; sops-nix; uninsane-dot-org
```
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/63678e9f3d3afecfeafa0acead6239cdb447574c' (2023-10-26)
  → 'github:nixos/nixpkgs/0cbe9f69c234a7700596e943bfae7ef27a31b735' (2023-10-29)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/014e44d334a39481223a5d163530d4c4ca2e75cb' (2023-10-25)
  → 'github:Mic92/sops-nix/632c3161a6cc24142c8e3f5529f5d81042571165' (2023-10-29)
• Updated input 'sops-nix/nixpkgs-stable':
    'github:NixOS/nixpkgs/fb000224952bf7749a9e8b3779104ef7ea4465c8' (2023-10-21)
  → 'github:NixOS/nixpkgs/d87c5d8c41c9b3b39592563242f3a448b5cc4bc9' (2023-10-29)
• Updated input 'uninsane-dot-org':
    'git+https://git.uninsane.org/colin/uninsane?ref=refs/heads/master&rev=dea3e5cdd747ac321447ef00fa1e51423676aeda' (2023-10-08)
  → 'git+https://git.uninsane.org/colin/uninsane?ref=refs/heads/master&rev=2419750ca98fc04af42c91e50c49a29c68d465d2' (2023-10-30)
```
2023-10-31 14:24:39 +00:00
68de71084b flare-signal: leave more notes; disable 2023-10-31 07:57:30 +00:00
713bbffd7d new script: sane-wipe-flare 2023-10-31 06:54:53 +00:00
028689cf86 flakey tests: dont check gjs or tracker when emulating 2023-10-31 06:30:45 +00:00
5d34139da6 sane-deadlines: ceil the day countdown 2023-10-31 04:22:54 +00:00
626fe1946d flare-signal: get a better cross-compiled build (via emulation) 2023-10-31 01:33:42 +00:00
6d8f9edfd0 flare-signal: document problems 2023-10-30 14:02:24 +00:00
745362e05e ship flare-signal on all GUI platforms 2023-10-30 11:02:51 +00:00
000bae364e flare-signal: support cross compilation 2023-10-30 11:02:01 +00:00
3667484e80 fractal-nixified: doc: explain postPatch purpose 2023-10-30 10:48:22 +00:00
c459eb0118 flare-signal-nixified: working build 2023-10-30 10:47:58 +00:00
1c483992da flare-signal-nixified: init at 0.10.0 (deps build; flare itself does not) 2023-10-30 08:04:07 +00:00
55680b68b2 configure new program: flare (Signal GTK4 client) 2023-10-30 04:40:55 +00:00
b3f5bf4e80 koreader: disable isConnected patch 2023-10-30 01:52:47 +00:00
51995a7d95 update firefox-extension 2023-10-28 21:19:08 +00:00
462f9d3ab3 swaync: tune style and add 5g toggle to moby 2023-10-28 11:43:26 +00:00
fd00eaede8 net: add LTE connection details 2023-10-28 10:34:36 +00:00
85421f82c1 koreader: add a symlink for easier RSS browsing 2023-10-28 01:49:16 +00:00
e86d6934fd nixpkgs: 2023-10-24 -> 2023-10-26
```
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/8efd5d1e283604f75a808a20e6cde0ef313d07d4' (2023-10-24)
  → 'github:nixos/nixpkgs/63678e9f3d3afecfeafa0acead6239cdb447574c' (2023-10-26)
```
2023-10-28 00:14:39 +00:00
db028dcfe2 fix servo build (IFD in iproute2) 2023-10-27 13:50:11 +00:00
ad2fef5b48 fix build from earlier nixpkgs update 2023-10-27 13:29:26 +00:00
66524685a9 koreader-from-src: build without emulation 2023-10-27 11:37:40 +00:00
1d7c54b20e todo.md: remove obsolete sxmo PATH task 2023-10-27 08:42:00 +00:00
d68cc761cc koreader-from-src: don't interrupt RSS sync on image DL failure 2023-10-27 08:41:02 +00:00
25c13705cd sane-bt-add: trim trailing space from the input URL 2023-10-26 10:38:28 +00:00
55e2aaf3a1 nixpkgs: 2023-10-19 -> 2023-10-24; sops-nix -> 2023-10-25; mobile-nixos
```
• Updated input 'mobile-nixos':
    'github:nixos/mobile-nixos/7cee346c3f8e73b25b1cfbf7a086a7652c11e0f3' (2023-10-01)
  → 'github:nixos/mobile-nixos/0251d0ae920a9882fd8527dc3fd9e3e54f122b2e' (2023-10-25)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/7c9cc5a6e5d38010801741ac830a3f8fd667a7a0' (2023-10-19)
  → 'github:nixos/nixpkgs/8efd5d1e283604f75a808a20e6cde0ef313d07d4' (2023-10-24)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/51186b8012068c417dac7c31fb12861726577898' (2023-10-15)
  → 'github:Mic92/sops-nix/014e44d334a39481223a5d163530d4c4ca2e75cb' (2023-10-25)
• Updated input 'sops-nix/nixpkgs-stable':
    'github:NixOS/nixpkgs/0e1cff585c1a85aeab059d3109f66134a8f76935' (2023-10-15)
  → 'github:NixOS/nixpkgs/fb000224952bf7749a9e8b3779104ef7ea4465c8' (2023-10-21)
```
2023-10-25 23:41:46 +00:00
94f2096219 remove outdated overlays which fixed tests which are no longer flakey 2023-10-25 14:44:20 +00:00
8f5f3933c1 cross: gvfs: update patch 2023-10-25 08:25:38 +00:00
e2d72f9e54 cross: snapper: push patches upstream 2023-10-24 17:01:08 +00:00
fc84aa88ee cross: remove upstreamed spdlog; add notes for upstream status of more packages 2023-10-24 16:53:55 +00:00
841fb4bf7a cross: hspell: push upstream 2023-10-24 16:53:24 +00:00
5f789b3db2 cross: gvfs: push upstream 2023-10-24 16:17:31 +00:00
49fbe5f4fa cross: gcr: push upstream 2023-10-24 15:28:48 +00:00
ec4b974f3d matrix-synapse: auto-register the ntfy-sh push gateway at launch 2023-10-24 14:47:59 +00:00
84ad85a81e mpv: types.string -> types.str 2023-10-24 13:07:16 +00:00
1af7450610 cross: gspell: push upstream 2023-10-24 13:06:52 +00:00
21912f0c4f overlays: gupnp: re-enable tests on x86 2023-10-24 12:32:05 +00:00
05513da298 rename host-pkgs -> hostPkgs 2023-10-24 12:25:39 +00:00
30486f4b4e geary: fix a typo 2023-10-24 10:29:40 +00:00
974ca87983 cross: remove upstreamed overlays 2023-10-24 10:28:01 +00:00
bb217ecd7b gsound: push cross compilation patch upstream 2023-10-24 10:27:33 +00:00
ed92fafdf6 todo.md: dont sleep when phone is ringing 2023-10-24 09:53:09 +00:00
228fd2353a cross compilation: support gnome.geary 2023-10-24 09:47:10 +00:00
69ac75131c apps: add geary 2023-10-24 04:50:31 +00:00
275f1ba49f trust-dns: 0.23.0 -> 0.24.0 2023-10-24 02:36:08 +00:00
501e79006c new script: sane-wipe-fractal 2023-10-24 00:41:05 +00:00
1ced3db806 moby: document more DRM_IOCTL_MODE_CREATE_DUMB 2023-10-24 00:15:13 +00:00
d1513b5816 moby: try out a scale of 1.6 2023-10-23 10:21:04 +00:00
a225b7e5f5 mpv: switch to wlshm vo backend on moby; default for desko 2023-10-23 08:36:43 +00:00
e7768572e5 fractal: update docs for fixing broken cache 2023-10-22 23:21:35 +00:00
a26a398181 todo.md: matrix/ntfy integrations 2023-10-22 23:21:20 +00:00
c59e9b09fc matrix: document push notification configuration 2023-10-22 14:47:52 +00:00
81c8af54a1 sxmo_suspend: deploy with verbose until i know its all working well 2023-10-22 13:01:33 +00:00
2d9ac4ca1e todo.md: remove stale items 2023-10-22 13:00:36 +00:00
a9f56d9216 sxmo_suspend.sh: be precise about which IP address we listen to for notifications 2023-10-22 12:53:32 +00:00
fb33ac6d1b sxmo_suspend: fix reversed getpeername -> getsockname 2023-10-22 12:36:57 +00:00
eaed914c8b sxmo_suspend: fix typo in getpeername 2023-10-22 12:14:57 +00:00
b10425f6b6 ntfy-waiter: never drop notifications, but rather sleep until client is ready to receive them 2023-10-22 12:10:52 +00:00
7541d5466e ntfy-waiter: add a todo for not dropping notifications (!) 2023-10-22 11:48:01 +00:00
644084f176 moby: disable ntfy-sh now that i've got a less racy notification method 2023-10-22 11:46:58 +00:00
baca7931ad static-nix-shell: add extraMakeWrapperArgs option 2023-10-22 11:45:44 +00:00
2ee7af064d sxmo_suspend.sh: be more precise in the wake condition 2023-10-22 11:28:10 +00:00
e1a80d6752 ntfy-waiter: forbid duplicate connections from the same IP
this is sort of a bandaid; it's still a bit iffy
2023-10-22 11:18:54 +00:00
523e859ee4 ntfy-waiter: more verbosity/debugging 2023-10-22 11:08:48 +00:00
230ca20017 sxmo_suspend.sh: explicitly shutdown the socket 2023-10-22 11:00:21 +00:00
30529182b0 sxmo_suspend.sh: allow mocking enough at runtime to run on desko 2023-10-22 10:28:17 +00:00
2947e6635d ntfy-waiter: move target from network -> default 2023-10-22 10:11:45 +00:00
3e1e7d49f8 sxmo_suspend.sh: open a ntfy socket 2023-10-22 10:08:59 +00:00
4894a68c62 sxmo_suspend: refactor 2023-10-22 09:45:38 +00:00
bd2775ded2 sxmo_suspend.sh: make the suspend time configurable 2023-10-22 09:41:36 +00:00
88ea557cd5 sxmo_suspend.sh: port to Python 2023-10-22 09:36:08 +00:00
3e8ad5b899 ntfy: implement a wrapper which converts ntfy subscriptions into a more specific wakeup signal 2023-10-22 06:11:49 +00:00
fafe7242f7 ntfy: refactor into multiple files 2023-10-22 04:16:24 +00:00
1a01a40e85 ntfy: move to own directory 2023-10-22 04:13:37 +00:00
f2f721234d nginx: link to docs 2023-10-22 04:12:34 +00:00
ea19eac1c9 update firefox-extensions: ether-metamask 11.2.0 -> 11.3.0; i2p 1.52.3b16 -> 1.52.3b17 2023-10-21 21:49:21 +00:00
ed1d4398a1 nixpkgs: 2023-10-16 -> 2023-10-19
```
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/ca012a02bf8327be9e488546faecae5e05d7d749' (2023-10-16)
  → 'github:nixos/nixpkgs/7c9cc5a6e5d38010801741ac830a3f8fd667a7a0' (2023-10-19)
```
2023-10-21 11:50:37 +00:00
12e106ee2a moby: test a lima GPU timeout bugfix 2023-10-21 11:49:43 +00:00
d13007fc12 moby: migrate boot args from default.nix -> kernel.nix 2023-10-21 11:49:43 +00:00
2fa00b4c73 postfix: fix connectivity issues 2023-10-21 11:48:45 +00:00
c1e17a0693 nixpatches: try & abandon trust-dns updates 2023-10-21 10:15:03 +00:00
cd617cc034 coturn: document routability concerns 2023-10-20 23:22:34 +00:00
5607bae49b devPkgs: add lua 2023-10-20 23:07:02 +00:00
f70c467971 prosody: push to ntfy on incoming call 2023-10-20 23:06:44 +00:00
6cb5edbfff prosody: mod_sane_ntfy: hook to detect jingle calls 2023-10-20 10:39:57 +00:00
5a844762c2 prosody: ship a proof-of-concept hello world module 2023-10-20 10:25:42 +00:00
de9b1e6197 prosody: docs: not about watch:stanzas 2023-10-20 10:17:20 +00:00
f43bb446c8 prosody: move to own directory 2023-10-20 10:16:23 +00:00
fa8e014eae nixcache: fix typo 2023-10-20 06:22:59 +00:00
6191542805 nix-serve: port 5000 -> 5001; prosody: enable proxy65 on port 5000 2023-10-20 04:48:30 +00:00
b8f13cd965 prosody/coturn: debugging (this config works with JMP.chat) 2023-10-20 03:14:36 +00:00
ee2b1f245e koreader-from-src: 2023.06 -> unstable-2023-10-18 2023-10-20 00:44:03 +00:00
f11f91b9fc sane-bt-search: increase default result count 5 -> 12 2023-10-19 00:35:55 +00:00
296a48caf1 podcasts: unsub Trash Future (sorry, Cory) 2023-10-19 00:26:54 +00:00
f58bfb3c42 fractal: document a state corruption bug/fix 2023-10-18 22:16:28 +00:00
cbaaa984b6 phog: 0.1.4 -> 0.1.5 2023-10-18 22:11:26 +00:00
6e4f0af012 gpodder-adaptive: 3.11.3+1 -> 3.11.4+1 2023-10-18 22:11:07 +00:00
3942ae0f1b feeds: subscribe to Benjamin Mako 2023-10-18 21:57:56 +00:00
fa65b0b92e feeds: add Samana Harihareswara 2023-10-18 21:53:51 +00:00
ca998dc2be firefox-extensions: update (bypass-paywalls-clean, ether-metamask, sponsorblock, ublacklist 2023-10-18 21:46:48 +00:00
b6a2107b1c sane-bt-search: support filtering for books, in general 2023-10-18 21:46:11 +00:00
697ae02797 podcasts: The Daily: port to db 2023-10-18 21:37:12 +00:00
ab35a46e5f podcasts: sub Tech Wont Save Us, Trash Future 2023-10-18 21:35:36 +00:00
a6179b8234 feeds: unsub Emerge, Lateral, Witch Trials 2023-10-18 21:18:52 +00:00
d90aa693f9 podcasts: sort 2023-10-18 21:17:35 +00:00
b23c3cbf61 podcasts: move comments to the same line as the definition
this will facilitate sorting
2023-10-18 21:17:11 +00:00
55ad5dcc01 flake: check.host-configs: be more verbose 2023-10-18 06:00:07 +00:00
90b1215a89 s/types.string/types.str/ 2023-10-17 22:46:02 +00:00
a218ddb202 nixpkgs: 2023-10-11 -> 2023-10-16; sops-nix -> 2023-10-15
```
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/5e4c2ada4fcd54b99d56d7bd62f384511a7e2593' (2023-10-11)
  → 'github:nixos/nixpkgs/ca012a02bf8327be9e488546faecae5e05d7d749' (2023-10-16)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/f995ea159252a53b25fa99824f2891e3b479d511' (2023-10-11)
  → 'github:Mic92/sops-nix/51186b8012068c417dac7c31fb12861726577898' (2023-10-15)
• Updated input 'sops-nix/nixpkgs-stable':
    'github:NixOS/nixpkgs/2f3b6b3fcd9fa0a4e6b544180c058a70890a7cc1' (2023-10-07)
  → 'github:NixOS/nixpkgs/0e1cff585c1a85aeab059d3109f66134a8f76935' (2023-10-15)
```
2023-10-17 22:43:07 +00:00
8dc7eff545 epiphany: mention WEBKIT_USE_SINGLE_WEB_PROCESS envvar 2023-10-17 22:42:15 +00:00
77b4e7ff09 slightly better prosody + coturn integration
still not able to receive incoming calls, but i pass more prosody self-checks
2023-10-17 09:43:55 +00:00
827d9626d6 ports: actually forward ovpns ports into the root namespace 2023-10-17 09:42:13 +00:00
cdfcf1a46d sftpgo: dont activate until we have network 2023-10-17 09:41:07 +00:00
e8c4555be7 prosody: partial integration with coturn
still missing something, which breaks inbound calls
2023-10-17 01:16:59 +00:00
0092ccacbe ejabberd: ensure coturn isnt running 2023-10-17 01:16:36 +00:00
184e37e2dc derived-secrets: make the mode configurable
this should probably be moved into sane.fs proper at some point
2023-10-17 01:16:08 +00:00
8859b4cf8a programs: persist data better for spotify, brave, tor 2023-10-16 19:18:47 +00:00
5a2382f61c prosody: remove dead code 2023-10-16 08:05:00 +00:00
f6c56969bc xmpp: switch from ejabberd to prosody 2023-10-16 07:56:47 +00:00
1f0fad62a7 fractal-nixified: add missing "gst-plugins-good" dependency
this is necessary to play mp4. should be sent to upstream nixpkgs fractal-next package too
2023-10-16 00:40:14 +00:00
5b633d20bc fractal-nixified: add convenient "optimized" and "unoptimized" passthru attributes
override isn't exposed to 'nix build ...', so this gives a way to build the variants from CLI
2023-10-16 00:21:18 +00:00
a918aa0c2f sxmo: suspend: dont wake on ARP unless absolutely necessary
it *should* be handled by the WiFi chip's ARP offload
2023-10-15 06:52:41 +00:00
93a265f34a sxmo: fix typo: avoid wakelock if wowlan_bits are 0x0 2023-10-14 21:54:44 +00:00
b818972597 sxmo: decrease the LED blink frequency further, to 8s 2023-10-14 10:24:35 +00:00
476b481fd7 moby: dont ship the rtl8723cs *bluetooth* firmware
it seems to conflict with Wake on Lan
2023-10-14 10:20:47 +00:00
631235e56b moby: sxmo_suspend: comment for future work to wake on Dino activity 2023-10-14 10:19:57 +00:00
ea4063340d moby: prioritize headset audio out 2023-10-14 10:19:31 +00:00
f2ad69af1f linux-megous: disable keep-power-in-suspend patch 2023-10-14 09:44:57 +00:00
e34ca0fec9 rtl8723cs-wowlan: support wake on UDP 2023-10-14 02:59:22 +00:00
43464e658f rtl8723cs-wowlan: factor the Ip frame out of Tcp frame
that'll make it easier to support UDP in future
2023-10-14 02:56:02 +00:00
56070547b1 nixpkgs: 2023-10-09 -> 2023-10-11
```
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/f99e5f03cc0aa231ab5950a15ed02afec45ed51a' (2023-10-09)
  → 'github:nixos/nixpkgs/5e4c2ada4fcd54b99d56d7bd62f384511a7e2593' (2023-10-11)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/6b32358c22d2718a5407d39a8236c7bd9608f447' (2023-10-09)
  → 'github:Mic92/sops-nix/f995ea159252a53b25fa99824f2891e3b479d511' (2023-10-11)
```
2023-10-13 19:10:44 +00:00
0593971917 linux-megous: test some wowlan patches 2023-10-13 10:29:16 +00:00
b77650219a sxmo_suspend: wake on a broadcast ARP query 2023-10-13 06:15:51 +00:00
ad1ebc0ed3 rtl8723cs-wowlan: implement --dest-mac flag 2023-10-13 06:13:19 +00:00
ae64493564 sxmo_suspend: match packet destination IP for TCP packets 2023-10-13 05:56:26 +00:00
1272b941c2 rtl8723cs-wowlan: tcp: add dest-ip option 2023-10-13 05:55:10 +00:00
3d63c33669 rtl8723cs-wowlan: fix get_ipaddrs to handle multiple "hostname" binaries on PATH 2023-10-13 05:45:40 +00:00
fcbc558de9 sxmo_suspend.sh: fix "time_start" typo 2023-10-13 05:43:30 +00:00
b180adcf48 RealtimeKit: disable 2023-10-13 03:35:00 +00:00
342c9bbbef sxmo_suspend: track wifi IRQ count 2023-10-13 02:28:29 +00:00
233faaadac zsh: better l/ll aliases with eza 2023-10-12 22:11:05 +00:00
aaf9dbac1e ship gdb, mercurial 2023-10-12 01:59:28 +00:00
b7d90c3b6d cross: graphicsmagick: remove reference to build coreutils 2023-10-12 01:11:27 +00:00
a4b54cd9c1 rpm: 4.18.1 -> 4.19.0 2023-10-12 00:00:54 +00:00
d6c5580fc3 rtl8723cs-wowlan: remove dependency on moreutils 2023-10-11 22:36:47 +00:00
7d63960e6f cross: doc: clarify that moreutils isnt ever going to cross 2023-10-11 22:32:01 +00:00
8dc1cbbbd2 programs: ship binutils-unwrapped instead of binutils
it has better cross compilation properties
2023-10-11 22:15:28 +00:00
6253995f6c moby: cross: avoid runtime dependency on binutils wrapper via dtrx 2023-10-11 22:06:59 +00:00
835397ad29 hspell: remove references to build perl from the output 2023-10-11 20:58:09 +00:00
042e6ae3f9 sxmo-utils-latest: 2023-10-10 -> 2023-10-11 2023-10-11 20:31:43 +00:00
5b5cfc40a8 cross: fix broken refs in snapper build 2023-10-11 20:24:49 +00:00
3cf636f681 cross: remove dated libavif hack
it builds upstream now
2023-10-11 19:44:44 +00:00
a5281c7f98 cross: document more runtime closure problems 2023-10-11 19:41:49 +00:00
30c7fd8b09 nixpatches: assign a version so that "nixpatches-patched-uninsane" package formats friendlier 2023-10-11 19:12:29 +00:00
710e4cc066 nixpkgs: 2023-10-06 -> 2023-10-09
```
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/87828a0e03d1418e848d3dd3f3014a632e4a4f64' (2023-10-06)
  → 'github:nixos/nixpkgs/f99e5f03cc0aa231ab5950a15ed02afec45ed51a' (2023-10-09)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/d7380c38d407eaf06d111832f4368ba3486b800e' (2023-10-08)
  → 'github:Mic92/sops-nix/6b32358c22d2718a5407d39a8236c7bd9608f447' (2023-10-09)
```
2023-10-11 10:08:11 +00:00
8b4a0a916b noop: test but dont actually enable pre-emption 2023-10-11 10:08:11 +00:00
5cfde63d5d wowlan: document theory on wake failure 2023-10-11 10:01:15 +00:00
1cf442dffd sway: build without wrapperFeatures.gtk 2023-10-11 09:59:10 +00:00
6cda5cf49b moby: remove some build artifacts from the host/runtime closure 2023-10-11 09:58:44 +00:00
0a3e6b34c7 sxmo_hook_postwake.sh: prevent rapid re-entry into sleep 2023-10-11 07:53:41 +00:00
322ef2c333 mpv: fix cross compilation to have no build deps in closure 2023-10-11 06:46:32 +00:00
6ff72c83ae patch: mesa: dont depend on build python 2023-10-11 06:19:06 +00:00
dc40395136 linux-megous: build with SCHED_DEBUG=y 2023-10-11 05:39:47 +00:00
28a2042664 gPodder: store data in ~/.local/share/gPodder, not ~/gPodder 2023-10-11 05:14:20 +00:00
7aa3f1f989 cross: fix moreutils build 2023-10-11 02:55:33 +00:00
08c92151eb rtl8723cs-wowlan: automatically derive the IP address to watch for ARP packets on 2023-10-11 02:44:34 +00:00
5a753583bf sxmo: reduce the screenoff LED frequency 2s -> 5s
this should hopefully allow entering sleep more reliably
2023-10-11 02:41:12 +00:00
c3d0b6b486 sxmo-utils-latest: 2023-10-05 -> 2023-10-10 2023-10-11 01:30:43 +00:00
ff89819940 sxmo_suspend.sh: notes about wowlan and blocking suspend here 2023-10-11 00:58:49 +00:00
9a69d8bd0d ship eza (ls substitute) 2023-10-10 22:08:58 +00:00
091e525846 enable rtkit/RealtimeKit 2023-10-10 21:45:19 +00:00
6dd1d5759b wowlan: document a new failure mode/workaround 2023-10-10 21:33:34 +00:00
f3162544f7 firefox-extensions: update 2023-10-10 20:51:06 +00:00
1bf829dcf0 sxmo_suspend: rework time accounting to be more similar to upstream 2023-10-10 10:05:09 +00:00
760326b38b sxmo_suspend.sh: switch from sudo -> doas
idk, some path problem with sudo ending up in /etc/profiles/per-user/colin/bin/sudo
2023-10-10 09:50:13 +00:00
0293773e64 sxmo_suspend.sh: output formatting improvements 2023-10-10 09:47:41 +00:00
6b6a9504e4 sxmo_suspend.sh: invoke rtl8723cs-wowlan with expected permissions 2023-10-10 09:39:38 +00:00
2de947d96e wowlan: move the implementation into sxmo_suspend.sh instead of a systemd service 2023-10-10 09:26:48 +00:00
c493fcfd7f rtl8723cs-wowlan: iwprv -> iwpriv typo fix 2023-10-10 08:38:40 +00:00
85e5d30b0f wowlan module: port to rtl8723cs-wowlan python script 2023-10-10 08:34:02 +00:00
330864c866 moby: ship rtl8723cs-wowlan script 2023-10-10 08:03:45 +00:00
29dde0240b wowlan: define a script which can set the patterns at runtime
this will be a little easier to debug on the device itself
2023-10-10 08:03:45 +00:00
114df5efab wowlan: enable CONFIG_ARP_KEEP_ALIVE (experimental) 2023-10-10 05:24:57 +00:00
e28e60769a sxmo: postwake: show the human-readable wakeup reason 2023-10-10 03:21:23 +00:00
bc8cf58b5a sxmo: inputhandler: map powerx3 from screenoff state 2023-10-10 00:02:31 +00:00
d740dbe049 sxmo-utils: fix some forgotten superd users to systemd 2023-10-09 22:18:07 +00:00
0eb8244897 sxmo: doc: link to Aren's SXMO fork 2023-10-09 22:05:37 +00:00
69fe55961f sxmo: link poweroff/reboot hooks into user hooks dir 2023-10-09 20:37:51 +00:00
aa18af8635 sxmo-utils: apply documentation-related patches 2023-10-09 20:25:48 +00:00
d47ed3dec9 nixpkgs: 2023-10-03 -> 2023-10-06; sops-nix -> 2023-10-08; uninsane-dot-org
```
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/81e8f48ebdecf07aab321182011b067aafc78896' (2023-10-03)
  → 'github:nixos/nixpkgs/87828a0e03d1418e848d3dd3f3014a632e4a4f64' (2023-10-06)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/746c7fa1a64c1671a4bf287737c27fdc7101c4c2' (2023-10-03)
  → 'github:Mic92/sops-nix/d7380c38d407eaf06d111832f4368ba3486b800e' (2023-10-08)
• Updated input 'sops-nix/nixpkgs-stable':
    'github:NixOS/nixpkgs/dbe90e63a36762f1fbde546e26a84af774a32455' (2023-10-01)
  → 'github:NixOS/nixpkgs/2f3b6b3fcd9fa0a4e6b544180c058a70890a7cc1' (2023-10-07)
• Updated input 'uninsane-dot-org':
    'git+https://git.uninsane.org/colin/uninsane?ref=refs/heads/master&rev=1f588493031168d92a1e60705f26aaf4b2cdc07e' (2023-10-03)
  → 'git+https://git.uninsane.org/colin/uninsane?ref=refs/heads/master&rev=dea3e5cdd747ac321447ef00fa1e51423676aeda' (2023-10-08)
```
2023-10-09 08:21:41 +00:00
045b5f0294 sxmo: finish porting to systemd (everything tested works now) 2023-10-09 00:25:03 +00:00
45e5752a05 journald: dont compress the journal 2023-10-09 00:25:03 +00:00
2b39cfb57e sxmo-utils: add deps via PATH suffix, not prefix
that makes them overridable by the user, more easily
2023-10-09 00:25:03 +00:00
1ffaa232d8 sxmo: bemenu: configure via package override, not profile
this is just easier to integrate, rather than ensuring everywhere gets
the env var
2023-10-09 00:25:03 +00:00
a9ddfb2752 WIP: sxmo: port to systemd 2023-10-09 00:25:03 +00:00
4682ca32e2 wowlan: document another failure 2023-10-09 00:25:03 +00:00
b8ae4a284d linux-megous: revert LPS patch until i know its really an improvement 2023-10-09 00:25:03 +00:00
f3c60ad136 sxmo: revert the sxmo_log patch: tee is good enough 2023-10-09 00:25:03 +00:00
3c6c70ba9f sxmo: suspend: dump wowlan_last_wake_reason on wakeup 2023-10-09 00:25:03 +00:00
c0feffef1e sxmo: simplify suspend hook and cap suspend time to just 5min 2023-10-09 00:25:03 +00:00
6e80d4dfdf sxmo: inline the sxmo_suspend.sh script
this is exactly how it presently appears upstream (less shebang/comment changes)
2023-10-09 00:25:03 +00:00
1f73573fe3 stepmania: include link to nix definition in the game dir 2023-10-08 02:41:00 +00:00
b6d2fbdf6d sxmo-utils-latest: 2023-09-22 -> 2023-10-05 2023-10-08 01:45:11 +00:00
cf553b1386 wowlan: more documentation 2023-10-08 00:00:26 +00:00
e40cbaf1cf wowlan: document more about disconnections detection 2023-10-07 21:51:33 +00:00
19b8c0c923 wowlan: document known issues 2023-10-07 21:29:55 +00:00
22e9a48edc gpodder-adaptive: 3.11.2+1 -> 3.11.3+1 2023-10-07 21:29:36 +00:00
a6b1c23e2b remove no-longer-needed qemu override 2023-10-07 21:10:29 +00:00
4a498ef1a9 dino: docs: leave myself a TODO about niceness/priority 2023-10-07 08:27:35 +00:00
4909127ec7 nixpkgs: 2023-10-01 -> 2023-10-03
```
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/fdd898f8f79e8d2f99ed2ab6b3751811ef683242' (2023-10-01)
  → 'github:nixos/nixpkgs/81e8f48ebdecf07aab321182011b067aafc78896' (2023-10-03)
```
2023-10-07 08:24:13 +00:00
7a75cad65f Dino: bump input latency to 20ms 2023-10-07 08:09:50 +00:00
168fcce157 stepmania: configure directories 2023-10-07 05:50:58 +00:00
03d3ea4965 moby: ship the geoclue where-am-i helper on PATH 2023-10-07 04:34:15 +00:00
e5125065d6 eg25-control: add a timeout to how long a power-on can take 2023-10-07 04:27:14 +00:00
bc3ad7dfa5 moby: gps: restrict geoclue to only my user 2023-10-07 04:27:14 +00:00
2097c3ad77 moby: gps: document some findings 2023-10-07 04:25:44 +00:00
56838a4867 swaync: don't show GPS on non-gps-enabled devices (i.e. desktop/laptop) 2023-10-07 04:14:42 +00:00
d35fe126e3 doc: dino: document findings in adjusting Dino mic buffer 2023-10-07 01:30:45 +00:00
a6ea5da7a1 moby: disable legacy PulseAudio stuff 2023-10-07 01:27:16 +00:00
98a6671e95 moby: decrease the amount of samples Dino drops while in a call 2023-10-07 00:58:11 +00:00
243a4c6f0d moby: gps: document some maps programs 2023-10-07 00:21:40 +00:00
e84be3a7b2 sxmo: link all default hooks into user dir 2023-10-07 00:21:13 +00:00
5fdd6881a0 sxmo-utils: update Dino suspend blocker patch 2023-10-07 00:20:49 +00:00
67192d89a9 sxmo-utils: suspend: block if Dino is in a call 2023-10-06 20:42:49 +00:00
b6c8b1948b bypass-paywalls-clean: don't show options on first launch
this is apparently a thing firefox does when it sees the `options_ui`
key in manifest.json?
2023-10-05 19:02:51 +00:00
3a71d26638 nixpkgs: 2023-09-29 -> 2023-10-01, sops-nix, uninsane-dot-org
```
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/f5892ddac112a1e9b3612c39af1b72987ee5783a' (2023-09-29)
  → 'github:nixos/nixpkgs/fdd898f8f79e8d2f99ed2ab6b3751811ef683242' (2023-10-01)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/2f375ed8702b0d8ee2430885059d5e7975e38f78' (2023-09-21)
  → 'github:Mic92/sops-nix/746c7fa1a64c1671a4bf287737c27fdc7101c4c2' (2023-10-03)
• Updated input 'sops-nix/nixpkgs-stable':
    'github:NixOS/nixpkgs/596611941a74be176b98aeba9328aa9d01b8b322' (2023-09-16)
  → 'github:NixOS/nixpkgs/dbe90e63a36762f1fbde546e26a84af774a32455' (2023-10-01)
• Updated input 'uninsane-dot-org':
    'git+https://git.uninsane.org/colin/uninsane?ref=refs/heads/master&rev=6f06c3a2ecf36ba7f5a4845b1d30a5d9894ca76c' (2023-09-27)
  → 'git+https://git.uninsane.org/colin/uninsane?ref=refs/heads/master&rev=1f588493031168d92a1e60705f26aaf4b2cdc07e' (2023-10-03)
```
2023-10-05 08:06:08 +00:00
a586611aa0 docs: moby: gps: link to geoclue/gnome-maps support channels 2023-10-05 08:05:35 +00:00
d7120a14f4 moby: gps: fixup geoclue notes 2023-10-04 05:36:22 +00:00
7db8dabf8f theming: ship HighContrast icon theme as default
current gnome.adwaita-icon-theme doesn't generate all icons when cross-compiled

this may be fixed in GNOME 45.

until then, HighContrast gets us *most* icons
2023-10-04 01:01:29 +00:00
d89287af11 switch icon theme to Pop 2023-10-03 20:21:20 +00:00
b14daac0f8 komikku: 1.23.0 -> 1.24.2 2023-10-03 20:11:19 +00:00
f65aaf8852 gtk: add a bunch more icon theme options 2023-10-03 20:10:09 +00:00
5a84c9a585 fractal-nixified: plumb an "optimize" argument to toggle between slow and fast build 2023-10-03 16:31:28 +00:00
464fca9679 eg25-control: actually, dont dump /dev/ttyUSB1 2023-10-03 01:13:37 +00:00
6c6e1ee84b moby: add gps-related services to the "dialout" group 2023-10-03 01:01:06 +00:00
41d8c6681f sway: disable --debug flag 2023-10-03 00:47:33 +00:00
4dbb656a34 eg25-control: dump fix data as part of --dump-debug-info 2023-10-03 00:40:32 +00:00
8c4caab995 linux-megous: 6.4.15 -> 6.5.3 2023-10-03 00:29:42 +00:00
83586ce483 trust-dns: cleanup some typos 2023-10-02 22:33:54 +00:00
e20c4d01e6 trust-dns: fix missing "mkdir" during service startup 2023-10-02 22:12:09 +00:00
01cad7b702 trust-dns: perform more specialization via structured config instead of sed 2023-10-02 22:02:46 +00:00
48715546e2 trust-dns: split into separate (restartable) services 2023-10-02 21:30:51 +00:00
00b59f6985 firefox-extensions: update ublacklist, sponsorblock, ether-metamask 2023-10-02 07:49:21 +00:00
d82d3e55cb firefox-extensions.bypass-paywalls-clean: 3.3.5.0 -> 3.3.6.0 2023-10-02 07:48:01 +00:00
f2c3f9fe52 nixpkgs 2023-09-27 -> 2023-09-29; mobile-nixos -> 2023-10-01
```
• Updated input 'mobile-nixos':
    'github:nixos/mobile-nixos/fa12ebaa98ce18e30cbdaf58a71b9ec56984e38f' (2023-09-19)
  → 'github:nixos/mobile-nixos/7cee346c3f8e73b25b1cfbf7a086a7652c11e0f3' (2023-10-01)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/8a86b98f0ba1c405358f1b71ff8b5e1d317f5db2' (2023-09-27)
  → 'github:nixos/nixpkgs/f5892ddac112a1e9b3612c39af1b72987ee5783a' (2023-09-29)
```
2023-10-02 07:36:14 +00:00
2de6c01262 fractal: launch on boot 2023-10-02 06:12:24 +00:00
bbdc6f3aa9 eg25-control: treat some GPS config failures as non-fatal 2023-10-02 06:12:12 +00:00
16ee30b696 sxmo-utils: kill-window patch: fetch from mail list 2023-10-02 05:39:58 +00:00
9c341c87d8 gnome-maps: fix missing gapplication runtime dep 2023-10-02 05:30:09 +00:00
67a9134130 moby: switch default browser back to epiphany 2023-10-02 05:10:00 +00:00
fe6d2f04c5 sxmo-utils: add a Kill Window option to the wmmenu 2023-10-02 04:53:00 +00:00
d138c99c61 sxmo-utils: fix j4-dmenu-desktop not found when trying to view all apps 2023-10-02 04:37:50 +00:00
290d6a8da5 gnome-maps: ship on lappy/desko/moby 2023-10-02 04:07:21 +00:00
09ed98c973 cross: support gnome-maps 2023-10-02 04:06:34 +00:00
bc7dee6a80 swaync: enable audible notifications for Fractal Matrix client 2023-10-02 03:48:20 +00:00
4c708baf63 remove Videos/servo-incomplete symlink 2023-10-02 03:23:44 +00:00
cc16fe85b0 fractal: ship the nixified build by default 2023-10-02 03:20:55 +00:00
7d63132c48 fractal-nixified: massively reduce build time (via unoptimized build) 2023-10-02 03:20:43 +00:00
5acd704ae7 docs: overlays/cross: mention cdylib fractal workaround 2023-10-01 22:43:14 +00:00
0c0948e8e1 fractal-nixified: tidy up 2023-10-01 22:40:56 +00:00
6283384522 fractal-nixified: sort dependencies 2023-10-01 22:19:37 +00:00
b70fc6841f fractal-nixified: support cross compilation 2023-10-01 22:17:25 +00:00
97dd84ed71 tuba: document an alternative fix 2023-10-01 18:47:47 +00:00
7a6981253b fractal-nixified: remove some unecessary dependencies 2023-10-01 05:02:50 +00:00
9e78ec221b fractal-nixified: avoid double meson build 2023-10-01 04:42:29 +00:00
4a8d7ca1c3 alsa-ucm-conf-sane: route audio to the internal speaker by default 2023-10-01 04:26:54 +00:00
b9f31c6f4b devPkgs: add cargo, rustc 2023-10-01 03:47:45 +00:00
cd3bed023a fractal-nixified: it builds! 2023-10-01 03:15:53 +00:00
0ad6b2bc1b fractal-nixified: get gst-plugin-gtk4 to cross build 2023-09-30 23:42:01 +00:00
54b0c1bfcf fractal-nixified: get pipewire to compile
that's all the dependencies now, except for the special case of gst-plugin-gtk4 on cross
2023-09-30 21:07:20 +00:00
285dd6a1c9 fractal-nixified: get libshumate-sys and sourceview5-sys to compile 2023-09-30 20:28:31 +00:00
1c5e2843a1 fractal-nixified: get libspa crate to build 2023-09-30 20:19:28 +00:00
ce9b30767f fractal-nixified: add a bunch of crateOverrides to get *closer* to a complete build 2023-09-30 07:07:40 +00:00
d26fa5bec1 fractal-nixified: pin serde_derive at 1.0.171 to overcome build failure
https://discourse.nixos.org/t/errors-using-serde-derive-with-buildrustcrate/31398
2023-09-30 04:44:49 +00:00
832ca52ccf fractal-nixified: regenerate with more recent crate2nix 2023-09-30 03:57:03 +00:00
c70176bfb2 WIP: fractal: build with crate2nix 2023-09-30 02:57:52 +00:00
cb3cf57465 cargo: when enabled, persist ~/.cargo 2023-09-30 02:57:30 +00:00
dfaeb7b7de sxmo_hook_inputhandler: document proposed input changes 2023-09-30 01:42:45 +00:00
d3818b5e44 fractal: enable, and persist the right directories 2023-09-29 22:08:13 +00:00
5b8850404b fractal-latest: support cross compilation (this method takes about 60minutes. 45m for deps and 15m for fractal itself) 2023-09-29 21:42:36 +00:00
38fa73cfb7 feeds: unsubscribe from Michael Malice 2023-09-29 18:25:08 +00:00
43fc050eed feeds: subscribe to FasterThanLime 2023-09-29 18:23:14 +00:00
f3423d45bd fractal-latest: reduce build time from 2hr+ to 5 minutes 2023-09-29 18:21:59 +00:00
56866c1ac1 servo: fix lemmy-ui build 2023-09-29 15:39:27 +00:00
99ea6a59c5 remove unused GUI apps: cantata, gajim, dconf-editor, obsidian, rhythmbox 2023-09-29 02:04:06 +00:00
eb5ebf94a7 nixpkgs: 2023-09-25 -> 2023-09-27; uninsane-dot-org -> 2023-09-27
```
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/6500b4580c2a1f3d0f980d32d285739d8e156d92' (2023-09-25)
  → 'github:nixos/nixpkgs/8a86b98f0ba1c405358f1b71ff8b5e1d317f5db2' (2023-09-27)
• Updated input 'uninsane-dot-org':
    'git+https://git.uninsane.org/colin/uninsane?ref=refs/heads/master&rev=9952b69003eb7397cadf1df0b5d696cea1833248' (2023-09-20)
  → 'git+https://git.uninsane.org/colin/uninsane?ref=refs/heads/master&rev=6f06c3a2ecf36ba7f5a4845b1d30a5d9894ca76c' (2023-09-27)
```
2023-09-28 22:26:15 +00:00
bdf049d9e4 moby: wowlan: also wake on ARP requests (experimental) 2023-09-28 20:55:18 +00:00
9205e076c5 modules/wowlan: move options to "ipv4" attrset for future protocol expansion 2023-09-28 20:09:04 +00:00
60e5f6b41b fractal-latest: 2023-07-28 -> unstable-2023-09-14 2023-09-28 06:52:56 +00:00
3aa85c96b2 sxmo_hook_rotate.sh: fix bash syntax error 2023-09-28 00:18:43 +00:00
2f71d80c38 firefox-extensions: repeat myself less when wrapping 2023-09-27 23:25:07 +00:00
558a9f4cd0 todo.md: sync 2023-09-27 22:54:04 +00:00
9a6915a0ed firefox-extensions: deprecate "fetchAddon" 2023-09-27 22:30:28 +00:00
d0feca0d57 firefox-extensions: ether-metamask: port to fetchVersionedAddon 2023-09-27 22:26:55 +00:00
36e9f0bcde firefox-extensions: i2p-in-private-browsing: port to fetchVersionedAddon 2023-09-27 22:24:46 +00:00
a17fc1c76e firefox-extensions.ublock-origin: 1.52.0 -> 1.52.3b0 2023-09-27 22:22:14 +00:00
84d8fb5339 firefox-extensions: ublock-origin: port to fetchVersionedAddon 2023-09-27 22:21:42 +00:00
2b9373e0fc firefox-extensions: sidebery: port to fetchVersionedAddon 2023-09-27 22:17:02 +00:00
2992d0db6b firefox-extensions: ublacklist: port to github release fetcher 2023-09-27 22:13:43 +00:00
71b70712f8 firefox-extensions: factor out the github addon fetcher 2023-09-27 22:06:38 +00:00
10c7fc8e91 sxmo: exit fullscreen on screen rotation 2023-09-27 21:42:55 +00:00
48971bb237 sponsorblock: 5.4.19 -> 5.4.21 2023-09-27 19:10:14 +00:00
387b49a8b5 flake.nix: support list-type updateScripts (e.g. nix-update-script {}) 2023-09-27 19:10:14 +00:00
bc9bacb08f sponsorblock: fetch from github instead of Mozilla store 2023-09-27 19:10:14 +00:00
d44cf620c1 firefox-extensions: remove completed TODO 2023-09-27 18:48:16 +00:00
14cef8eb6c bypass-paywalls-clean: 3.3.4.0 -> 3.3.5.0 2023-09-27 18:40:25 +00:00
0bbe3e14c1 flake: show flake targets as part of "help" 2023-09-27 18:38:06 +00:00
6df63d825a sane-bt-search: clean up the jackett URLs 2023-09-27 18:34:04 +00:00
10e6436c34 sane-bt-add: accept https:// urls and extract actual torrents from them 2023-09-27 18:34:04 +00:00
aa3ee802d2 nixpkgs: 2023-09-22 -> 2023-09-25
```
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/e35dcc04a3853da485a396bdd332217d0ac9054f' (2023-09-22)
  → 'github:nixos/nixpkgs/6500b4580c2a1f3d0f980d32d285739d8e156d92' (2023-09-25)
```
2023-09-27 18:34:04 +00:00
9a16b1cda7 ntfy: add a lengthy proxy_read_timeout to prevent hangups 2023-09-27 18:25:36 +00:00
ebbef901c1 wowlan: document VPN shortcomings 2023-09-27 01:32:50 +00:00
1ef203ee07 wowlan: docs: caveats 2023-09-27 01:30:06 +00:00
ca645ed23d wowlan: remove the version/ip header length match 2023-09-27 01:26:51 +00:00
742ed50960 moby: configure wake-on-lan 2023-09-27 01:04:53 +00:00
a60af4990a sway: hide window bar when only one window on workspace 2023-09-26 20:36:30 +00:00
d2890ecbba ntfy-sh: dont autostart except on moby
it's easier to troubleshoot when there's only one subscriber...
2023-09-26 14:48:54 +00:00
36d8158414 zsh: alias annoying lsof/tcpdump defaults 2023-09-26 14:38:06 +00:00
642afd6f34 ntfy: subscribe to the non-443 port 2023-09-26 13:52:10 +00:00
fad9c8f483 ntfy: run on a non-443 port 2023-09-26 13:51:27 +00:00
40a8fc50d9 sxmo-utils: apply patch to launch apps via swaymsg exec 2023-09-26 00:15:28 +00:00
21838afc0d feeds: subscribe to turnoff.us 2023-09-25 23:09:56 +00:00
8821c4edd7 sxmo-timer: connect to swaync so that it alerts on completion 2023-09-25 20:56:22 +00:00
a265dd28dd ntfy-sh: configure auth, simplify proxying 2023-09-25 17:34:50 +00:00
14bc8a1732 ship a trivial service which subscribes to push notifications (ntfy-sh) 2023-09-25 16:56:41 +00:00
10dd18a42a flake: remove nix-serve
even though upstream issue remains open, i observe a successful build via the nix-serve cache
2023-09-25 14:37:58 +00:00
691f009656 clean up documentation 2023-09-25 13:35:50 +00:00
68f1af090e have nix flake .#check do both NUR and system builds 2023-09-25 13:09:02 +00:00
6412778b98 feeds: unsubscribe from The Register 2023-09-25 12:09:56 +00:00
de12a2200e feeds: add amosbbatto 2023-09-25 12:09:38 +00:00
2600d6223c tuba: fix FileDialog 2023-09-24 23:36:05 +00:00
1ed1d8403d tuba: ship a friendly alias 2023-09-24 21:38:20 +00:00
5e34d9e44d sane-scripts.sane-deadlines: fix missing sed dependency 2023-09-24 20:21:13 +00:00
4f49c86d73 sxmo-utils: separate the DWM and Sway dependencies; only ship those we need
also, remove mepo
2023-09-24 19:49:59 +00:00
74309f8fa4 sxmo: fix missing bin/ typo 2023-09-24 18:13:49 +00:00
699c4301b4 static-nix-shell: avoid wrapping when not necessary
i guess this would be a minor perf gain in places
2023-09-24 17:51:19 +00:00
c7c90a9fa3 sxmo-utils: doc: why we include xdg-user-dirs 2023-09-24 17:48:35 +00:00
e5d843b21f sxmo: add missing deps to custom hooks 2023-09-24 17:48:18 +00:00
3ab943ab0b phog: remove DesktopNames==null workaround 2023-09-24 17:24:29 +00:00
e8d2aeb3a6 phog: 0.1.3 -> 0.1.4 2023-09-24 17:16:01 +00:00
28220ea8b4 flake: plumb date/rev into built nixos system images 2023-09-24 15:30:12 +00:00
9f47a29b43 mpv: update watch_later dir
see: <https://github.com/mpv-player/mpv/pull/10838>
2023-09-24 13:15:45 +00:00
46bb39332f lemoa: add an updateScript 2023-09-24 13:02:57 +00:00
e8bf83274f flake: have update.pkgs not update the feeds by default 2023-09-24 12:36:17 +00:00
083bdad88f feeds: update metadata for all
this should fix a couple broken feeds whose URL changed, but most changes here are inconsequential
2023-09-24 12:25:04 +00:00
0e238ff2dd fix pkgs.feeds update scripts 2023-09-24 12:11:28 +00:00
d0cbfaed44 flake: add aliases for bulk package updating 2023-09-24 10:50:02 +00:00
791dc59ba2 flake: expose update script for every package that has one 2023-09-24 10:27:32 +00:00
457197f85b gpodder-adaptive: 3.11.1+1 -> 3.11.2+1 and add an updateScript 2023-09-24 08:16:19 +00:00
07ee54af3a nixpkgs: 2023-09-19 -> 2023-09-22
```
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/5ba549eafcf3e33405e5f66decd1a72356632b96' (2023-09-19)
  → 'github:nixos/nixpkgs/e35dcc04a3853da485a396bdd332217d0ac9054f' (2023-09-22)
```
2023-09-24 07:40:06 +00:00
865777b7ba enable ntfy (and manually integrate with matrix) 2023-09-23 21:09:04 +00:00
7b38ec3f8f docs: irc: mention mnt-reform channel location 2023-09-23 11:20:45 +00:00
f8448d7d2f sxmo: fix sxmo_init ordering so my hooks are loaded and scale set properly 2023-09-23 11:20:20 +00:00
ba638c1533 sxmo-utils: 2023-09-09 -> 2023-09-22 2023-09-23 10:11:49 +00:00
130901d7f7 sxmo: fix inputhandler hook loic errors 2023-09-23 09:36:16 +00:00
07c3fd8941 sxmo: override the postwake handler 2023-09-23 09:17:21 +00:00
2d98bbf4d6 sxmo: ship a custom inputhandler 2023-09-23 09:13:26 +00:00
08acd9714f swaync: fix perms for jingle toggle 2023-09-22 23:10:50 +00:00
57c3abf2e1 cozy: disable reporting/telemetry 2023-09-22 22:51:05 +00:00
2f12fd8ae7 ejabberd: port config to structured nix attrs 2023-09-22 22:50:51 +00:00
69ab1c1b8f servo-vpn: resolve DNS through the VPN 2023-09-22 19:49:35 +00:00
a2f4dc0b6c nfs4 patch: fix so moby can still build 2023-09-22 19:48:51 +00:00
6d7ff7ea86 fix trust-dns to resolve when invoked from VPN 2023-09-22 18:54:12 +00:00
00d831e755 wg-home: fix DNS forwarding
ugh, this is a mess, but it seems to work
2023-09-22 14:36:56 +00:00
63d65a453c trust-dns: spin up a separate server to wg-home requests, also forwarding them to upstream 2023-09-22 12:36:48 +00:00
68e3bc932f bypass-paywalls-clean: 3.2.5.0 -> 3.3.4.0; lay the foundation for updateScripts in this repo
note that the hash produced by the updateScript wasn't actually correct
(failed once i attempted to build it). hmm.
2023-09-22 10:13:56 +00:00
6222998303 firefox-extensions: update all binary extensions 2023-09-22 09:45:24 +00:00
8d0678457e patch broken NFS mounting 2023-09-22 09:33:05 +00:00
c7c669b8d4 nixpkgs: 2023-09-17 -> 2023-09-19; sops-nix; uninsane-dot-org 2023-08-03 -> 2023-09-20
```
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/970a59bd19eff3752ce552935687100c46e820a5' (2023-09-17)
  → 'github:nixos/nixpkgs/5ba549eafcf3e33405e5f66decd1a72356632b96' (2023-09-19)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/4356a5a0c12c9dc1b6bdde0631c7600d9377ed8b' (2023-09-19)
  → 'github:Mic92/sops-nix/2f375ed8702b0d8ee2430885059d5e7975e38f78' (2023-09-21)
• Updated input 'uninsane-dot-org':
    'git+https://git.uninsane.org/colin/uninsane?ref=refs/heads/master&rev=f4d91aa201b6e49af690f250d4786bd1d8b4dcfd' (2023-08-03)
  → 'git+https://git.uninsane.org/colin/uninsane?ref=refs/heads/master&rev=9952b69003eb7397cadf1df0b5d696cea1833248' (2023-09-20)
```
2023-09-21 20:59:56 +00:00
e28cf3ebb5 swaync: fix SIP/jingle indicators to use systemctl --user 2023-09-21 20:37:11 +00:00
4ea0256c56 swaync: ignore "Modem crashed!" notifications/warnings 2023-09-21 20:21:38 +00:00
bf52b65dd5 Dino: fix to workspace 1 2023-09-21 20:03:19 +00:00
6de9b87f16 swaync: add entry for SIP/jingle call receiving 2023-09-21 19:53:02 +00:00
2b48adfbef gnome-calls: don't auto-start 2023-09-21 19:44:11 +00:00
7f944ad4a1 dino: autostart (on moby) 2023-09-21 19:40:12 +00:00
50045432fa libkiwix: 12.0.0 -> 12.1.1 2023-09-20 09:41:18 +00:00
cd4b700962 wg-home: docs: link to Arch wiki on wireguard docs 2023-09-20 09:34:26 +00:00
b98934693c programs: ship binutils (for "strings") 2023-09-20 06:42:23 +00:00
e22fb7c6b7 nixpkgs: 2023-09-15 -> 2023-09-17; mobile-nixos; sops-nix
```
• Updated input 'mobile-nixos':
    'github:nixos/mobile-nixos/7564347ef8bc2b96c72abbfaf158e3fd1e47efd6' (2023-09-15)
  → 'github:nixos/mobile-nixos/fa12ebaa98ce18e30cbdaf58a71b9ec56984e38f' (2023-09-19)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/ace5093e36ab1e95cb9463863491bee90d5a4183' (2023-09-15)
  → 'github:nixos/nixpkgs/970a59bd19eff3752ce552935687100c46e820a5' (2023-09-17)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/ea208e55f8742fdcc0986b256bdfa8986f5e4415' (2023-09-12)
  → 'github:Mic92/sops-nix/4356a5a0c12c9dc1b6bdde0631c7600d9377ed8b' (2023-09-19)
• Updated input 'sops-nix/nixpkgs-stable':
    'github:NixOS/nixpkgs/5601118d39ca9105f8e7b39d4c221d3388c0419d' (2023-09-02)
  → 'github:NixOS/nixpkgs/596611941a74be176b98aeba9328aa9d01b8b322' (2023-09-16)
```
2023-09-19 16:43:30 +00:00
dfbe5c5210 swaync: add a button to toggle VPN 2023-09-19 16:25:17 +00:00
f3ed9a3452 sane-vpn: support "vpn-servo" 2023-09-19 16:09:56 +00:00
57e35eeab1 vpn-servo: allow coexistence with wg-home 2023-09-19 16:03:20 +00:00
e3e2af46a1 define a new "vpn-servo" which allows routing all traffic out of servo, via wireguard 2023-09-19 15:52:24 +00:00
3a30b891be sane-vpn-{up,down}: consolidate 2023-09-19 15:41:54 +00:00
b69424983f hosts.nix: split the data out of modules/ and into common/ 2023-09-19 15:32:31 +00:00
37313183f5 engrampa: fix eval error
note that the package doesn't actually build correctly. :s
2023-09-19 14:37:03 +00:00
86453b6873 todo.md: new item to prettify sane-bt-search 2023-09-19 14:23:32 +00:00
c1d62bdbc2 wg-quick: allow clients to contact the internet 2023-09-19 12:36:57 +00:00
bbe633ef2e wg-home: refactor: don't 'use' lib/builtins 2023-09-19 12:09:21 +00:00
201bfb922d WIP: wake-on-lan: use own patch since peetz0r doesnt apply
this patch might not actually be necessary
2023-09-19 11:40:15 +00:00
9d1ebd38ce wg-home: don't infer role from ip address, but set it explicitly 2023-09-19 11:38:51 +00:00
9dfcacf8a3 todo.md: add some apps to install on moby 2023-09-19 10:10:22 +00:00
247b272986 ship nm-connection-editor 2023-09-19 10:09:24 +00:00
072506c5d9 ship ethtool 2023-09-19 10:09:24 +00:00
05bbc5d18f moby: switch to linux-megous-firmware for firmware 2023-09-19 10:09:24 +00:00
e51ca61bfe rtl8723cs-firmware: leave note about mobile-nixos approach 2023-09-19 10:09:24 +00:00
d3ad280731 package megi's linux firmware 2023-09-19 10:09:24 +00:00
85b043af37 WIP: enable wake on wlan 2023-09-19 10:09:24 +00:00
0342594728 programs: ship iw 2023-09-19 10:09:24 +00:00
56e7484721 nixpatches: update g4music/font-manager hashes 2023-09-18 10:10:23 +00:00
cd61a530cb sxmo: fix multi-user.service -> multi-user.target typo 2023-09-17 08:44:31 +00:00
f4c0e06b62 docs: gnome-calls: mention ~/.cache/folks dir 2023-09-17 05:57:21 +00:00
b4d748d87f gnome-calls: run as daemon after log-on 2023-09-17 05:53:05 +00:00
107c07915e ship gnome-calls 2023-09-17 05:00:15 +00:00
f493f005a9 lappy: switch back to sway 2023-09-16 15:11:01 +00:00
fbafbd0d52 todo.md: new item for reducing phog closure 2023-09-16 15:01:49 +00:00
9215da61a3 todo.md: remove completed eg25-control items 2023-09-16 15:00:17 +00:00
61428a5c8b unify fonts across sway and sxmo 2023-09-16 14:59:12 +00:00
77906fb58b font-manager: re-enable 2023-09-16 12:44:31 +00:00
a79d021123 font-manager: build without webkit 2023-09-16 12:44:09 +00:00
d85f5d88cd docs: cross: fractal-next: leave notes about present failure mode 2023-09-16 12:04:31 +00:00
518d63c08d tokodon: remove
this is upstream now; my own build file was already a no-op
2023-09-16 09:23:08 +00:00
b254f0716b engrampa: add a warning to make sure i tend this once upstream updates 2023-09-16 09:21:57 +00:00
9e93a4cdce chatty-latest: unstable-2023-08-01 -> v0.8.0_rc0
this actually is an update, despite the dates (merge order/commit timestamps/timezones)
2023-09-16 09:21:36 +00:00
38f839fb60 servo: fix over-broad "passwordFile" fix 2023-09-16 08:42:05 +00:00
09cee559eb mpv: improve MIME priority; re-enable youtube support 2023-09-16 08:36:08 +00:00
f64af6675b p10k/powerlevel10k: remove (unused)
i use starship now
2023-09-16 08:33:02 +00:00
9d71a08841 kitty: remove configs (unused)
i use alacritty now
2023-09-16 08:26:39 +00:00
321cc62ca0 passwordFile -> hashedPasswordFile to fix deprecation warning 2023-09-16 08:17:48 +00:00
92bf5c3be2 fix g4music build 2023-09-16 08:15:00 +00:00
43db1fed84 nixpkgs: 2023-09-14 -> 2023-09-15
```
• Updated input 'mobile-nixos':
    'github:nixos/mobile-nixos/d25d3b87e7f300d8066e31d792337d9cd7ecd23b' (2023-09-15)
  → 'github:nixos/mobile-nixos/7564347ef8bc2b96c72abbfaf158e3fd1e47efd6' (2023-09-15)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/f2ea252d23ebc9a5336bf6a61e0644921f64e67c' (2023-09-14)
  → 'github:nixos/nixpkgs/ace5093e36ab1e95cb9463863491bee90d5a4183' (2023-09-15)
```
2023-09-16 08:15:00 +00:00
f81b76a975 nixpkgs: 2023-09-11 -> 2023-09-14; mobile-nixos -> 2023-09-15
```
• Updated input 'mobile-nixos':
    'github:nixos/mobile-nixos/d22c60e8d4d21f0197c1cac88c34dcc366b7a16c' (2023-09-10)
  → 'github:nixos/mobile-nixos/d25d3b87e7f300d8066e31d792337d9cd7ecd23b' (2023-09-15)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/3a2786eea085f040a66ecde1bc3ddc7099f6dbeb' (2023-09-11)
  → 'github:nixos/nixpkgs/f2ea252d23ebc9a5336bf6a61e0644921f64e67c' (2023-09-14)
```
2023-09-16 08:15:00 +00:00
81c16ec479 swaync/feedbackd: activate ringer on incoming dino call 2023-09-16 05:06:41 +00:00
254da7e17b swaync: document env vars 2023-09-16 02:55:36 +00:00
400739cd83 feedbackd: add debug logging 2023-09-16 02:55:23 +00:00
2f7655e1c1 eg25-control: don't auto-start GPS on boot
this also means we don't power the modem on boot

this is OK to do now that i have a toggle in swaync for GPS
2023-09-15 16:55:27 +00:00
c3a6943b7e swaync: replace feedbackd button with gps button 2023-09-15 16:51:43 +00:00
fdc37c9f53 swaync: add button to toggle feedbackd
this is just a proof of concept: will toggle GPS later
2023-09-15 16:09:28 +00:00
c73246d7c6 sane-bt-search: fix tracker typos 2023-09-15 11:14:29 +00:00
e03ae48ef6 docs: feedbackd: note about default.json 2023-09-15 10:44:29 +00:00
cd1cfdd5db swaync: fix to also proxy notifs from Purisms Chatty app 2023-09-15 10:35:30 +00:00
d87015836e swaync: integrate with feedbackd for notification sounds 2023-09-15 10:20:18 +00:00
71c01795f4 moby: eg25-control-freshen-agps: fix to actually run hourly 2023-09-15 07:35:05 +00:00
2291c89dbc moby: eg25-control: fixup perms & add service that DLs new agps data when stale 2023-09-15 04:47:12 +00:00
1546304b4e eg25-control: run as own user
its perms might still need adjustment so that it can control modem power and write to mmcli
2023-09-15 03:54:01 +00:00
a0e6efb409 eg25-control: better cache timestamp handling (just use os.stat) 2023-09-15 03:37:18 +00:00
bd18a6871c eg25-control: add --ensure-agps-cache operation 2023-09-15 03:33:00 +00:00
0f3f566d25 eg25-control: use fs timestamp when caching 2023-09-15 02:53:35 +00:00
92451d1e28 eg25-control: cache the location assistance data 2023-09-15 02:35:31 +00:00
a0c2ed38e6 eg25-control: allow finer-grained service control 2023-09-15 01:38:50 +00:00
649e5a2cab sway: persist pipewire/wireplumber audio volumes 2023-09-13 12:57:18 +00:00
f2e51ef742 todo.md: swaync: theme 2023-09-13 10:14:07 +00:00
cf4c27a74c swaynotificationcenter: support pulseaudio even on cross builds 2023-09-13 10:11:11 +00:00
4cff9f99cb alsa-ucm-conf-sane: reduce Internal Speaker playback priority 2023-09-13 09:35:01 +00:00
741264ec48 nixpkgs: 2023-09-08 -> 2023-09-11
```
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/db9208ab987cdeeedf78ad9b4cf3c55f5ebd269b' (2023-09-08)
  → 'github:nixos/nixpkgs/3a2786eea085f040a66ecde1bc3ddc7099f6dbeb' (2023-09-11)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/faf21ac162173c2deb54e5fdeed002a9bd6e8623' (2023-09-05)
  → 'github:Mic92/sops-nix/ea208e55f8742fdcc0986b256bdfa8986f5e4415' (2023-09-12)
```
2023-09-13 06:07:19 +00:00
9ad1be40b2 persist: stores: crypt: remove unrecognized nodev flag 2023-09-13 06:07:04 +00:00
910d0fa59e persist: remove the nosuid flag since gocryptfs cant parse it here 2023-09-13 05:13:43 +00:00
f54d5a68ff trust-dns: 0.22.1 -> 0.23.0 2023-09-13 02:53:06 +00:00
a359350d7e sxmo-utils.latest: 2023-08-29 -> 2023-09-09 2023-09-12 10:29:10 +00:00
7bef6b4089 modules: users/programs: cleaner option passthrough 2023-09-12 05:44:53 +00:00
8011e78e21 persist: cryptClearOnBoot: note rare (but predictable) bug during redeploy 2023-09-12 04:58:56 +00:00
8a6fcd92ae programs: port to programs.services interface 2023-09-12 04:45:38 +00:00
3e33313bf0 programs: add a "services" option which forwards into the user config 2023-09-12 04:44:07 +00:00
6138291a8d users: add a "services" option via which to configure per-user systemd services 2023-09-12 04:43:23 +00:00
6addf5a3b2 fs: symlink: add an option by which to control the symlink target name 2023-09-12 04:41:32 +00:00
2ead0201ab todo.md: add task for moby battery readout 2023-09-12 00:07:34 +00:00
56ad2370dc colin: add to systemd-journal group 2023-09-12 00:06:00 +00:00
3157ceb88b swaync: dont ship dbus files 2023-09-11 23:03:57 +00:00
df2a2fe427 mako: simplify with a rmDbusServices helper 2023-09-11 22:56:54 +00:00
c55ea59c4f ship unzip, for when dtrx fails 2023-09-11 22:31:54 +00:00
9cb28e037d firefox: sponsorblock: fix to really not show popup on first-run 2023-09-11 22:30:28 +00:00
90eeb380ef firefox-extensions: upadte sponsorblock, ublacklist 2023-09-11 22:21:25 +00:00
9472a5c5d4 todo.md: sort moby tasks 2023-09-11 01:30:29 +00:00
d7884a9c8a nixpkgs: 2023-09-06 -> 2023-09-08
```
• Updated input 'mobile-nixos':
    'github:nixos/mobile-nixos/56fc9f9619f305f0865354975a98d22410eed127' (2023-07-22)
  → 'github:nixos/mobile-nixos/d22c60e8d4d21f0197c1cac88c34dcc366b7a16c' (2023-09-10)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/0bffda19b8af722f8069d09d8b6a24594c80b352' (2023-09-06)
  → 'github:nixos/nixpkgs/db9208ab987cdeeedf78ad9b4cf3c55f5ebd269b' (2023-09-08)
```
2023-09-10 12:57:14 +00:00
3f10fbdf4d sway: remove deprecated "types.string" 2023-09-10 12:57:10 +00:00
c5ccc0ab34 eg25-control: mention atinout as a way to send AT commands 2023-09-10 12:56:56 +00:00
664bd473c3 linux-megous: try making more modules be builtin 2023-09-10 12:56:37 +00:00
8ef0926614 cross: build in qemu using stock linux
this allows faster iteration of linux-megous kernel
2023-09-10 11:59:47 +00:00
2298d1bfaa linux-megous: 6.4.7 -> 6.4.15 2023-09-10 11:47:05 +00:00
08857dd143 sane-bt-search: rank miobt/subsplease 2023-09-10 11:46:39 +00:00
b26f7a5d2b sysadminUtils: ship dtc (device tree de/compiler) 2023-09-10 09:49:31 +00:00
4e997591dd snippets: update 2023-09-10 00:49:02 +00:00
fad3972554 sway: waybar: fix media to better handle multiple players 2023-09-10 00:01:39 +00:00
755f844294 doc: sway/wlroots patch: explain the xdg_activation_v1 situation 2023-09-09 10:52:07 +00:00
fd18da52a8 overlays/preferences: remove dead dino code (it never worked) 2023-09-09 09:32:21 +00:00
cc78c3c36e sway: patch to temporarily allow any window to request activation (fix for notifications) 2023-09-09 09:32:00 +00:00
75009f6816 doc: sxmo: explain why we need nerdfonts 2023-09-09 07:44:31 +00:00
59f82cea27 doc: element: leave notes for if element fails to render, again 2023-09-09 07:11:25 +00:00
0da8d282fe feeds: add Andrew Heaton - Political Orphanage 2023-09-09 02:33:48 +00:00
6b4bd5ea28 feeds: remove Useful Idiots
the only ungated content is just idle chitchat
2023-09-09 02:20:02 +00:00
93ceef0163 sane-bt-search: fix bakabt URIs 2023-09-09 00:05:22 +00:00
eab0d656d3 docs: cpuFreqGovernor: explain which hardware this config affects 2023-09-08 23:37:21 +00:00
c2d99603a8 nixpkgs: 2023-09-04 -> 2023-09-06
```
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/3c15feef7770eb5500a4b8792623e2d6f598c9c1' (2023-09-04)
  → 'github:nixos/nixpkgs/0bffda19b8af722f8069d09d8b6a24594c80b352' (2023-09-06)
```
2023-09-08 21:16:12 +00:00
f73b6b56a9 nixpkgs: 2023-09-02 -> 2023-09-04
```
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/e56990880811a451abd32515698c712788be5720' (2023-09-02)
  → 'github:nixos/nixpkgs/3c15feef7770eb5500a4b8792623e2d6f598c9c1' (2023-09-04)
```
2023-09-08 20:48:56 +00:00
b65eca7dcf sxmo: fix so the sway session launched via phog includes debug logging 2023-09-08 10:59:31 +00:00
dec5826be8 all: switch powerManagement from powersave -> ondemand
how did i end up on powersave?

powersave is unusable on moby
2023-09-08 05:37:56 +00:00
b2393d4715 opengl: enable more broadly
this reduces the amount of sxmo-specific config
2023-09-07 10:47:17 +00:00
c86037e5d0 sway: don't enable greetd by default 2023-09-07 10:45:23 +00:00
d7751fb300 sway: remove unused installConfigs option 2023-09-07 10:33:28 +00:00
9582ea2e0a refactor: hosts/modules/hardware -> hosts/common/hardware
the config here didn't have any options; doesn't really make sense as a module
2023-09-07 10:29:25 +00:00
d92b393f01 hardware/x86_64.nix: split these options into more relevant files
also makes it so we dont ship opengl on platforms where we dont need it (servo)
2023-09-07 10:24:20 +00:00
ea26899735 docs: swaync: show how to view interactive style 2023-09-07 09:09:47 +00:00
f8d807225f swaync: fix backlight controls for moby 2023-09-07 08:54:43 +00:00
4c08609824 swaync: ship as own service 2023-09-07 07:34:22 +00:00
ccb11a4ecf swaync: fix broken black-on-black text 2023-09-07 07:33:15 +00:00
7f8ce68182 transmission: disable the incomplete dir 2023-09-07 06:14:11 +00:00
edf936820a transmission: fix permission-related errors 2023-09-07 06:14:11 +00:00
c6ab274dcf sxmo: waybar: add swaync 2023-09-07 01:27:30 +00:00
4d0c1811a3 neovim: associate with json/txt/md 2023-09-07 00:11:33 +00:00
ccb6f33b2f swaync: tune config; ignore certain sxmo notifications 2023-09-07 00:11:14 +00:00
4484fd243e docs: swaynotificationcenter: show how to reveal the notification center 2023-09-06 10:22:56 +00:00
7f1cdae91a sxmo: remove mako & other programs which are managed by sway now 2023-09-06 10:14:59 +00:00
b763009821 cross: fix swaynotificationcenter compilation 2023-09-06 09:56:46 +00:00
f392c0c02b swaync: tune parameters a bit 2023-09-06 09:20:00 +00:00
027086dd48 waybar: add divider to swaync 2023-09-06 09:19:50 +00:00
6eeca57694 waybar: add swaync notifications center 2023-09-06 09:13:34 +00:00
cc9ff2a2b0 swaynotificationcenter: port text blob to structured nix config 2023-09-06 09:03:19 +00:00
507753b3dc .gitignore: ignore some more things 2023-09-06 08:59:58 +00:00
eaecb395cd sway: switch from mako to swaynotificationcenter
mako's not working great on moby; hoping this will be better
2023-09-06 08:57:25 +00:00
6f5132633f sway: disable unused status_cmd 2023-09-06 08:19:52 +00:00
1076289490 sway: enable xwayland (but not for sxmo) 2023-09-06 08:19:52 +00:00
743f669b8c mako: disable the dbus service so our systemd service can take control 2023-09-06 08:19:52 +00:00
c12fc4bd57 todo.md: remove completed mpv item 2023-09-06 08:19:52 +00:00
9ab82904e6 mpv: remove power-button -> close mpv mapping 2023-09-06 08:19:51 +00:00
45df0954f4 sway: improve waybar text size 2023-09-06 08:19:51 +00:00
de685236a0 sway: waybar: fix default min-width setting (to aid moby) 2023-09-06 01:55:14 +00:00
2aa8033a5f sway: remove defaulted bar options 2023-09-06 01:18:35 +00:00
12b2fb6dfd mako: deploy as systemd service 2023-09-06 00:57:47 +00:00
aa5eb3988d sway: fix broken @status@ substitution 2023-09-06 00:51:13 +00:00
5efeb6ca50 lappy: sxmo: set noidle 2023-09-06 00:46:08 +00:00
18eaebb7fc mako: don't dismiss notifications when touched 2023-09-05 18:21:26 +00:00
9ed3dd4f22 sxmo: let mako be started via normal dbus activation
note that sxmo still installs its own, custom, mako theme
2023-09-05 17:46:01 +00:00
51ecf1b54b sxmo: fix sxmo_hook_init.sh -> sxmo_hook_start.sh 2023-09-05 17:31:33 +00:00
d1741c60dc sxmo: clean up our hook injections 2023-09-05 17:21:02 +00:00
f62c844aaf modules: fs: allow symlink target to be a path 2023-09-05 17:21:02 +00:00
409baf0321 moby: lift background into sway config 2023-09-05 16:13:23 +00:00
c3e37f7864 sops-nix: 2023-08-30 -> 2023-09-05
```
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/d9c5dc41c4b1f74c77f0dbffd0f3a4ebde447b7a' (2023-08-30)
  → 'github:Mic92/sops-nix/faf21ac162173c2deb54e5fdeed002a9bd6e8623' (2023-09-05)
• Updated input 'sops-nix/nixpkgs-stable':
    'github:NixOS/nixpkgs/9117c4e9dc117a6cd0319cca40f2349ed333669d' (2023-08-27)
  → 'github:NixOS/nixpkgs/5601118d39ca9105f8e7b39d4c221d3388c0419d' (2023-09-02)
```
2023-09-05 09:26:59 +00:00
233a81c7d8 sxmo: more logging around power_button/volume_button 2023-09-05 09:14:32 +00:00
aca67b997a sxmo: dont start conky manually (let sway do it) 2023-09-05 08:48:18 +00:00
cddba3d35f conky: ship on sway
this probably causes double conky on sxmo, but i can fix in future patch
2023-09-05 08:31:50 +00:00
14b0d1bd37 sway: tidy up media key handling to not interfere with sxmo hooks 2023-09-05 04:51:12 +00:00
578162a266 sxmo: fix waybar height 2023-09-05 04:32:00 +00:00
ab776d7fc8 sxmo: fold the sway config fully into sane.gui.sway 2023-09-05 04:25:58 +00:00
cd9f05b8e1 sxmo: merge waybar configs into sway 2023-09-05 03:43:32 +00:00
2bf978f845 sway: waybar: disable sway/mode (it doesnt seem to do anything...) 2023-09-05 03:09:32 +00:00
b89212bcbd refactor: waybar: sort these items 2023-09-05 01:19:06 +00:00
5498694729 sway: tidy waybar items and add memory 2023-09-05 01:18:55 +00:00
7b5bf2969a sway: switch theming to be consistent with SXMO, for future merging 2023-09-05 01:05:59 +00:00
e198c49a96 refactor: sway: make snip_cmd be an actual shell script 2023-09-05 00:29:38 +00:00
7f5811db9a refactor: sway: split config template into own file 2023-09-05 00:28:38 +00:00
5c3bb2293c sway: consolidate the nix substitutions into mostly just one area and use sway-native variables after 2023-09-04 23:30:40 +00:00
59ac2061af sxmo: minor docs improvement 2023-09-04 11:33:14 +00:00
905934cad2 moby: disable blueberry app, since it doesnt compile 2023-09-04 11:31:07 +00:00
e89805cd17 sxmo: have sway launch sxmo -- not the other way around
this lets me treat sxmo as just some nice scripts which run atop an existing DE (sway), rather than the opposite

can share more code with my desktop/laptop
2023-09-04 11:10:30 +00:00
680ab2c189 lappy: fix sxmo polyfill 2023-09-04 10:01:29 +00:00
10095e3ce5 sxmo: rename greeter option: {,->greetd-}sway-gtkgreet 2023-09-04 01:06:57 +00:00
a2b8e23eee nixpkgs: 2023-09-01 -> 2023-09-02
```
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/aa8aa7e2ea35ce655297e8322dc82bf77a31d04b' (2023-09-01)
  → 'github:nixos/nixpkgs/e56990880811a451abd32515698c712788be5720' (2023-09-02)
```
2023-09-03 20:13:07 +00:00
0587c14af5 nixpkgs: 2023-08-31 -> 2023-09-01
```
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/3e52e76b70d5508f3cec70b882a29199f4d1ee85' (2023-08-31)
  → 'github:nixos/nixpkgs/aa8aa7e2ea35ce655297e8322dc82bf77a31d04b' (2023-09-01)
```
2023-09-03 08:49:56 +00:00
6a83e0ce6c WIP: sxmo: ship notifications-related dependencies 2023-09-03 08:48:43 +00:00
72960aa963 cross: fix flatpak compilation 2023-09-03 08:46:50 +00:00
5f4f047769 cross: fix ostree compilation 2023-09-03 07:45:21 +00:00
a880ba254b sway: remove some unneeded config options 2023-09-02 10:37:09 +00:00
4d75c3d97a ejabberd: document more compat & how to admin 2023-09-02 08:36:32 +00:00
90511ed765 ejabberd: support matrix: clarify client support 2023-09-02 08:36:32 +00:00
aa3b85511f ejabberd: docs: update federation/support matrix 2023-09-02 08:36:32 +00:00
5d90cbcc98 programs: ship gajim on desko 2023-09-02 07:21:16 +00:00
0525f99813 moby: ship dino 2023-09-02 05:13:01 +00:00
769019f2f5 greetd: types.string -> types.str 2023-09-02 01:36:11 +00:00
dcaba0f0ee secrets: fix build when host has no secrets 2023-09-02 01:34:32 +00:00
d33b6eec59 flake: add a check-host-configs target to ensure all hosts are buildable 2023-09-02 01:25:20 +00:00
20aef83496 greetd: refactor: session{Name,Cmd,User} into session attrset 2023-09-02 00:54:05 +00:00
3cc4a1ea19 sxmo: port to greetd abstraction 2023-09-02 00:49:44 +00:00
a41fefa906 consolidate greetd stuff out of sway 2023-09-02 00:07:46 +00:00
c00bba3fcf nixpkgs: 2023-08-30 -> 2023-08-31
```
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/e7f38be3775bab9659575f192ece011c033655f0' (2023-08-30)
  → 'github:nixos/nixpkgs/3e52e76b70d5508f3cec70b882a29199f4d1ee85' (2023-08-31)
```
2023-09-01 20:03:55 +00:00
63fab5899b common: mount /mnt/servo-nfs/playground 2023-09-01 10:10:28 +00:00
357b6ef06e nfs: expose playground as a read/write dir 2023-09-01 10:08:29 +00:00
4fdf74fdbe export: enforce a quota 2023-09-01 03:37:33 +00:00
15e09573d5 exports: consolidate nfs and sftpgo mounts into /var/export 2023-09-01 01:23:35 +00:00
d6479ca148 nfs/sftpgo: combine into "exports" nix directory 2023-09-01 00:39:22 +00:00
cf9558f166 WIP: sftp: define playground as a btrfs subvolume 2023-09-01 00:35:43 +00:00
68bce9c8b7 ports: if they fail to forward, retry after some interval 2023-09-01 00:30:32 +00:00
913201b9cd sane-bt-search: add TPB to TRACKER_RANKS 2023-08-31 23:38:29 +00:00
3f748164e4 ftp: add a playground directory 2023-08-31 12:56:30 +00:00
ded5d94d69 modules: fs: add a "text" type to populate static text files when symlinks wont do 2023-08-31 12:56:30 +00:00
815a8b52b6 refactor: sftpgo: define permissions via nix config 2023-08-31 12:56:30 +00:00
639a4cfe50 ftp: grant read access to LAN 2023-08-31 12:56:30 +00:00
b2af4e8983 nixpkgs: disable phog patch 2023-08-31 12:56:09 +00:00
ff39fc5d95 ports: make upnp service files more human-readable 2023-08-31 01:02:48 +00:00
9fea007d4f cross: support gnome "calls" package 2023-08-31 00:52:28 +00:00
f44a094d1d nixpkgs: 2023-08-28 -> 2023-08-30; sops-nix -> 2023-08-30
```
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/3efb0f6f404ec8dae31bdb1a9b17705ce0d6986e' (2023-08-28)
  → 'github:nixos/nixpkgs/e7f38be3775bab9659575f192ece011c033655f0' (2023-08-30)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/c89ee06488706b587a22085b1844bf9ca6ba5687' (2023-08-28)
  → 'github:Mic92/sops-nix/d9c5dc41c4b1f74c77f0dbffd0f3a4ebde447b7a' (2023-08-30)
```
2023-08-30 20:45:57 +00:00
ec6f90eb44 mpv: fix "DRM_IOCTL_MODE_CREATE_DUMB failed" bug 2023-08-30 10:32:31 +00:00
bbe583637f mpv: uosc: 2023-07-26 -> 2023-08-29 2023-08-30 06:33:09 +00:00
29eab151a1 lemoa: 0.3 -> 0.4 2023-08-30 05:34:04 +00:00
a7c5daf8a5 sxmo: sway-config: leave a todo for deploying via /etc/sway/config.d 2023-08-30 01:56:32 +00:00
a23dea03a9 sxmo: sway config: pull defaults from upstream sxmo-utils 2023-08-30 01:54:30 +00:00
45e5f3ecca dino: document how to start calls 2023-08-30 01:50:06 +00:00
8bcba8802f sxmo-utils: 2023-08-22 -> 2023-08-29 2023-08-30 01:49:48 +00:00
3e2e0ccc1c nixpatches: note to split xdg-utils patch 2023-08-29 21:26:43 +00:00
c14d88f1ea nixpkgs: 2023-08-27 -> 2023-08-28
```
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/a999c1cc0c9eb2095729d5aa03e0d8f7ed256780' (2023-08-27)
  → 'github:nixos/nixpkgs/3efb0f6f404ec8dae31bdb1a9b17705ce0d6986e' (2023-08-28)
```
2023-08-29 21:26:43 +00:00
e72e847147 sops-nix: 2023-08-27 -> 2023-08-28 2023-08-29 21:26:43 +00:00
073879e523 nixpkgs: 2023-08-25 -> 2023-08-27
```
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/5690c4271f2998c304a45c91a0aeb8fb69feaea7' (2023-08-25)
  → 'github:nixos/nixpkgs/a999c1cc0c9eb2095729d5aa03e0d8f7ed256780' (2023-08-27)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/1b7b3a32d65dbcd69c217d7735fdf0a6b2184f45' (2023-08-22)
  → 'github:Mic92/sops-nix/0618c8f0ed5255ad74ee08d1618841ff5af85c86' (2023-08-27)
• Updated input 'sops-nix/nixpkgs-stable':
    'github:NixOS/nixpkgs/5e63e8bbc46bc4fc22254da1edaf42fc7549c18a' (2023-08-20)
  → 'github:NixOS/nixpkgs/9117c4e9dc117a6cd0319cca40f2349ed333669d' (2023-08-27)
```
2023-08-29 21:26:43 +00:00
bf302f70f1 servo: ejabberd: give each TURN port a unique upnp description
i think some impls expect the description to be unique?
2023-08-29 11:46:40 +00:00
a045eaa181 sxmo: persist the fontconfig and mesa_shader_cache directories for faster boot 2023-08-29 10:35:14 +00:00
b83b2ce0cc sxmo-utils: begin to push Makefile patches upstream 2023-08-29 10:32:56 +00:00
377aec7e07 sxmo-utils: re-add lost patch to the stable variant 2023-08-29 10:09:30 +00:00
9d50a6669a sxmo-utils-latest: 2023-08-11 -> 2023-08-22 2023-08-29 10:00:42 +00:00
bded6c9562 todo.md: new entry for getting sxmo youtube script working 2023-08-29 09:44:52 +00:00
5520c74921 sxmo-utils: add missing wl-clipboard dependency (for sxmo_screenshot.sh) 2023-08-29 09:44:30 +00:00
589c005bc4 sxmo-utils: add missing slurp dependency 2023-08-29 09:17:09 +00:00
d64a213ec2 sxmo-utils: add missing wtype package 2023-08-29 08:49:25 +00:00
18c940962e sxmo-utils: fix incorrect PREFIX
this should help the appscripts (screenshotting and the like)
2023-08-29 07:59:43 +00:00
e01b1f35fc sxmo-utils: simplifiy the install phase 2023-08-29 07:35:42 +00:00
60030860e5 todo.md: sxmo: better dependency/PATH handling 2023-08-29 07:35:42 +00:00
90894087e5 sxmo: apply SXMO_DISABLE_CONFIGVERSION_CHECK earlier 2023-08-29 07:35:42 +00:00
bdcccbd894 ejabberd: forward TURN ports over UPnP 2023-08-29 07:22:48 +00:00
b64cf408fb chatty: persist all of ~/.purple 2023-08-29 06:13:24 +00:00
eaca5b9889 cross: record more upstreaming status 2023-08-29 00:18:07 +00:00
1c265b2073 cross: update upstreaming status 2023-08-28 23:33:42 +00:00
fa98ba86bc sxmo: default SXMO_DISABLE_CONFIGVERSION_CHECK to on 2023-08-28 21:53:43 +00:00
53aee9e651 cross: libgweather/tuba: grab from upstream PRs 2023-08-28 12:04:03 +00:00
d4a305f5bb cross: tuba: grab from nixpkgs fork 2023-08-28 11:52:39 +00:00
fd39efe31f sxmo-utils: sxmo_hook_apps: fix some typod apps 2023-08-28 11:15:25 +00:00
3b2f4b6f72 preferences: phog: fix eval typo 2023-08-28 11:15:05 +00:00
9a16942b16 cross: send brightnessctl, libgweather (partially) upstream 2023-08-28 11:14:51 +00:00
fe47d68fd3 sxmo-utils: disable configversion checking
this is not yet deployed -- might not work 100%
2023-08-28 10:32:37 +00:00
deaee833cf cross: move phog patch to preferences.nix 2023-08-28 10:08:50 +00:00
8d03881109 cross compilation: disable kitty patch (no longer needed) 2023-08-28 10:06:24 +00:00
e476adfdf5 todo.md: add entry for fixing fonts in wvkbd 2023-08-28 09:56:24 +00:00
4201aa7466 gui: sxmo: default to sxmo-utils-latest variant of the package 2023-08-28 09:56:02 +00:00
a85d594c89 sxmo-utils: add a few more apps i use 2023-08-28 09:55:34 +00:00
7b98cd3d50 todo.md: remove completed phog item 2023-08-28 09:37:01 +00:00
d256a0b647 todo.md: upstreaming to non-nixpkgs 2023-08-28 09:36:11 +00:00
c87ba7f670 snippets: add link to sxmo-devel maillist 2023-08-28 09:26:41 +00:00
e4e5df80f1 sxmo-utils: factor out commons and create a package for sxmo-utils-latest 2023-08-28 09:26:30 +00:00
02f409451d chatty: persist .purple/chatty 2023-08-28 09:01:29 +00:00
9f2c7b90ce snippets.txt: more uninsane services; Johoe mempool 2023-08-28 08:52:33 +00:00
559c551752 re-enable dino XMPP client 2023-08-28 08:48:35 +00:00
304482cc9b moby: ModemManager: make quieter 2023-08-28 08:09:19 +00:00
ad9db91812 moby: ship eg25-control on user profile 2023-08-28 08:03:27 +00:00
1c7997e1ef rename eg25-control-defaults.service -> eg25-control 2023-08-28 08:03:14 +00:00
deefcaae9a nixpkgs: 2023-08-24 -> 2023-08-25
```
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/18324978d632ffc55ef1d928e81630c620f4f447' (2023-08-24)
  → 'github:nixos/nixpkgs/5690c4271f2998c304a45c91a0aeb8fb69feaea7' (2023-08-25)
```
2023-08-26 20:07:04 +00:00
562008f3c0 sxmo: default to greetd + sway + phog greeter 2023-08-26 19:57:43 +00:00
2584d62b28 sxmo: enable hardware opengl
this fixes the awful perf i was seeing when not using lightdm-mobile-greeter

xserver enables hardware opengl, i'm just copying that behavior to non-X greeters
2023-08-26 19:57:43 +00:00
dc64193a62 moby: generalize sun4i init failure to displayManager *and* greetd 2023-08-26 19:57:43 +00:00
a7f8089ed8 sane-bt-search: link to jargon definitions 2023-08-26 19:25:23 +00:00
e8e63167d2 phog: bring in-tree and patch to allow launching via sway
it looses the bar functionality (oh well)
2023-08-26 13:04:07 +00:00
c056191de1 sxmo: try some alternate greeters 2023-08-26 12:28:25 +00:00
f2a597f698 moby: sxmo: phog: provide an identifier in the syslog 2023-08-26 10:06:36 +00:00
7b637f976b moby: sxmo: fix phog to log its output 2023-08-26 09:40:07 +00:00
39a378c517 nixpkgs: 2023-08-22 -> 2023-08-24
```
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/b85ed9dcbf187b909ef7964774f8847d554fab3b' (2023-08-22)
  → 'github:nixos/nixpkgs/18324978d632ffc55ef1d928e81630c620f4f447' (2023-08-24)
```
2023-08-26 01:26:33 +00:00
0f9dfb9f8a sxmo-utils: add missing xrdb dependency 2023-08-25 23:37:05 +00:00
ab7f2fb1ec sxmo: switch back to lightdm-mobile greeter 2023-08-25 23:36:47 +00:00
a892c364c6 sxmo-utils: cherry-pick upstream light -> brightnessctl patch 2023-08-25 22:33:48 +00:00
a5c829fa96 moby: switch to phog by default 2023-08-25 13:29:49 +00:00
e844cf5970 phog: fix hardcoded paths 2023-08-25 13:29:29 +00:00
999c6fd880 preferences: remove a dead todo 2023-08-25 12:14:03 +00:00
2aa4bdd5a6 cross compilation: fix brightnessctl 2023-08-25 12:13:39 +00:00
05801f298f phog: add missing gnome-shell dependency
oof, that's a massive dep to pull in just for the schema files...
2023-08-25 12:05:15 +00:00
0fd1ec861b sxmo-utils: add missing brightnessctl dep 2023-08-25 12:04:28 +00:00
37d0473b7f cross: enable gnome-clocks, gnome-shell, squeekboard, better libgweather 2023-08-25 12:03:35 +00:00
aaca46c485 cross: get ibus to cross-compile 2023-08-25 12:01:49 +00:00
30a6a1c1c2 new todo: fix mpv blank UI bug 2023-08-25 01:34:19 +00:00
2c39ac3015 phoc: remove patches; they've been upstreamed 2023-08-25 01:33:34 +00:00
cc6a0dd8b3 phoc: fix patching style to be better overridable 2023-08-25 01:32:45 +00:00
fbf62f0531 moby: add experimental support for phog greeter 2023-08-25 01:25:07 +00:00
c96b951895 todo.md: moby: switch to phog greeter 2023-08-24 21:31:28 +00:00
34294341d7 libgweather: update nws patch with PR feedback 2023-08-24 11:41:31 +00:00
cdc8885e60 sane-weather: leave notes for future work 2023-08-24 11:23:33 +00:00
41416cd184 moby: conky: tune weather display 2023-08-24 11:17:36 +00:00
3c32246d9a sane-weather: default to METAR only 2023-08-24 11:06:24 +00:00
6862d084ac sane-weather: format the temperature better 2023-08-24 11:06:05 +00:00
6eb3626203 ship gnome-weather to all GUI platforms 2023-08-24 11:00:38 +00:00
5f808eab5c libgweather: push NWS segfault fix upstream 2023-08-24 10:35:54 +00:00
fe15c0b097 sane-weather: switch to METAR + NWS
NWS gets us hourly forecasts
2023-08-24 09:20:36 +00:00
e4fbe9d03c sane-weather: reoder the operations list 2023-08-24 09:20:36 +00:00
de09d54c64 sane-weather: make the location configurable 2023-08-24 09:20:36 +00:00
5bf117fc05 sane-weather: document some functions/classes 2023-08-24 09:20:36 +00:00
f734797628 libgweather: fix null string comparison in nws backend 2023-08-24 09:20:36 +00:00
236470dc33 cross compilation fixes for previous nixpkgs update 2023-08-24 05:56:47 +00:00
555627dad5 nixpkgs: 2023-08-21 -> 2023-08-22
```
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/91a22f76cd1716f9d0149e8a5c68424bb691de15' (2023-08-21)
  → 'github:nixos/nixpkgs/b85ed9dcbf187b909ef7964774f8847d554fab3b' (2023-08-22)
```
2023-08-24 02:04:25 +00:00
49c5ddd9f3 nixpkgs: 2023-08-19 -> 2023-08-21
```
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/d680ded26da5cf104dd2735a51e88d2d8f487b4d' (2023-08-19)
  → 'github:nixos/nixpkgs/91a22f76cd1716f9d0149e8a5c68424bb691de15' (2023-08-21)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/f81e73cf9a4ef4b949b9225be3daa1e586c096da' (2023-08-15)
  → 'github:Mic92/sops-nix/1b7b3a32d65dbcd69c217d7735fdf0a6b2184f45' (2023-08-22)
• Updated input 'sops-nix/nixpkgs-stable':
    'github:NixOS/nixpkgs/efeed708ece1a9f4ae0506ae4a4d7da264a74102' (2023-08-12)
  → 'github:NixOS/nixpkgs/5e63e8bbc46bc4fc22254da1edaf42fc7549c18a' (2023-08-20)
```
2023-08-23 13:40:45 +00:00
a43ccaac64 conky: display temperature 2023-08-23 13:38:11 +00:00
91c02aec9a sane-weather: enable cross compilation 2023-08-23 13:31:45 +00:00
681d3d5520 sane-weather: more diagnostics 2023-08-23 11:55:30 +00:00
f945dc42fa sane-weather: init
for now, all it does is print the current temperature; no caching
2023-08-23 11:14:13 +00:00
cc6f33b928 sxmo-utils: add missing curl, libxml2 deps 2023-08-23 06:18:24 +00:00
2f83e73139 sxmo: sway: default to tabbed workspaces 2023-08-22 10:03:07 +00:00
53ccb96234 sxmo: sway: theme "urgent" titlebars to match mpv colors 2023-08-22 10:00:13 +00:00
a0d6139e50 add todos around moby GPS 2023-08-22 08:53:55 +00:00
90abadf7c4 eg25-control: document typical jitter 2023-08-22 08:51:10 +00:00
7f1e959ece moby: gps: grant geoclue access to all users 2023-08-22 08:49:04 +00:00
794df4d762 moby: geoclue: restrict to just "colin" user 2023-08-22 07:20:31 +00:00
d6b262a28e moby: enable geoclue service 2023-08-22 07:15:14 +00:00
0cc518e523 todo.md: reflow 4-space tabs to 2-space 2023-08-22 06:41:26 +00:00
8780dff794 add lemonade, new-server-as-remote-builder to todo 2023-08-22 06:40:46 +00:00
0f881006e7 eg25-control: don't abort when AGPS download fails 2023-08-22 04:59:30 +00:00
5d349ce042 moby: init GPS during boot 2023-08-22 04:53:40 +00:00
940711878b eg25-control: make own package 2023-08-22 04:41:54 +00:00
75048efcf3 eg25_gps_init.py: allow CLI config of modem control points 2023-08-22 04:36:37 +00:00
8cc5199d9b FIXUP 2023-08-22 04:35:51 +00:00
3f60bacd38 eg25_gps_init: allow finer CLI control 2023-08-22 04:32:11 +00:00
8fb705dde4 eg25-gps-init: document the SIM requirement 2023-08-21 19:39:55 +00:00
79777cd4ae eg25-gps-init: improve docs 2023-08-21 11:14:16 +00:00
fabd1e3b64 eg25-gps-init: fixup docs 2023-08-21 10:42:27 +00:00
bcb6beef05 check in a script to initialize the eg25 gps
not part of the deployed system: has to be run manually
2023-08-21 10:33:39 +00:00
34336e4ade linux-megous: 6.4.0-rc7 -> 6.4.7
this is the version currently deployed by postmarketOS
2023-08-21 04:49:46 +00:00
a518e56cf1 feeds: leave note to where to find podcasts that have a lemmy community 2023-08-21 01:14:55 +00:00
6cc7655180 feeds: add Tom Scott's podcast 2023-08-21 01:13:19 +00:00
0a15aad6d7 sane-bt-search: rename "source" sort to "tracker" 2023-08-20 09:14:45 +00:00
1d8bee2856 sane-bt-search: add a flag to sort by tracker reputation 2023-08-20 09:14:19 +00:00
6894d5828b sane-bt-search: refactor: move filter logic off of Torrent class 2023-08-20 08:53:06 +00:00
35bc222552 sane-bt-search: allow showing only videos 2023-08-20 08:49:04 +00:00
16b5b6840f sane-bt-search: refactor: make filtering easier to extend 2023-08-20 08:45:10 +00:00
1a7837d740 flake: add a sync-lappy command 2023-08-20 07:46:55 +00:00
607bfbe452 fs: add /mnt/lappy-home 2023-08-20 06:26:20 +00:00
c2b85bd6b8 refactor: break out a helper in fs.nix for mounting remote home dirs 2023-08-20 06:20:28 +00:00
c3bc0ec645 fs: remove desko-root mount
i don't use it in practice
2023-08-20 06:11:17 +00:00
89b5e8145d lemmy: pict-rs: remove unused options 2023-08-20 05:01:24 +00:00
0edab7ed64 lemmy: port to new pict-rs and enable video 2023-08-20 05:00:35 +00:00
c8a3814f6a nixpkgs: 2023-08-18 -> 2023-08-19
```
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/8ecc900b2f695d74dea35a92f8a9f9b32c8ea33d' (2023-08-18)
  → 'github:nixos/nixpkgs/d680ded26da5cf104dd2735a51e88d2d8f487b4d' (2023-08-19)
```
2023-08-20 00:47:38 +00:00
9ddac508e2 sane-bt-search: port to argparse 2023-08-19 23:32:11 +00:00
3245f8f94c nixpkgs: 2023-08-17 -> 2023-08-18
```
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/42c25608aa2ad4e5d3716d8d63c606063513ba33' (2023-08-17)
  → 'github:nixos/nixpkgs/8ecc900b2f695d74dea35a92f8a9f9b32c8ea33d' (2023-08-18)
```
2023-08-19 11:30:18 +00:00
8be1f43c23 g4music: m4a support: acquire from upstream PR 2023-08-18 20:07:26 +00:00
e29e26605b nixpkgs: 2023-08-16 -> 2023-08-17
```
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/caac0eb6bdcad0b32cb2522e03e4002c8975c62e' (2023-08-16)
  → 'github:nixos/nixpkgs/42c25608aa2ad4e5d3716d8d63c606063513ba33' (2023-08-17)
```
2023-08-18 10:07:17 +00:00
7bd6c0c14d WIP: moby: launch ModemManager in debug mode
this lets me use mmcli --command=...
2023-08-18 10:05:32 +00:00
d7c912386f linux-megous: re-enable modem-power
it's likely i won't be using eg25-manager after all and will have to manually boot the modem, so may as well use Megi's driver for that
2023-08-18 04:08:32 +00:00
e7e86cae95 modemmanager: undo patching
once i insert a SIM, it's able to understand the modem...
2023-08-18 02:17:09 +00:00
b083ce87be eg25-manager: disable 2023-08-17 10:56:32 +00:00
17b90fc697 eg25-manager: configure without modemmanager support 2023-08-17 08:34:32 +00:00
4fc59fa2ac modemmanager: experimental patch to not fail the whole modem if there's no sim 2023-08-17 08:34:18 +00:00
e87cda2e55 g4music: add mp4 support 2023-08-17 01:51:25 +00:00
2c4d30b5ec postgresql: tune db parameters
fixes pleroma timeouts
2023-08-17 01:28:37 +00:00
d0af645af8 pleroma: add missing "prepare: :named" config 2023-08-17 01:28:33 +00:00
a1f79dc18a komikku: use unpatched upstream now that my fix is in a release 2023-08-17 00:01:15 +00:00
ff65a697a9 nixpatches: apply outstanding komikku, komga update PRs 2023-08-16 22:49:45 +00:00
ef881b1392 podcasts: subscribe to Useful Idiots 2023-08-16 22:03:40 +00:00
debea8fa5b podcasts: subscribe to Behind the Bastards 2023-08-16 21:58:51 +00:00
8a9acbaeea podcasts: subscribe to We're Not Wrong 2023-08-16 21:58:07 +00:00
8869ec7bca podcasts: subscribe to omegatau 2023-08-16 21:54:55 +00:00
dc0268736a g4music: remove (use upstream) 2023-08-16 21:25:25 +00:00
6f9c2a846e nixpkgs: 2023-08-15 -> 2023-08-16
```
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/8353344d3236d3fda429bb471c1ee008857d3b7c' (2023-08-15)
  → 'github:nixos/nixpkgs/caac0eb6bdcad0b32cb2522e03e4002c8975c62e' (2023-08-16)
```
2023-08-16 21:24:51 +00:00
3cb00840de nixpkgs: 2023-08-14 -> 2023-08-15
```
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/6e287913f7b1ef537c97aa301b67c34ea46b640f' (2023-08-14)
  → 'github:nixos/nixpkgs/8353344d3236d3fda429bb471c1ee008857d3b7c' (2023-08-15)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/32603de0dc988d60a7b80774dd7aed1083cd9629' (2023-08-13)
  → 'github:Mic92/sops-nix/f81e73cf9a4ef4b949b9225be3daa1e586c096da' (2023-08-15)
```
2023-08-16 11:31:04 +00:00
6a2603a4ea dev-machine: disable zeal (requires qtwebengine) 2023-08-16 11:29:43 +00:00
69efecb2ef postgresql: update 13 -> 15 2023-08-16 11:09:22 +00:00
056e6d358e moby: switch back to megi kernel (manjaro kernel has graphical glitches) 2023-08-16 10:59:58 +00:00
793baf0e0f cross: remove upstreamed tracker patches 2023-08-16 10:54:36 +00:00
721899258a cross: point playerctl patch to upstream PR 2023-08-16 10:54:07 +00:00
4f9d84cd82 cross: fix playerctl build 2023-08-16 10:34:13 +00:00
a462180d3c sane-stop-all-servo: add signald, pict-rs 2023-08-16 10:34:13 +00:00
58f2d87959 sane-stop-all-servo: add missing mautrix-signal and lemmy-ui services 2023-08-16 10:34:13 +00:00
a50b8e6373 moby: split the old linux-manjaro config into its own package & update it 2023-08-16 10:10:42 +00:00
4ec947d549 eg25-manager: set RestartSec to make the restart loops less painful 2023-08-16 09:09:13 +00:00
6751a74063 moby: kernel: better docs 2023-08-16 09:08:35 +00:00
6118a18200 gthumb: associate with gif and webp 2023-08-15 20:48:51 +00:00
d223d4be06 cross: try to fix webkitgtk build 2023-08-15 10:56:07 +00:00
ab7ec9bd74 cross: remove dead overrides for upstreamed packages 2023-08-15 10:55:18 +00:00
7b70b5ec86 linux-megous: build WITHOUT modem_power module, for better eg25-manager compatibility 2023-08-15 10:49:07 +00:00
db99043753 eg25-manager.service: remove modem_power module & point to the right UART 2023-08-15 10:46:18 +00:00
8f87e49606 cross: fix comment typos 2023-08-15 05:38:11 +00:00
5557107259 nixpkgs: 2023-08-13 -> 2023-08-14
```
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/100a1550b0e7a64b960c625b656f9229bdef5f87' (2023-08-13)
  → 'github:nixos/nixpkgs/6e287913f7b1ef537c97aa301b67c34ea46b640f' (2023-08-14)
```
2023-08-15 04:32:49 +00:00
1b5c870798 sane-scripts.sync-music: add to a package set (sane-scripts.sys-utils) 2023-08-15 01:47:45 +00:00
a5162651b7 zsh: re-enable lost keybindings like ctrl+r and ctrl+a 2023-08-15 01:47:12 +00:00
b9868512d6 switch TERMINAL from kitty -> alacritty 2023-08-15 01:46:57 +00:00
8432d9c9ed sway: be terminal agnostic 2023-08-15 01:46:40 +00:00
5d4f94f218 add alacritty program/config 2023-08-15 01:46:22 +00:00
7e9d5d99c7 g4music: obtain via nixpkgs PR 2023-08-14 20:19:22 +00:00
487e64b09b nixos/dconf patch: point to upstream PR 2023-08-14 20:13:19 +00:00
5e350b810f nixpkgs: 2023-08-10 -> 2023-08-13; sops-nix 2023-07-24 -> 2023-08-13
```
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/ce5e4a6ef2e59d89a971bc434ca8ca222b9c7f5e' (2023-08-10)
  → 'github:nixos/nixpkgs/100a1550b0e7a64b960c625b656f9229bdef5f87' (2023-08-13)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/c36df4fe4bf4bb87759b1891cab21e7a05219500' (2023-07-24)
  → 'github:Mic92/sops-nix/32603de0dc988d60a7b80774dd7aed1083cd9629' (2023-08-13)
• Updated input 'sops-nix/nixpkgs-stable':
    'github:NixOS/nixpkgs/ce45b591975d070044ca24e3003c830d26fea1c8' (2023-07-22)
  → 'github:NixOS/nixpkgs/efeed708ece1a9f4ae0506ae4a4d7da264a74102' (2023-08-12)
```
2023-08-14 20:12:01 +00:00
5fb3a6be81 desko: disable jellyfin (just use mounted fs, avoid qtwebengine...) 2023-08-14 10:27:10 +00:00
dbec4b8f32 cross: expand buildInQemu to support a few more packages (e.g. g4music, but i didnt need it in the end) 2023-08-14 10:23:23 +00:00
f8b559bef1 g4music: docs on how to get it rendering correctly 2023-08-14 10:21:13 +00:00
7d9d0ce8b5 g4music: wrapGAppsHook -> wrapGAppsHook4 2023-08-14 10:20:54 +00:00
7857f123a4 new nix run '.#sync-moby' command to synchronize music onto my mobile phone 2023-08-14 08:20:06 +00:00
e3ba156fe1 fs: define /mnt/moby-home 2023-08-14 08:10:17 +00:00
c824751682 ~: don't symlink ~/Music/servo
it gets in the way for devices that have a full copy of their music
2023-08-14 08:10:06 +00:00
e5520437a5 sane-sync-music: init 2023-08-14 08:02:29 +00:00
c6211fe48f ship g4music 2023-08-14 06:17:22 +00:00
54d6c9008d g4music: init at 3.2 2023-08-14 06:13:22 +00:00
05e5edcce3 mpv: fix bug where GUI would be missing for some podcasts 2023-08-14 05:52:16 +00:00
3249baccfa mopidy: remove dead service code 2023-08-13 10:20:50 +00:00
274682cf85 mopidy: comment for how to disable spotify backend 2023-08-13 10:17:43 +00:00
31a700f6a7 mcg: support cross compilation 2023-08-13 09:39:04 +00:00
91a6fc32ef desktop: ship rhythmbox music player 2023-08-13 09:27:01 +00:00
135b87a091 mcg: init at 3.2.1 2023-08-13 09:24:17 +00:00
6b9484f611 cross: re-enable qt5 override. i dont actively use it but it is nice for testing 2023-08-13 07:49:29 +00:00
7a612b701d cross: emulateBuildMachine -> buildInQemu 2023-08-13 07:41:45 +00:00
c69fb690f1 cantata: fix to be in desktopGuiApps (because it needs qt) 2023-08-12 09:05:27 +00:00
1ef73dd69d mopidy: get spotify, jellyfin working 2023-08-12 09:00:33 +00:00
54afa1aec5 cross compiling: update status/notes 2023-08-12 08:26:18 +00:00
72c3c939e2 programs: ship cantata & mopidy for music playing (desktop) 2023-08-12 08:26:18 +00:00
67d8e89556 WIP: enable mopidy music server 2023-08-12 08:26:18 +00:00
07408813db python310Packages.keyring: re-enable cryptography dependency (it cross compiles now) 2023-08-12 08:03:16 +00:00
436760a592 python310Packages.keyring: fix cross compilation 2023-08-12 07:58:15 +00:00
5c758df032 gpodder-adaptive: fix cross compilation 2023-08-12 04:14:47 +00:00
d12a41bfa9 gpodder-adaptive: fix pname 2023-08-12 03:51:22 +00:00
8ec22b6320 mepo: fix autoPatchelfHook placement so it cross compiles 2023-08-12 02:44:14 +00:00
95d04467a8 cross: delete binfmt experiment (it will never work); comment out broken proot attempt 2023-08-11 23:28:37 +00:00
dd53de96fe cross: tune linuxMinimal 2023-08-11 23:25:26 +00:00
8089334ea9 cross: fix dconf-system-config 2023-08-11 23:06:25 +00:00
5bbb3678ed helix: support cross compilation 2023-08-11 23:01:46 +00:00
4e7ffe3140 cross compilation: simplify emulateBuilderQemu & use linux-megous as kernel when available 2023-08-11 22:27:35 +00:00
d2842484fd cross: do emulation with a smaller linux image (experimental) 2023-08-11 22:27:35 +00:00
a8932b5a72 WIP: try to cross-compile using proot instead of binfmt
but it doesn't seem to be emulating child processes...
2023-08-11 22:27:35 +00:00
a283d1ee21 linux-megous: simplify the package definition & build w/o debug info 2023-08-11 21:34:19 +00:00
d41d802d83 nixpkgs: 2023-08-09 -> 2023-08-10
```
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/e528fa15d5f740a25b5f536c33932db64cb10fc8' (2023-08-09)
  → 'github:nixos/nixpkgs/ce5e4a6ef2e59d89a971bc434ca8ca222b9c7f5e' (2023-08-10)
```
2023-08-11 21:32:53 +00:00
8a0efb3e40 servo: bump /tmp space to 32 GB 2023-08-11 07:10:25 +00:00
b013123669 moby: note for future self about a new display-manager failure case 2023-08-11 05:01:48 +00:00
264657d623 nixpkgs: 2023-08-08 -> 2023-08-09
```
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/41c7605718399dcfa53dd7083793b6ae3bc969ff' (2023-08-08)
  → 'github:nixos/nixpkgs/e528fa15d5f740a25b5f536c33932db64cb10fc8' (2023-08-09)
```
2023-08-10 21:20:56 +00:00
8ad4ee4341 bonsai: support cross compilation 2023-08-10 07:41:12 +00:00
664b21e5f1 enable eg25-manager (experimental) 2023-08-10 07:27:38 +00:00
163a7af328 fix pillow compilation 2023-08-10 05:51:01 +00:00
4adeae6d85 firefox-extensions.sponsorblock: support cross compilation 2023-08-09 23:22:32 +00:00
9168803008 seaborn (visidata dep): fix build 2023-08-09 21:08:32 +00:00
3f9c0d1b60 nixpkgs: 2023-08-07 -> 2023-08-08
```
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/5a8e9243812ba528000995b294292d3b5e120947' (2023-08-07)
  → 'github:nixos/nixpkgs/41c7605718399dcfa53dd7083793b6ae3bc969ff' (2023-08-08)
```
2023-08-09 07:58:03 +00:00
cc35317b54 bonsai: update PR to use PREFIX instead of DESTDIR 2023-08-09 03:16:55 +00:00
006070d08f cross: confirm that qt5 module emulation is actually necessary 2023-08-08 22:09:35 +00:00
19f6a98d31 nixpatches: note that i sent the mepo patch upstream 2023-08-08 07:03:45 +00:00
301abbe155 gtk{3,4}: acquire schema compilation patches via upstream PR 2023-08-08 01:53:48 +00:00
dab3a2d0a9 mate.engrampa: acquire cross compilation patch from upstream pr 2023-08-08 01:51:55 +00:00
3a00e93dc3 cross: fix mepo to cross compile again 2023-08-08 01:51:55 +00:00
4c4b0ce920 nixpkgs: 2023-08-04 -> 2023-08-07
```
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/18036c0be90f4e308ae3ebcab0e14aae0336fe42' (2023-08-04)
  → 'github:nixos/nixpkgs/5a8e9243812ba528000995b294292d3b5e120947' (2023-08-07)
```
2023-08-08 01:51:55 +00:00
b9259ff8b9 gtk{3,4}: tidy schema compilation patches 2023-08-08 01:51:55 +00:00
e2ed37196f browserpass-extension: emulate 2023-08-07 10:41:32 +00:00
b343d5d83a firefox-extensions.browserpass-extensions: enable module access via passthru 2023-08-07 10:26:29 +00:00
9bbff0d7a7 firefox-extensions.bypass-paywalls-clean: fix cross compilation by using the build-time zip 2023-08-07 10:26:24 +00:00
014fb5a633 gtk4 schema fix: include needed mesonEmulatorHook
this is probably needed for gtk3 too, only we get it for free when introspection is enabled
2023-08-07 08:30:56 +00:00
76d8921bdf eg25-manager: fix by importing the legacy libgpiod v1 as it appeared nixpkgs 1 wk ago 2023-08-07 08:29:06 +00:00
b7f23a032c eg25-manager: init at 0.4.6 2023-08-07 08:05:34 +00:00
68be1ba2a1 gtk{3,4}: compile schemas even on cross builds 2023-08-07 08:05:07 +00:00
5a6bb475c4 conky: support cross-compilation/wayland via nixpkgs patch stack 2023-08-07 07:33:01 +00:00
132e15cb9f sxmo-utils: switch runtime shell back to bash, but still use busybux during build
no need to patch it out of the build process
2023-08-07 04:29:38 +00:00
07c0878d11 sxmo-utils: force the scripts to run under busybox instead of default /bin/sh 2023-08-07 03:44:07 +00:00
b993479ada sxmo-utils: use busybox 2023-08-07 03:44:07 +00:00
8dc568d52e ship mate.engrampa as archive manager (after getting it to cross compile) 2023-08-07 03:43:37 +00:00
44ee7cd3db conky: build without emulation 2023-08-06 20:59:42 +00:00
2773cd8406 nixpkgs: 2023-08-02 -> 2023-08-04
```
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/66aedfd010204949cb225cf749be08cb13ce1813' (2023-08-02)
  → 'github:nixos/nixpkgs/18036c0be90f4e308ae3ebcab0e14aae0336fe42' (2023-08-04)
```
2023-08-06 09:59:46 +00:00
9bb26e0199 nixpatches: update xdg-utils cross patch 2023-08-06 09:42:25 +00:00
8d772074ba gupnp: acquire cross patch from upstream nixpkgs PR 2023-08-06 09:16:43 +00:00
18c6ad0663 cross: mepo: fix ld-linux path 2023-08-06 08:53:59 +00:00
24a91acd0a firefox-extensions: update hashes for sponsorblock, ublock-origin 2023-08-06 08:33:18 +00:00
bec5241326 qt5: build in emulator
qt5.qtbase does build, after an hour. qtdeclarative fails to complete even after 3 hours
2023-08-06 08:15:47 +00:00
2b5365d774 packages: only build nheko on desktop 2023-08-06 08:15:05 +00:00
e377a9f05b cross: emulateBuildMachine: bump RAM limit & add helper overrideAttrs fn 2023-08-06 08:13:46 +00:00
2f53e94cc9 mepo_1_1: remove package
i can just use normal `mepo` now.
2023-08-06 08:11:27 +00:00
75770cd34b cross compilation: get mepo to cross compile
in the end i don't even need to emulate zig... (yay)

the mepo_1_1 stuff isn't needed. i'll delete it next patch
2023-08-06 08:09:13 +00:00
a4860c3963 cross: allow makeWrapper in emulated builds 2023-08-06 01:51:55 +00:00
4b072ecbe5 cross: support browserpass-extension w/o emulation 2023-08-06 01:51:14 +00:00
3423f103fc firefox-extensions: tidy the wrapping and dont double-wrap 2023-08-06 01:50:40 +00:00
c3bb776149 cross: qt5.qtbase: build in qemu, not binfmt (holy cow, it actually builds this way) 2023-08-05 12:08:22 +00:00
d31aac4d19 tangram: build the blueprint compiler via qemu, not binfmt 2023-08-05 12:03:05 +00:00
378e72ceb7 cross: automatically convert nativeBuildInputs into their host equivalent 2023-08-05 11:53:14 +00:00
d86be97ced cross: fix emulateBuilder to use build bash in the vmRunCommand 2023-08-05 09:54:56 +00:00
44388b132a cross: fix enableParallelBuilding to work 2023-08-05 09:54:56 +00:00
cd6b112d33 build bonsai/hare/qbe without relying on binfmt emulation 2023-08-05 09:54:56 +00:00
8eb6be863a cross: koreader: build luajit from emulated stdenv, instead of grabbing it from the emulated packageset 2023-08-05 09:54:14 +00:00
3b5ff938ce flake: apply nixpatches/list.nix using the build patcher, not the emulated host patcher 2023-08-05 09:32:50 +00:00
2685c91dd9 cross: build mepo without emulating as many packages 2023-08-05 00:42:07 +00:00
169354bd33 sxmo-utils: fix udev rule 2023-08-04 22:39:30 +00:00
cc1889d2dd mpvScripts.mpris: acquire cross compilation patch via nixpkgs PR 2023-08-04 08:16:06 +00:00
22ffcb1b55 remove fwupd to reduce cross-compilation patches 2023-08-04 07:47:00 +00:00
76abbac6f6 fwupd: define as a sane.program 2023-08-04 07:35:13 +00:00
12e15b6456 wvkbd: fetch cross-compilation fix via nixpkgs PR 2023-08-04 07:27:11 +00:00
8c2a4a31bf cross compilation: remove dead code 2023-08-04 07:21:15 +00:00
1fcfa04447 remove python.pkgs.cryptography as it doesn't cross compile (yet) 2023-08-04 07:19:30 +00:00
f3af31c727 cross: comment out packages i haven't used for an extended time 2023-08-04 05:20:20 +00:00
21e22096b1 uninsane-dot-org: 2023-07-25 -> 2023-08-03 2023-08-04 04:59:56 +00:00
c9383da414 cross: get bonsai to build w/o emulating anything other than stdenv 2023-08-04 04:07:06 +00:00
b82bb13f4f gssapi cross fix: pull from nixpkgs pr 2023-08-04 00:39:02 +00:00
346a68884b cross: fix qt5.overrideScope' deprecation wraning 2023-08-03 23:47:26 +00:00
eb04129959 cross: emulate hare/harec at the consumer level 2023-08-03 23:46:29 +00:00
2e93f58795 update cross-compilation PR URIs 2023-08-03 22:12:10 +00:00
26b77221da nixpkgs: 2023-08-01 -> 2023-08-02
```
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/9e1960bc196baf6881340d53dccb203a951745a2' (2023-08-01)
  → 'github:nixos/nixpkgs/66aedfd010204949cb225cf749be08cb13ce1813' (2023-08-02)
```
2023-08-03 12:32:21 +00:00
6877507ae0 xdg-utils: patch cross compilation via nixpkgs PR 2023-08-03 12:30:31 +00:00
8757f86c57 gupnp: patch via nixpkgs PR 2023-08-03 12:06:40 +00:00
633997f452 gupnp: update patch to point to nixpkgs PR 2023-08-03 11:38:43 +00:00
ff9163b365 iio-sensor-proxy: fix cross via nixpkgs PR 2023-08-03 10:34:50 +00:00
edd86e3981 upower: fix cross via nixpkgs PR 2023-08-03 10:28:21 +00:00
c9b60788b5 update bonsai/hare-ev/hare-json patches 2023-08-03 09:49:19 +00:00
66dad1e519 libgnt patch: use nixpkgs PR 2023-08-03 09:23:26 +00:00
687ceba474 libkiwix: downgrade to 12.0.0 again 2023-08-03 08:47:15 +00:00
6e85f26964 gupnp: fix via upstream PR 2023-08-03 08:46:36 +00:00
40dc8d698e libkiwix: 12.0.0 -> 12.1.0 2023-08-03 06:10:23 +00:00
350f7e32f8 desko: disable dino/gajim XMPP clients until i need them again 2023-08-03 06:10:03 +00:00
3a5b72a258 moby: ship chatty 2023-08-03 06:10:03 +00:00
b40ac95b5c cross: get chatty-latest to cross compile 2023-08-03 06:10:03 +00:00
c1a8d1aa18 sane-bt-search: document the --h265 option 2023-08-03 05:28:32 +00:00
03d7806adf flakey-tests: leave a note about libqmi 2023-08-03 00:39:44 +00:00
9d06bfb544 cross: compile tangram with less emulation 2023-08-03 00:39:18 +00:00
bf5ac3cb76 cross: get mepo to cross compile
haven't tried running it. its dependency on gpsd drags in the host
python, so probably *something* will need fixing.

this reduces the closure by a full 1GB though.
2023-08-03 00:38:21 +00:00
85e63caeb0 nixpkgs: 2023-07-29 -> 2023-08-01
```
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/e6ab46982debeab9831236869539a507f670a129' (2023-07-29)
  → 'github:nixos/nixpkgs/9e1960bc196baf6881340d53dccb203a951745a2' (2023-08-01)
```
2023-08-02 21:32:11 +00:00
dcf97b70e1 programs: use the declPackageSet helper 2023-08-02 21:20:50 +00:00
44059b34c7 don't ship unused sane-scripts 2023-08-02 21:09:16 +00:00
561802ec41 cross: add links to upstream PRs/issues 2023-08-02 20:30:24 +00:00
b464e60a77 chatty: build w/o samba 2023-08-02 20:30:06 +00:00
b73b4b0439 chatty: persist the share directory 2023-08-02 11:36:49 +00:00
991685d149 chatty-latest: add glib-networking to fix TLS 2023-08-02 11:13:11 +00:00
4d7111feef chatty: try a newer build (still fails homeserver handshake) 2023-08-02 10:49:44 +00:00
bd8cec311e cleanup: guiApps syntax 2023-08-02 08:35:36 +00:00
fd174a0475 gui: ship nheko on moby again 2023-08-02 08:33:58 +00:00
3e83a1956c cross: try to fix fractal compilation (no luck) 2023-08-02 08:31:48 +00:00
57f272c9ba sway: expose needed env vars to user dbus services (xdg-desktop-portal) 2023-08-02 08:23:14 +00:00
186c09594d sway: remove default packages (unused) 2023-08-02 08:19:56 +00:00
c74ba4e733 sway: enable xdg-desktop-portal-gtk
it's failing to start though
2023-08-02 08:16:05 +00:00
8a126d0a64 programs: explicitly declare dependencies on gnome-keyring 2023-08-02 07:40:57 +00:00
2e04a512b3 programs: get a semi-working build of chatty (need to set xdg.portal?) 2023-08-02 07:15:33 +00:00
b4c83987f9 overlays: split the pipewire ffado tweak into a preferences overlay 2023-08-02 06:38:46 +00:00
cc09832187 cross: fix libshumate build (used by fractal) 2023-08-02 06:25:53 +00:00
33b41482e2 cross: use upstream iio-sensor-proxy fix 2023-08-02 06:24:59 +00:00
6e523e7162 fractal: fix fractal-latest, and persist data directory 2023-08-02 06:24:00 +00:00
995c586fd9 nixpatches: remove upstreamed gpodder xdg-utils patch 2023-08-01 22:50:20 +00:00
3aa5852cf2 alsa-project as a scope: push patch upstream 2023-08-01 22:48:02 +00:00
8efad09cf4 cross: remove unused qt stuff 2023-08-01 22:47:43 +00:00
a7b71979f9 cross: move gst-plugins-good override into nheko
and fully disable the qt5 stuff; reduces rebuilds & saves 20MB closure
2023-08-01 22:04:28 +00:00
1082ab22bf cross: work to upstream a few more things (deployed & working) 2023-08-01 21:48:25 +00:00
5b2598bcaa cross: upstream a bunch of stuff (still waiting on build...) 2023-08-01 08:07:27 +00:00
1ba877b325 upnp-forward: add a timeout to the unit
especially, this lets the target die, and the timer restart, when the UPNP stuff hangs
2023-07-31 11:06:04 +00:00
7ab5cfa698 cross: update gcr_4 blockers 2023-07-31 10:31:12 +00:00
8a367b718d moby: replace file-roller with xarchiver 2023-07-31 09:59:15 +00:00
4e37f2c651 cross: annotate upstreaming status 2023-07-31 08:17:32 +00:00
2cf714c999 nixpkgs: 2023-07-25 -> 2023-07-29
```
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/ef99fa5c5ed624460217c31ac4271cfb5cb2502c' (2023-07-25)
  → 'github:nixos/nixpkgs/e6ab46982debeab9831236869539a507f670a129' (2023-07-29)
```
2023-07-31 03:37:32 +00:00
6f835db8f3 cross: don't unnecessarily emulate pkgsi686Linux.tbb 2023-07-31 03:13:26 +00:00
206dd84477 sane-reclaim-disk-space: remove rmlint
i wasn't using it, and now we can emulate less :)
2023-07-31 03:10:38 +00:00
381a111944 cross: remove explicit emulation of packages i no longer use on arm 2023-07-31 03:06:54 +00:00
3138482ed9 cross: remove ununsed emulation-based compilation fixes 2023-07-31 02:54:32 +00:00
1796d3c259 sxmo-utils: call out (but dont apply) the lock-state perf patch 2023-07-31 02:22:16 +00:00
b565a719fb sxmo-utils: fetch upstreamed xkb path patch instead of using local patch 2023-07-31 02:13:15 +00:00
f7ac46fd30 refactor: don't hardcode the libreoffice 'fresh' variant 2023-07-31 02:03:19 +00:00
61cf801983 nixpatches: use the dtrx from upstream PR 2023-07-31 01:59:53 +00:00
ae9a81919f replace unar with dtrx
the former is costly to (cross-)compile
2023-07-31 01:13:15 +00:00
9ca8c74ed7 feeds: add wireshark podcast 2023-07-31 00:11:47 +00:00
fd58896c0c cross: no longer emulate perl packages 2023-07-31 00:03:21 +00:00
d2a46e88f6 gui: disable chromium 2023-07-31 00:02:09 +00:00
5cd05d8762 programs: split consoleUtils into separate normal/desktop sets 2023-07-30 11:59:38 +00:00
a35f3e238d jellyfin: switch back to stock qt5 upstream 2023-07-30 11:30:17 +00:00
039d685e3c flake: deploy-moby: deploy to the wireguard address, to handle when the device is docked 2023-07-30 11:23:02 +00:00
da42b3ddd7 sxmo: address fonts.fonts -> fonts.packages deprecation warning 2023-07-30 02:26:17 +00:00
51eaf83be8 komikku: downgrade to nixpkgs source, keeping my upstreamed patch 2023-07-30 01:49:12 +00:00
d8a6a1df41 cross fixes 2023-07-30 01:48:29 +00:00
36176abdf3 libwacom, pipewire: fix build/remove qt5 dep 2023-07-30 01:45:37 +00:00
085c38ea47 moby: ship portfolio instead of nautilus file browser 2023-07-30 01:44:49 +00:00
9adaece9d6 sane.programs.nheko: split to own file 2023-07-30 01:44:08 +00:00
df8e572a8f sane.programs.megapixels: ship w/o qt deps 2023-07-30 01:43:35 +00:00
d39b698066 sane.programs.fractal: split to separate file 2023-07-30 01:42:58 +00:00
83c483395c fractal-lated: bump 2023-07-30 01:41:47 +00:00
2e08321016 cross: leave notes for what blocks each fix from being upstreamed 2023-07-29 10:57:55 +00:00
abf80d765c cross: fix nautilus; reduce emulation for tracker{,-miners} 2023-07-29 10:57:05 +00:00
8c0b215832 overlays: disable-flakey-tests: remove dead code 2023-07-28 10:49:05 +00:00
28c9bd3cac overlays: disable-flakey-tests: remove ell/libwacom (not flakey); add elfutils 2023-07-28 10:49:05 +00:00
e1e40332f7 cross: reduce gtk-related emulation (esp wrapGAppsHook) 2023-07-28 10:49:05 +00:00
28ef8141f7 nixpkgs: 2023-07-24 -> 2023-07-25; uninsane-dot-org
```
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/b12803b6d90e2e583429bb79b859ca53c348b39a' (2023-07-24)
  → 'github:nixos/nixpkgs/ef99fa5c5ed624460217c31ac4271cfb5cb2502c' (2023-07-25)
• Updated input 'uninsane-dot-org':
    'git+https://git.uninsane.org/colin/uninsane?ref=refs/heads/master&rev=1542323cfb46a8950c17a3afa5f7cd2e62dd9672' (2023-07-02)
  → 'git+https://git.uninsane.org/colin/uninsane?ref=refs/heads/master&rev=fcec1d09b6c469d9425a716b11b4f4995a285774' (2023-07-25)
```
2023-07-28 01:20:25 +00:00
ad6b0ea75e nixpkgs: 2023-07-22 -> 2023-07-24
```
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/12303c652b881435065a98729eb7278313041e49' (2023-07-22)
  → 'github:nixos/nixpkgs/b12803b6d90e2e583429bb79b859ca53c348b39a' (2023-07-24)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/bd695cc4d0a5e1bead703cc1bec5fa3094820a81' (2023-07-16)
  → 'github:Mic92/sops-nix/c36df4fe4bf4bb87759b1891cab21e7a05219500' (2023-07-24)
• Updated input 'sops-nix/nixpkgs-stable':
    'github:NixOS/nixpkgs/13231eccfa1da771afa5c0807fdd73e05a1ec4e6' (2023-07-16)
  → 'github:NixOS/nixpkgs/ce45b591975d070044ca24e3003c830d26fea1c8' (2023-07-22)
```
2023-07-28 01:20:25 +00:00
f59da7ad0f feeds: add minding our way 2023-07-28 01:14:28 +00:00
183457444c feeds: add Ezra Klein show 2023-07-28 01:08:19 +00:00
28a91723b8 feeds: add Atlas Obscura podcast 2023-07-28 01:06:15 +00:00
9b53a28920 lemmy-server: remove useless override 2023-07-28 00:57:08 +00:00
49e33d7238 mpv-uosc-latest: warn once next release hits nixpkgs 2023-07-28 00:55:37 +00:00
6572557b5b flake: add help program 2023-07-28 00:49:44 +00:00
e18fb2ce4e mpv: change reverse seek from 30s to 10s 2023-07-28 00:34:49 +00:00
027e7cb074 cross: fix mpvScripts.mpris compilation 2023-07-27 12:16:23 +00:00
13ae0b798c mpv-uosc-latest: fix fonts 2023-07-27 12:16:09 +00:00
d8675b544a mpv: uosc: fix for touchscreen support 2023-07-27 11:45:28 +00:00
5bf5d82d30 mpv: add the mpris plugin 2023-07-27 05:47:21 +00:00
0c92f3695a mpv: switch to uosc interface 2023-07-26 12:36:01 +00:00
558258c367 moby: switch to mpv
needs some more tuning, but ditching vlc means no more Qt, and it looks
like i can tune the mpv UI to be substantially better for my wants
2023-07-26 09:56:35 +00:00
7f13c482e5 cross compilation: support clapper 2023-07-26 08:51:51 +00:00
7b21ede5c4 moby: enable gpsd 2023-07-25 12:05:41 +00:00
219bb02cb8 refactor: moby: cleaner way to disable gestures 2023-07-25 10:56:29 +00:00
2df59f7c7d moby: rename firmware.nix -> bootloader.nix 2023-07-25 10:52:58 +00:00
11a7370a76 moby: sxmo: dont auto-start gestures daemon 2023-07-24 21:46:23 +00:00
44e3b01e7c moby: sxmo: waybar: remove the 2px shadows 2023-07-24 21:11:48 +00:00
c7f0e5c8b5 moby: sxmo: waybar: use consistent left/right padding 2023-07-24 21:11:08 +00:00
7ce33340f9 moby: sxmo: style titlebars 2023-07-24 10:50:08 +00:00
8f77b1db94 moby: sxmo: swaybar: decrease animations 0.3s -> 0.2s 2023-07-24 09:36:21 +00:00
f4cac0c158 moby: sxmo: swaybar: shrink from 32 px -> 28 px 2023-07-24 09:33:02 +00:00
04106e660e moby: sxmo: stylize the waybar to match other colors 2023-07-24 08:13:56 +00:00
6ed550b813 moby: theme bemenu to match desktop background 2023-07-24 03:33:50 +00:00
1cfd0fab6a sxmo: patch over duplicated lisgd services 2023-07-24 01:36:13 +00:00
5a31a0b415 koreader-from-src: clean up some dead code/comments 2023-07-23 23:44:33 +00:00
eb82268eee nipkgs: 2023-07-21 -> 2023-07-22; mobile-nixos 2023-05-07 -> 2023-07-22
```
• Updated input 'mobile-nixos':
    'github:nixos/mobile-nixos/ba4638836e94a8f16d1d1f9e8c0530b86078029c' (2023-05-07)
  → 'github:nixos/mobile-nixos/56fc9f9619f305f0865354975a98d22410eed127' (2023-07-22)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/9ca785644d067445a4aa749902b29ccef61f7476' (2023-07-21)
  → 'github:nixos/nixpkgs/12303c652b881435065a98729eb7278313041e49' (2023-07-22)
```
2023-07-23 21:04:46 +00:00
86964f6fde koreader: ship the from-src build 2023-07-23 21:00:43 +00:00
3121a6a7e9 cross: koreader-from-src: fix by emulating luajit 2023-07-23 11:37:18 +00:00
c353f06832 koreader-from-src: support cross compilation (cross luajit fails due to table.pack == nil) 2023-07-23 01:29:20 +00:00
b6a878757c sane-bt-search: implement --h265 flag 2023-07-22 21:56:00 +00:00
c862b559e7 sane-bt-search: error on bad --top=N usage 2023-07-22 21:55:24 +00:00
64c8dabaf2 nixpkgs: 2023-07-16 -> 2023-07-21
```
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/6cee3b5893090b0f5f0a06b4cf42ca4e60e5d222' (2023-07-16)
  → 'github:nixos/nixpkgs/9ca785644d067445a4aa749902b29ccef61f7476' (2023-07-21)
```
2023-07-22 10:57:43 +00:00
512b5d78d4 moby: update bg, and add the blur/fade to the image instead of to conky 2023-07-22 10:56:06 +00:00
0479a43f2d koreader-from-src: remove some unneeded buildInputs 2023-07-22 09:32:15 +00:00
307e93de3b koreader: RSS: specify download_full_article=true by default 2023-07-22 08:55:05 +00:00
13d623201e koreader-from-src: it runs! 2023-07-22 08:44:11 +00:00
f223af584d koreader: build to install
launch doesn't work because it fails to load libSDL.so
2023-07-22 06:03:54 +00:00
9a2f648463 koreader-from-src: get the entire buildPhase working
fails in install: bash: line 1: /build/koreader/platform/debian/do_debian_package.sh: cannot execute: required file not found
2023-07-22 06:03:54 +00:00
e29361f05e koreader-from-src: get glib input working 2023-07-22 06:03:54 +00:00
439eeeeb45 koreader-from-src: get lua-Spore, libzmq, czmq, libffi deps passing 2023-07-22 06:03:54 +00:00
6a6276c2e0 koreader-from-src: get deps compiling: lua-htmlparser, lpeg 2023-07-22 06:03:54 +00:00
e5d311188e koreader-from-src: get a few more dependencies to succeed 2023-07-22 06:03:54 +00:00
98ef5d77c3 koreader-from-src: get mupdf to build 2023-07-22 06:03:54 +00:00
f3edafd11c koreader-from-src: add most remaining sources 2023-07-22 06:03:54 +00:00
2fdf95cea6 koreader-from-src: add more sources 2023-07-22 06:03:54 +00:00
7b8af3e719 koreader-from-src: remove deepClone and keepDotGit options 2023-07-22 06:03:54 +00:00
f95c45fb8e koreader-from-src: enable freetype2, fbink sources
it seems we still check out submodules even if deepClone is false?
2023-07-22 06:03:54 +00:00
0be20351a1 koreader-from-src: add fribidi source 2023-07-22 06:03:54 +00:00
519ee152b9 koreader-from-src: sort the thirdparty sources alphabetically 2023-07-22 06:03:54 +00:00
5baba0378f koreader-from-src: add curl, zstd sources 2023-07-22 06:03:54 +00:00
3ac193f9b4 koreader-from-src: specify thirdparty sources as attrs instead of list 2023-07-22 06:03:54 +00:00
8b72338f3a koreader-from-src: add sources for libk2pdfopt 2023-07-22 06:03:54 +00:00
c82e445e07 koreader-from-src: add sources for tesseract/leptonica 2023-07-22 06:03:54 +00:00
5ce0805046 koreader-from-src: nit: tidy fetchgit impl 2023-07-22 06:03:54 +00:00
7e5904c073 koreader-from-src: add libpng dep 2023-07-22 06:03:54 +00:00
cc50ad172c koreader-from-src: vendor zlib 2023-07-22 06:03:54 +00:00
29a4466750 koreader-from-src: get further into the build; split sources into own file 2023-07-22 06:03:54 +00:00
ba9eebcda8 koreader-from-src: tidy up 2023-07-22 06:03:54 +00:00
44ba0adacc koreader-from-src: advance the build past luajit (the following jpeg dep fails) 2023-07-22 06:03:54 +00:00
695ff8d057 WIP: build koreader from source 2023-07-22 06:03:54 +00:00
c71136c315 sxmo: conky: tune the shade colors 2023-07-21 23:07:52 +00:00
e7d5b14ab0 sxmo: battery_estimate: improve edge cases 2023-07-21 22:51:24 +00:00
6d216c14fa moby: conky: update config to work better with nixos bg 2023-07-21 22:46:59 +00:00
f037e0b5a4 sxmo: update docs links 2023-07-21 22:46:14 +00:00
75fe6226c8 moby: use librewolf as default browser again 2023-07-21 21:29:48 +00:00
556664f10d sxmo: start lisgd by default again
patching it out the way i was is incompatible with the upstream patch which
makes its enablement status persistent
2023-07-21 21:28:42 +00:00
bc46dc310d sxmo: define a background 2023-07-21 21:28:26 +00:00
94bae57411 gthumb: add svg mime association 2023-07-21 20:00:45 +00:00
bd16aaa884 sxmo-utils: fix so auto-rotate does not restart gestures 2023-07-21 10:17:21 +00:00
777d1a1588 add todo: pkgs.impure-cached set 2023-07-21 09:13:15 +00:00
a73937c32c complete a todo: webkitgtk mem use/swap 2023-07-21 09:10:13 +00:00
ee284901ff firefox-extensions: bypass-paywalls-clean: disable nag pages 2023-07-18 22:38:30 +00:00
0cb81bb86f browserpass-extension: nit: remove unused parameter 2023-07-18 22:08:27 +00:00
10bdd3c05a firefox: ship bypass-paywalls-clean extension 2023-07-18 22:08:27 +00:00
5ed33d90cf moby: fix sidebery disable type 2023-07-18 20:06:36 +00:00
535bbd2c0b sane.{programs,user}.fs: pass fs values onto sane.fs unmerged
notably, this allows ~/.config/zsh/.zshrc to be specified by more than one location, and for the values to not overwrite one another
2023-07-18 11:25:27 +00:00
ad16e50081 sxmo: configure screenshot directory 2023-07-18 10:40:54 +00:00
9f6760a37f moby: doc: add resources 2023-07-18 10:39:44 +00:00
ef203c3215 sxmo-utils: use makeBinaryWrapper for better perf 2023-07-18 10:18:15 +00:00
e3b7896169 zsh/starship: improve padding on ssh line 2023-07-18 10:17:13 +00:00
91f47f863d zsh: factor out the colors to avoid repeating them 2023-07-18 10:14:13 +00:00
532a78e2b2 desko: disable wpa_supplicant 2023-07-18 10:02:25 +00:00
11a4b7006e upnp-forwards: fix timer to actually run every hour 2023-07-18 09:54:06 +00:00
a907fa1ca7 flake: rework so deploy scripts can be run in parallel 2023-07-18 09:10:25 +00:00
90279efebb sxmo-utils: add missing grim dep (for wayland screenshots) 2023-07-18 08:29:42 +00:00
5c1eaf273e zsh/starship: fix bg color for ssh prompt 2023-07-18 08:28:53 +00:00
f12737b1f9 starship: try some other status symbols (but stay as is) 2023-07-18 03:51:03 +00:00
254b248bf3 starship: configure bg color for username section 2023-07-18 03:41:45 +00:00
431b1054e6 complete starship/zsh perf todo 2023-07-18 03:32:31 +00:00
e6b5223e2e zsh: starship: theme 2023-07-18 03:26:51 +00:00
d583d5db4f cross: emulate less of gnustep 2023-07-18 02:50:35 +00:00
1709f64a69 zsh/starship: fix init 2023-07-18 02:17:44 +00:00
23e95ba2ba modules: fs: symlink.text: allow specifying it multiple times 2023-07-18 02:17:25 +00:00
1dfd894568 cross: gnustep: emulate only gnustep.base 2023-07-18 01:32:50 +00:00
13d3a5ba6b cross: silence qt.overrideScope' warning 2023-07-18 01:32:06 +00:00
2716c0398b zsh: switch to starship prompt 2023-07-18 01:30:53 +00:00
0ba1a9f984 zsh: factor p10k stuff out of the main module; minimal support for starship prompt 2023-07-18 01:28:30 +00:00
1ddd79fdf0 complete todos: sway super; firefox first run prompts 2023-07-18 00:43:58 +00:00
761d60a7f4 cross: fix browserpass-extension compilation 2023-07-17 22:28:05 +00:00
82f141c0df firefox-extensions: make it a scope 2023-07-17 22:27:49 +00:00
6ce10b00af firefox-extensions: refactor to be more amenable to overrides 2023-07-17 22:19:29 +00:00
ff17ed599d firefox: disable metamask 2023-07-17 21:33:15 +00:00
96d0c52d28 refactor: firefox-extensions: patch in preferences at the same place we define how to build the addon 2023-07-17 21:32:10 +00:00
007c13f975 sponsorblock: remove the goddamn first-run popup
fuck javascript/typescript/whatever

y'all started with a low-complexity ecosystem and then drove the whole thing with some apparent goal of maximizing complexity

minified js? WHY? compile to native/wasm if you care about perf, else optimize for readability/patchability and leave compression to gzip like a normal fucking person
2023-07-17 21:22:24 +00:00
2b9de91540 firefox-extensions: make the patching logic even more pluggable 2023-07-17 20:47:55 +00:00
0175adbf27 firefox-extensions: make the patching logic more pluggable 2023-07-17 20:41:04 +00:00
83bc056ceb nixpkgs: 2023-07-15 -> 2023-07-16
```
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/8acef304efe70152463a6399f73e636bcc363813' (2023-07-15)
  → 'github:nixos/nixpkgs/6cee3b5893090b0f5f0a06b4cf42ca4e60e5d222' (2023-07-16)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/cfe47aff8660fd760b1db89613a3205c2c4ba7b6' (2023-07-15)
  → 'github:Mic92/sops-nix/bd695cc4d0a5e1bead703cc1bec5fa3094820a81' (2023-07-16)
• Updated input 'sops-nix/nixpkgs-stable':
    'github:NixOS/nixpkgs/3dc2bc15956db2ff2316af45eefd45803fc1372b' (2023-07-15)
  → 'github:NixOS/nixpkgs/13231eccfa1da771afa5c0807fdd73e05a1ec4e6' (2023-07-16)
```
2023-07-17 20:12:50 +00:00
0e5cb3ada9 nixpkgs: 2023-07-14 -> 2023-07-15
```
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/dfdbcc428f365071f0ca3888f6ec8c25c3792885' (2023-07-14)
  → 'github:nixos/nixpkgs/8acef304efe70152463a6399f73e636bcc363813' (2023-07-15)
```
2023-07-17 19:53:29 +00:00
b4d58a1515 sxmo: do restart lisgd on rotation, but don't enable lisgd by default
the restart logic is racy, and lisgd with autorotate becomes unusable after long enough
2023-07-17 19:53:19 +00:00
88153fe7a1 lemoa: 0.2.0 -> 0.3.0 2023-07-17 06:12:46 +00:00
ad67f7b13e browserpass-extension: move to firefox-extensions scope 2023-07-17 05:25:12 +00:00
40cc0367d8 zsh: switch(): add keep-going flag 2023-07-17 05:22:12 +00:00
a10e31257a sxmo-utils: sxmo_rotate: don't restart lisgd on sway 2023-07-17 05:21:46 +00:00
d7929ed06a firefox: generalize the facility to remove permissions from an extension 2023-07-17 03:57:42 +00:00
2c96ecfd0d firefox-extensions: factor out into own file 2023-07-17 03:12:04 +00:00
7c9664270d sane-wipe-browser: also kill browser processes that might be sticking around in ram 2023-07-17 01:55:32 +00:00
6f5c5a5113 browserpass-extension: disable startup/install notification 2023-07-17 01:55:32 +00:00
ebcc0c269e trust-dns: remove from this repo
it's fully upstreamed into nixpkgs now
2023-07-16 12:27:23 +00:00
57681bfa6d moby: re-enable firefox, but still default to epiphany 2023-07-16 12:26:31 +00:00
9058caac1d moby: firefox: disable sideberry 2023-07-16 12:25:42 +00:00
60650f82fe firefox: switch back to the default UI -- not pmos-mobile 2023-07-16 12:25:12 +00:00
11b4d2d66a doc: mime: show how to go from scheme -> .desktop association 2023-07-16 12:17:54 +00:00
0111d4220e nixos/trust-dns: add myself as maintainer 2023-07-16 04:13:19 +00:00
83b76dc47e moby: fix occasional blank screen on boot 2023-07-16 00:37:09 +00:00
c7ca3ad563 wifi: add new network 2023-07-15 22:40:18 +00:00
1c891f45df wifi: add new network 2023-07-15 22:36:53 +00:00
dc6790e168 nixpkgs: 2023-07-13 -> 2023-07-14
```
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/e74e68449c385db82de3170288a28cd0f608544f' (2023-07-13)
  → 'github:nixos/nixpkgs/dfdbcc428f365071f0ca3888f6ec8c25c3792885' (2023-07-14)
```
2023-07-15 22:13:14 +00:00
3bbbb6c714 sxmo-utils: sxmo_wmmenu: respect SXMO_WORKSPACE_WRAPPING 2023-07-15 22:10:15 +00:00
8788a8c67a servo: upnp-forwards.timer: fix to invoke upnp-forwards.target instead of upnp-forwards.service 2023-07-15 22:08:55 +00:00
6ae73bdf87 lemmy-server: 0.18.1 -> 0.18.2 2023-07-15 21:04:19 +00:00
47a973b603 sops-nix: 2023-07-12 -> 2023-07-15
```
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/88b964df6981e4844c07be8c192aa6bdca768a10' (2023-07-12)
  → 'github:Mic92/sops-nix/cfe47aff8660fd760b1db89613a3205c2c4ba7b6' (2023-07-15)
• Updated input 'sops-nix/nixpkgs-stable':
    'github:NixOS/nixpkgs/510d721ce097150ae3b80f84b04b13b039186571' (2023-07-09)
  → 'github:NixOS/nixpkgs/3dc2bc15956db2ff2316af45eefd45803fc1372b' (2023-07-15)
```
2023-07-15 10:12:29 +00:00
20b8e2934c moby: don't ship firefox 2023-07-15 10:11:45 +00:00
088286d8f7 mime: support multiple implementors of the same association, with different priorities 2023-07-15 10:11:31 +00:00
29b53d934f trust-dns: apply PR feedback 2023-07-15 09:07:57 +00:00
77e5f82b31 programs: rename web-browser -> firefox 2023-07-15 08:51:36 +00:00
55d64eb598 programs: factor out a sane.programs.<foo>.mime schema 2023-07-15 08:44:18 +00:00
d459dd0f85 net: switch from iwd back to stock NetworkManager/wpa_supplicant 2023-07-15 07:16:10 +00:00
9594c03d66 net: port iwd secrets to a .json file that i can make backend agnostic 2023-07-15 06:38:50 +00:00
7391ce0b05 programs: move the guiApps category up to hosts/modules/gui 2023-07-15 01:02:41 +00:00
2822dd6137 programs: update tor-browser bug info 2023-07-15 00:44:24 +00:00
e5cca42717 servo: fix sane.nixcache path 2023-07-15 00:40:31 +00:00
799c53adf4 sway/waybar: remove font specification (it's probably not used by the bar i have actually deployed, anyway?) 2023-07-15 00:38:57 +00:00
0ed9394fff sway: define the secret snippets more idiomatically 2023-07-15 00:23:14 +00:00
e6a989bc92 nginx/pleroma: correct an old todo 2023-07-15 00:08:05 +00:00
2385984152 duplicity: restrict readability 2023-07-15 00:02:22 +00:00
809c9f74c3 phosh: remove dead code 2023-07-14 23:59:35 +00:00
44b15ba8ed users: apply default permissions to any user who goes through the sane.users module 2023-07-14 23:56:01 +00:00
ab7068c819 lappy: remove some dead ipfs code 2023-07-14 23:44:47 +00:00
746af067dc moby: increase menu lines in landscape mode 2023-07-14 23:41:52 +00:00
918febe884 nixpkgs: 2023-07-12 -> 2023-07-13 2023-07-14 22:58:19 +00:00
b5d1baf3ee zramSwap: increase capacity to 100% of uncompressed RAM 2023-07-14 22:57:19 +00:00
2f5c33b2b4 nixcache: tidy up substituter config 2023-07-14 22:33:33 +00:00
fdc18821ca servo: matrix-appservice-irc: remove completed todo 2023-07-14 22:11:59 +00:00
2a537cd3b1 splatmoji: port fully to wayland 2023-07-14 22:09:43 +00:00
9aa4e6c0f2 remove completed todo's 2023-07-14 21:35:25 +00:00
6b1baefaa7 moby: link to some config references 2023-07-14 06:48:02 +00:00
85483cde79 moby: allow video group to write to front-facing LEDs 2023-07-14 06:47:32 +00:00
8feafbb615 pinephone: fix flashlight permissions, the proper way (udev) 2023-07-14 05:55:44 +00:00
e1bb0de76f sxmo: fix pinephone LED permissions 2023-07-14 00:30:53 +00:00
d7fb1b615a feeds: add boginjr.com 2023-07-14 00:02:37 +00:00
8aa2712956 feeds: disable LessWrong (too noisy/too AI) and SimonWillison (too bro) 2023-07-13 23:48:50 +00:00
962ffeab7e re-enable zramSwap on all devices
this is critical on moby, though even with this swap, we run out of CMA (videoram) instead -- just later
2023-07-13 23:37:30 +00:00
e5072c8837 linux-megous: update docs 2023-07-13 23:36:22 +00:00
992ae37ccf sxmo: cleanup use of sane-lib.fs.wantedText 2023-07-13 22:20:26 +00:00
1642734aa3 hosts/common: cleanup uses of sane-lib.fs.wantedText 2023-07-13 22:19:18 +00:00
a8382fed12 hosts/common: move /var/lib/private defn into fs.nix 2023-07-13 22:18:45 +00:00
cfa50500ac hosts/common: remove commented-out code 2023-07-13 22:09:53 +00:00
d3d9b30f29 consolidate /tmp fs into hosts/modules/roles 2023-07-13 22:04:28 +00:00
4b99331e5a nixpkgs: 2023-07-11 -> 2023-07-12
```
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/f2406198ea0e4e37d4380d0e20336c575b8f8ef9' (2023-07-11)
  → 'github:nixos/nixpkgs/2de8efefb6ce7f5e4e75bdf57376a96555986841' (2023-07-12)
```
2023-07-13 20:19:02 +00:00
76347309bc sxmo: disable Xwayland 2023-07-13 10:50:40 +00:00
1347199a87 sxmo: group these statements more logically 2023-07-13 10:50:40 +00:00
c8a59d9986 trust-dns: grab from nixpkgs PR 2023-07-13 10:49:12 +00:00
41f4d8e85a trust-dns: specify zone via shorthand 2023-07-13 10:04:20 +00:00
e38bf42506 trust-dns: migrate module to nixpkgs repo 2023-07-13 09:57:11 +00:00
ffec91a52c moby: disable zsh deadlines 2023-07-13 08:12:05 +00:00
f54f972056 vlc: move persisted data to ~/private, and add .cache/vlc, for artwork 2023-07-13 07:20:13 +00:00
f2eba95dfc users/colin: persist some notable cache directories 2023-07-13 07:17:27 +00:00
8b3521d08f fixup sxmo persistence (prev two commits don't build 2023-07-13 07:17:09 +00:00
5e07882568 sxmo: back the superd log directory with a store 2023-07-13 06:58:48 +00:00
abb4492897 sxmo: persist the /var/lib/lightdm directory 2023-07-13 06:56:03 +00:00
427e6bb696 /root: back by a physical store 2023-07-13 06:50:46 +00:00
d4ed4ae9f1 librewolf: *always* back the dot dir by a real disk
this saves ram on memory-constrained devices
2023-07-13 06:44:22 +00:00
fe5be03e0a readme: mention the doc/ folder 2023-07-13 06:35:11 +00:00
0875b6fd22 readme: suggest how to send patches 2023-07-13 06:34:19 +00:00
527607e38f desko: use sane.programs.steam 2023-07-13 06:27:54 +00:00
e416405f44 nixpkgs: 2023-07-10 -> 2023-07-11
```
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/4a729ce4b1fe5ec4fffc71c67c96aa5184ebb462' (2023-07-10)
  → 'github:nixos/nixpkgs/f2406198ea0e4e37d4380d0e20336c575b8f8ef9' (2023-07-11)
```
2023-07-13 02:05:01 +00:00
5090340189 sxmo: battery_estimate: zero-pad the minutes 2023-07-13 02:02:25 +00:00
7dc0899784 sxmo: conky: tune config 2023-07-13 02:00:15 +00:00
19b697cc52 conky-config: remove trailing whitespace 2023-07-13 01:36:24 +00:00
cd011d845a sxmo: include superd on path 2023-07-13 01:35:37 +00:00
67a52eca86 sxmo: conky: include battery estimate 2023-07-13 01:35:31 +00:00
29bf9d410f sxmo: customize the conky display 2023-07-13 01:35:23 +00:00
694a5383cb sane-bt-search: ignore the uhd tag 2023-07-13 01:35:12 +00:00
96b3896017 sane-vpn-up/down: fix sane-ip-check invocation to not use UPNP 2023-07-13 01:33:52 +00:00
4a7398da2f trust-dns: finish hardening 2023-07-13 01:33:31 +00:00
ceef95cbe3 fix komikku patch hash 2023-07-13 00:59:30 +00:00
99d97af742 sops-nix: 2023-07-09 -> 2023-07-12
```
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/b2047c8fc963407916ad3834165309007dc5a1f7' (2023-07-09)
  → 'github:Mic92/sops-nix/88b964df6981e4844c07be8c192aa6bdca768a10' (2023-07-12)
```
2023-07-12 11:38:16 +00:00
545babe86c sxmo: document waybar-config defaults 2023-07-12 11:36:50 +00:00
ba7078527a sway: fix config symlink 2023-07-12 11:34:41 +00:00
c2b2d5eaa9 sxmo: switch to waybar 2023-07-12 11:28:54 +00:00
58be04b632 cross: get waybar to compile 2023-07-12 10:27:08 +00:00
f0d396543f sxmo: set mod key to alt instead of logo 2023-07-12 10:10:03 +00:00
6d21c917d5 sxmo: import the default sway config 2023-07-12 10:03:58 +00:00
ec277d1347 sxmo: move to subdirectory 2023-07-12 09:42:23 +00:00
f5264508eb komikku: fix cross compilation 2023-07-12 09:16:32 +00:00
0d6a10bc3a komikku: don't crash when crop_borders fails to find borders 2023-07-12 08:58:35 +00:00
33c6330cbc gui: delete plasma-mobile 2023-07-12 08:25:09 +00:00
ece02f35c6 gui: delete plasma 2023-07-12 08:24:55 +00:00
d4e6001431 moby: increase workspaces from 4 -> 5 2023-07-12 08:24:13 +00:00
cded837255 moby: sort sxmo prefs alphabetically 2023-07-12 08:24:13 +00:00
2ae187ea62 komikku: update to latest rev 2023-07-12 08:24:13 +00:00
e317cc4c12 refactor: sway: fix config indentation 2023-07-12 08:24:01 +00:00
83275ed0b6 komikku: 1.21.1 -> 1.22.0 2023-07-12 07:51:42 +00:00
e5a81f0a45 moby: update env tunables 2023-07-12 06:45:47 +00:00
e4d0cabd13 conky: enable Wayland support; 1.18.0 -> 1.19.2 2023-07-12 02:09:34 +00:00
a2a2db1611 cross: Tangram: reduce emulated inputs 2023-07-12 01:25:46 +00:00
586b181714 snippets: update firewall address 2023-07-12 00:13:10 +00:00
a51817625a sandboxing todo: mention nixpak 2023-07-11 22:26:12 +00:00
ddec0cae7a nixpkgs: 2023-07-09 -> 2023-07-10
```
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/408c0e8c15a1c9cf5c3226931b6f283c9867c484' (2023-07-09)
  → 'github:nixos/nixpkgs/4a729ce4b1fe5ec4fffc71c67c96aa5184ebb462' (2023-07-10)
```
2023-07-11 21:13:11 +00:00
4cc4c3293b programs: don't ship ncdu 2023-07-11 21:12:25 +00:00
615e9befb3 document some dconf findings 2023-07-11 10:05:46 +00:00
9502fb34c7 tangram: don't need to create the dconf db: dconf will do that for us if need-be 2023-07-11 10:04:03 +00:00
17951be995 tangram: persist dconf files
with this, saved tabs are *actually* saved
2023-07-11 10:02:47 +00:00
281116bc7d document how to ship programs 2023-07-11 08:11:48 +00:00
70fcf179d5 programs: ship ncdu 2023-07-11 08:11:10 +00:00
3f81370879 install-iwd: allow the paths to be omitted 2023-07-11 07:32:54 +00:00
f71fd4565b sane-ip-reconnect: be more resilient to errors 2023-07-11 07:24:46 +00:00
79fca6c5e5 sane-ip-reconnect: add type annotations to compound types 2023-07-11 07:13:16 +00:00
3bbc4aecbb fix derived secrets (all were failing) 2023-07-11 05:15:56 +00:00
464db2c118 complete UPNP service split todo 2023-07-11 01:57:47 +00:00
8e94d77b0f ports: create a separate systemd service per port forward
this allows one failed forward to not take down all forwards
2023-07-11 01:56:59 +00:00
307121ec2c sane_ssdp: cache the UPNP root device
i could also cache the lan and wan... future work, i guess
2023-07-11 01:18:47 +00:00
8bd7fa8a3f sway: use Super modifier instead of Alt
this allows applications to use the Alt key
2023-07-11 00:55:17 +00:00
41aa13621d add a TODO for using Starship prompt 2023-07-11 00:55:17 +00:00
f765e3d030 sane-ip-check: also store the upnp gateway 2023-07-11 00:55:04 +00:00
798f467128 sane_bt: add return type annotations 2023-07-10 22:42:39 +00:00
35431f5b53 sane_ssdp: add more type annotations 2023-07-10 22:41:06 +00:00
0bc1082596 Merge branch 'staging/nixpkgs-2023-07-09' 2023-07-10 22:32:44 +00:00
c23cb8470f sane-bt-search: document --manga flag 2023-07-10 21:53:55 +00:00
d46ee21ce0 nixpkgs: 2023-07-06 -> 2023-07-09
```
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/3c7487575d9445185249a159046cc02ff364bff8' (2023-07-06)
  → 'github:nixos/nixpkgs/408c0e8c15a1c9cf5c3226931b6f283c9867c484' (2023-07-09)
```
2023-07-10 21:38:01 +00:00
abc9f4c464 moby: sxmo: switch SXMO_SWAY_SCALE back to default of 2 2023-07-10 09:07:17 +00:00
e92b621e09 sxmo: configure user prefs via ~/.config/sxmo/profile
rather than the system environment
2023-07-10 09:07:16 +00:00
d593349717 sane-ip-reconnect: repopulate secrets if necessary
sometimes iwd just... deletes them
2023-07-10 09:06:23 +00:00
452260f7c7 trust-dns: don't run as root 2023-07-10 09:00:37 +00:00
b648aca505 trust-dns: link to docs in service file 2023-07-10 08:12:07 +00:00
8c4af55f82 trust-dns: apply some hardening (still need more) 2023-07-10 08:00:45 +00:00
384428756d tangram/epiphany: preserve desktop files when patching 2023-07-10 06:49:27 +00:00
069f7b4616 sxmo: use ~/.config/sxmo/profile instead of system environment, for settings 2023-07-10 06:08:17 +00:00
c44756874a git: add todo for using toGitINI 2023-07-10 06:07:47 +00:00
23fb37a3e9 fs: have nodes require their parent instead of the weaker want
this may fix it so spurious (failed) mounts of ~/private *don't* create a bunch of directories that later cause a real mount to be impossible
2023-07-10 05:58:30 +00:00
5188ddf398 keyrings: answer a todo 2023-07-10 01:21:57 +00:00
db93bd42ed moby: ship megapixels camera app 2023-07-10 01:18:40 +00:00
b76d326da3 megapixels: fix cross compilation 2023-07-10 01:14:00 +00:00
3fa3091143 sxmo-utils: fix Tangram icon 2023-07-09 22:13:46 +00:00
81f527070f build machines: disable ccache 2023-07-09 18:55:37 +00:00
445bc08a0c desko: disable guest account 2023-07-09 18:49:36 +00:00
213e738305 sops-nix: 2023-07-02 -> 2023-07-09
```
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/5ed3c22c1fa0515e037e36956a67fe7e32c92957' (2023-07-02)
  → 'github:Mic92/sops-nix/b2047c8fc963407916ad3834165309007dc5a1f7' (2023-07-09)
• Updated input 'sops-nix/nixpkgs-stable':
    'github:NixOS/nixpkgs/f553c016a31277246f8d3724d3b1eee5e8c0842c' (2023-07-02)
  → 'github:NixOS/nixpkgs/510d721ce097150ae3b80f84b04b13b039186571' (2023-07-09)
```
2023-07-09 18:38:54 +00:00
3c309b65af programs: ship tangram to gui platforms 2023-07-09 11:17:54 +00:00
c751268f62 epiphany: leave a note about missing .desktop files 2023-07-09 11:17:07 +00:00
1bd815d2ef tangram: disable sandbox (same reason as with epiphany) 2023-07-09 11:16:08 +00:00
b3db579deb add todos for sway/firefox/helix 2023-07-09 10:50:37 +00:00
b152794cb6 get tangram to cross compile 2023-07-09 10:50:01 +00:00
96ddc9513d sxmo-utils: apply upstreamed patches via fetchpatch instead of storing in-repo 2023-07-09 07:48:10 +00:00
158f978f19 sxmo-utils: add icon for Tangram 2023-07-09 07:29:10 +00:00
963e59070d programs: define persistence for Tangram 2023-07-09 07:20:38 +00:00
5e66bad3dd epiphany: fix to launch on moby 2023-07-09 03:13:17 +00:00
a3a3da4c62 implement a ldd-aarch64 package & ship it for dev hosts 2023-07-09 00:32:22 +00:00
a0473782f9 nixpkgs: 2023-07-05 -> 2023-07-06
```
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/f292b4964cb71f9dfbbd30dc9f511d6165cd109b' (2023-07-05)
  → 'github:nixos/nixpkgs/3c7487575d9445185249a159046cc02ff364bff8' (2023-07-06)
```
2023-07-08 18:18:28 +00:00
640d9be83d derived-secrets: fix broken encoding 2023-07-08 11:20:28 +00:00
db72f5e11f fs: generated.script.scriptArgs -> generated.command 2023-07-08 11:15:23 +00:00
8753e5e0c6 fs: remove legacy generated.script.script option 2023-07-08 11:15:23 +00:00
558b35fee0 prepare fs.generated.script users to not assume a shell 2023-07-08 11:15:23 +00:00
3ce2716fbe fs: factor out the ensureSymlink/ensureDir/ensurePerms scripts 2023-07-08 10:35:10 +00:00
e9293dbe07 fs: fix raciness that was causing ensure-xyz services to run multiple times per boot 2023-07-08 09:08:59 +00:00
f18d624fd9 fs: avoid creating a new script for every fs entry 2023-07-08 09:00:49 +00:00
43aadef3b3 remove completed items from todo.md; add moby related improvements 2023-07-08 03:03:05 +00:00
6e3e45a9f6 fontconfig: re-enable
i'm not sure why this failed with lib.mkDefault
2023-07-08 02:27:21 +00:00
36dbf696e7 fontconfig: only enable for system, not user 2023-07-08 02:23:50 +00:00
e57efbcb21 zsh: fix history file persistence 2023-07-08 02:22:29 +00:00
8f57394cd2 persist: create the backing path as a dependency of the VFS path 2023-07-08 02:08:18 +00:00
01b8a28a52 programs.fs: remove extraneous wantedBeforeBy clause
it's provided by `sane.user.fs`
2023-07-08 02:06:44 +00:00
b42207882e programs.persist: fix to allow any options that underlying persist allows 2023-07-08 02:06:18 +00:00
b8ccc271fc mepo: fix savestate to be persisted as a file -- not a directory 2023-07-08 01:35:36 +00:00
95c105367c ~/.ssh/id_ed25519: correctly persist as a file -- not a directory 2023-07-08 01:35:23 +00:00
0a519eddb4 persist: allow persisting of individual files, not just directories
i actually do already, with ~/.ssh/id_ed25519 -- it works only as a fluke
2023-07-08 01:31:14 +00:00
8e4dc0c6ae helix: render whitespace 2023-07-08 00:54:51 +00:00
a257d8d1a1 helix: enable soft line wrapping 2023-07-08 00:27:12 +00:00
38411617ef fontconfig: only ship on GUI systems 2023-07-07 23:44:45 +00:00
c21efa005f show package changes during nixos-rebuild switch 2023-07-07 23:34:12 +00:00
24a3c22edc revoke ssh access from servo/moby into any other system (by default) 2023-07-07 21:15:00 +00:00
54b74498b6 helix: don't persist the grammars directory anymore 2023-07-07 11:05:13 +00:00
05f375a5f8 neovim: try to ship nix-shell highlighting (fail) 2023-07-07 10:45:41 +00:00
975bdd64cb helix: ship nix-shell syntax highlighting 2023-07-07 10:43:13 +00:00
62907acedc tree-sitter-nix-shell: init at 0.1.0 2023-07-07 08:33:15 +00:00
7004fb8f4e sane-bt-search: clean up type annotations (thanks Ben for the tips!) 2023-07-07 07:12:48 +00:00
5aeb6a5525 sane-bt-search: fix: parse --top as an integer 2023-07-07 07:11:47 +00:00
ad4631a5a8 sane-bt-search: add (limited) ability to search by category 2023-07-07 07:08:17 +00:00
799cbccdbe desko: disable devPkgs 2023-07-07 06:30:19 +00:00
1f82679f62 add a deploy-servo nix script, like deploy-moby 2023-07-06 22:40:25 +00:00
d318d61895 sxmo-utils: send a couple more patches upstream 2023-07-06 20:16:50 +00:00
e3b853e7f0 nixpkgs: 2023-07-04 -> 2023-07-05
```
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/78419edadf0fabbe5618643bd850b2f2198ed060' (2023-07-04)
  → 'github:nixos/nixpkgs/f292b4964cb71f9dfbbd30dc9f511d6165cd109b' (2023-07-05)
```
2023-07-06 20:16:50 +00:00
8fa9815b10 sane-bt-search: fix usage for top flag 2023-07-06 20:16:50 +00:00
b7a77375b2 pleroma: block FB/IG/Meta's threads.net instance 2023-07-05 21:36:55 +00:00
d6ccd7d1cb nixpkgs: 2023-07-02 -> 2023-07-04
```
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/0fbe93c5a7cac99f90b60bdf5f149383daaa615f' (2023-07-02)
  → 'github:nixos/nixpkgs/78419edadf0fabbe5618643bd850b2f2198ed060' (2023-07-04)
```
2023-07-05 09:14:51 +00:00
5c75f8c0e3 add todo for port 53 forward 2023-07-05 09:07:20 +00:00
07d7994176 pleroma: simplify proxy settings & make log level configurable 2023-07-05 09:04:50 +00:00
9e7930cb6e nixpatches: fix hashes 2023-07-05 09:04:50 +00:00
1d11c9b342 servo: persist media/datasets
it has to be under media so that transmission can see it
2023-07-05 09:04:50 +00:00
adb04c46f5 nixpkgs: 2023-07-01 -> 2023-07-02
```
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/645ff62e09d294a30de823cb568e9c6d68e92606' (2023-07-01)
  → 'github:nixos/nixpkgs/0fbe93c5a7cac99f90b60bdf5f149383daaa615f' (2023-07-02)
```
2023-07-04 18:57:27 +00:00
43740c3b9b neovim: nit: fix "tex" -> "viml" typo 2023-07-04 10:28:44 +00:00
2131e638aa desko: enable some dev-related packages
useful as i hack on Helix
2023-07-04 10:27:59 +00:00
8bd2ad0456 zsh: add switch function 2023-07-04 03:31:13 +00:00
61cbdc2c85 add helix text editor 2023-07-04 03:28:54 +00:00
ebf6f46948 persist ~/Books 2023-07-03 22:38:30 +00:00
29e03d59f3 sxmo: cleaner terminal and keyboard config computation 2023-07-03 22:27:29 +00:00
e6cdd5450c moby: specify wvkbd layers explicitly 2023-07-03 22:19:50 +00:00
32e20cdda0 programs: enable epiphany web browser for all gui platforms 2023-07-03 08:16:40 +00:00
8600934755 programs: more cleanup 2023-07-03 08:03:55 +00:00
787b58b284 programs: reorder package groups 2023-07-03 07:58:02 +00:00
acf89a041e modules/programs: cleanup with statements 2023-07-03 07:55:05 +00:00
9340d5f391 programs: remove explicit default definitions 2023-07-03 07:49:44 +00:00
9f1d61c781 programs: remove quadratic behavior 2023-07-03 07:16:24 +00:00
83e48eabad WIP: decrease quadratic operations in modules/programs.nix 2023-07-03 07:04:57 +00:00
9b9273b725 programs: call out some quadratic behavior; i can try to fix it in the future 2023-07-03 06:41:48 +00:00
ccaff668c1 sane-lib: path: fix from bug; tidy 2023-07-03 05:28:53 +00:00
4c44101a83 add a todo for theming adwaita 2023-07-03 05:08:26 +00:00
85b7596763 enable cross-compilation of epiphany web browser 2023-07-03 03:00:46 +00:00
dfbf30912f add a todo for shipping camera app on moby 2023-07-02 23:16:59 +00:00
27964c9c40 moby: mark kernel compression todo item as complete 2023-07-02 23:14:18 +00:00
262592b26a programs: better way to ship jellyfin-media-player only on desktops 2023-07-02 23:12:12 +00:00
7b0e4caa16 programs: ship blanket ambient noise generator 2023-07-02 23:10:05 +00:00
9546908dbf remove unused sane-mount-* helpers 2023-07-02 23:01:56 +00:00
3961923599 scripts: move these to more appropriate places 2023-07-02 22:49:17 +00:00
6b55faec0c install-bluetooth: port to nix-shell 2023-07-02 22:42:52 +00:00
67bf15cca2 nixpkgs: 2023-06-29 -> 2023-07-01; sops-nix -> 2023-07-02; uninsane-dot-org
```
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/4bc72cae107788bf3f24f30db2e2f685c9298dc9' (2023-06-29)
  → 'github:nixos/nixpkgs/645ff62e09d294a30de823cb568e9c6d68e92606' (2023-07-01)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/2ff6973350682f8d16371f8c071a304b8067f192' (2023-06-22)
  → 'github:Mic92/sops-nix/5ed3c22c1fa0515e037e36956a67fe7e32c92957' (2023-07-02)
• Updated input 'sops-nix/nixpkgs-stable':
    'github:NixOS/nixpkgs/e2e2059d19668dab1744301b8b0e821e3aae9c99' (2023-06-17)
  → 'github:NixOS/nixpkgs/f553c016a31277246f8d3724d3b1eee5e8c0842c' (2023-07-02)
• Updated input 'uninsane-dot-org':
    'git+https://git.uninsane.org/colin/uninsane?ref=refs/heads/master&rev=ae27eb61b55b6c6d83c25384fb163df398a80265' (2023-06-26)
  → 'git+https://git.uninsane.org/colin/uninsane?ref=refs/heads/master&rev=1542323cfb46a8950c17a3afa5f7cd2e62dd9672' (2023-07-02)
```
2023-07-02 12:00:24 +00:00
a62852072e sane-reclaim-disk-space: include delete-older-than 30d argument 2023-07-02 11:59:37 +00:00
83f2438739 moby: fix gtk icons 2023-07-02 11:58:57 +00:00
bad0e9cc53 gui: remove dead code 2023-07-02 11:35:03 +00:00
9aea0945a5 gtk: fix icons, and apply Tokyonight as default theme 2023-07-02 11:33:01 +00:00
cce87eb6fb WIP: theme gtk apps 2023-07-02 09:37:07 +00:00
9777e5f83c trust-dns: rework the module to be more suitable for upstreaming
still need to do hardening and docs
2023-07-02 08:21:33 +00:00
154711432f pleroma: link to docs 2023-07-02 04:33:34 +00:00
b8460b7524 refine moby todos 2023-07-02 03:00:46 +00:00
fa427ad7ea add todo for offline uninsane.org 2023-07-02 02:54:07 +00:00
7be7d5d938 sxmo-utils: add lemoa app listing (and change Tuba icon) 2023-07-02 01:52:26 +00:00
7c5ab7d253 ship lemoa on gui hosts 2023-07-02 01:40:36 +00:00
48adaa832e lemoa: 0.1.0 -> 0.2.0 2023-07-01 23:39:50 +00:00
38b44a31e4 sxmo-utils: link to upstreamed patches 2023-07-01 00:58:43 +00:00
9ad72af979 add todo for better email 2023-07-01 00:57:36 +00:00
2a2ce34bd8 git: sendemail: always annotate and confirm 2023-07-01 00:55:43 +00:00
b2e70c0210 programs: ship msmtp sendmail implementation 2023-07-01 00:28:59 +00:00
3d4cbbf005 git: add br -> branch alias 2023-06-30 23:13:56 +00:00
b18bdc4e3e sxmo-utils: fix typo in gthumb app 2023-06-30 21:17:12 +00:00
2f88ba92d1 nixpkgs: 2023-06-27 -> 2023-06-29
```
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/e18dc963075ed115afb3e312b64643bf8fd4b474' (2023-06-27)
  → 'github:nixos/nixpkgs/4bc72cae107788bf3f24f30db2e2f685c9298dc9' (2023-06-29)
```
2023-06-30 20:29:58 +00:00
f25dbdd4d2 aerc: change name to match git name 2023-06-30 11:09:10 +00:00
3da58f1d41 kitty: set the TERMINAL env var by default 2023-06-30 11:02:53 +00:00
e519c1c629 patch prefered terminal into glib/gio apps like firefox
now i can type mailto:foo@bar.com into firefox urlbar and it opens in aerc in a new terminal
2023-06-30 11:02:53 +00:00
3df165593c web browser: set $BROWSER environment variable
this gets used as fallback by e.g. xdg-email
2023-06-30 08:50:58 +00:00
daabe09bb4 overlays: disable webkitgtk "separateDebugInfo = false;" override 2023-06-30 03:45:27 +00:00
dfbfae90a5 lemmy: remove db migration hack
all my lemmy patches can be removed from this repo, but i'll wait for some stability before actually doing that
2023-06-30 03:45:09 +00:00
ef9f62ed13 sxmo-utils: fix cozy appname 2023-06-29 23:21:24 +00:00
2c49dfa642 refactor: remove overlays/pins.nix 2023-06-29 22:47:51 +00:00
6ddc943a39 add todos for sxmo module & zsh optimizations 2023-06-29 22:45:25 +00:00
5c50243d23 git: allow common dif typo 2023-06-29 22:45:07 +00:00
556600e54b zsh: disable command suggestions 2023-06-29 22:43:49 +00:00
5db9c4f558 nix-index/nix-locate: re-enable 2023-06-29 21:24:32 +00:00
e22fb2f4f5 mime associations: add aerc for email (but... it doesnt work from gui) 2023-06-29 21:08:50 +00:00
71971a050c sxmo-utils: ship app icon for gThumb 2023-06-29 20:37:30 +00:00
ac97accd32 moby: ship gThumb 2023-06-29 20:23:53 +00:00
f391e467c2 networkmanager: remove the default plugins 2023-06-29 10:58:18 +00:00
fa5d4c467c sway: replace gnome-control-center with wdisplays
mostly this is driven to reduce my desktop's dependencies (particularly
on webkitgtk), but it also looks a little nicer than gnome's displays
panel.
2023-06-29 10:56:56 +00:00
4c5333c9ed desko/lappy: don't ship font-manager
with this i no longer ship webkitgtk4_0
2023-06-29 09:45:15 +00:00
6fdb7059e3 gthumb: build without webkitgtk 2023-06-29 09:43:17 +00:00
28f7823077 nixpatches: fix nmap/lua54 hash 2023-06-29 09:14:15 +00:00
9e972d21b4 Merge branch 'master' of git.uninsane.org:colin/nix-files 2023-06-29 09:12:24 +00:00
42f194f447 keyring: fix bad dep ordering that prevented ~/private from being mounted 2023-06-29 09:11:22 +00:00
dbd312e9bd guest: enable access to shelvacu 2023-06-29 09:11:22 +00:00
9be5604c40 nixpkgs: 2023-06-26 -> 2023-06-27
```
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/6b3d1b1cf13f407fef5e634b224d575eb7211975' (2023-06-26)
  → 'github:nixos/nixpkgs/e18dc963075ed115afb3e312b64643bf8fd4b474' (2023-06-27)
```
2023-06-29 00:49:09 +00:00
97ce93cac6 fs: allow mounting /mnt/* as ordinary user 2023-06-28 10:50:39 +00:00
56c637d4d3 enable systemd-oomd on nix builds 2023-06-28 10:47:53 +00:00
89160f68e8 mention systemd-run in app containerization todo 2023-06-28 10:30:57 +00:00
316eb59071 nixpkgs: 2023-06-22 -> 2023-06-26; uninsane-dot-org -> 2023-06-26
```
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/e603dc5f061ca1d8a19b3ede6a8cf9c9fcba6cdc' (2023-06-22)
  → 'github:nixos/nixpkgs/6b3d1b1cf13f407fef5e634b224d575eb7211975' (2023-06-26)
• Updated input 'uninsane-dot-org':
    'git+https://git.uninsane.org/colin/uninsane?ref=refs/heads/master&rev=0e0aa12aca143639f158b3a5c0c00349fcc2166c' (2023-06-16)
  → 'git+https://git.uninsane.org/colin/uninsane?ref=refs/heads/master&rev=ae27eb61b55b6c6d83c25384fb163df398a80265' (2023-06-26)
• Updated input 'uninsane-dot-org/flake-utils':
    'github:numtide/flake-utils/93a2b84fc4b70d9e089d029deacc3583435c2ed6' (2023-03-15)
  → 'github:numtide/flake-utils/dbabf0ca0c0c4bce6ea5eaf65af5cb694d2082c7' (2023-06-25)
• Added input 'uninsane-dot-org/flake-utils/systems':
    'github:nix-systems/default/da67096a3b9bf56a91d16901293e51ba5b49a27e' (2023-04-09)
```
2023-06-28 06:45:02 +00:00
c19a0af6d7 desko: enable distccd 2023-06-28 04:16:20 +00:00
038d252f7d guest: allow external configuration of authorized ssh keys 2023-06-28 03:53:19 +00:00
68cda2006b cleanup/refactor users 2023-06-28 03:46:29 +00:00
ddf79e54e9 users: split colin and guest apart 2023-06-28 03:34:15 +00:00
ac5e2cc023 users.nix: move to subdir 2023-06-28 03:21:05 +00:00
48eece548f add todo: gitea CI 2023-06-28 03:09:54 +00:00
8e16cd6d32 feeds: link to a place where i might find more 2023-06-28 03:09:23 +00:00
6676935ee1 feeds: add The Linux Experiment 2023-06-28 03:05:45 +00:00
c09b2d0d63 elaborate todo about securing programs 2023-06-28 01:08:53 +00:00
f12672b197 linux-megous: note about stability 2023-06-28 00:20:14 +00:00
8717a91467 programs: git: add alias for diff summary 2023-06-28 00:20:02 +00:00
b43b8a3a22 zsh: disable "command not found" corrections 2023-06-27 22:41:27 +00:00
c1df32695b build-machine: increase the number of nix build users 2023-06-27 22:41:23 +00:00
b98eca1d84 add TODO: remove overlays/pins.nix 2023-06-27 22:41:20 +00:00
7bc718bf15 dev-machine: don't ship docs until i resume development 2023-06-27 22:41:16 +00:00
dbb1d16617 web-browser: update extension hashes 2023-06-27 22:41:14 +00:00
771f482d84 EDITOR, GIT_EDITOR: lift into vim.nix 2023-06-27 10:26:11 +00:00
40ec4d6ce0 programs: allow programs to ship system-level environment variables 2023-06-27 10:24:48 +00:00
b90bc1058d git: add aliases: cp -> cherry-pick; rb -> rebase 2023-06-27 08:54:17 +00:00
0fcddf8970 web-browser: leave myself a todo for cleaning up prefs 2023-06-27 08:10:01 +00:00
cffb54c293 sxmo: give a little more time before transitioning from screen lock -> screen off 2023-06-27 08:10:01 +00:00
36c181c147 matrix-irc: fix oftc connection 2023-06-27 08:08:27 +00:00
cdbd3c2fd8 lemoa: remove excess buildInputs 2023-06-27 07:12:32 +00:00
530163c853 nixpatches: fix mepo hash
probably most of these hashes are outdated, after switching to fetchpatch2
2023-06-27 06:41:03 +00:00
516459b351 lemoa: unstable-2023-06-25 -> 0.1.0 2023-06-27 06:36:45 +00:00
05e37a4557 formatting 2023-06-27 01:59:49 +00:00
4006765387 cross: fix firefox-pmos-mobile cross compilation 2023-06-27 01:59:04 +00:00
db0ce6eadd web-browser: don't apply librewolf prefs to firefox deployments 2023-06-26 23:22:45 +00:00
f188229379 nixpatches: switch to fetchpatch2
fewer edgecases
2023-06-26 10:12:00 +00:00
f0d7d6877b web-browser: clean up some dead comments, defaults 2023-06-26 10:11:22 +00:00
a8025550d5 web-browser: apply pmos styling
on desktop, this doesn't respond to mouse input.
on mobile, not tested.
2023-06-26 10:10:26 +00:00
acd803d5bc patches: import firefox-pmos-mobile 2023-06-26 10:09:32 +00:00
59111b95b3 sane-wipe-browser: also wipe firefox 2023-06-26 08:04:45 +00:00
b5feeb1792 complete TODO: fix NUR evaluation 2023-06-26 01:27:53 +00:00
325398ec28 sane-scripts: rename nix-shell-scripts -> sane-bin 2023-06-26 01:27:35 +00:00
9b3ee537a8 flake: add "check-nur" app to validate that my repo passes NUR checks 2023-06-26 01:26:13 +00:00
7aa0c5e3ea pkgs: fix python3Packages.sane-lib eval outside of flake (i.e. NUR) 2023-06-26 01:25:46 +00:00
8c586bd0db cargo-docset: remove. it's been upstreamed 2023-06-26 01:12:29 +00:00
ec0e8ce38b pkgs: fix error that prevented gpodder-adaptive-configured from being evaluated on its own 2023-06-26 01:09:27 +00:00
be0d5fd7c2 gpodder-configured: name the package based on the input gPodder pname 2023-06-26 01:08:30 +00:00
e7fadbe965 gpodder-configured: name the resulting binary gpodder so it can be started with anything expecting normal gpodder API (e.g. sxmo) 2023-06-26 00:52:11 +00:00
054af010bd add new TODO: neovim LSP 2023-06-26 00:32:47 +00:00
ee5a2ff986 neovim: fix auto-indent for nix files 2023-06-26 00:32:47 +00:00
cb7f84e2b7 neovim: order plugins lexicographically 2023-06-26 00:32:47 +00:00
e5124fd0d6 lemoa: init at unstable-2023-06-25 2023-06-26 00:32:45 +00:00
0751e748ea feeds: add PostmarketOS podcast 2023-06-25 22:22:32 +00:00
afce50b56d jellyfin-media-player-qt6: bump 2023-06-25 22:04:54 +00:00
71e0942cc2 git: configure git stash show to actually... SHOW the stash
OMFG
2023-06-25 21:45:47 +00:00
049ded2a0d firefox-pmos-mobile: rebase patch 2023-06-25 18:05:06 +00:00
4854b8b409 sxmo-utils: ship mepo dependency 2023-06-25 18:04:34 +00:00
55e90f531b mepo: enable cross compilation (via emulation) 2023-06-25 18:04:19 +00:00
3a6bb5a787 add new TODO: better sane.persist behavior esp for ~/private 2023-06-25 02:15:58 +00:00
aae5e40e92 complete todo: librewolf and jellyfin are displayed in sxmo appmenu 2023-06-25 02:14:39 +00:00
5d464b3c64 sxmo: apps: add jellyfin 2023-06-25 02:14:35 +00:00
9b389416cd programs: git: add st and stat aliases 2023-06-25 02:09:25 +00:00
bd57bb7934 programs: add mepo 2023-06-25 02:05:50 +00:00
db2d4ca78e nixpatches: try (and abandon) the firefox-pmos-mobile patch 2023-06-25 01:17:14 +00:00
3812d935a7 sxmo: fix Tuba app entry 2023-06-25 00:42:41 +00:00
bc993d1139 add TODO: fix NUR eval 2023-06-25 00:37:08 +00:00
ec62b5f664 sxmo: leave a TODO about reducing nerdfonts size 2023-06-25 00:36:58 +00:00
71e96fff18 sxmo: add missing gnugrep dependency 2023-06-25 00:03:36 +00:00
33eaa00957 sxmo: add app entry for Sublime Music 2023-06-25 00:03:36 +00:00
a5af1e0893 sxmo: fix MPRIS detection so that any active player will block suspend 2023-06-24 23:54:39 +00:00
be21ac57f8 sxmo-utils: add some missing runtime deps 2023-06-24 23:43:00 +00:00
63a773d8a9 sxmo-utils: add missing dbus dependency 2023-06-24 23:14:57 +00:00
505fcf5111 sxmo-utils: add missing modemmanager dependency (for mmcli) 2023-06-24 23:13:15 +00:00
f0e76ef11f sxmo-utils: add app entries for Librewolf and Tuba 2023-06-24 23:02:43 +00:00
cb721ac70e elaborate TODO about OOM: consider placing nix builds in their own subdir 2023-06-24 22:13:23 +00:00
aae783876b delete completed TODOs 2023-06-24 22:11:19 +00:00
5e3a8cf702 cross: fix tuba compilation for moby 2023-06-24 19:43:09 +00:00
d9b9349572 programs: disable a few that i don't actually use 2023-06-24 19:43:09 +00:00
b6b0e65ef6 flake/nixpkgs: 2023-06-17 -> 2023-06-22
```
• Updated input 'nix-serve':
    'github:edolstra/nix-serve/e6e3d09438e803daa5374ad8edf1271289348456' (2023-05-17)
  → 'github:edolstra/nix-serve/d6df5bd8584f37e22cff627db2fc4058a4aab5ee' (2023-06-20)
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/04af42f3b31dba0ef742d254456dc4c14eedac86' (2023-06-17)
  → 'github:nixos/nixpkgs/e603dc5f061ca1d8a19b3ede6a8cf9c9fcba6cdc' (2023-06-22)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/1634d2da53f079e7f5924efa7a96511cd9596f81' (2023-06-18)
  → 'github:Mic92/sops-nix/2ff6973350682f8d16371f8c071a304b8067f192' (2023-06-22)
```
2023-06-24 19:43:09 +00:00
a723d1274b all: ship Tuba mastodon/pleroma client 2023-06-24 09:50:12 +00:00
d41ad9db01 lappy: fix build (syntax error) 2023-06-24 09:39:58 +00:00
d6720f3601 sxmo: lift device-specific config out of the sxmo-utils & into the hosts 2023-06-23 10:24:47 +00:00
0b0d453916 sxmo: remove cfg.{deviceHooks,hooks}
seems sxmo is able to find them through XDG_DATA_DIR
2023-06-23 09:13:57 +00:00
59adddafc7 sxmo: make the package a config option 2023-06-23 08:38:23 +00:00
50fa70ca56 sxmo-utils: leave note about which hooks to lift out of package 2023-06-23 08:31:53 +00:00
86855b0c40 sxmo: run upstream set-permissions script at boot
this doesn't seem to do much in practice.
ideally upstream would include the logic for LEDs here too, but they
don't.
2023-06-23 08:31:53 +00:00
931838fb0d sxmo: ship deps via package instead of at the DE level 2023-06-23 08:31:48 +00:00
ec3a7067b6 modules/programs.nix: fix eval error when a program is suggestedBy multiple enabled packages 2023-06-23 02:05:26 +00:00
8cb236b0a9 users: add self to transmission group 2023-06-23 00:27:48 +00:00
5f47372f6a sane-bt: add --freeleech and --archive flags to control torrent location 2023-06-23 00:02:51 +00:00
afe27fd9cb sane-bt-add: support moving torrents to new directories 2023-06-22 23:48:00 +00:00
e8265807a9 NIX_PATH: point overlays to ~/nixos, not /nix/store/... 2023-06-22 23:34:15 +00:00
85ecaf64e9 sane-scripts: tidy up python deps 2023-06-22 23:33:49 +00:00
33b33a9237 sane-bt-*: remove extraneous nix-shell dep 2023-06-22 22:39:02 +00:00
fecd2fa7d3 sane-bt-*: add top-level docs 2023-06-22 22:37:02 +00:00
74ec65c8a9 sane-bt-show: allow showing multiple torrents (again) 2023-06-22 22:32:38 +00:00
21a060d856 sane-scripts: lift the transmission runtime dependency into sane-lib.bt 2023-06-22 22:29:52 +00:00
6249f7553c sane-bt-*: refactor: executor -> bt_api rename 2023-06-22 22:25:13 +00:00
96c976a3b0 sane-bt-show: port to Python 2023-06-22 22:24:49 +00:00
d48d3a979f sane-scripts: leave comment about cleaning up setup.py 2023-06-22 21:35:45 +00:00
ab8ee51321 sane-ip-port-forward: fix broken import 2023-06-22 21:34:59 +00:00
74891fb2f0 sane-scripts: split sane-lib-ssdp into an actual, nix-level library 2023-06-22 09:58:56 +00:00
f62bd83eb8 sane-scripts: split sane-lib-bt into an actual, nix-level library
a bit less hacky, i think
2023-06-22 09:53:30 +00:00
c977665214 sane-scripts: port sane-bt-rm to python
also fix missing lib in sane-bt-add
2023-06-22 07:24:08 +00:00
b3a605c76b sane-ip-port-forward: remind why we sys.path.insert 2023-06-22 02:28:10 +00:00
2cbd44b2b3 sane-bt-add: port to Python (and add a dry-run option) 2023-06-22 02:27:47 +00:00
689c63a905 record my attempt at updating matrix-appservice-irc in case i try again in the future 2023-06-21 06:13:27 +00:00
ed2480f48c matrix-appservice-irc: fix permissions errors 2023-06-21 06:12:08 +00:00
7aad3a62ba koreader: ship RSS feeds 2023-06-20 19:58:02 +00:00
1583b213f1 fs: ensure directories for remote filesystems are created 2023-06-20 08:40:25 +00:00
db851d960c sxmo: include sfeed, for use by sxmo_rss.sh
note that sxmo_rss.sh needs to be run from a terminal,
and i'm not sure it's totally wired up "correct".
2023-06-20 08:38:18 +00:00
fb7cb091e3 tuiApps: add sfeed 2023-06-20 08:38:11 +00:00
048dbc5809 moby/linux: 6.3.0 -> 6.4.0-rc7
this supposedly brings better power usage during sleep
by powering off the touchscreen
2023-06-20 03:01:10 +00:00
bb1a2c9dcb moby: remove ~/.config/sxmo/profile in favor of the nixos-level config options
note that this reverts from a SXMO_SWAY_SCALE of 2.0 -> 1.5

there may be other idiomatic ways to tune that
2023-06-20 00:33:10 +00:00
86c8fe1466 sane-bt-search: remove jackett hostname hack 2023-06-20 00:29:16 +00:00
95f6fd7082 jackett: use recommendedProxySettings so that returned URLs are correct 2023-06-20 00:28:46 +00:00
5fb52ba38e sxmo: show battery percentage by default; idle timeout to 5min, both configurable 2023-06-20 00:13:39 +00:00
4f8d0023ef sxmo: make an option with which to configure noidle 2023-06-20 00:05:06 +00:00
280c4aa2e8 sxmo: add missing j4-dmenu-desktop
this adds the "all apps" option to the app menu
2023-06-19 23:58:04 +00:00
fd270dd0b8 sxmo-utils: 1.14.1 -> 1.14.2 2023-06-19 23:57:44 +00:00
8e17e2beb2 lemmy: remove unsupported settings.federation.enabled option 2023-06-19 21:17:59 +00:00
d68704474d sane-bt-search: include links to the tracker page 2023-06-19 21:01:52 +00:00
0fa5b5bf52 flake/nixpkgs: 2023-06-15 -> 2023-06-17
```
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/7c67f006ea0e7d0265f16d7df07cc076fdffd91f' (2023-06-15)
  → 'github:nixos/nixpkgs/04af42f3b31dba0ef742d254456dc4c14eedac86' (2023-06-17)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/1e2bae54870a06aa9364f8d33a5b9a0869d792fc' (2023-06-16)
  → 'github:Mic92/sops-nix/1634d2da53f079e7f5924efa7a96511cd9596f81' (2023-06-18)
• Updated input 'sops-nix/nixpkgs-stable':
    'github:NixOS/nixpkgs/aa4b53f79d961a7cbba0b24f791401a34c18011a' (2023-06-16)
  → 'github:NixOS/nixpkgs/e2e2059d19668dab1744301b8b0e821e3aae9c99' (2023-06-17)
```
2023-06-19 19:33:51 +00:00
9caa2a0a17 koreader: note to self that the os.execute bug may affect other features 2023-06-19 09:48:57 +00:00
023e28fb03 koreader: fix that "isOnline" check was failing and preventing FTP access 2023-06-19 09:21:30 +00:00
bed33fae60 koreader: 2023.04 -> 2023.05.1 2023-06-19 08:02:54 +00:00
3b958ba356 sftp: allow read-only anonymous FTP 2023-06-19 03:49:51 +00:00
adb6ff4c66 remove dead code: resholve-prologue 2023-06-18 21:48:12 +00:00
931c76c2e7 unftp: init at 0.14.3 2023-06-18 06:38:01 +00:00
d95042ab65 servo: partially enable a FTP server
disabled as i tidy it
strugging to enable an anonymous FTP user -- might not be possible without using the web admin interface
2023-06-17 10:15:30 +00:00
0605094461 Merge branch 'staging/nixpkgs-2023-06-15' 2023-06-17 10:13:21 +00:00
4eb6c1fd7d flake/nixpkgs: 2023-06-12 -> 2023-06-15
```
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/0eeebd64de89e4163f4d3cf34ffe925a5cf67a05' (2023-06-12)
  → 'github:nixos/nixpkgs/7c67f006ea0e7d0265f16d7df07cc076fdffd91f' (2023-06-15)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/cb85e297937af1bd1434cf5f85a3f86a21dc8207' (2023-06-11)
  → 'github:Mic92/sops-nix/1e2bae54870a06aa9364f8d33a5b9a0869d792fc' (2023-06-16)
• Updated input 'sops-nix/nixpkgs-stable':
    'github:NixOS/nixpkgs/ef24b2fa0c5f290a35064b847bc211f25cb85c88' (2023-06-10)
  → 'github:NixOS/nixpkgs/aa4b53f79d961a7cbba0b24f791401a34c18011a' (2023-06-16)
• Updated input 'uninsane-dot-org':
    'git+https://git.uninsane.org/colin/uninsane?ref=refs/heads/master&rev=f3747a1dad3d34880613821faf26357ba432d3d7' (2023-05-19)
  → 'git+https://git.uninsane.org/colin/uninsane?ref=refs/heads/master&rev=0e0aa12aca143639f158b3a5c0c00349fcc2166c' (2023-06-16)
```
2023-06-17 10:07:59 +00:00
c553e74cd6 common: fs: remove invalid "nofail" option from ssh mounts 2023-06-17 10:03:44 +00:00
4eb6f59b01 sane-ip-reconnect: add some logging 2023-06-16 07:17:31 +00:00
9f55a8288d ship koreader ebook reader (and persist relevant data) 2023-06-16 01:23:55 +00:00
feb299eb22 cross: fix koreader build 2023-06-16 01:23:55 +00:00
b21c79a0b4 cross: fix nautilus 2023-06-16 01:23:55 +00:00
c819bc2d95 cross: fix cozy unable to load FileChooser at runtime 2023-06-16 01:23:55 +00:00
21006e52dc sane-bt-search: add a --help option 2023-06-15 10:25:59 +00:00
5562d60cbb fs mounts: add nofail and mount-timeout to reduce shutdown hangs on nfs 2023-06-15 10:08:54 +00:00
17041384e9 fs mounts: reduce nfs timeouts, for faster shutdown
it still takes 90s; maybe the issue is nested mounts?
2023-06-15 09:25:48 +00:00
9eb36441e1 fs mounts: don't auto-mount ssh; try to specify correct net dependencies for better shutdown 2023-06-15 08:40:21 +00:00
0d0a9fce6a associate ssh pubkeys to my hosts' wireguard names 2023-06-15 07:54:31 +00:00
847e618dee cozy: persist data 2023-06-15 06:34:50 +00:00
c4e345e2e7 cozy: ship on all gui devices 2023-06-15 06:08:10 +00:00
c75719e751 /mnt/servo-media: default to the nfs mount
maybe i remove the ssh mounts if/when nfs proves stable
2023-06-15 02:31:17 +00:00
7a57cf5327 clients: fs: mount servo over nfs 2023-06-15 02:14:42 +00:00
b81642ccc9 servo/nfs: fix netmask typo 2023-06-15 02:13:29 +00:00
57ca3e67b3 servo/nfs: export rw if the source is wireguard 2023-06-15 01:52:15 +00:00
bcca6b6096 servo: export some read-only NFS mounts 2023-06-15 01:38:09 +00:00
79772d4e3d cozy: fix launch 2023-06-14 22:27:03 +00:00
339c0a47ab flake/nixpkgs: 2023-06-11 -> 2023-06-12
```
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/75a5ebf473cd60148ba9aec0d219f72e5cf52519' (2023-06-11)
  → 'github:nixos/nixpkgs/0eeebd64de89e4163f4d3cf34ffe925a5cf67a05' (2023-06-12)
```
2023-06-14 20:38:43 +00:00
b1be78529b gpodder: apply update via upstream PR 2023-06-14 07:39:18 +00:00
cce53b968b sequoia: apply update via upstream PR 2023-06-14 07:35:50 +00:00
1d55b98cd1 sequoia: 0.28.0 -> 0.30.1 2023-06-14 07:16:21 +00:00
e9d45c3b31 snippets: update 2023-06-14 02:30:29 +00:00
32dde42ee2 zecwallet-light-cli: init at 1.7.7 2023-06-14 00:32:54 +00:00
b60986cfb8 update snippets 2023-06-13 22:10:59 +00:00
60ef232bc0 flake/nixpkgs: 2023-06-10 -> 2023-06-11
```
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/21951114383770f96ae528d0ae68824557768e81' (2023-06-10)
  → 'github:nixos/nixpkgs/75a5ebf473cd60148ba9aec0d219f72e5cf52519' (2023-06-11)
```
2023-06-13 08:49:55 +00:00
7f7bc33be5 sane-bt-search: report errors for unexpected options 2023-06-13 08:01:52 +00:00
f52f56a34c moby: no longer ship Jellyfin 2023-06-13 07:05:21 +00:00
425de71583 komikuu: ship on all GUI platforms 2023-06-13 07:04:43 +00:00
0bd87077c1 komikku: fix for cross compilation 2023-06-13 07:04:26 +00:00
601bf567eb gpodder: ship the gpodder-adaptive branch
better mobile experience
2023-06-13 05:30:10 +00:00
4f74078423 komikku: persist downloaded comics 2023-06-13 05:30:10 +00:00
f170351de7 ship komikku (comic/manga viewer) 2023-06-13 05:30:10 +00:00
bee9dab513 gpodder: 3.10.21 -> 3.11.1 2023-06-13 05:30:10 +00:00
16c3d4289e cross: jellyfin-media-player-qt6: fix wrapQtAppsHook 2023-06-13 05:30:10 +00:00
21e0c0d00f sane_ssdp: fix get_ips_from_location return value on failure 2023-06-12 20:11:02 +00:00
fdf85156bc lemmy: re-enable the version pin 2023-06-11 12:12:41 +00:00
79a7daca12 lemmy: more debugging 2023-06-11 11:24:15 +00:00
3996e1be08 lemmy-ui: no need to patch nodejs version after upstream nixpkgs update 2023-06-11 10:51:05 +00:00
8b1dbd42da roles/dev-machine: disable docs for lemmy-server 2023-06-11 10:51:05 +00:00
a2c7edf340 flake/nixpkgs: 2023-06-07 -> 2023-06-10
```
• Updated input 'nixpkgs-unpatched':
    'github:nixos/nixpkgs/381e92a35e2d196fdd6077680dca0cd0197e75cb' (2023-06-07)
  → 'github:nixos/nixpkgs/21951114383770f96ae528d0ae68824557768e81' (2023-06-10)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/a522e12ee35e50fa7d902a164a9796e420e6e75b' (2023-06-04)
  → 'github:Mic92/sops-nix/cb85e297937af1bd1434cf5f85a3f86a21dc8207' (2023-06-11)
• Updated input 'sops-nix/nixpkgs-stable':
    'github:NixOS/nixpkgs/eaf03591711b46d21abc7082a8ebee4681f9dbeb' (2023-06-03)
  → 'github:NixOS/nixpkgs/ef24b2fa0c5f290a35064b847bc211f25cb85c88' (2023-06-10)
```
2023-06-11 10:51:05 +00:00
9b365d1771 sxmo: fix volume controls for pipewire 2023-06-11 09:57:47 +00:00
8cf3402be4 add new TODOs for better sxmo experiences 2023-06-11 08:34:20 +00:00
a92fa489cb complete todos: sxmo auto-rotation 2023-06-11 08:32:56 +00:00
837f20e892 lemmy: apply PR feedback 2023-06-11 03:43:35 +00:00
3d56117d65 gocryptfs: remove "defaults" flag 2023-06-10 23:21:42 +00:00
1724ac60e5 feeds: update URL for The Intercept 2023-06-10 23:08:51 +00:00
bf168c7f0f feeds: update URL for Deconstructed 2023-06-10 22:59:44 +00:00
37cafcf610 moby: re-enable nautilus file browser 2023-06-10 22:54:27 +00:00
1748 changed files with 713397 additions and 17693 deletions

2
.gitignore vendored
View File

@@ -1,2 +1,4 @@
.working
result
result-*
/secrets/local.nix

View File

@@ -3,6 +3,7 @@ keys:
- &user_lappy_colin age1j2pqnl8j0krdzk6npe93s4nnqrzwx978qrc0u570gzlamqpnje9sc8le2g
- &user_servo_colin age1z8fauff34cdecr6sjkre260luzxcca05kpcwvhx988d306tpcejsp63znu
- &user_moby_colin age1zsrsvd7j6l62fjxpfd2qnhqlk8wk4p8r0dtxpe4sdgnh2474095qdu7xj9
- &host_crappy age1hl50ufuxnqy0jnk8fqeu4tclh4vte2xn2d59pxff0gun20vsmv5sp78chj
- &host_desko age1vnw7lnfpdpjn62l3u5nyv5xt2c965k96p98kc43mcnyzpetrts9q54mc9v
- &host_lappy age1w7mectcjku6x3sd8plm8wkn2qfrhv9n6zhzlf329e2r2uycgke8qkf9dyn
- &host_servo age1tzlyex2z6t88tg9h82943e39shxhmqeyr7ywhlwpdjmyqsndv3qq27x0rf
@@ -15,6 +16,7 @@ creation_rules:
- *user_lappy_colin
- *user_servo_colin
- *user_moby_colin
- *host_crappy
- *host_desko
- *host_lappy
- *host_servo

147
README.md
View File

@@ -1,53 +1,71 @@
![hello](doc/hello.gif)
# .❄≡We|_c0m3 7o m`/ f14k≡❄.
(er, it's not a flake anymore. welcome to my nix files.)
## What's Here
this is the top-level repo from which i configure/deploy all my NixOS machines:
- desktop
- laptop
- server
- mobile phone
- mobile phone (Pinephone)
i enjoy a monorepo approach. this repo references [nixpkgs][nixpkgs], a couple 3rd party
nix modules like [sops][sops], the sources for [uninsane.org][uninsane-org], and that's
about it. custom derivations and modules (some of which i try to upstream) live
directly here; even the sources for those packages is often kept here too.
everything outside of [hosts/](./hosts/) and [secrets/](./secrets/) is intended for export, to be importable for use by 3rd parties.
the only hard dependency for my exported pkgs/modules should be [nixpkgs][nixpkgs].
building [hosts/](./hosts/) will require [sops][sops].
you might specifically be interested in these files (elaborated further in #key-points-of-interest):
- [my packages](./pkgs/by-name)
- [my implementation of impermanence](./modules/persist/default.nix)
- my way of deploying dotfiles/configuring programs per-user:
- [modules/fs/](./modules/fs/default.nix)
- [modules/programs/](./modules/programs/default.nix)
- [modules/users/](./modules/users/default.nix)
if you find anything here genuinely useful, message me so that i can work to upstream it!
[nixpkgs]: https://github.com/NixOS/nixpkgs
[sops]: https://github.com/Mic92/sops-nix
[uninsane-org]: https://uninsane.org
## Using This Repo In Your Own Config
follow the instructions [here][NUR] to access my packages through the Nix User Repositories.
[NUR]: https://nur.nix-community.org/
## Layout
- `doc/`
- instructions for tasks i find myself doing semi-occasionally in this repo.
- `hosts/`
- the bulk of config which isn't factored with external use in mind.
- that is, if you were to add this repo to a flake.nix for your own use,
you won't likely be depending on anything in this directory.
- configs which aren't factored with external use in mind.
- that is, if you were to add this repo to a flake.nix for your own use,
you won't likely be depending on anything in this directory.
- `integrations/`
- code intended for consumption by external tools (e.g. the Nix User Repos)
- code intended for consumption by external tools (e.g. the Nix User Repos).
- `modules/`
- config which is gated behind `enable` flags, in similar style to nixpkgs'
`nixos/` directory.
- if you depend on this repo, it's most likely for something in this directory.
- `nixpatches/`
- literally, diffs i apply atop upstream nixpkgs before performing further eval.
- config which is gated behind `enable` flags, in similar style to nixpkgs' `nixos/` directory.
- if you depend on this repo for anything besides packages, it's most likely for something in this directory.
- `overlays/`
- exposed via the `overlays` output in `flake.nix`.
- predominantly a list of `callPackage` directives.
- predominantly a list of `callPackage` directives.
- `pkgs/`
- derivations for things not yet packaged in nixpkgs.
- derivations for things from nixpkgs which i need to `override` for some reason.
- inline code for wholly custom packages (e.g. `pkgs/additional/sane-scripts/` for CLI tools
that are highly specific to my setup).
- derivations for things not yet packaged in nixpkgs.
- derivations for things from nixpkgs which i need to `override` for some reason.
- inline code for wholly custom packages (e.g. `pkgs/by-name/sane-scripts/` for CLI tools
that are highly specific to my setup).
- `scripts/`
- scripts which are referenced by other things in this repo.
- these aren't generally user-facing, but they're factored out so that they can
be invoked directly when i need to debug.
- scripts which aren't reachable on a deployed system, but may aid manual deployments.
- `secrets/`
- encrypted keys, API tokens, anything which one or more of my machines needs
read access to but shouldn't be world-readable.
- not much to see here
- encrypted keys, API tokens, anything which one or more of my machines needs
read access to but shouldn't be world-readable.
- not much to see here.
- `templates/`
- exposed via the `templates` output in `flake.nix`.
- used to instantiate short-lived environments.
- used to auto-fill the boiler-plate portions of new packages.
- used to instantiate short-lived environments.
- used to auto-fill the boiler-plate portions of new packages.
## Key Points of Interest
@@ -55,46 +73,41 @@ directly here; even the sources for those packages is often kept here too.
i.e. you might find value in using these in your own config:
- `modules/fs/`
- use this to statically define leafs and nodes anywhere in the filesystem,
not just inside `/nix/store`.
- e.g. specify that `/var/www` should be:
- owned by a specific user/group
- set to a specific mode
- symlinked to some other path
- populated with some statically-defined data
- populated according to some script
- created as a dependency of some service (e.g. `nginx`)
- values defined here are applied neither at evaluation time _nor_ at activation time.
- rather, they become systemd services.
- systemd manages dependencies
- e.g. link `/var/www -> /mnt/my-drive/www` only _after_ `/mnt/my-drive/www` appears)
- this is akin to using [Home Manager's][home-manager] file API -- the part which lets you
statically define `~/.config` files -- just with a different philosophy.
- use this to statically define leafs and nodes anywhere in the filesystem,
not just inside `/nix/store`.
- e.g. specify that `/var/www` should be:
- owned by a specific user/group
- set to a specific mode
- symlinked to some other path
- populated with some statically-defined data
- populated according to some script
- created as a dependency of some service (e.g. `nginx`)
- this is akin to using [Home Manager's][home-manager] file API -- the part which lets you
statically define `~/.config` files -- just with a different philosophy.
namely, it avoids any custom activation scripts by leveraging `systemd-tmpfiles`.
- `modules/persist/`
- my alternative to the Impermanence module.
- this builds atop `modules/fs/` to achieve things stock impermanence can't:
- persist things to encrypted storage which is unlocked at login time (pam_mount).
- "persist" cache directories -- to free up RAM -- but auto-wipe them on mount
and encrypt them to ephemeral keys so they're unreadable post shutdown/unmount.
- `modules/programs.nix`
- like nixpkgs' `programs` options, but allows both system-wide or per-user deployment.
- allows `fs` and `persist` config values to be gated behind program deployment:
- e.g. `/home/<user>/.mozilla/firefox` is persisted only for users who
`sane.programs.firefox.enableFor.user."<user>" = true;`
- `modules/users.nix`
- convenience layer atop the above modules so that you can just write
`fs.".config/git"` instead of `fs."/home/colin/.config/git"`
some things in here could easily find broader use. if you would find benefit in
them being factored out of my config, message me and we could work to make that happen.
- my implementation of impermanence, built atop the above `fs` module, with a few notable features:
- no custom activation scripts or services (uses `systemd-tmpfiles` and `.mount` units)
- "persist" cache directories -- to free up RAM -- but auto-wipe them on mount
and encrypt them to ephemeral keys so they're unreadable post shutdown/unmount.
- persist to encrypted storage which is unlocked at login time.
- `modules/programs/`
- like nixpkgs' `programs` options, but allows both system-wide or per-user deployment.
- allows `fs` and `persist` config values to be gated behind program deployment:
- e.g. `/home/<user>/.mozilla/firefox` is persisted only for users who
`sane.programs.firefox.enableFor.user."<user>" = true;`
- allows aggressive sandboxing any program:
- `sane.programs.firefox.sandbox.enable = true; # wraps the program so that it isolates itself into a new namespace when invoked`
- `sane.programs.firefox.sandbox.whitelistWayland = true; # allow it to render a wayland window`
- `sane.programs.firefox.sandbox.extraHomePaths = [ "Downloads" ]; # allow it read/write access to ~/Downloads`
- integrated with `fs` and `persist` modules so that programs' config files and persisted data stores are linked into the sandbox w/o any extra involvement.
- `modules/users/`
- convenience layer atop the above modules so that you can just write
`fs.".config/git"` instead of `fs."/home/colin/.config/git"`
- simplified `systemd.services` API
[home-manager]: https://github.com/nix-community/home-manager
## Using This Repo In Your Own Config
this should be a pretty "standard" flake. just reference it, and import either
- `nixosModules.sane` (for the modules)
- `overlays.pkgs` (for the packages)
## Mirrors
@@ -102,7 +115,11 @@ this repo exists in a few known locations:
- primary: <https://git.uninsane.org/colin/nix-files>
- mirror: <https://github.com/nix-community/nur-combined/tree/master/repos/colinsane>
## Contact
if you want to contact me for questions, or collaborate to split something useful into a shared repo, etc,
you can reach me via any method listed [here](https://uninsane.org/about).
patches, for this repo or any other i host, will be warmly welcomed in any manner you see fit:
`git send-email`, DM'ing the patch over Matrix/Lemmy/ActivityPub/etc, even a literal PR where you
link me to your own clone.

210
TODO.md
View File

@@ -1,79 +1,167 @@
## BUGS
- why i need to manually restart `wireguard-wg-ovpns` on servo periodically
- else DNS fails
- alacritty Ctrl+N frequently fails to `cd` to the previous directory
- bunpen dbus sandboxing can't be *nested* (likely a problem in xdg-dbus-proxy)
- dissent has a memory leak (3G+ after 24hr)
- set a max memory use in the systemd service, to force it to restart as it leaks?
- `rmDbusServices` may break sandboxing
- e.g. if the package ships a systemd unit which references $out, then make-sandboxed won't properly update that unit.
- `rmDbusServicesInPlace` is not affected
- mpv: audiocast has mpv sending its output to the builtin speakers unless manually changed
- syshud (volume overlay): when casting with `blast`, syshud doesn't react to volume changes
- dissent: if i launch it without net connectivity, it gets stuck at the login, and never tries again
- newsflash on moby can't play videos
- "open in browser" works though -- in mpv
- gnome-maps can't use geoclue *and* openstreetmap at the same time
- get gnome-maps to speak xdg-desktop-portal, and this will be fixed
- epiphany can't save cookies
- see under "preferences", cookies are disabled
- prevents logging into websites (OpenStreetMap)
- works when sandbox is disabled
- rsync to ssh target fails because of restrictive sandboxing
- `/mnt/.servo_ftp` retries every 10s, endlessly, rather than doing a linear backoff
- repro by `systemctl stop sftpgo` on servo, then watching `mnt-.servo_ftp.{mount,timer}` on desko
## REFACTORING:
### 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
- fold hosts/modules/ into toplevel modules/
- add import checks to my Python nix-shell scripts
- consolidate ~/dev and ~/ref
- ~/dev becomes a link to ~/ref/cat/mine
- fold hosts/common/home/ssh.nix -> hosts/common/users/colin.nix
- don't hardcode IP addresses so much in servo
### roles
- allow any host to take the role of `uninsane.org`
- will make it easier to test new services?
### sops/secrets
- user secrets could just use `gocryptfs`, like with ~/private?
- can gocryptfs support nested filesystems, each with different perms (for desko, moby, etc)?
### upstreaming
- split out a trust-dns module
- see: <https://github.com/NixOS/nixpkgs/pull/205866#issuecomment-1575753054>
- 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
- fix or abandon Whalebird
- FIX failed CI on bonsai PR: <https://github.com/NixOS/nixpkgs/pull/233892>
- REVIEW/integrate jellyfin dataDir config: <https://github.com/NixOS/nixpkgs/pull/233617>
- remove `libsForQt5.callPackage` broadly: <https://github.com/NixOS/nixpkgs/issues/180841>
- upstream blueprint-compiler cross fixes -> nixpkgs
- upstream cargo cross fixes -> nixpkgs
- upstream `gps-share` package -> nixpkgs
#### upstreaming to non-nixpkgs repos
- gnome-calls: retry net connection when DNS is down
- gtk: build schemas even on cross compilation: <https://github.com/NixOS/nixpkgs/pull/247844>
- linux: upstream PinePhonePro device trees
- nwg-panel: configurable media controls
- nwg-panel / playerctl hang fix (i think nwg-panel is what should be patched here)
## IMPROVEMENTS:
- sane-deadlines: show day of the week for upcoming items
- curlftpfs: replace with something better
- safer (rust? actively maintained? sandboxable?)
- handles spaces/symbols in filenames
- has better multi-stream perf (e.g. `sane-sync-music` should be able to copy N items in parallel)
- firefox: open *all* links (http, https, ...) with system handler
- removes the need for open-in-mpv, firefox-xdg-open, etc.
- matrix room links *just work*.
- `network.protocol-handler.external.https = true` in about:config *seems* to do this,
but breaks some webpages (e.g. Pleroma)
- associate http(s)://*.pdf with my pdf handler
- can't do that because lots of applications don't handle URIs
- could workaround using a wrapper that downloads the file and then passes it to the program
- geary: replace with envelope
- likely requires updating envelope to a more recent version (for multi-accounting), and therefore updating libadwaita...
### 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.
- canaries for important services
- e.g. daily email checks; daily backup checks
- enable `snapper` btrfs snapshots (`services.snapper`)
- /mnt/desko/home, etc, shouldn't include secrets (~/private)
- 95% of its use is for remote media access and stuff which isn't in VCS (~/records)
- harden systemd services:
- servo: `coturn.service`
- servo: `postgresql.service`
- servo: `postfix.service`
- servo: `prosody.service`
- servo: `slskd.service`
- desko: `usbmuxd.service`
- servo: `backup-torrents.service`
- servo: `dedupe-media.service`
- remove SGID /run/wrappers/bin/sendmail, and just add senders to `postdrop` group
- port all sane.programs to be sandboxed
- sandbox `nix`
- enforce that all `environment.packages` has a sandbox profile (or explicitly opts out)
- enforce granular dbus sandboxing (bunpen-dbus-*)
- make gnome-keyring-daemon less monolithic
- no reason every application with _a_ secret needs to see _all_ secrets
- check out oo7-daemon?
- also unix-pass based provider: <https://github.com/mdellweg/pass_secret_service>
- make dconf stuff less monolithic
- i.e. per-app dconf profiles for those which need it. possible static config.
- flatpak/spectrum has some stuff to proxy dconf per-app
### user experience
- firefox/librewolf: don't show browserpass/sponsorblock/metamask "first run" on every boot
- moby: improve gPodder launch time
- moby: replace jellyfin-desktop with jellyfin-vue?
- allows (maybe) to cache media for offline use
- "newer" jellyfin client
- not packaged for nix
- find a nice desktop ActivityPub client
- package Nix/NixOS docs for Zeal
- install [doc-browser](https://github.com/qwfy/doc-browser)
- this supports both dash (zeal) *and* the datasets from <https://devdocs.io> (which includes nix!)
- install [devhelp](https://wiki.gnome.org/Apps/Devhelp) (gnome)
- auto-mount servo
- setup a real calendar system, for recurring events
- rofi: sort items case-insensitively
- rofi: enable mouse mode?
- mpv: add media looping controls (e.g. loop song, loop playlist)
- mpv: add/implement an extension to search youtube
- apparently `yt-dlp` does searching!
- replace starship prompt with something more efficient
- watch `forkstat`: it does way too much
- cleanup nwg-panel so that it's not invoking swaync every second
- nwg-panel: doesn't know that virtual-desktop 10/TV exists
- install apps:
- display QR codes for WiFi endpoints: <https://linuxphoneapps.org/apps/noappid.wisperwind.wifi2qr/>
- shopping list (not in nixpkgs): <https://linuxphoneapps.org/apps/ro.hume.cosmin.shoppinglist/>
- offline Wikipedia (or, add to `wike`)
- some type of games manager/launcher
- Gnome Highscore (retro games)?: <https://gitlab.gnome.org/World/highscore>
- note-taking app: <https://linuxphoneapps.org/categories/note-taking/>
- Folio is nice, uses standard markdown, though it only supports flat repos
- OSK overlay specifically for mobile gaming
- i.e. mock joysticks, for use with SuperTux and SuperTuxKart
- game: Hedgewars
- install mobile-friendly games:
- Shattered Pixel Dungeon (nixpkgs `shattered-pixel-dungeon`; doesn't cross-compile b/c openjdk/libIDL) <https://github.com/ebolalex/shattered-pixel-dungeon>
- UnCiv (Civ V clone; nixpkgs `unciv`; doesn't cross-compile): <https://github.com/yairm210/UnCiv>
- Simon Tatham's Puzzle Collection (not in nixpkgs) <https://git.tartarus.org/?p=simon/puzzles.git>
- Shootin Stars (Godot; not in nixpkgs) <https://gitlab.com/greenbeast/shootin-stars>
- numberlink (generic name for Flow Free). not packaged in Nix
- Neverball (https://neverball.org/screenshots.php). nix: as `neverball`
- blurble (https://linuxphoneapps.org/games/app.drey.blurble/). nix: not as of 2024-02-05
- Trivia Quiz (https://linuxphoneapps.org/games/io.github.nokse22.trivia-quiz/)
- sane-sync-music: remove empty dirs
#### moby
- moby: port battery support to something upstreamable
- moby: install transito/mobroute public transit app: <https://sr.ht/~mil/mobroute/> <https://git.sr.ht/~mil/transito>
- see: <https://github.com/NixOS/nixpkgs/pull/335613>
- moby: consider honeybee instead of gnome-calls for calling? <https://git.sr.ht/~anjan/honeybee>
- uses XMPP, so more NAT/WoWLAN-friendly
- fix cpuidle (gets better power consumption): <https://xnux.eu/log/077.html>
- fix cpupower for better power/perf
- `journalctl -u cpupower --boot` (problem is present on lappy, at least)
- use dynamic DRAM clocking to reduce power by 0.5W: <https://xnux.eu/log/083.html>
- coreboot implements DRAM training for rk3399: <https://gitlab.com/vicencb/kevinboot/-/blob/master/cb/sdram.c>
- moby: tune keyboard layout
- SwayNC/nwg-panel: add option to change audio output
- Newsflash: sync OPML on start, same way i do with gpodder
- better podcasting client?
- hardware upgrade (OnePlus)?
#### non-moby
- RSS: integrate a paywall bypass
- e.g. self-hosted [ladder](https://github.com/everywall/ladder) (like 12ft.io)
- RSS: have podcasts get downloaded straight into ~/Videos/...
- and strip the ads out using Whisper transcription + asking a LLM where the ad breaks are
- neovim: integrate ollama
- neovim: better docsets (e.g. c++, glib)
- firefox: persist history
- just not cookies or tabs
- have xdg-open parse `<repo:...> URIs (or adjust them so that it _can_ parse)
- `sane.programs`: auto-populate defaults with everything from `pkgs`
- zsh: disable "command not found" corrections
- sxmo: allow rotation to the upside-down position
- see: <repo:mil/sxmo-utils:scripts/core/sxmo_autorotate.sh>
- all orientations *except* upside down are supported
- sxmo: launch with auto-rotation enabled
- sane-bt-search: show details like 5.1 vs stereo, h264 vs h265
### perf
- why does nixos-rebuild switch take 5 minutes when net is flakey?
- trying to auto-mount servo?
- something to do with systemd services restarting/stalling
- maybe wireguard & its refresh operation, specifically?
- fix OOM for large builds like webkitgtk
- these use significant /tmp space.
- either place /tmp on encrypted-cleared-at-boot storage
- which probably causes each CPU load for the encryption
- **or set up encrypted swap**
- encrypted swap could remove the need for my encrypted-cleared-at-boot stuff
- maybe just color these "keywords" in all search results?
- transmission: apply `sane-tag-media` path fix in `torrent-done` script
- many .mkv files do appear to be tagged: i'd just need to add support in my own tooling
- more aggressively cleanup non-media files after DL (ripper logos, info txts)
- 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"
- add an auto-reply address (e.g. `reply-test@uninsane.org`) which reflects all incoming mail; use this (or a friend running this) for liveness checks
## NEW FEATURES:
- add a FTP-accessible file share to servo
- just /var/www?
- migrate Kodi box to nix
- migrate MAME cabinet to nix
- boot it from PXE from servo?
- boot it from PXE from servo?
- enable IPv6

5
default.nix Normal file
View File

@@ -0,0 +1,5 @@
{ ... }@args:
let
sane-nix-files = import ./pkgs/by-name/sane-nix-files/package.nix { };
in
import "${sane-nix-files}/impure.nix" args

25
doc/adding-a-host.md Normal file
View File

@@ -0,0 +1,25 @@
to add a host:
- create the new nix targets
- hosts/by-name/HOST
- let the toplevel (flake.nix) know about HOST
- build and flash an image
- optionally expand the rootfs
- `cfdisk /dev/sda2` -> resize partition
- `mount /dev/sda2 boot`
- `btrfs filesystem resize max root`
- setup required persistent directories
- `mkdir -p root/persist/private`
- `gocryptfs -init root/persist/private`
- then boot the device, and for every dangling symlink in ~/.local/share, ~/.cache, do `mkdir -p` on it
- setup host ssh
- `mkdir -p root/persist/plaintext/etc/ssh/host_keys`
- boot the machine and let it create its own ssh keys
- add the pubkey to `hosts/common/hosts.nix`
- setup user ssh
- `ssh-keygen`. don't enter any password; it's stored in a password-encrypted fs.
- add the pubkey to `hosts/common/hosts.nix`
- allow the new host to view secrets
- instructions in hosts/common/secrets.nix
- run `ssh-to-age` on user/host pubkeys
- add age key to .sops.yaml
- update encrypted secrets: `sops updatekeys path/to/secret.yaml`

13
doc/adding-a-program.md Normal file
View File

@@ -0,0 +1,13 @@
to ship `pkgs.foo` on some host, either:
- add it as an entry in `suggestedPrograms` to the appropriate category in `hosts/common/programs/assorted.nix`, or
- `sane.programs.foo.enableFor.user.colin = true` in `hosts/by-name/myhost/default.nix`
if the program needs customization (persistence, configs, secrets):
- add a file for it at `hosts/common/programs/<foo>.nix`
- set the options, `sane.programs.foo.{fs,persist}`
if it's unclear what fs paths a program uses:
- run one of these commands, launch the program, run it again, and `diff`:
- `du -x --apparent-size ~`
- `find ~ -xdev`
- or, inspect the whole tmpfs root with `ncdu -x /`

BIN
doc/hello.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 127 KiB

12
doc/recovery.md Normal file
View File

@@ -0,0 +1,12 @@
## deploying to SD card
- build a toplevel config: `nix build '.#hostSystems.moby'`
- mount a system:
- `mkdir -p root/{nix,boot}`
- `mount /dev/sdX1 root/boot`
- `mount /dev/sdX2 root/nix`
- copy the config:
- `sudo nix copy --no-check-sigs --to root/ $(readlink result)`
- nix will copy stuff to `root/nix/store`
- install the boot files:
- `sudo /nix/store/sbwpwngjlgw4f736ay9hgi69pj3fdwk5-extlinux-conf-builder.sh -d ./root/boot -t 5 -c $(readlink ./result)`
- extlinux-conf-builder can be found in `/run/current-system/bin/switch-to-configuration`

153
flake.lock generated
View File

@@ -1,153 +0,0 @@
{
"nodes": {
"flake-utils": {
"locked": {
"lastModified": 1678901627,
"narHash": "sha256-U02riOqrKKzwjsxc/400XnElV+UtPUQWpANPlyazjH0=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "93a2b84fc4b70d9e089d029deacc3583435c2ed6",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"mobile-nixos": {
"flake": false,
"locked": {
"lastModified": 1683422260,
"narHash": "sha256-79zaClbubRkBNlJ04OSADILuLQHH48N5fu296hEWYlw=",
"owner": "nixos",
"repo": "mobile-nixos",
"rev": "ba4638836e94a8f16d1d1f9e8c0530b86078029c",
"type": "github"
},
"original": {
"owner": "nixos",
"repo": "mobile-nixos",
"type": "github"
}
},
"nix-serve": {
"inputs": {
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1684319086,
"narHash": "sha256-5wwlkWqP1cQUPXp/PJsi09FkgAule5yBghngRZZbUQg=",
"owner": "edolstra",
"repo": "nix-serve",
"rev": "e6e3d09438e803daa5374ad8edf1271289348456",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "nix-serve",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1606086654,
"narHash": "sha256-VFl+3eGIMqNp7cyOMJ6TjM/+UcsLKtodKoYexrlTJMI=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "19db3e5ea2777daa874563b5986288151f502e27",
"type": "github"
},
"original": {
"id": "nixpkgs",
"ref": "nixos-20.09",
"type": "indirect"
}
},
"nixpkgs-stable": {
"locked": {
"lastModified": 1685758009,
"narHash": "sha256-IT4Z5WGhafrq+xbDTyuKrRPRQ1f+kVOtE+4JU1CHFeo=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "eaf03591711b46d21abc7082a8ebee4681f9dbeb",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "release-22.11",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-unpatched": {
"locked": {
"lastModified": 1686135559,
"narHash": "sha256-pY8waAV8K/sbHBdLn5diPFnQKpNg0YS9w03MrD2lUGE=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "381e92a35e2d196fdd6077680dca0cd0197e75cb",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"root": {
"inputs": {
"mobile-nixos": "mobile-nixos",
"nix-serve": "nix-serve",
"nixpkgs-unpatched": "nixpkgs-unpatched",
"sops-nix": "sops-nix",
"uninsane-dot-org": "uninsane-dot-org"
}
},
"sops-nix": {
"inputs": {
"nixpkgs": [
"nixpkgs-unpatched"
],
"nixpkgs-stable": "nixpkgs-stable"
},
"locked": {
"lastModified": 1685848844,
"narHash": "sha256-Iury+/SVbAwLES76QJSiKFiQDzmf/8Hsq8j54WF2qyw=",
"owner": "Mic92",
"repo": "sops-nix",
"rev": "a522e12ee35e50fa7d902a164a9796e420e6e75b",
"type": "github"
},
"original": {
"owner": "Mic92",
"repo": "sops-nix",
"type": "github"
}
},
"uninsane-dot-org": {
"inputs": {
"flake-utils": "flake-utils",
"nixpkgs": [
"nixpkgs-unpatched"
]
},
"locked": {
"lastModified": 1684528780,
"narHash": "sha256-QdYxjcTCCLPv++1v9tJBL98nn/AFx0fmzlgzcLK6KRE=",
"ref": "refs/heads/master",
"rev": "f3747a1dad3d34880613821faf26357ba432d3d7",
"revCount": 194,
"type": "git",
"url": "https://git.uninsane.org/colin/uninsane"
},
"original": {
"type": "git",
"url": "https://git.uninsane.org/colin/uninsane"
}
}
},
"root": "root",
"version": 7
}

311
flake.nix
View File

@@ -1,311 +0,0 @@
# FLAKE FEEDBACK:
# - if flake inputs are meant to be human-readable, a human should be able to easily track them down given the URL.
# - this is not the case with registry URLs, like `nixpkgs/nixos-22.11`.
# - this is marginally the case with schemes like `github:nixos/nixpkgs`.
# - given the *existing* `git+https://` scheme, i propose expressing github URLs similarly:
# - `github+https://github.com/nixos/nixpkgs/tree/nixos-22.11`
# - need some way to apply local patches to inputs.
#
#
# DEVELOPMENT DOCS:
# - Flake docs: <https://nixos.wiki/wiki/Flakes>
# - Flake RFC: <https://github.com/tweag/rfcs/blob/flakes/rfcs/0049-flakes.md>
# - Discussion: <https://github.com/NixOS/rfcs/pull/49>
# - <https://serokell.io/blog/practical-nix-flakes>
#
#
# COMMON OPERATIONS:
# - update a specific flake input:
# - `nix flake lock --update-input nixpkgs`
{
# XXX: use the `github:` scheme instead of the more readable git+https: because it's *way* more efficient
# preferably, i would rewrite the human-readable https URLs to nix-specific github: URLs with a helper,
# but `inputs` is required to be a strict attrset: not an expression.
inputs = {
# <https://github.com/nixos/nixpkgs/tree/nixos-22.11>
# nixpkgs-stable.url = "github:nixos/nixpkgs?ref=nixos-22.11";
# branch workflow:
# - daily:
# - nixos-unstable cut from master after enough packages have been built in caches.
# - every 6 hours:
# - master auto-merged into staging.
# - staging-next auto-merged into staging.
# - manually, approximately once per month:
# - staging-next is cut from staging.
# - staging-next merged into master.
#
# which branch to source from?
# - for everyday development, prefer `nixos-unstable` branch, as it provides good caching.
# - if need to test bleeding updates (e.g. if submitting code into staging):
# - use `staging-next` if it's been cut (i.e. if there's an active staging-next -> master PR)
# - use `staging` if no staging-next branch has been cut.
#
# <https://github.com/nixos/nixpkgs/tree/nixos-unstable>
nixpkgs-unpatched.url = "github:nixos/nixpkgs?ref=nixos-unstable";
# nixpkgs-unpatched.url = "github:nixos/nixpkgs?ref=staging-next";
# nixpkgs-unpatched.url = "github:nixos/nixpkgs?ref=staging";
mobile-nixos = {
# <https://github.com/nixos/mobile-nixos>
url = "github:nixos/mobile-nixos";
flake = false;
};
sops-nix = {
# <https://github.com/Mic92/sops-nix>
url = "github:Mic92/sops-nix";
# inputs.nixpkgs.follows = "nixpkgs";
inputs.nixpkgs.follows = "nixpkgs-unpatched";
};
uninsane-dot-org = {
url = "git+https://git.uninsane.org/colin/uninsane";
# inputs.nixpkgs.follows = "nixpkgs";
inputs.nixpkgs.follows = "nixpkgs-unpatched";
};
nix-serve = {
# <https://github.com/edolstra/nix-serve>
url = "github:edolstra/nix-serve";
};
};
outputs = {
self,
nixpkgs-unpatched,
mobile-nixos,
sops-nix,
uninsane-dot-org,
nix-serve,
...
}@inputs:
let
inherit (builtins) attrNames elem listToAttrs map mapAttrs;
mapAttrs' = f: set:
listToAttrs (map (attr: f attr set.${attr}) (attrNames set));
# mapAttrs but without the `name` argument
mapAttrValues = f: mapAttrs (_: f);
# rather than apply our nixpkgs patches as a flake input, do that here instead.
# this (temporarily?) resolves the bad UX wherein a subflake residing in the same git
# repo as the main flake causes the main flake to have an unstable hash.
nixpkgs = (import ./nixpatches/flake.nix).outputs {
self = nixpkgs;
nixpkgs = nixpkgs-unpatched;
};
nixpkgsCompiledBy = system: nixpkgs.legacyPackages."${system}";
evalHost = { name, local, target }: nixpkgs.lib.nixosSystem {
system = target;
modules = [
(import ./hosts/instantiate.nix { localSystem = local; hostName = name; })
self.nixosModules.default
self.nixosModules.passthru
{
nixpkgs.overlays = [
self.overlays.passthru
self.overlays.sane-all
];
}
({ lib, ... }: {
# TODO: does the earlier `system` arg to nixosSystem make its way here?
nixpkgs.hostPlatform.system = target;
# nixpkgs.buildPlatform = local; # set by instantiate.nix instead
# nixpkgs.config.replaceStdenv = { pkgs }: pkgs.ccacheStdenv;
})
];
};
in {
nixosConfigurations =
let
hosts = {
servo = { name = "servo"; local = "x86_64-linux"; target = "x86_64-linux"; };
desko = { name = "desko"; local = "x86_64-linux"; target = "x86_64-linux"; };
lappy = { name = "lappy"; local = "x86_64-linux"; target = "x86_64-linux"; };
moby = { name = "moby"; local = "x86_64-linux"; target = "aarch64-linux"; };
rescue = { name = "rescue"; local = "x86_64-linux"; target = "x86_64-linux"; };
};
# cross-compiled builds: instead of emulating the host, build using a cross-compiler.
# - these are faster to *build* than the emulated variants (useful when tweaking packages),
# - but fewer of their packages can be found in upstream caches.
cross = mapAttrValues evalHost hosts;
emulated = mapAttrValues
({name, local, target}: evalHost {
inherit name target;
local = null;
})
hosts;
prefixAttrs = prefix: attrs: mapAttrs'
(name: value: {
name = prefix + name;
inherit value;
})
attrs;
in
(prefixAttrs "cross-" cross) //
(prefixAttrs "emulated-" emulated) // {
# prefer native builds for these machines:
inherit (emulated) servo desko lappy rescue;
# prefer cross-compiled builds for these machines:
inherit (cross) moby;
};
# unofficial output
# this produces a EFI-bootable .img file (GPT with a /boot partition and a system (/ or /nix) partition).
# after building this:
# - flash it to a bootable medium (SD card, flash drive, HDD)
# - resize the root partition (use cfdisk)
# - mount the part
# - chown root:nixbld <part>/nix/store
# - chown root:root -R <part>/nix/store/*
# - chown root:root -R <part>/persist # if using impermanence
# - populate any important things (persist/, home/colin/.ssh, etc)
# - boot
# - if fs wasn't resized automatically, then `sudo btrfs filesystem resize max /`
# - checkout this flake into /etc/nixos AND UPDATE THE FS UUIDS.
# - `nixos-rebuild --flake './#<host>' switch`
imgs = mapAttrValues (host: host.config.system.build.img) self.nixosConfigurations;
# unofficial output
host-pkgs = mapAttrValues (host: host.config.system.build.pkgs) self.nixosConfigurations;
host-programs = mapAttrValues (host: mapAttrValues (p: p.package) host.config.sane.programs) self.nixosConfigurations;
overlays = {
# N.B.: `nix flake check` requires every overlay to take `final: prev:` at defn site,
# hence the weird redundancy.
default = final: prev: self.overlays.pkgs final prev;
sane-all = final: prev: import ./overlays/all.nix final prev;
disable-flakey-tests = final: prev: import ./overlays/disable-flakey-tests.nix final prev;
pkgs = final: prev: import ./overlays/pkgs.nix final prev;
pins = final: prev: import ./overlays/pins.nix final prev;
optimizations = final: prev: import ./overlays/optimizations.nix final prev;
passthru = final: prev:
let
stable =
if inputs ? "nixpkgs-stable" then (
final': prev': {
stable = inputs.nixpkgs-stable.legacyPackages."${prev'.stdenv.hostPlatform.system}";
}
) else (final': prev': {});
mobile = (import "${mobile-nixos}/overlay/overlay.nix");
uninsane = uninsane-dot-org.overlay;
# nix-serve' = nix-serve.overlay;
nix-serve' = next: prev: {
# XXX(2023/03/02): upstream isn't compatible with modern `nix`. probably the perl bindings.
# - we use the package built against `nixpkgs` specified in its flake rather than use its overlay,
# to get around this.
inherit (nix-serve.packages."${next.system}") nix-serve;
};
in
(stable final prev)
// (mobile final prev)
// (uninsane final prev)
// (nix-serve' final prev)
;
};
nixosModules = rec {
default = sane;
sane = import ./modules;
passthru = { ... }: {
imports = [
sops-nix.nixosModules.sops
];
};
};
# this includes both our native packages and all the nixpkgs packages.
legacyPackages =
let
allPkgsFor = sys: (nixpkgsCompiledBy sys).appendOverlays [
self.overlays.passthru self.overlays.pkgs
];
in {
x86_64-linux = allPkgsFor "x86_64-linux";
aarch64-linux = allPkgsFor "aarch64-linux";
};
# extract only our own packages from the full set.
# because of `nix flake check`, we flatten the package set and only surface x86_64-linux packages.
packages = mapAttrs
(system: allPkgs:
allPkgs.lib.filterAttrs (name: pkg:
# keep only packages which will pass `nix flake check`, i.e. keep only:
# - derivations (not package sets)
# - packages that build for the given platform
(! elem name [ "feeds" "pythonPackagesExtensions" ])
&& (allPkgs.lib.meta.availableOn allPkgs.stdenv.hostPlatform pkg)
)
(
# expose sane packages and chosen inputs (uninsane.org)
(import ./pkgs { pkgs = allPkgs; }) // {
inherit (allPkgs) uninsane-dot-org;
}
)
)
# self.legacyPackages;
{ inherit (self.legacyPackages) x86_64-linux; }
;
apps."x86_64-linux" =
let
pkgs = self.legacyPackages."x86_64-linux";
deployScript = action: pkgs.writeShellScript "deploy-moby" ''
nixos-rebuild --flake '.#moby' build $@
sudo nix sign-paths -r -k /run/secrets/nix_serve_privkey $(readlink ./result)
nixos-rebuild --flake '.#moby' ${action} --target-host colin@moby-hn --use-remote-sudo $@
'';
in {
update-feeds = {
type = "app";
program = "${pkgs.feeds.updateScript}";
};
init-feed = {
# use like `nix run '.#init-feed' uninsane.org`
type = "app";
program = "${pkgs.feeds.initFeedScript}";
};
deploy-moby-test = {
# `nix run '.#deploy-moby-test'`
type = "app";
program = ''${deployScript "test"}'';
};
deploy-moby = {
# `nix run '.#deploy-moby-switch'`
type = "app";
program = ''${deployScript "switch"}'';
};
};
templates = {
env.python-data = {
# initialize with:
# - `nix flake init -t '/home/colin/dev/nixos/#env.python-data'`
# then enter with:
# - `nix develop`
path = ./templates/env/python-data;
description = "python environment for data processing";
};
pkgs.rust-inline = {
# initialize with:
# - `nix flake init -t '/home/colin/dev/nixos/#pkgs.rust-inline'`
path = ./templates/pkgs/rust-inline;
description = "rust package and development environment (inline rust sources)";
};
pkgs.rust = {
# initialize with:
# - `nix flake init -t '/home/colin/dev/nixos/#pkgs.rust'`
path = ./templates/pkgs/rust;
description = "rust package fit to ship in nixpkgs";
};
pkgs.make = {
# initialize with:
# - `nix flake init -t '/home/colin/dev/nixos/#pkgs.make'`
path = ./templates/pkgs/make;
description = "default Makefile-based derivation";
};
};
};
}

View File

@@ -0,0 +1,33 @@
# Samsung chromebook XE303C12
# - <https://wiki.postmarketos.org/wiki/Samsung_Chromebook_(google-snow)>
{ ... }:
{
imports = [
./fs.nix
];
sane.hal.samsung.enable = true;
sane.roles.client = true;
# sane.roles.pc = true;
users.users.colin.initialPassword = "147147";
sane.programs.sway.enableFor.user.colin = true;
sane.programs.calls.enableFor.user.colin = false;
sane.programs.consoleMediaUtils.enableFor.user.colin = true;
sane.programs.epiphany.enableFor.user.colin = true;
sane.programs.geary.enableFor.user.colin = false;
# sane.programs.firefox.enableFor.user.colin = true;
sane.programs.portfolio-filemanager.enableFor.user.colin = true;
sane.programs.signal-desktop.enableFor.user.colin = false;
sane.programs.wike.enableFor.user.colin = true;
sane.programs.dino.config.autostart = false;
sane.programs.dissent.config.autostart = false;
sane.programs.fractal.config.autostart = false;
sane.programs.sway.config.mod = "Mod1"; #< alt key instead of Super
# sane.programs.guiApps.enableFor.user.colin = false;
# sane.programs.pcGuiApps.enableFor.user.colin = false; #< errors!
}

View File

@@ -0,0 +1,16 @@
{ ... }:
{
fileSystems."/nix" = {
device = "/dev/disk/by-uuid/55555555-0303-0c12-86df-eda9e9311526";
fsType = "btrfs";
options = [
"compress=zstd"
"defaults"
];
};
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/303C-5A37";
fsType = "vfat";
};
}

View File

@@ -4,55 +4,53 @@
./fs.nix
];
# sane.programs.devPkgs.enableFor.user.colin = true;
# sane.guest.enable = true;
# don't enable wifi by default: it messes with connectivity.
# systemd.services.iwd.enable = false;
# networking.wireless.enable = false;
# systemd.services.wpa_supplicant.enable = false;
# sane.programs.wpa_supplicant.enableFor.user.colin = lib.mkForce false;
# sane.programs.wpa_supplicant.enableFor.system = lib.mkForce false;
# don't auto-connect to wifi networks
# see: <https://networkmanager.dev/docs/api/latest/NetworkManager.conf.html#device-spec>
networking.networkmanager.unmanaged = [ "type:wifi" ];
sops.secrets.colin-passwd.neededForUsers = true;
sane.roles.build-machine.enable = true;
sane.roles.ac = true;
sane.roles.client = true;
sane.roles.dev-machine = true;
sane.roles.pc = true;
sane.services.ollama.enable = true;
sane.services.wg-home.enable = true;
sane.services.wg-home.ip = config.sane.hosts.by-name."desko".wg-home.ip;
sane.services.duplicity.enable = true;
sane.services.nixserve.secretKeyFile = config.sops.secrets.nix_serve_privkey.path;
sane.ovpn.addrV4 = "172.26.55.21";
# sane.ovpn.addrV6 = "fd00:0000:1337:cafe:1111:1111:20c1:a73c";
sane.services.rsync-net.enable = true;
sane.gui.sway.enable = true;
sane.programs.iphoneUtils.enableFor.user.colin = true;
sane.nixcache.remote-builders.desko = false;
sane.programs.guiApps.suggestedPrograms = [ "desktopGuiApps" ];
sane.programs.consoleUtils.suggestedPrograms = [ "consoleMediaUtils" ];
sane.programs.firefox.config.formFactor = "desktop";
sane.programs.sane-private-unlock-remote.enableFor.user.colin = true;
sane.programs.sane-private-unlock-remote.config.hosts = [ "servo" ];
sane.programs.sway.enableFor.user.colin = true;
sane.programs.steam.enableFor.user.colin = true;
sane.programs.nwg-panel.config = {
battery = false;
brightness = false;
};
sane.programs.mpv.config.defaultProfile = "high-quality";
boot.loader.efi.canTouchEfiVariables = false;
sane.image.extraBootFiles = [ pkgs.bootpart-uefi-x86_64 ];
# needed to use libimobiledevice/ifuse, for iphone sync
services.usbmuxd.enable = true;
# don't enable wifi by default: it messes with connectivity.
systemd.services.iwd.enable = false;
# default config: https://man.archlinux.org/man/snapper-configs.5
# defaults to something like:
# - hourly snapshots
# - auto cleanup; keep the last 10 hourlies, last 10 daylies, last 10 monthlys.
services.snapper.configs.nix = {
# TODO: for the impermanent setup, we'd prefer to just do /nix/persist,
# but that also requires setting up the persist dir as a subvol
SUBVOLUME = "/nix";
# TODO: ALLOW_USERS doesn't seem to work. still need `sudo snapper -c nix list`
ALLOW_USERS = [ "colin" ];
};
programs.steam = {
enable = true;
# not sure if needed: stole this whole snippet from the wiki
remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play
dedicatedServer.openFirewall = true; # Open ports in the firewall for Source Dedicated Server
};
sane.user.persist.plaintext = [
".steam"
".local/share/Steam"
];
# docs: https://nixos.org/manual/nixos/stable/options.html#opt-system.stateVersion
system.stateVersion = "21.05";
# TODO(2025-01-01): re-enable once rocm build is fixed: <https://github.com/NixOS/nixpkgs/pull/367695>
# hardware.amdgpu.opencl.enable = true; # desktop (AMD's opencl implementation AKA "ROCM"); probably required for ollama
}

View File

@@ -1,21 +1,12 @@
{ ... }:
{
sane.persist.root-on-tmpfs = true;
# we need a /tmp for building large nix things.
# increase /tmp space (defaults to 50% of RAM) for building large nix things.
# a cross-compiled kernel, particularly, will easily use 30+GB of tmp
fileSystems."/tmp" = {
device = "none";
fsType = "tmpfs";
options = [
"mode=777"
"size=64G"
"defaults"
];
};
fileSystems."/tmp".options = [ "size=128G" ];
fileSystems."/nix" = {
# device = "/dev/disk/by-uuid/985a0a32-da52-4043-9df7-615adec2e4ff";
device = "/dev/disk/by-uuid/0ab0770b-7734-4167-88d9-6e4e20bb2a56";
device = "/dev/disk/by-uuid/845d85bf-761d-431b-a406-e6f20909154f";
fsType = "btrfs";
options = [
"compress=zstd"
@@ -24,8 +15,7 @@
};
fileSystems."/boot" = {
# device = "/dev/disk/by-uuid/CAA7-E7D2";
device = "/dev/disk/by-uuid/41B6-BAEF";
device = "/dev/disk/by-uuid/5049-9AFD";
fsType = "vfat";
};
}

View File

@@ -2,41 +2,46 @@
{
imports = [
./fs.nix
./polyfill.nix
];
sane.roles.client = true;
sane.roles.dev-machine = true;
sane.roles.pc = true;
sane.services.wg-home.enable = true;
sane.services.wg-home.ip = config.sane.hosts.by-name."lappy".wg-home.ip;
sane.ovpn.addrV4 = "172.23.119.72";
# sane.ovpn.addrV6 = "fd00:0000:1337:cafe:1111:1111:0332:aa96/128";
# sane.guest.enable = true;
sane.gui.sway.enable = true;
boot.loader.efi.canTouchEfiVariables = false;
sane.image.extraBootFiles = [ pkgs.bootpart-uefi-x86_64 ];
sane.programs.guiApps.suggestedPrograms = [
"desktopGuiApps"
"stepmania"
];
sane.programs.consoleUtils.suggestedPrograms = [ "consoleMediaUtils" ];
sane.programs.sane-private-unlock-remote.enableFor.user.colin = true;
sane.programs.sane-private-unlock-remote.config.hosts = [ "servo" ];
sane.programs.firefox.config.formFactor = "laptop";
sane.programs.itgmania.enableFor.user.colin = true;
# sane.programs.stepmania.enableFor.user.colin = true; #< TODO: fix build
sane.programs.sway.enableFor.user.colin = true;
sops.secrets.colin-passwd.neededForUsers = true;
sane.services.rsync-net.enable = true;
# starting 2024/09, under default settings (apparently 256 quantum), audio would crackle under load.
# 1024 solves *most* crackles, but still noticable under heavier loads.
sane.programs.pipewire.config.min-quantum = 2048;
# TODO: enable snapper (need to make `/nix` or `/nix/persist` a subvolume, somehow).
# default config: https://man.archlinux.org/man/snapper-configs.5
# defaults to something like:
# - hourly snapshots
# - auto cleanup; keep the last 10 hourlies, last 10 daylies, last 10 monthlys.
services.snapper.configs.nix = {
# TODO: for the impermanent setup, we'd prefer to just do /nix/persist,
# but that also requires setting up the persist dir as a subvol
SUBVOLUME = "/nix";
ALLOW_USERS = [ "colin" ];
};
# TODO: only here for debugging
# services.ipfs.enable = true;
# docs: https://nixos.org/manual/nixos/stable/options.html#opt-system.stateVersion
system.stateVersion = "21.05";
# to list snapshots: `sudo snapper --config nix list`
# to take a snapshot: `sudo snapper --config nix create`
# services.snapper.configs.nix = {
# # TODO: for the impermanent setup, we'd prefer to just do /nix/persist,
# # but that also requires setting up the persist dir as a subvol
# SUBVOLUME = "/nix";
# # TODO: ALLOW_USERS doesn't seem to work. still need `sudo snapper -c nix list`
# ALLOW_USERS = [ "colin" ];
# };
}

View File

@@ -1,17 +1,6 @@
{ ... }:
{
sane.persist.root-on-tmpfs = true;
# we need a /tmp of default size (half RAM) for building large nix things
fileSystems."/tmp" = {
device = "none";
fsType = "tmpfs";
options = [
"mode=777"
"defaults"
];
};
fileSystems."/nix" = {
device = "/dev/disk/by-uuid/75230e56-2c69-4e41-b03e-68475f119980";
fsType = "btrfs";
@@ -25,24 +14,4 @@
device = "/dev/disk/by-uuid/BD79-D6BB";
fsType = "vfat";
};
# fileSystems."/nix" = {
# device = "/dev/disk/by-uuid/5a7fa69c-9394-8144-a74c-6726048b129f";
# fsType = "btrfs";
# };
# fileSystems."/boot" = {
# device = "/dev/disk/by-uuid/4302-1685";
# fsType = "vfat";
# };
# fileSystems."/" = {
# device = "none";
# fsType = "tmpfs";
# options = [
# "mode=755"
# "size=1G"
# "defaults"
# ];
# };
}

View File

@@ -1,32 +0,0 @@
# doesn't actually *enable* anything,
# but sets up any modules such that if they *were* enabled, they'll act as expected.
{ ... }:
{
sane.gui.sxmo = {
greeter = "sway";
settings = {
# XXX: make sure the user is part of the `input` group!
SXMO_LISGD_INPUT_DEVICE = "/dev/input/by-id/usb-Wacom_Co._Ltd._Pen_and_multitouch_sensor-event-if00";
# these identifiers are from `swaymsg -t get_inputs`
SXMO_VOLUME_BUTTON = "1:1:AT_Translated_Set_2_keyboard";
# SXMO_VOLUME_BUTTON = "none";
SXMO_POWER_BUTTON = "0:1:Power_Button";
# SXMO_POWER_BUTTON = "none";
SXMO_DISABLE_LEDS = "1";
SXMO_UNLOCK_IDLE_TIME = "120"; # default
# sxmo tries to determine device type from /proc/device-tree/compatible,
# but that doesn't seem to exist on NixOS? (or maybe it just doesn't exist
# on non-aarch64 builds).
# the device type informs (at least):
# - SXMO_WIFI_MODULE
# - SXMO_RTW_SCAN_INTERVAL
# - SXMO_SYS_FILES
# - SXMO_TOUCHSCREEN_ID
# - SXMO_MONITOR
# - SXMO_ALSA_CONTROL_NAME
# - SXMO_SWAY_SCALE
# see <repo:mil/sxmo-utils:scripts/deviceprofiles>
# SXMO_DEVICE_NAME = "pine64,pinephone-1.2";
};
};
}

View File

@@ -1,110 +1,64 @@
{ config, pkgs, lib, ... }:
# Pinephone
#
# wikis, resources, ...:
# - Linux Phone Apps: <https://linuxphoneapps.org/>
# - massive mobile-friendly app database
# - Mobian wiki: <https://wiki.mobian-project.org/doku.php?id=start>
# - recommended apps, chatrooms
{ config, ... }:
{
imports = [
./firmware.nix
./fs.nix
./kernel.nix
./polyfill.nix
];
sane.hal.pine64-pinephone-pro.enable = true;
sane.roles.client = true;
sane.roles.handheld = true;
sane.services.wg-home.enable = true;
sane.services.wg-home.ip = config.sane.hosts.by-name."moby".wg-home.ip;
sane.ovpn.addrV4 = "172.24.87.255";
# sane.ovpn.addrV6 = "fd00:0000:1337:cafe:1111:1111:18cd:a72b";
# XXX colin: phosh doesn't work well with passwordless login,
# so set this more reliable default password should anything go wrong
users.users.colin.initialPassword = "147147";
services.getty.autologinUser = "root"; # allows for emergency maintenance?
sops.secrets.colin-passwd.neededForUsers = true;
sane.programs.web-browser.config = {
# compromise impermanence for the sake of usability
persistCache = "private";
persistData = "private";
sane.services.rsync-net.enable = true;
# i don't do crypto stuff on moby
addons.ether-metamask.enable = false;
# addons.sideberry.enable = false;
sane.programs.sway.enableFor.user.colin = true;
sane.programs.sway.config.mod = "Mod1"; #< alt key instead of Super
# enabled for easier debugging
sane.programs.eg25-control.enableFor.user.colin = true;
# sane.programs.rtl8723cs-wowlan.enableFor.user.colin = true;
# sane.programs.eg25-manager.enableFor.user.colin = true;
# sane.programs.ntfy-sh.config.autostart = true;
sane.programs.dino.config.autostart = true;
sane.programs.signal-desktop.config.autostart = false;
sane.programs.geary.config.autostart = false;
sane.programs.pipewire.config = {
# tune so Dino doesn't drop audio
# there's seemingly two buffers for the mic (see: <https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/FAQ#pipewire-buffering-explained>)
# 1. Pipewire buffering out of the driver and into its own member.
# 2. Pipewire buffering into Dino.
# the latter is fixed at 10ms by Dino, difficult to override via runtime config.
# the former defaults low (e.g. 512 samples)
# this default configuration causes the mic to regularly drop out entirely for a couple seconds at a time during a call,
# presumably because the system can't keep up (pw-top shows incrementing counter in ERR column).
# `pw-metadata -n settings 0 clock.force-quantum 1024` reduces to about 1 error per second.
# `pw-metadata -n settings 0 clock.force-quantum 2048` reduces to 1 error every < 10s.
# pipewire default config includes `clock.power-of-two-quantum = true`
min-quantum = 2048;
max-quantum = 8192;
};
sane.user.persist.plaintext = [
# TODO: make this just generally conditional upon pulse being enabled?
".config/pulse" # persist pulseaudio volume
];
sane.programs.mpv.config.defaultProfile = "fast";
sane.gui.sxmo.enable = true;
# sane.programs.consoleUtils.enableFor.user.colin = false;
# sane.programs.guiApps.enableFor.user.colin = false;
sane.programs.sequoia.enableFor.user.colin = false;
sane.programs.tuiApps.enableFor.user.colin = false; # visidata, others, don't compile well
# disabled for faster deploys (gthumb depends on webkitgtk, particularly)
sane.programs.soundconverter.enableFor.user.colin = false;
sane.programs."gnome.nautilus".enableFor.user.colin = false;
sane.programs.gthumb.enableFor.user.colin = false;
boot.loader.efi.canTouchEfiVariables = false;
# /boot space is at a premium. default was 20.
# even 10 can be too much
# TODO: compress moby kernels!
boot.loader.generic-extlinux-compatible.configurationLimit = 8;
# mobile.bootloader.enable = false;
# mobile.boot.stage-1.enable = false;
# boot.initrd.systemd.enable = false;
# boot.initrd.services.swraid.enable = false; # attempt to fix dm_mod stuff
# disable proximity sensor.
# the filtering/calibration is bad that it causes the screen to go fully dark at times.
boot.blacklistedKernelModules = [ "stk3310" ];
# without this some GUI apps fail: `DRM_IOCTL_MODE_CREATE_DUMB failed: Cannot allocate memory`
# this is because they can't allocate enough video ram.
# the default CMA seems to be 32M.
# i was running fine with 256MB from 2022/07-ish through 2022/12-ish, but then the phone quit reliably coming back from sleep: maybe a memory leak?
# `cat /proc/meminfo` to see CmaTotal/CmaFree if interested in tuning this.
boot.kernelParams = [ "cma=512M" ];
# mobile-nixos' /lib/firmware includes:
# rtl_bt (bluetooth)
# anx7688-fw.bin (USB-C -> HDMI bridge)
# ov5640_af.bin (camera module)
# hardware.firmware = [ config.mobile.device.firmware ];
hardware.firmware = [ pkgs.rtl8723cs-firmware ];
system.stateVersion = "21.11";
# defined: https://www.freedesktop.org/software/systemd/man/machine-info.html
# XXX colin: not sure which, if any, software makes use of this
environment.etc."machine-info".text = ''
CHASSIS="handset"
'';
# enable rotation sensor
hardware.sensor.iio.enable = true;
# inject specialized alsa configs via the environment.
# specifically, this gets the pinephone headphones & internal earpiece working.
# see pkgs/patched/alsa-ucm-conf for more info.
environment.variables.ALSA_CONFIG_UCM2 = "/run/current-system/sw/share/alsa/ucm2";
environment.pathsToLink = [ "/share/alsa/ucm2" ];
environment.systemPackages = [ pkgs.alsa-ucm-conf-sane ];
systemd =
let ucm-env = config.environment.variables.ALSA_CONFIG_UCM2;
in {
# cribbed from <repo:nixos/mobile-nixos:modules/quirks/audio.nix>
# pulseaudio
user.services.pulseaudio.environment.ALSA_CONFIG_UCM2 = ucm-env;
services.pulseaudio.environment.ALSA_CONFIG_UCM2 = ucm-env;
# pipewire
user.services.pipewire.environment.ALSA_CONFIG_UCM2 = ucm-env;
user.services.pipewire-pulse.environment.ALSA_CONFIG_UCM2 = ucm-env;
user.services.wireplumber.environment.ALSA_CONFIG_UCM2 = ucm-env;
services.pipewire.environment.ALSA_CONFIG_UCM2 = ucm-env;
services.pipewire-pulse.environment.ALSA_CONFIG_UCM2 = ucm-env;
services.wireplumber.environment.ALSA_CONFIG_UCM2 = ucm-env;
};
hardware.opengl.driSupport = true;
# /boot space is at a premium, especially with uncompressed kernels. default was 20.
boot.loader.generic-extlinux-compatible.configurationLimit = 10;
}

View File

@@ -1,12 +0,0 @@
{ config, pkgs, ... }:
{
# we need space in the GPT header to place tow-boot.
# only actually need 1 MB, but better to over-allocate than under-allocate
sane.image.extraGPTPadding = 16 * 1024 * 1024;
sane.image.firstPartGap = 0;
system.build.img = pkgs.runCommand "nixos_full-disk-image.img" {} ''
cp -v ${config.system.build.img-without-firmware}/nixos.img $out
chmod +w $out
dd if=${pkgs.tow-boot-pinephone}/Tow-Boot.noenv.bin of=$out bs=1024 seek=8 conv=notrunc
'';
}

View File

@@ -1,7 +1,6 @@
{ ... }:
{
sane.persist.root-on-tmpfs = true;
fileSystems."/nix" = {
device = "/dev/disk/by-uuid/1f1271f8-53ce-4081-8a29-60a4a6b5d6f9";
fsType = "btrfs";

View File

@@ -1,83 +0,0 @@
{ lib, pkgs, ... }:
let
# use the last commit on the 5.18 branch (5.18.14)
# manjaro's changes between kernel patch versions tend to be minimal if any.
manjaroBase = "https://gitlab.manjaro.org/manjaro-arm/packages/core/linux/-/raw/25bd828cd47b1c6e09fcbcf394a649b89d2876dd";
manjaroPatch = name: sha256: {
inherit name;
patch = pkgs.fetchpatch {
inherit name;
url = "${manjaroBase}/${name}?inline=false";
inherit sha256;
};
};
# the idea for patching off Manjaro's kernel comes from jakewaksbaum:
# - https://git.sr.ht/~jakewaksbaum/pi/tree/af20aae5653545d6e67a459b59ee3e1ca8a680b0/item/kernel/default.nix
# - he later abandoned this, i think because he's using the Pinephone Pro which received mainline support.
manjaroPatches = [
(manjaroPatch
"1001-arm64-dts-allwinner-add-hdmi-sound-to-pine-devices.patch"
"sha256-DApd791A+AxB28Ven/MVAyuyVphdo8KQDx8O7oxVPnc="
)
# these patches below are critical to enable wifi (RTL8723CS)
# - the alternative is a wholly forked kernel by megi/megous:
# - https://xnux.eu/howtos/build-pinephone-kernel.html#toc-how-to-build-megi-s-pinehpone-kernel
# - i don't know if these patches are based on megi's or original
(manjaroPatch
"2001-Bluetooth-Add-new-quirk-for-broken-local-ext-features.patch"
"sha256-CExhJuUWivegxPdnzKINEsKrMFx/m/1kOZFmlZ2SEOc="
)
(manjaroPatch
"2002-Bluetooth-btrtl-add-support-for-the-RTL8723CS.patch"
"sha256-dDdvOphTcP/Aog93HyH+L9m55laTgtjndPSE4/rnzUA="
)
(manjaroPatch
"2004-arm64-dts-allwinner-enable-bluetooth-pinetab-pinepho.patch"
"sha256-o43P3WzXyHK1PF+Kdter4asuyGAEKO6wf5ixcco2kCQ="
)
# XXX: this one has a Makefile, which hardcodes /sbin/depmod:
# - drivers/staging/rtl8723cs/Makefile
# - not sure if this is problematic?
(manjaroPatch
"2005-staging-add-rtl8723cs-driver.patch"
"sha256-6ywm3dQQ5JYl60CLKarxlSUukwi4QzqctCj3tVgzFbo="
)
];
in
{
# use Megi's kernel:
# even with the Manjaro patches, stock 5.18 has a few issues on Pinephone:
# - no battery charging
# - phone rotation sensor is off by 90 degrees
# - ambient light sensor causes screen brightness to be shakey
# - phosh greeter may not appear after wake from sleep
boot.kernelPackages = pkgs.linuxPackagesFor pkgs.linux-megous;
# alternatively, use nixos' kernel and add the stuff we want:
# # cross-compilation optimization:
# boot.kernelPackages =
# let p = (import nixpkgs { localSystem = "x86_64-linux"; });
# in p.pkgsCross.aarch64-multiplatform.linuxPackages_5_18;
# # non-cross:
# # boot.kernelPackages = pkgs.linuxPackages_5_18;
# boot.kernelPatches = manjaroPatches ++ [
# (patchDefconfig kernelConfig)
# ];
nixpkgs.hostPlatform.linux-kernel = {
# defaults:
name = "aarch64-multiplatform";
baseConfig = "defconfig";
DTB = true;
autoModules = true;
preferBuiltin = true;
# extraConfig = ...
# ^-- raspberry pi stuff: we don't need it.
# target = "Image"; # <-- default
target = "Image.gz"; # <-- compress the kernel image
# target = "zImage"; # <-- confuses other parts of nixos :-(
};
}

View File

@@ -1,23 +0,0 @@
{ sane-lib, ... }:
{
sane.gui.sxmo = {
settings = {
# touch screen
SXMO_LISGD_INPUT_DEVICE = "/dev/input/by-path/platform-1c2ac00.i2c-event";
# vol and power are detected correctly by upstream
};
};
# TODO: only populate this if sxmo is enabled?
sane.user.fs.".config/sxmo/profile" = sane-lib.fs.wantedText ''
# sourced by sxmo_init.sh
. sxmo_common.sh
export SXMO_SWAY_SCALE=1.5
export SXMO_ROTATION_GRAVITY=12800
export DEFAULT_COUNTRY=US
export BROWSER=librewolf
export SXMO_BG_IMG="$(xdg_data_path sxmo/background.jpg)"
'';
}

View File

@@ -4,12 +4,11 @@
./fs.nix
];
boot.loader.generic-extlinux-compatible.enable = true;
boot.loader.efi.canTouchEfiVariables = false;
sane.image.extraBootFiles = [ pkgs.bootpart-uefi-x86_64 ];
# sane.persist.enable = false; # TODO: disable (but run `nix flake check` to ensure it works!)
sane.persist.enable = false; # what we mean here is that the image is immutable; `/` is still tmpfs.
sane.nixcache.enable = false; # don't want to be calling out to dead machines that we're *trying* to rescue
# docs: https://nixos.org/manual/nixos/stable/options.html#opt-system.stateVersion
system.stateVersion = "21.05";
# auto-login at shell
services.getty.autologinUser = "colin";
# users.users.colin.initialPassword = "colin";
}

View File

@@ -1,7 +1,7 @@
{ ... }:
{
fileSystems."/" = {
fileSystems."/nix" = {
device = "/dev/disk/by-uuid/44445555-6666-7777-8888-999900001111";
fsType = "ext4";
};

View File

@@ -3,32 +3,34 @@
{
imports = [
./fs.nix
./net.nix
./net
./services
./users
];
sane.programs = {
# for administering services
freshrss.enableFor.user.colin = true;
matrix-synapse.enableFor.user.colin = true;
signaldctl.enableFor.user.colin = true;
};
# for administering services
sane.programs.clightning-sane.enableFor.user.colin = true;
# sane.programs.freshrss.enableFor.user.colin = true;
# sane.programs.signaldctl.enableFor.user.colin = true;
# sane.programs.matrix-synapse.enableFor.user.colin = true;
sane.roles.ac = true;
sane.roles.build-machine.enable = true;
sane.roles.build-machine.emulation = false;
sane.zsh.showDeadlines = false; # ~/knowledge doesn't always exist
sane.programs.sane-deadlines.config.showOnLogin = false; # ~/knowledge doesn't always exist
sane.programs.consoleUtils.suggestedPrograms = [
"consoleMediaUtils" # notably, for go2tv / casting
"pcConsoleUtils"
"sane-scripts.stop-all-servo"
];
sane.services.dyn-dns.enable = true;
sane.services.wg-home.enable = true;
sane.services.wg-home.enableWan = true;
sane.services.wg-home.ip = config.sane.hosts.by-name."servo".wg-home.ip;
# sane.services.duplicity.enable = true; # TODO: re-enable after HW upgrade
sane.nixcache.remote-builders.desko = false;
sane.nixcache.remote-builders.servo = false;
sane.services.rsync-net.enable = true;
# automatically log in at the virtual consoles.
# using root here makes sure we always have an escape hatch
# using root here makes sure we always have an escape hatch.
# XXX(2024-07-27): this is incompatible if using s6, which needs to auto-login as `colin` to start its user services.
services.getty.autologinUser = "root";
boot.loader.efi.canTouchEfiVariables = false;
sane.image.extraBootFiles = [ pkgs.bootpart-uefi-x86_64 ];
# both transmission and ipfs try to set different net defaults.
@@ -36,13 +38,5 @@
boot.kernel.sysctl = {
"net.core.rmem_max" = 4194304; # 4MB
};
# This value determines the NixOS release from which the default
# settings for stateful data, like file locations and database versions
# on your system were taken. Its perfectly fine and recommended to leave
# this value at the release version of the first install of this system.
# Before changing this value read the documentation for this option
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
system.stateVersion = "21.11";
}

View File

@@ -1,17 +1,20 @@
{ ... }:
{ lib, pkgs, ... }:
{
sane.persist.root-on-tmpfs = true;
# we need a /tmp for building large nix things
fileSystems."/tmp" = {
device = "none";
fsType = "tmpfs";
options = [
"mode=777"
"defaults"
];
# hostId: not used for anything except zfs guardrail?
# [hex(ord(x)) for x in 'serv']
# networking.hostId = "73657276";
sane.persist.stores."ext" = {
origin = "/mnt/pool/persist";
storeDescription = "external HDD storage";
defaultMethod = "bind"; #< TODO: change to "symlink"?
};
# increase /tmp space (defaults to 50% of RAM) for building large nix things.
# even the stock `nixpkgs.linux` consumes > 16 GB of tmp
fileSystems."/tmp".options = [ "size=32G" ];
fileSystems."/nix" = {
device = "/dev/disk/by-uuid/cc81cca0-3cc7-4d82-a00c-6243af3e7776";
fsType = "btrfs";
@@ -26,68 +29,75 @@
fsType = "vfat";
};
# slow, external storage (for archiving, etc)
fileSystems."/mnt/persist/ext" = {
device = "/dev/disk/by-uuid/aa272cff-0fcc-498e-a4cb-0d95fb60631b";
fileSystems."/mnt/pool" = {
# all btrfs devices of the same RAID volume use the same UUID.
device = "UUID=40fc6e1d-ba41-44de-bbf3-1aa02c3441df";
fsType = "btrfs";
options = [
"compress=zstd"
# "compress=zstd" #< not much point in compressing... mostly videos and music; media.
"defaults"
# `device=...` only needed if `btrfs scan` hasn't yet been run
# see: <https://askubuntu.com/a/484374>
# i don't know what guarantees NixOS/systemd make about that, so specifying all devices for now
# "device=/dev/disk/by-partuuid/14a7d00a-be53-2b4e-96f9-7e2c964674ec" #< removed 2024-11-24 (for capacity upgrade)
"device=/dev/disk/by-partuuid/409a147e-2282-49eb-87a7-c968032ede88" #< added 2024-11-24
"device=/dev/disk/by-partuuid/6b86cc10-c3cc-ec4d-b20d-b6688f0959a6"
# "device=/dev/disk/by-partuuid/7fd85cac-b6f3-8248-af4e-68e703d11020" #< removed 2024-11-13 (early drive failure)
"device=/dev/disk/by-partuuid/d9ad5ebc-0fc4-4d89-9fd0-619ce5210f1b" #< added 2024-11-13
"device=/dev/disk/by-partuuid/ef0e5c7b-fccf-f444-bac4-534424326159"
"nofail"
# "x-systemd.before=local-fs.target"
"x-systemd.device-bound=false" #< don't unmount when `device` disappears (i thought this was necessary, for drive replacement, but it might not be)
"x-systemd.device-timeout=60s"
"x-systemd.mount-timeout=60s"
];
};
sane.persist.stores."ext" = {
origin = "/mnt/persist/ext/persist";
storeDescription = "external HDD storage";
# TODO: move this elsewhere and automate the ACLs!
# FIRST TIME SETUP FOR MEDIA DIRECTORY:
# - set the group sticky bit: `sudo find /var/media -type d -exec chmod g+s {} +`
# - this ensures new files/dirs inherit the group of their parent dir (instead of the user who creates them)
# - ensure everything under /var/media is mounted with `-o acl`, to support acls
# - ensure all files are rwx by group: `setfacl --recursive --modify d:g::rwx /var/media`
# - alternatively, `d:g:media:rwx` to grant `media` group even when file has a different owner, but that's a bit complex
sane.persist.sys.byStore.ext = [{
path = "/var/media";
user = "colin";
group = "media";
mode = "0775";
}];
sane.fs."/var/media/archive".dir = {};
# this is file.text instead of symlink.text so that it may be read over a remote mount (where consumers might not have any /nix/store/.../README.md path)
sane.fs."/var/media/archive/README.md".file.text = ''
this directory is for media i wish to remove from my library,
but keep for a short time in case i reverse my decision.
treat it like a system trash can.
'';
sane.fs."/var/media/Books".dir = {};
sane.fs."/var/media/Books/Audiobooks".dir = {};
sane.fs."/var/media/Books/Books".dir = {};
sane.fs."/var/media/Books/Visual".dir = {};
sane.fs."/var/media/collections".dir = {};
sane.fs."/var/media/freeleech".dir = {};
sane.fs."/var/media/Music".dir = {};
sane.fs."/var/media/Pictures".dir = {};
sane.fs."/var/media/Videos".dir = {};
sane.fs."/var/media/Videos/Film".dir = {};
sane.fs."/var/media/Videos/Shows".dir = {};
sane.fs."/var/media/Videos/Talks".dir = {};
systemd.services.dedupe-media = {
description = "transparently de-duplicate /var/media entries by using block-level hardlinks";
script = ''
${lib.getExe' pkgs.util-linux "hardlink"} /var/media --reflink=always --ignore-time --verbose
'';
};
systemd.timers.dedupe-media = {
wantedBy = [ "multi-user.target" ];
timerConfig = {
OnStartupSec = "23min";
OnUnitActiveSec = "720min";
};
};
sane.fs."/mnt/persist/ext".mount = {};
sane.persist.sys.plaintext = [
# TODO: this is overly broad; only need media and share directories to be persisted
{ user = "colin"; group = "users"; directory = "/var/lib/uninsane"; }
];
# make sure large media is stored to the HDD
sane.persist.sys.ext = [
{
user = "colin";
group = "users";
mode = "0777";
directory = "/var/lib/uninsane/media/Videos";
}
{
user = "colin";
group = "users";
mode = "0777";
directory = "/var/lib/uninsane/media/freeleech";
}
];
# in-memory compressed RAM (seems to be dynamically sized)
# zramSwap = {
# enable = true;
# };
# btrfs doesn't easily support swapfiles
# swapDevices = [
# { device = "/nix/persist/swapfile"; size = 4096; }
# ];
# this can be a partition. create with:
# fdisk <dev>
# n
# <default partno>
# <start>
# <end>
# t
# <partno>
# 19 # set part type to Linux swap
# w # write changes
# mkswap -L swap <part>
# swapDevices = [
# {
# label = "swap";
# # TODO: randomEncryption.enable = true;
# }
# ];
}

View File

@@ -1,220 +0,0 @@
{ config, pkgs, ... }:
{
networking.domain = "uninsane.org";
sane.ports.openFirewall = true;
sane.ports.openUpnp = true;
# view refused packets with: `sudo journalctl -k`
# networking.firewall.logRefusedPackets = true;
# The global useDHCP flag is deprecated, therefore explicitly set to false here.
# Per-interface useDHCP will be mandatory in the future, so this generated config
# replicates the default behaviour.
networking.useDHCP = false;
networking.interfaces.eth0.useDHCP = true;
# XXX colin: probably don't need this. wlan0 won't be populated unless i touch a value in networking.interfaces.wlan0
networking.wireless.enable = false;
# this is needed to forward packets from the VPN to the host
boot.kernel.sysctl."net.ipv4.ip_forward" = 1;
# unless we add interface-specific settings for each VPN, we have to define nameservers globally.
# networking.nameservers = [
# "1.1.1.1"
# "9.9.9.9"
# ];
# use systemd's stub resolver.
# /etc/resolv.conf isn't sophisticated enough to use different servers per net namespace (or link).
# instead, running the stub resolver on a known address in the root ns lets us rewrite packets
# in the ovnps namespace to use the provider's DNS resolvers.
# a weakness is we can only query 1 NS at a time (unless we were to clone the packets?)
# there also seems to be some cache somewhere that's shared between the two namespaces.
# i think this is a libc thing. might need to leverage proper cgroups to _really_ kill it.
# - getent ahostsv4 www.google.com
# - try fix: <https://serverfault.com/questions/765989/connect-to-3rd-party-vpn-server-but-dont-use-it-as-the-default-route/766290#766290>
services.resolved.enable = true;
# without DNSSEC:
# - dig matrix.org => works
# - curl https://matrix.org => works
# with default DNSSEC:
# - dig matrix.org => works
# - curl https://matrix.org => fails
# i don't know why. this might somehow be interfering with the DNS run on this device (trust-dns)
services.resolved.dnssec = "false";
networking.nameservers = [
# use systemd-resolved resolver
# full resolver (which understands /etc/hosts) lives on 127.0.0.53
# stub resolver (just forwards upstream) lives on 127.0.0.54
"127.0.0.53"
];
# nscd -- the Name Service Caching Daemon -- caches DNS query responses
# in a way that's unaware of my VPN routing, so routes are frequently poor against
# services which advertise different IPs based on geolocation.
# nscd claims to be usable without a cache, but in practice i can't get it to not cache!
# nsncd is the Name Service NON-Caching Daemon. it's a drop-in that doesn't cache;
# this is OK on the host -- because systemd-resolved caches. it's probably sub-optimal
# in the netns and we query upstream DNS more often than needed. hm.
# TODO: run a separate recursive resolver in each namespace.
services.nscd.enableNsncd = true;
# services.resolved.extraConfig = ''
# # docs: `man resolved.conf`
# # DNS servers to use via the `wg-ovpns` interface.
# # i hope that from the root ns, these aren't visible.
# DNS=46.227.67.134%wg-ovpns 192.165.9.158%wg-ovpns
# FallbackDNS=1.1.1.1 9.9.9.9
# '';
# OVPN CONFIG (https://www.ovpn.com):
# DOCS: https://nixos.wiki/wiki/WireGuard
# if you `systemctl restart wireguard-wg-ovpns`, make sure to also restart any other services in `NetworkNamespacePath = .../ovpns`.
# TODO: why not create the namespace as a seperate operation (nix config for that?)
networking.wireguard.enable = true;
networking.wireguard.interfaces.wg-ovpns = let
ip = "${pkgs.iproute2}/bin/ip";
in-ns = "${ip} netns exec ovpns";
iptables = "${pkgs.iptables}/bin/iptables";
veth-host-ip = "10.0.1.5";
veth-local-ip = "10.0.1.6";
vpn-ip = "185.157.162.178";
# DNS = 46.227.67.134, 192.165.9.158, 2a07:a880:4601:10f0:cd45::1, 2001:67c:750:1:cafe:cd45::1
vpn-dns = "46.227.67.134";
in {
privateKeyFile = config.sops.secrets.wg_ovpns_privkey.path;
# wg is active only in this namespace.
# run e.g. ip netns exec ovpns <some command like ping/curl/etc, it'll go through wg>
# sudo ip netns exec ovpns ping www.google.com
interfaceNamespace = "ovpns";
ips = [
"185.157.162.178/32"
];
peers = [
{
publicKey = "SkkEZDCBde22KTs/Hc7FWvDBfdOCQA4YtBEuC3n5KGs=";
endpoint = "185.157.162.10:9930";
# alternatively: use hostname, but that presents bootstrapping issues (e.g. if host net flakes)
# endpoint = "vpn36.prd.amsterdam.ovpn.com:9930";
allowedIPs = [ "0.0.0.0/0" ];
# nixOS says this is important for keeping NATs active
persistentKeepalive = 25;
# re-executes wg this often. docs hint that this might help wg notice DNS/hostname changes.
# so, maybe that helps if we specify endpoint as a domain name
# dynamicEndpointRefreshSeconds = 30;
# when refresh fails, try it again after this period instead.
# TODO: not avail until nixpkgs upgrade
# dynamicEndpointRefreshRestartSeconds = 5;
}
];
preSetup = "" + ''
${ip} netns add ovpns || echo "ovpns already exists"
'';
postShutdown = "" + ''
${in-ns} ip link del ovpns-veth-b || echo "couldn't delete ovpns-veth-b"
${ip} link del ovpns-veth-a || echo "couldn't delete ovpns-veth-a"
${ip} netns delete ovpns || echo "couldn't delete ovpns"
# restore rules/routes
${ip} rule del from ${veth-host-ip} lookup ovpns pref 50 || echo "couldn't delete init -> ovpns rule"
${ip} route del default via ${veth-local-ip} dev ovpns-veth-a proto kernel src ${veth-host-ip} metric 1002 table ovpns || echo "couldn't delete init -> ovpns route"
${ip} rule add from all lookup local pref 0
${ip} rule del from all lookup local pref 100
'';
postSetup = "" + ''
# DOCS:
# - some of this approach is described here: <https://josephmuia.ca/2018-05-16-net-namespaces-veth-nat/>
# - iptables primer: <https://danielmiessler.com/study/iptables/>
# create veth pair
${ip} link add ovpns-veth-a type veth peer name ovpns-veth-b
${ip} addr add ${veth-host-ip}/24 dev ovpns-veth-a
${ip} link set ovpns-veth-a up
# mv veth-b into the ovpns namespace
${ip} link set ovpns-veth-b netns ovpns
${in-ns} ip addr add ${veth-local-ip}/24 dev ovpns-veth-b
${in-ns} ip link set ovpns-veth-b up
# make it so traffic originating from the host side of the veth
# is sent over the veth no matter its destination.
${ip} rule add from ${veth-host-ip} lookup ovpns pref 50
# for traffic originating at the host veth to the WAN, use the veth as our gateway
# not sure if the metric 1002 matters.
${ip} route add default via ${veth-local-ip} dev ovpns-veth-a proto kernel src ${veth-host-ip} metric 1002 table ovpns
# give the default route lower priority
${ip} rule add from all lookup local pref 100
${ip} rule del from all lookup local pref 0
# bridge HTTP traffic:
# any external port-80 request sent to the VPN addr will be forwarded to the rootns.
# this exists so LetsEncrypt can procure a cert for the MX over http.
# TODO: we could use _acme_challence.mx.uninsane.org CNAME to avoid this forwarding
# - <https://community.letsencrypt.org/t/where-does-letsencrypt-resolve-dns-from/37607/8>
${in-ns} ${iptables} -A PREROUTING -t nat -p tcp --dport 80 -m iprange --dst-range ${vpn-ip} \
-j DNAT --to-destination ${veth-host-ip}:80
# we also bridge DNS traffic
${in-ns} ${iptables} -A PREROUTING -t nat -p udp --dport 53 -m iprange --dst-range ${vpn-ip} \
-j DNAT --to-destination ${veth-host-ip}
${in-ns} ${iptables} -A PREROUTING -t nat -p tcp --dport 53 -m iprange --dst-range ${vpn-ip} \
-j DNAT --to-destination ${veth-host-ip}
# in order to access DNS in this netns, we need to route it to the VPN's nameservers
# - alternatively, we could fix DNS servers like 1.1.1.1.
${in-ns} ${iptables} -A OUTPUT -t nat -p udp --dport 53 -m iprange --dst-range 127.0.0.53 \
-j DNAT --to-destination ${vpn-dns}:53
'';
};
# create a new routing table that we can use to proxy traffic out of the root namespace
# through the ovpns namespace, and to the WAN via VPN.
networking.iproute2.rttablesExtraConfig = ''
5 ovpns
'';
networking.iproute2.enable = true;
# HURRICANE ELECTRIC CONFIG:
# networking.sits = {
# hurricane = {
# remote = "216.218.226.238";
# local = "192.168.0.5";
# # local = "10.0.0.5";
# # remote = "10.0.0.1";
# # local = "10.0.0.22";
# dev = "eth0";
# ttl = 255;
# };
# };
# networking.interfaces."hurricane".ipv6 = {
# addresses = [
# # mx.uninsane.org (publically routed /64)
# {
# address = "2001:470:b:465::1";
# prefixLength = 128;
# }
# # client addr
# # {
# # address = "2001:470:a:466::2";
# # prefixLength = 64;
# # }
# ];
# routes = [
# {
# address = "::";
# prefixLength = 0;
# # via = "2001:470:a:466::1";
# }
# ];
# };
# # after configuration, we want the hurricane device to look like this:
# # hurricane: flags=209<UP,POINTOPOINT,RUNNING,NOARP> mtu 1480
# # inet6 2001:470:a:450::2 prefixlen 64 scopeid 0x0<global>
# # inet6 fe80::c0a8:16 prefixlen 64 scopeid 0x20<link>
# # sit txqueuelen 1000 (IPv6-in-IPv4)
# # test with:
# # curl --interface hurricane http://[2607:f8b0:400a:80b::2004]
# # ping 2607:f8b0:400a:80b::2004
}

View File

@@ -0,0 +1,60 @@
# debugging:
# - enable logs (shows handshake attempts)
# - `echo module wireguard +p | sane-sudo-redirect /sys/kernel/debug/dynamic_debug/control`
# - `sudo dmesg --follow`
# patterns: "Sending keepalive packet to peer NN (N.N.N.N:NNNNN)"
# patterns: "Sending handshake initiation to peer NN (N.N.N.N:NNNNN)"
# - when wg-doof and wg-ovpns stop routing traffic, restart with:
# - `systemctl restart netns-doof-wg`
# - handshaking:
# - `wg show` should *always* show "latest handshake: N", with N < 2 minutes ago.
{ lib, ... }:
let
portOpts = with lib; types.submodule {
options = {
visibleTo.ovpns = mkOption {
type = types.bool;
default = false;
description = ''
whether to forward inbound traffic on the OVPN vpn port to the corresponding localhost port.
'';
};
visibleTo.doof = mkOption {
type = types.bool;
default = false;
description = ''
whether to forward inbound traffic on the doofnet vpn port to the corresponding localhost port.
'';
};
};
};
in
{
options = with lib; {
sane.ports.ports = mkOption {
# add the `visibleTo.{doof,ovpns}` options
type = types.attrsOf portOpts;
};
};
imports = [
./doof.nix
./ovpn.nix
./wg-home.nix
];
config = {
networking.domain = "uninsane.org";
systemd.network.networks."50-eth0" = {
matchConfig.Name = "eth0";
networkConfig.Address = [
"205.201.63.12/32"
"10.78.79.51/22"
];
networkConfig.DNS = [ "10.78.79.1" ];
};
sane.ports.openFirewall = true;
sane.ports.openUpnp = true;
};
}

View File

@@ -0,0 +1,27 @@
{ config, ... }:
{
# tun-sea config
sane.dns.zones."uninsane.org".inet.A."doof.tunnel" = "205.201.63.12";
# sane.dns.zones."uninsane.org".inet.AAAA."doof.tunnel" = "2602:fce8:106::51"; #< TODO: enable IPv6 (i have /128)
# if the tunnel breaks, restart it manually:
# - `systemctl restart netns-doof.service`
sane.netns.doof = {
veth.initns.ipv4 = "10.0.2.5";
veth.netns.ipv4 = "10.0.2.6";
routeTable = 12;
# wg.port = 51821;
wg.privateKeyFile = config.sops.secrets.wg_doof_privkey.path;
wg.address.ipv4 = "205.201.63.12";
wg.peer.publicKey = "nuESyYEJ3YU0hTZZgAd7iHBz1ytWBVM5PjEL1VEoTkU=";
wg.peer.endpoint = "tun-sea.doof.net:53263";
# wg.peer.endpoint = "205.201.63.44:53263";
};
# inside doof, forward DNS requests back to the root machine
# this is fine: nothing inside the ns performs DNS except for wireguard,
# and we're not forwarding external DNS requests here
# XXX: ACTUALLY, CAN'T EASILY DO THAT BECAUSE HICKORY-DNS IS ALREADY USING PORT 53
# but that's ok, we don't really need DNS *inside* this namespace.
# sane.netns.doof.dns.ipv4 = config.sane.netns.doof.veth.netns.ipv4;
}

View File

@@ -0,0 +1,20 @@
{ config, ... }:
{
sane.ovpn.addrV4 = "172.23.174.114";
# sane.ovpn.addrV6 = "fd00:0000:1337:cafe:1111:1111:8df3:14b0";
# OVPN CONFIG (https://www.ovpn.com):
# DOCS: https://nixos.wiki/wiki/WireGuard
sane.netns.ovpns = {
veth.initns.ipv4 = "10.0.1.5";
veth.netns.ipv4 = "10.0.1.6";
routeTable = 11;
dns.ipv4 = "46.227.67.134"; #< DNS requests inside the namespace are forwarded here
# wg.port = 51822;
wg.privateKeyFile = config.sops.secrets.wg_ovpns_privkey.path;
wg.address.ipv4 = "185.157.162.178";
wg.peer.publicKey = "SkkEZDCBde22KTs/Hc7FWvDBfdOCQA4YtBEuC3n5KGs=";
wg.peer.endpoint = "vpn36.prd.amsterdam.ovpn.com:9930";
# wg.peer.endpoint = "185.157.162.10:9930";
};
}

View File

@@ -0,0 +1,15 @@
{ config, ... }:
{
sane.services.wg-home.enable = true;
sane.services.wg-home.visibleToWan = true;
sane.services.wg-home.forwardToWan = true;
sane.services.wg-home.routeThroughServo = false;
sane.services.wg-home.ip = config.sane.hosts.by-name."servo".wg-home.ip;
services.unbound.settings.server.interface = [
# provide DNS to my wireguard clients
config.sane.hosts.by-name."servo".wg-home.ip
];
services.unbound.settings.server.access-control = [
"${config.sane.hosts.by-name."servo".wg-home.ip}/24 allow"
];
}

View File

@@ -1,34 +0,0 @@
{ config, lib, ... }:
let
cweb-cfg = config.services.calibre-web;
inherit (cweb-cfg) user group;
inherit (cweb-cfg.listen) ip port;
svc-dir = "/var/lib/${cweb-cfg.dataDir}";
in
# XXX: disabled because of runtime errors like:
# > File "/nix/store/c7jqvx980nlg9xhxi065cba61r2ain9y-calibre-web-0.6.19/lib/python3.10/site-packages/calibreweb/cps/db.py", line 926, in speaking_language
# > languages = self.session.query(Languages) \
# > AttributeError: 'NoneType' object has no attribute 'query'
lib.mkIf false
{
sane.persist.sys.plaintext = [
{ inherit user group; mode = "0700"; directory = svc-dir; }
];
services.calibre-web.enable = true;
services.calibre-web.listen.ip = "127.0.0.1";
# XXX: externally populate `${svc-dir}/metadata.db` (once) from
# <https://github.com/janeczku/calibre-web/blob/master/library/metadata.db>
# i don't know why you have to do this??
# services.calibre-web.options.calibreLibrary = svc-dir;
services.nginx.virtualHosts."calibre.uninsane.org" = {
addSSL = true;
enableACME = true;
locations."/" = {
proxyPass = "http://${ip}:${builtins.toString port}";
};
};
sane.dns.zones."uninsane.org".inet.CNAME."calibre" = "native";
}

View File

@@ -0,0 +1,143 @@
# TURN/STUN NAT traversal service
# commonly used to establish realtime calls with prosody, or possibly matrix/synapse
#
# - <https://github.com/coturn/coturn/>
# - `man turnserver`
# - config docs: <https://github.com/coturn/coturn/blob/master/examples/etc/turnserver.conf>
#
# N.B. during operation it's NORMAL to see "error 401".
# during session creation:
# - client sends Allocate request
# - server replies error 401, providing a realm and nonce
# - client uses realm + nonce + shared secret to construct an auth key & call Allocate again
# - server replies Allocate Success Response
# - source: <https://stackoverflow.com/a/66643135>
#
# N.B. this safest implementation routes all traffic THROUGH A VPN
# - that adds a lot of latency, but in practice turns out to be inconsequential.
# i guess ICE allows clients to prefer the other party's lower-latency server, in practice?
# - still, this is the "safe" implementation because STUN works with IP addresses instead of domain names:
# 1. client A queries the STUN server to determine its own IP address/port.
# 2. client A tells client B which IP address/port client A is visible on.
# 3. client B contacts that IP address/port
# this only works so long as the IP address/port which STUN server sees client A on is publicly routable.
# that is NOT the case when the STUN server and client A are on the same LAN
# even if client A contacts the STUN server via its WAN address with port reflection enabled.
# hence, there's no obvious way to put the STUN server on the same LAN as either client and expect the rest to work.
# - there an old version which *half worked*, which is:
# - run the turn server in the root namespace.
# - bind the turn server to the veth connecting it to the VPN namespace (so it sends outgoing traffic to the right place).
# - NAT the turn port range from VPN into root namespace (so it receives incomming traffic).
# - this approach would fail the prosody conversations.im check, but i didn't notice *obvious* call routing errors.
#
# debugging:
# - log messages like 'usage: realm=<turn.uninsane.org>, username=<1715915193>, rp=14, rb=1516, sp=8, sb=684'
# - rp = received packets
# - rb = received bytes
# - sp = sent packets
# - sb = sent bytes
{ config, lib, ... }:
let
# TURN port range (inclusive).
# default coturn behavior is to use the upper quarter of all ports. i.e. 49152 - 65535.
# i believe TURN allocations expire after either 5 or 10 minutes of inactivity.
turnPortLow = 49152; # 49152 = 0xc000
turnPortHigh = turnPortLow + 256;
turnPortRange = lib.range turnPortLow turnPortHigh;
in
{
# the port definitions are only needed if running in the root net namespace
# sane.ports.ports = lib.mkMerge ([
# {
# "3478" = {
# # this is the "control" port.
# # i.e. no client data is forwarded through it, but it's where clients request tunnels.
# protocol = [ "tcp" "udp" ];
# # visibleTo.lan = true;
# # visibleTo.wan = true;
# visibleTo.ovpns = true; # forward traffic from the VPN to the root NS
# description = "colin-stun-turn";
# };
# "5349" = {
# # the other port 3478 also supports TLS/DTLS, but presumably clients wanting TLS will default 5349
# protocol = [ "tcp" ];
# # visibleTo.lan = true;
# # visibleTo.wan = true;
# visibleTo.ovpns = true;
# description = "colin-stun-turn-over-tls";
# };
# }
# ] ++ (builtins.map
# (port: {
# "${builtins.toString port}" = let
# count = port - turnPortLow + 1;
# numPorts = turnPortHigh - turnPortLow + 1;
# in {
# protocol = [ "tcp" "udp" ];
# # visibleTo.lan = true;
# # visibleTo.wan = true;
# visibleTo.ovpns = true;
# description = "colin-turn-${builtins.toString count}-of-${builtins.toString numPorts}";
# };
# })
# turnPortRange
# ));
services.nginx.virtualHosts."turn.uninsane.org" = {
# allow ACME to procure a cert via nginx for this domain
enableACME = true;
};
sane.dns.zones."uninsane.org".inet = {
# CNAME."turn" = "servo.wan";
# CNAME."turn" = "ovpns";
# CNAME."turn" = "native";
# XXX: SRV records have to point to something with a A/AAAA record; no CNAMEs
A."turn" = "%AOVPNS%";
# A."turn" = "%AWAN%";
SRV."_stun._udp" = "5 50 3478 turn";
SRV."_stun._tcp" = "5 50 3478 turn";
SRV."_stuns._tcp" = "5 50 5349 turn";
SRV."_turn._udp" = "5 50 3478 turn";
SRV."_turn._tcp" = "5 50 3478 turn";
SRV."_turns._tcp" = "5 50 5349 turn";
};
# provide access to certs
users.users.turnserver.extraGroups = [ "nginx" ];
services.coturn.enable = true;
services.coturn.realm = "turn.uninsane.org";
services.coturn.cert = "/var/lib/acme/turn.uninsane.org/fullchain.pem";
services.coturn.pkey = "/var/lib/acme/turn.uninsane.org/key.pem";
# N.B.: prosody needs to read this shared secret
sops.secrets."coturn_shared_secret".owner = "turnserver";
sops.secrets."coturn_shared_secret".group = "turnserver";
sops.secrets."coturn_shared_secret".mode = "0440";
#v disable to allow unauthenticated access (or set `services.coturn.no-auth = true`)
services.coturn.use-auth-secret = true;
services.coturn.static-auth-secret-file = "/run/secrets/coturn_shared_secret";
services.coturn.lt-cred-mech = true; #< XXX: use-auth-secret overrides lt-cred-mech
services.coturn.min-port = turnPortLow;
services.coturn.max-port = turnPortHigh;
# services.coturn.secure-stun = true;
services.coturn.extraConfig = lib.concatStringsSep "\n" [
"verbose"
# "Verbose" #< even MORE verbosity than "verbose" (it's TOO MUCH verbosity really)
"no-multicast-peers" # disables sending to IPv4 broadcast addresses (e.g. 224.0.0.0/3)
# "listening-ip=${config.sane.netns.ovpns.veth.initns.ipv4}" "external-ip=${config.sane.netns.ovpns.wg.address.ipv4}" #< 2024/04/25: works, if running in root namespace
"listening-ip=${config.sane.netns.ovpns.wg.address.ipv4}" "external-ip=${config.sane.netns.ovpns.wg.address.ipv4}"
# old attempts:
# "external-ip=${config.sane.netns.ovpns.wg.address.ipv4}/${config.sane.netns.ovpns.veth.initns.ipv4}"
# "listening-ip=10.78.79.51" # can be specified multiple times; omit for *
# "external-ip=97.113.128.229/10.78.79.51"
# "external-ip=97.113.128.229"
# "mobility" # "mobility with ICE (MICE) specs support" (?)
];
systemd.services.coturn.serviceConfig.NetworkNamespacePath = "/run/netns/ovpns";
}

View File

@@ -0,0 +1,125 @@
# as of 2023/12/02: complete blockchain is 530 GiB (on-disk size may be larger)
#
# ports:
# - 8333: for node-to-node communications
# - 8332: rpc (client-to-node)
#
# rpc setup:
# - generate a password
# - use: <https://github.com/bitcoin/bitcoin/blob/master/share/rpcauth/rpcauth.py>
# (rpcauth.py is not included in the `'.#bitcoin'` package result)
# - `wget https://raw.githubusercontent.com/bitcoin/bitcoin/master/share/rpcauth/rpcauth.py`
# - `python ./rpcauth.py colin`
# - copy the hash here. it's SHA-256, so safe to be public.
# - add "rpcuser=colin" and "rpcpassword=<output>" to secrets/servo/bitcoin.conf (i.e. ~/.bitcoin/bitcoin.conf)
# - bitcoin.conf docs: <https://github.com/bitcoin/bitcoin/blob/master/doc/bitcoin-conf.md>
# - validate with `bitcoin-cli -netinfo`
{ config, lib, pkgs, sane-lib, ... }:
let
# bitcoind = config.sane.programs.bitcoind.packageUnwrapped;
bitcoind = pkgs.bitcoind;
# wrapper to run bitcoind with the tor onion address as externalip (computed at runtime)
_bitcoindWithExternalIp = pkgs.writeShellScriptBin "bitcoind" ''
set -xeu
externalip="$(cat /var/lib/tor/onion/bitcoind/hostname)"
exec ${lib.getExe' bitcoind "bitcoind"} "-externalip=$externalip" "$@"
'';
# the package i provide to services.bitcoind ends up on system PATH, and used by other tools like clightning.
# therefore, even though services.bitcoind only needs `bitcoind` binary, provide all the other bitcoin-related binaries (notably `bitcoin-cli`) as well:
bitcoindWithExternalIp = pkgs.symlinkJoin {
name = "bitcoind-with-external-ip";
paths = [ _bitcoindWithExternalIp bitcoind ];
};
in
{
sane.persist.sys.byStore.ext = [
{ user = "bitcoind-mainnet"; group = "bitcoind-mainnet"; path = "/var/lib/bitcoind-mainnet"; method = "bind"; }
];
# sane.ports.ports."8333" = {
# # this allows other nodes and clients to download blocks from me.
# protocol = [ "tcp" ];
# visibleTo.wan = true;
# description = "colin-bitcoin";
# };
services.tor.relay.onionServices.bitcoind = {
version = 3;
map = [{
# by default tor will route public tor port P to 127.0.0.1:P.
# so if this port is the same as clightning would natively use, then no further config is needed here.
# see: <https://2019.www.torproject.org/docs/tor-manual.html.en#HiddenServicePort>
port = 8333;
# target.port; target.addr; #< set if tor port != clightning port
}];
# allow "tor" group (i.e. bitcoind-mainnet) to read /var/lib/tor/onion/bitcoind/hostname
settings.HiddenServiceDirGroupReadable = true;
};
services.bitcoind.mainnet = {
enable = true;
package = bitcoindWithExternalIp;
rpc.users.colin = {
# see docs at top of file for how to generate this
passwordHMAC = "30002c05d82daa210550e17a182db3f3$6071444151281e1aa8a2729f75e3e2d224e9d7cac3974810dab60e7c28ffaae4";
};
extraConfig = ''
# checkblocks: default 6: how many blocks to verify on start
checkblocks=3
# don't load the wallet, and disable wallet RPC calls
disablewallet=1
# proxy all outbound traffic through Tor
proxy=127.0.0.1:9050
'';
extraCmdlineOptions = [
# "-debug"
# "-debug=estimatefee"
# "-debug=http"
# "-debug=net"
"-debug=proxy"
"-debug=rpc"
# "-debug=validation"
];
};
users.users.bitcoind-mainnet.extraGroups = [ "tor" ];
systemd.services.bitcoind-mainnet = {
after = [ "tor.service" ];
requires = [ "tor.service" ];
serviceConfig.RestartSec = "30s"; #< default is 0
# hardening (systemd-analyze security bitcoind-mainnet)
serviceConfig.StateDirectory = "bitcoind-mainnet";
serviceConfig.LockPersonality = true;
serviceConfig.MemoryDenyWriteExecute = "true";
serviceConfig.NoNewPrivileges = "true";
serviceConfig.PrivateDevices = "true";
serviceConfig.PrivateMounts = true;
serviceConfig.PrivateTmp = "true";
serviceConfig.PrivateUsers = true;
serviceConfig.ProcSubset = "pid";
serviceConfig.ProtectControlGroups = true;
serviceConfig.ProtectHome = true;
serviceConfig.ProtectHostname = true;
serviceConfig.ProtectKernelLogs = true;
serviceConfig.ProtectKernelModules = true;
serviceConfig.ProtectKernelTunables = true;
serviceConfig.ProtectProc = "invisible";
serviceConfig.ProtectSystem = lib.mkForce "strict";
serviceConfig.RemoveIPC = true;
serviceConfig.RestrictAddressFamilies = "AF_UNIX AF_INET AF_INET6";
serviceConfig.RestrictNamespaces = true;
serviceConfig.RestrictSUIDSGID = true;
serviceConfig.SystemCallArchitectures = "native";
serviceConfig.SystemCallFilter = [ "@system-service" ];
};
sops.secrets."bitcoin.conf" = {
mode = "0600";
owner = "colin";
group = "users";
};
sane.programs.bitcoin-cli.enableFor.user.colin = true; # for debugging/administration: `bitcoin-cli`
}

View File

@@ -0,0 +1,139 @@
# clightning is an implementation of Bitcoin's Lightning Network.
# as such, this assumes that `services.bitcoin` is enabled.
# docs:
# - tor clightning config: <https://docs.corelightning.org/docs/tor>
# - `lightning-cli` and subcommands: <https://docs.corelightning.org/reference/lightning-cli>
# - `man lightningd-config`
#
# management/setup/use:
# - guide: <https://github.com/ElementsProject/lightning>
#
# debugging:
# - `lightning-cli getlog debug`
# - `lightning-cli listpays` -> show payments this node sent
# - `lightning-cli listinvoices` -> show payments this node received
#
# first, acquire peers:
# - `lightning-cli connect id@host`
# where `id` is the node's pubkey, and `host` is perhaps an ip:port tuple, or a hash.onion:port tuple.
# for testing, choose any node listed on <https://1ml.com>
# - `lightning-cli listpeers`
# should show the new peer, with `connected: true`
#
# then, fund the clightning wallet
# - `lightning-cli newaddr`
#
# then, open channels
# - `lightning-cli connect ...`
# - `lightning-cli fundchannel <node_id> <amount_in_satoshis>`
#
# who to federate with?
# - a lot of the larger nodes allow hands-free channel creation
# - either inbound or outbound, sometimes paid
# - find nodes on:
# - <https://terminal.lightning.engineering/>
# - <https://1ml.com>
# - tor nodes: <https://1ml.com/node?order=capacity&iponionservice=true>
# - <https://lightningnetwork.plus>
# - <https://mempool.space/lightning>
# - <https://amboss.space>
# - a few tor-capable nodes which allow channel creation:
# - <https://c-otto.de/>
# - <https://cyberdyne.sh/>
# - <https://yalls.org/about/>
# - <https://coincept.com/>
# - more resources: <https://www.lopp.net/lightning-information.html>
# - node routability: https://hashxp.org/lightning/node/<id>
# - especially, acquire inbound liquidity via lightningnetwork.plus's swap feature
# - most of the opportunities are gated behind a minimum connection or capacity requirement
#
# tune payment parameters
# - `lightning-cli setchannel <id> [feebase] [feeppm] [htlcmin] [htlcmax] [enforcedelay] [ignorefeelimits]`
# - e.g. `lightning-cli setchannel all 0 10`
# - it's suggested that feebase=0 simplifies routing.
#
# teardown:
# - `lightning-cli withdraw <bc1... dest addr> <amount in satoshis> [feerate]`
#
# sanity:
# - `lightning-cli listfunds`
#
# to receive a payment (do as `clightning` user):
# - `lightning-cli invoice <amount in millisatoshi> <label> <description>`
# - specify amount as `any` if undetermined
# - then give the resulting bolt11 URI to the payer
# to send a payment:
# - `lightning-cli pay <bolt11 URI>`
# - or `lightning-cli pay <bolt11 URI> [amount_msat] [label] [riskfactor] [maxfeepercent] ...`
# - amount_msat must be "null" if the bolt11 URI specifies a value
# - riskfactor defaults to 10
# - maxfeepercent defaults to 0.5
# - label is a human-friendly label for my records
{ config, pkgs, ... }:
{
sane.persist.sys.byStore.private = [
# clightning takes up only a few MB. but then several hundred MB of crash logs that i should probably GC.
{ user = "clightning"; group = "clightning"; mode = "0710"; path = "/var/lib/clightning"; method = "bind"; }
];
# see bitcoin.nix for how to generate this
services.bitcoind.mainnet.rpc.users.clightning.passwordHMAC =
"befcb82d9821049164db5217beb85439$2c31ac7db3124612e43893ae13b9527dbe464ab2d992e814602e7cb07dc28985";
sane.services.clightning.enable = true;
sane.services.clightning.proxy = "127.0.0.1:9050"; # proxy outgoing traffic through tor
# sane.services.clightning.publicAddress = "statictor:127.0.0.1:9051";
sane.services.clightning.getPublicAddressCmd = "cat /var/lib/tor/onion/clightning/hostname";
services.tor.relay.onionServices.clightning = {
version = 3;
map = [{
# by default tor will route public tor port P to 127.0.0.1:P.
# so if this port is the same as clightning would natively use, then no further config is needed here.
# see: <https://2019.www.torproject.org/docs/tor-manual.html.en#HiddenServicePort>
port = 9735;
# target.port; target.addr; #< set if tor port != clightning port
}];
# allow "tor" group (i.e. clightning) to read /var/lib/tor/onion/clightning/hostname
settings.HiddenServiceDirGroupReadable = true;
};
# must be in "tor" group to read /var/lib/tor/onion/*/hostname
users.users.clightning.extraGroups = [ "tor" ];
systemd.services.clightning.after = [ "tor.service" ];
systemd.services.clightning.requires = [ "tor.service" ];
# lightning-config contains fields from here:
# - <https://docs.corelightning.org/docs/configuration>
# secret config includes:
# - bitcoin-rpcpassword
# - alias=nodename
# - rgb=rrggbb
# - fee-base=<millisatoshi>
# - fee-per-satoshi=<ppm>
# - feature configs (i.e. experimental-xyz options)
sane.services.clightning.extraConfig = ''
# log levels: "io", "debug", "info", "unusual", "broken"
log-level=info
# log-level=info:lightningd
# log-level=debug:lightningd
# log-level=debug
# peerswap:
# - config example: <https://github.com/fort-nix/nix-bitcoin/pull/462/files#diff-b357d832705b8ce8df1f41934d613f79adb77c4cd5cd9e9eb12a163fca3e16c6>
# XXX: peerswap crashes clightning on launch. stacktrace is useless.
# plugin={lib.getExe' pkgs.peerswap "peerswap"}
# peerswap-db-path=/var/lib/clightning/peerswap/swaps
# peerswap-policy-path=...
'';
sane.services.clightning.extraConfigFiles = [ config.sops.secrets."lightning-config".path ];
sops.secrets."lightning-config" = {
mode = "0640";
owner = "clightning";
group = "clightning";
};
sane.programs.lightning-cli.enableFor.user.colin = true; # for debugging/admin:
}

View File

@@ -0,0 +1,10 @@
{ ... }:
{
imports = [
./bitcoin.nix
./clightning.nix
./i2p.nix
./monero.nix
./tor.nix
];
}

View File

@@ -0,0 +1,5 @@
{ lib, ... }:
lib.mkIf false #< 2024/07/27: i don't use it, too much surface-area for me to run it pro-bono (`systemd-analyze security monero`)
{
services.i2p.enable = true;
}

View File

@@ -0,0 +1,32 @@
# as of 2023/11/26: complete downloaded blockchain should be 200GiB on disk, give or take.
{ lib, ... }:
lib.mkIf false #< 2024/07/27: i don't use it, too much surface-area for me to run it pro-bono (`systemd-analyze security monero`)
{
sane.persist.sys.byStore.ext = [
# /var/lib/monero/lmdb is what consumes most of the space
{ user = "monero"; group = "monero"; path = "/var/lib/monero"; method = "bind"; }
];
services.monero.enable = true;
services.monero.limits.upload = 5000; # in kB/s
services.monero.extraConfig = ''
# see: monero doc/ANONYMITY_NETWORKS.md
#
# "If any anonymity network is enabled, transactions being broadcast that lack a valid 'context'
# (i.e. the transaction did not come from a P2P connection) will only be sent to peers on anonymity networks."
#
# i think this means that setting tx-proxy here ensures any transactions sent locally to my node (via RPC)
# will be sent over an anonymity network.
tx-proxy=i2p,127.0.0.1:9000
tx-proxy=tor,127.0.0.1:9050
'';
# monero ports: <https://monero.stackexchange.com/questions/604/what-ports-does-monero-use-rpc-p2p-etc>
# - 18080 = "P2P" monero node <-> monero node connections
# - 18081 = "RPC" monero client -> monero node connections
sane.ports.ports."18080" = {
protocol = [ "tcp" ];
visibleTo.wan = true;
description = "colin-monero-p2p";
};
}

View File

@@ -0,0 +1,25 @@
# tor settings: <https://2019.www.torproject.org/docs/tor-manual.html.en>
{ lib, ... }:
{
sane.persist.sys.byStore.ephemeral = [
# N.B.: tor hidden service hostnames aren't deterministic, so if you need them
# to be preserved across reboots then persist /var/lib/tor/onion in "private" store.
{ user = "tor"; group = "tor"; mode = "0710"; path = "/var/lib/tor"; method = "bind"; }
];
# tor: `tor.enable` doesn't start a relay, exit node, proxy, etc. it's minimal.
# tor.client.enable configures a torsocks proxy, accessible *only* to localhost.
# at 127.0.0.1:9050
services.tor.enable = true;
services.tor.client.enable = true;
# in order for services to read /var/lib/tor/onion/*/hostname, they must be able to traverse /var/lib/tor,
# and /var/lib/tor must have g+x.
# DataDirectoryGroupReadable causes tor to use g+rx, technically more than we need, but all the files are 600 so it's fine.
services.tor.settings.DataDirectoryGroupReadable = true;
# StateDirectoryMode defaults to 0700, and thereby prevents the onion hostnames from being group readable
systemd.services.tor.serviceConfig.StateDirectoryMode = lib.mkForce "0710";
users.users.tor.homeMode = "0710"; # home mode defaults to 0700, causing readability problems, enforced by nixos "users" activation script
services.tor.settings.SafeLogging = false; # show actual .onion names in the syslog, else debugging is impossible
}

View File

@@ -1,27 +0,0 @@
{ config, lib, pkgs, ... }:
# using manual ddns now
lib.mkIf false
{
systemd.services.ddns-afraid = {
description = "update dynamic DNS entries for freedns.afraid.org";
serviceConfig = {
EnvironmentFile = config.sops.secrets."ddns_afraid.env".path;
# TODO: ProtectSystem = "strict";
# TODO: ProtectHome = "full";
# TODO: PrivateTmp = true;
};
script = let
curl = "${pkgs.curl}/bin/curl -4";
in ''
${curl} "https://freedns.afraid.org/dynamic/update.php?$AFRAID_KEY"
'';
};
systemd.timers.ddns-afraid = {
wantedBy = [ "multi-user.target" ];
timerConfig = {
OnStartupSec = "2min";
OnUnitActiveSec = "10min";
};
};
}

View File

@@ -1,30 +0,0 @@
{ config, lib, pkgs, ... }:
# we use manual DDNS now
lib.mkIf false
{
systemd.services.ddns-he = {
description = "update dynamic DNS entries for HurricaneElectric";
serviceConfig = {
EnvironmentFile = config.sops.secrets."ddns_he.env".path;
# TODO: ProtectSystem = "strict";
# TODO: ProtectHome = "full";
# TODO: PrivateTmp = true;
};
# HE DDNS API is documented: https://dns.he.net/docs.html
script = let
crl = "${pkgs.curl}/bin/curl -4";
in ''
${crl} "https://he.uninsane.org:$HE_PASSPHRASE@dyn.dns.he.net/nic/update?hostname=he.uninsane.org"
${crl} "https://native.uninsane.org:$HE_PASSPHRASE@dyn.dns.he.net/nic/update?hostname=native.uninsane.org"
${crl} "https://uninsane.org:$HE_PASSPHRASE@dyn.dns.he.net/nic/update?hostname=uninsane.org"
'';
};
systemd.timers.ddns-he = {
wantedBy = [ "multi-user.target" ];
timerConfig = {
OnStartupSec = "2min";
OnUnitActiveSec = "10min";
};
};
}

View File

@@ -1,30 +1,35 @@
{ ... }:
{
imports = [
./calibre.nix
./ddns-afraid.nix
./ddns-he.nix
./coturn.nix
./cryptocurrencies
./email
./ejabberd.nix
./freshrss.nix
./export
./hickory-dns.nix
./gerbera.nix
./gitea.nix
./goaccess.nix
./ipfs.nix
./jackett.nix
./jellyfin.nix
./jackett
./jellyfin
./kiwix-serve.nix
./komga.nix
./lemmy.nix
./matrix
./minidlna.nix
./mumble.nix
./navidrome.nix
./nixserve.nix
./nginx.nix
./nixos-prebuild.nix
./ntfy
./pict-rs.nix
./pleroma.nix
./postgres.nix
./prosody.nix
./transmission.nix
./trust-dns.nix
./postgresql
./prosody
./slskd.nix
./transmission
./wikipedia.nix
];
}

View File

@@ -14,76 +14,111 @@
#
# compliance tests:
# - <https://compliance.conversations.im/server/uninsane.org/#xep0352>
#
# administration:
# - `sudo -u ejabberd ejabberdctl help`
#
# federation/support matrix:
# - avatars
# - nixnet.services + dino: works in MUCs but not DMs (as of 2023 H1)
# - movim.eu + dino: works in DMs, MUCs untested (as of 2023/08/29)
# - calls
# - local + dino: audio, video, works in DMs (as of 2023/08/29)
# - movim.eu + dino: audio, video, works in DMs, no matter which side initiates (as of 2023/08/30)
# - +native-cell-number@cheogram.com + dino: audio works in DMs, no matter which side initiates (as of 2023/09/01)
# - can receive calls even if sender isn't in my roster
# - this is presumably using JMP.chat's SIP servers, which then convert it to XMPP call
#
# bugs:
# - 2023/09/01: will randomly stop federating. `systemctl restart ejabberd` fixes, but takes 10 minutes.
{ config, lib, pkgs, ... }:
# XXX: avatar support works in MUCs but not DMs
# lib.mkIf false
let
# TODO: this range could be larger, but right now that's costly because each element is its own UPnP forward
# TURN port range (inclusive)
turnPortLow = 49152;
turnPortHigh = 49167;
turnPortRange = lib.range turnPortLow turnPortHigh;
in
# XXX(2023/10/15): disabled in favor of Prosody.
# everything configured below was fine: used ejabberd for several months.
lib.mkIf false
{
sane.persist.sys.plaintext = [
{ user = "ejabberd"; group = "ejabberd"; directory = "/var/lib/ejabberd"; }
sane.persist.sys.byStore.private = [
{ user = "ejabberd"; group = "ejabberd"; path = "/var/lib/ejabberd"; method = "bind"; }
];
sane.ports.ports."3478" = {
protocol = [ "tcp" "udp" ];
visibleTo.lan = true;
visibleTo.wan = true;
description = "colin-xmpp-stun-turn";
};
sane.ports.ports."5222" = {
protocol = [ "tcp" ];
visibleTo.lan = true;
visibleTo.wan = true;
description = "colin-xmpp-client-to-server";
};
sane.ports.ports."5223" = {
protocol = [ "tcp" ];
visibleTo.lan = true;
visibleTo.wan = true;
description = "colin-xmpps-client-to-server"; # XMPP over TLS
};
sane.ports.ports."5269" = {
protocol = [ "tcp" ];
visibleTo.wan = true;
description = "colin-xmpp-server-to-server";
};
sane.ports.ports."5270" = {
protocol = [ "tcp" ];
visibleTo.wan = true;
description = "colin-xmpps-server-to-server"; # XMPP over TLS
};
sane.ports.ports."5280" = {
protocol = [ "tcp" ];
visibleTo.lan = true;
visibleTo.wan = true;
description = "colin-xmpp-bosh";
};
sane.ports.ports."5281" = {
protocol = [ "tcp" ];
visibleTo.lan = true;
visibleTo.wan = true;
description = "colin-xmpp-bosh-https";
};
sane.ports.ports."5349" = {
protocol = [ "tcp" ];
visibleTo.lan = true;
visibleTo.wan = true;
description = "colin-xmpp-stun-turn-over-tls";
};
sane.ports.ports."5443" = {
protocol = [ "tcp" ];
visibleTo.lan = true;
visibleTo.wan = true;
description = "colin-xmpp-web-services"; # file uploads, websockets, admin
};
sane.ports.ports = lib.mkMerge ([
{
"3478" = {
protocol = [ "tcp" "udp" ];
visibleTo.doof = true;
visibleTo.lan = true;
description = "colin-xmpp-stun-turn";
};
"5222" = {
protocol = [ "tcp" ];
visibleTo.doof = true;
visibleTo.lan = true;
description = "colin-xmpp-client-to-server";
};
"5223" = {
protocol = [ "tcp" ];
visibleTo.doof = true;
visibleTo.lan = true;
description = "colin-xmpps-client-to-server"; # XMPP over TLS
};
"5269" = {
protocol = [ "tcp" ];
visibleTo.doof = true;
description = "colin-xmpp-server-to-server";
};
"5270" = {
protocol = [ "tcp" ];
visibleTo.doof = true;
description = "colin-xmpps-server-to-server"; # XMPP over TLS
};
"5280" = {
protocol = [ "tcp" ];
visibleTo.doof = true;
visibleTo.lan = true;
description = "colin-xmpp-bosh";
};
"5281" = {
protocol = [ "tcp" ];
visibleTo.doof = true;
visibleTo.lan = true;
description = "colin-xmpp-bosh-https";
};
"5349" = {
protocol = [ "tcp" ];
visibleTo.doof = true;
visibleTo.lan = true;
description = "colin-xmpp-stun-turn-over-tls";
};
"5443" = {
protocol = [ "tcp" ];
visibleTo.doof = true;
visibleTo.lan = true;
description = "colin-xmpp-web-services"; # file uploads, websockets, admin
};
}
] ++ (builtins.map
(port: {
"${builtins.toString port}" = let
count = port - turnPortLow + 1;
numPorts = turnPortHigh - turnPortLow + 1;
in {
protocol = [ "tcp" "udp" ];
visibleTo.doof = true;
visibleTo.lan = true;
description = "colin-xmpp-turn-${builtins.toString count}-of-${builtins.toString numPorts}";
};
})
turnPortRange
));
# TODO: forward these TURN ports!
networking.firewall.allowedTCPPortRanges = [{
from = 49152; # TURN
to = 49408;
}];
networking.firewall.allowedUDPPortRanges = [{
from = 49152; # TURN
to = 49408;
}];
# this ejabberd config uses builtin STUN/TURN server, so hack to ensure no other implementation fights for ports
services.coturn.enable = false;
# provide access to certs
# TODO: this should just be `acme`. then we also add nginx to the `acme` group.
@@ -150,284 +185,284 @@
services.ejabberd.enable = true;
services.ejabberd.configFile = "/var/lib/ejabberd/ejabberd.yaml";
systemd.services.ejabberd.preStart = let
config-in = pkgs.writeTextFile {
name = "ejabberd.yaml.in";
text = ''
hosts:
- uninsane.org
config-in = pkgs.writeText "ejabberd.yaml.in" (lib.generators.toYAML {} {
hosts = [ "uninsane.org" ];
# none | emergency | alert | critical | error | warning | notice | info | debug
loglevel = "debug";
acme.auto = false;
certfiles = [ "/var/lib/acme/uninsane.org/full.pem" ];
# ca_file = "${pkgs.cacert.unbundled}/etc/ssl/certs/";
# ca_file = "${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt";
# none | emergency | alert | critical | error | warning | notice | info | debug
loglevel: debug
# loglevel: info
# loglevel: notice
pam_userinfotype = "jid";
acl = {
admin.user = [ "colin@uninsane.org" ];
local.user_regexp = "";
loopback.ip = [ "127.0.0.0/8" "::1/128" ];
};
acme:
auto: false
certfiles:
- /var/lib/acme/uninsane.org/full.pem
# ca_file: ${pkgs.cacert.unbundled}/etc/ssl/certs/
# ca_file: ${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt
access_rules = {
local.allow = "local";
c2s_access.allow = "all";
announce.allow = "admin";
configure.allow = "admin";
muc_create.allow = "local";
pubsub_createnode_access.allow = "all";
trusted_network.allow = "loopback";
};
pam_userinfotype: jid
# docs: <https://docs.ejabberd.im/admin/configuration/basic/#shaper-rules>
shaper_rules = {
# setting this to above 1 may break outgoing messages
# - maybe some servers rate limit? or just don't understand simultaneous connections?
max_s2s_connections = 1;
max_user_sessions = 10;
max_user_offline_messages = 5000;
c2s_shaper.fast = "all";
s2s_shaper.med = "all";
};
acl:
admin:
user:
- "colin@uninsane.org"
local:
user_regexp: ""
loopback:
ip:
- 127.0.0.0/8
- ::1/128
# docs: <https://docs.ejabberd.im/admin/configuration/basic/#shapers>
# this limits the bytes/sec.
# for example, burst: 3_000_000 and rate: 100_000 means:
# - each client has a BW budget that accumulates 100kB/sec and is capped at 3 MB
shaper.fast = 1000000;
shaper.med = 500000;
# shaper.fast.rate = 1000000;
# shaper.fast.burst_size = 10000000;
# shaper.med.rate = 500000;
# shaper.med.burst_size = 5000000;
access_rules:
local:
allow: local
c2s_access:
allow: all
announce:
allow: admin
configure:
allow: admin
muc_create:
allow: local
pubsub_createnode_access:
allow: all
trusted_network:
allow: loopback
# see: <https://docs.ejabberd.im/admin/configuration/listen/>
# s2s_use_starttls = true;
s2s_use_starttls = "optional";
# lessens 504: remote-server-timeout errors
# see: <https://github.com/processone/ejabberd/issues/3105#issuecomment-562182967>
negotiation_timeout = 60;
# docs: <https://docs.ejabberd.im/admin/configuration/basic/#shaper-rules>
shaper_rules:
# setting this to above 1 may break outgoing messages
# - maybe some servers rate limit? or just don't understand simultaneous connections?
max_s2s_connections: 1
max_user_sessions: 10
max_user_offline_messages: 5000
c2s_shaper:
fast: all
s2s_shaper:
med: all
listen = [
{
port = 5222;
module = "ejabberd_c2s";
shaper = "c2s_shaper";
starttls = true;
access = "c2s_access";
}
{
port = 5223;
module = "ejabberd_c2s";
shaper = "c2s_shaper";
tls = true;
access = "c2s_access";
}
{
port = 5269;
module = "ejabberd_s2s_in";
shaper = "s2s_shaper";
}
{
port = 5270;
module = "ejabberd_s2s_in";
shaper = "s2s_shaper";
tls = true;
}
{
port = 5443;
module = "ejabberd_http";
tls = true;
request_handlers = {
"/admin" = "ejabberd_web_admin"; # TODO: ensure this actually works
"/api" = "mod_http_api"; # ejabberd API endpoint (to control server)
"/bosh" = "mod_bosh";
"/upload" = "mod_http_upload";
"/ws" = "ejabberd_http_ws";
# "/.well-known/host-meta" = "mod_host_meta";
# "/.well-known/host-meta.json" = "mod_host_meta";
};
}
{
# STUN+TURN TCP
# note that the full port range should be forwarded ("not NAT'd")
# `use_turn=true` enables both TURN *and* STUN
port = 3478;
module = "ejabberd_stun";
transport = "tcp";
use_turn = true;
turn_min_port = turnPortLow;
turn_max_port = turnPortHigh;
turn_ipv4_address = "%ANATIVE%";
}
{
# STUN+TURN UDP
port = 3478;
module = "ejabberd_stun";
transport = "udp";
use_turn = true;
turn_min_port = turnPortLow;
turn_max_port = turnPortHigh;
turn_ipv4_address = "%ANATIVE%";
}
{
# STUN+TURN TLS over TCP
port = 5349;
module = "ejabberd_stun";
transport = "tcp";
tls = true;
certfile = "/var/lib/acme/uninsane.org/full.pem";
use_turn = true;
turn_min_port = turnPortLow;
turn_max_port = turnPortHigh;
turn_ipv4_address = "%ANATIVE%";
}
];
# docs: <https://docs.ejabberd.im/admin/configuration/basic/#shapers>
# this limits the bytes/sec.
# for example, burst: 3_000_000 and rate: 100_000 means:
# - each client has a BW budget that accumulates 100kB/sec and is capped at 3 MB
shaper:
fast: 1000000
med: 500000
# fast:
# - rate: 1000000
# - burst_size: 10000000
# med:
# - rate: 500000
# - burst_size: 5000000
# TODO: enable mod_fail2ban
# TODO(low): look into mod_http_fileserver for serving macros?
modules = {
# mod_adhoc = {};
# mod_announce = {
# access = "admin";
# };
# allows users to set avatars in vCard
# - <https://docs.ejabberd.im/admin/configuration/modules/#mod-avatar>
mod_avatar = {};
mod_caps = {}; # for mod_pubsub
mod_carboncopy = {}; # allows multiple clients to receive a user's message
# queues messages when recipient is offline, including PEP and presence messages.
# compliance test suggests this be enabled
mod_client_state = {};
# see: <https://docs.ejabberd.im/admin/configuration/listen/>
# s2s_use_starttls: true
s2s_use_starttls: optional
# lessens 504: remote-server-timeout errors
# see: <https://github.com/processone/ejabberd/issues/3105#issuecomment-562182967>
negotiation_timeout: 60
listen:
-
port: 5222
module: ejabberd_c2s
shaper: c2s_shaper
starttls: true
access: c2s_access
-
port: 5223
module: ejabberd_c2s
shaper: c2s_shaper
tls: true
access: c2s_access
-
port: 5269
module: ejabberd_s2s_in
shaper: s2s_shaper
-
port: 5270
module: ejabberd_s2s_in
shaper: s2s_shaper
tls: true
-
port: 5443
module: ejabberd_http
tls: true
request_handlers:
/admin: ejabberd_web_admin # TODO: ensure this actually works
/api: mod_http_api # ejabberd API endpoint (to control server)
/bosh: mod_bosh
/upload: mod_http_upload
/ws: ejabberd_http_ws
# /.well-known/host-meta: mod_host_meta
# /.well-known/host-meta.json: mod_host_meta
-
# STUN+TURN TCP
# note that the full port range should be forwarded ("not NAT'd")
# `use_turn=true` enables both TURN *and* STUN
port: 3478
module: ejabberd_stun
transport: tcp
use_turn: true
turn_min_port: 49152
turn_max_port: 65535
turn_ipv4_address: %ANATIVE%
-
# STUN+TURN UDP
port: 3478
module: ejabberd_stun
transport: udp
use_turn: true
turn_min_port: 49152
turn_max_port: 65535
turn_ipv4_address: %ANATIVE%
-
# STUN+TURN TLS over TCP
port: 5349
module: ejabberd_stun
transport: tcp
tls: true
certfile: /var/lib/acme/uninsane.org/full.pem
use_turn: true
turn_min_port: 49152
turn_max_port: 65535
turn_ipv4_address: %ANATIVE%
# TODO: enable mod_fail2ban
# TODO(low): look into mod_http_fileserver for serving macros?
modules:
# mod_adhoc: {}
# mod_announce:
# access: admin
# allows users to set avatars in vCard
# - <https://docs.ejabberd.im/admin/configuration/modules/#mod-avatar>
mod_avatar: {}
mod_caps: {} # for mod_pubsub
mod_carboncopy: {} # allows multiple clients to receive a user's message
# queues messages when recipient is offline, including PEP and presence messages.
# compliance test suggests this be enabled
mod_client_state: {}
# mod_conversejs: TODO: enable once on 21.12
# allows clients like Dino to discover where to upload files
mod_disco:
server_info:
-
modules: all
name: abuse-addresses
urls:
- "mailto:admin.xmpp@uninsane.org"
- "xmpp:colin@uninsane.org"
-
modules: all
name: admin-addresses
urls:
- "mailto:admin.xmpp@uninsane.org"
- "xmpp:colin@uninsane.org"
mod_http_upload:
host: upload.xmpp.uninsane.org
hosts:
- upload.xmpp.uninsane.org
put_url: "https://@HOST@:5443/upload"
dir_mode: "0750"
file_mode: "0750"
rm_on_unregister: false
# allow discoverability of BOSH and websocket endpoints
# TODO: enable once on ejabberd 22.05 (presently 21.04)
# mod_host_meta: {}
mod_jidprep: {} # probably not needed: lets clients normalize jids
mod_last: {} # allow other users to know when i was last online
mod_mam:
# Mnesia is limited to 2GB, better to use an SQL backend
# For small servers SQLite is a good fit and is very easy
# to configure. Uncomment this when you have SQL configured:
# db_type: sql
assume_mam_usage: true
default: always
mod_muc:
access:
- allow
access_admin:
- allow: admin
access_create: muc_create
access_persistent: muc_create
access_mam:
- allow
history_size: 100 # messages to show new participants
host: muc.xmpp.uninsane.org
hosts:
- muc.xmpp.uninsane.org
default_room_options:
anonymous: false
lang: en
persistent: true
mam: true
mod_muc_admin: {}
mod_offline: # store messages for a user when they're offline (TODO: understand multi-client workflow?)
access_max_user_messages: max_user_offline_messages
store_groupchat: true
mod_ping: {}
mod_privacy: {} # deprecated, but required for `ejabberctl export_piefxis`
mod_private: {} # allow local clients to persist arbitrary data on my server
# push notifications to services integrated with e.g. Apple/Android.
# default is for a maximum amount of PII to be withheld, since these push notifs
# generally traverse 3rd party services. can opt to include message body, etc, though.
mod_push: {}
# i don't fully understand what this does, but it seems aimed at making push notifs more reliable.
mod_push_keepalive: {}
mod_roster:
versioning: true
# docs: <https://docs.ejabberd.im/admin/configuration/modules/#mod-s2s-dialback>
# s2s dialback to verify inbound messages
# unclear to what degree the XMPP network requires this
mod_s2s_dialback: {}
mod_shared_roster: {} # creates groups for @all, @online, and anything manually administered?
mod_stream_mgmt:
resend_on_timeout: if_offline # resend undelivered messages if the origin client is offline
# fallback for when DNS-based STUN discovery is unsupported.
# - see: <https://xmpp.org/extensions/xep-0215.html>
# docs: <https://docs.ejabberd.im/admin/configuration/modules/#mod-stun-disco>
# people say to just keep this defaulted (i guess ejabberd knows to return its `host` option of uninsane.org?)
mod_stun_disco: {}
# docs: <https://docs.ejabberd.im/admin/configuration/modules/#mod-vcard>
mod_vcard:
allow_return_all: true # all users are discoverable (?)
host: vjid.xmpp.uninsane.org
hosts:
- vjid.xmpp.uninsane.org
search: true
mod_vcard_xupdate: {} # needed for avatars
# docs: <https://docs.ejabberd.im/admin/configuration/modules/#mod-pubsub>
mod_pubsub: # needed for avatars
access_createnode: pubsub_createnode_access
host: pubsub.xmpp.uninsane.org
hosts:
- pubsub.xmpp.uninsane.org
ignore_pep_from_offline: false
last_item_cache: true
plugins:
- pep
- flat
force_node_config:
# ensure client bookmarks are private
storage:bookmarks:
access_model: whitelist
urn:xmpp:avatar:data:
access_model: open
urn:xmpp:avatar:metadata:
access_model: open
mod_version: {}
'';
};
sed = "${pkgs.gnused}/bin/sed";
# mod_conversejs: TODO: enable once on 21.12
# allows clients like Dino to discover where to upload files
mod_disco.server_info = [
{
modules = "all";
name = "abuse-addresses";
urls = [
"mailto:admin.xmpp@uninsane.org"
"xmpp:colin@uninsane.org"
];
}
{
modules = "all";
name = "admin-addresses";
urls = [
"mailto:admin.xmpp@uninsane.org"
"xmpp:colin@uninsane.org"
];
}
];
mod_http_upload = {
host = "upload.xmpp.uninsane.org";
hosts = [ "upload.xmpp.uninsane.org" ];
put_url = "https://@HOST@:5443/upload";
dir_mode = "0750";
file_mode = "0750";
rm_on_unregister = false;
};
# allow discoverability of BOSH and websocket endpoints
# TODO: enable once on ejabberd 22.05 (presently 21.04)
# mod_host_meta = {};
mod_jidprep = {}; # probably not needed: lets clients normalize jids
mod_last = {}; # allow other users to know when i was last online
mod_mam = {
# Mnesia is limited to 2GB, better to use an SQL backend
# For small servers SQLite is a good fit and is very easy
# to configure. Uncomment this when you have SQL configured:
# db_type: sql
assume_mam_usage = true;
default = "always";
};
mod_muc = {
access = [ "allow" ];
access_admin = { allow = "admin"; };
access_create = "muc_create";
access_persistent = "muc_create";
access_mam = [ "allow" ];
history_size = 100; # messages to show new participants
host = "muc.xmpp.uninsane.org";
hosts = [ "muc.xmpp.uninsane.org" ];
default_room_options = {
anonymous = false;
lang = "en";
persistent = true;
mam = true;
};
};
mod_muc_admin = {};
mod_offline = {
# store messages for a user when they're offline (TODO: understand multi-client workflow?)
access_max_user_messages = "max_user_offline_messages";
store_groupchat = true;
};
mod_ping = {};
mod_privacy = {}; # deprecated, but required for `ejabberctl export_piefxis`
mod_private = {}; # allow local clients to persist arbitrary data on my server
# push notifications to services integrated with e.g. Apple/Android.
# default is for a maximum amount of PII to be withheld, since these push notifs
# generally traverse 3rd party services. can opt to include message body, etc, though.
mod_push = {};
# i don't fully understand what this does, but it seems aimed at making push notifs more reliable.
mod_push_keepalive = {};
mod_roster = {
versioning = true;
};
# docs: <https://docs.ejabberd.im/admin/configuration/modules/#mod-s2s-dialback>
# s2s dialback to verify inbound messages
# unclear to what degree the XMPP network requires this
mod_s2s_dialback = {};
mod_shared_roster = {}; # creates groups for @all, @online, and anything manually administered?
mod_stream_mgmt = {
# resend undelivered messages if the origin client is offline
resend_on_timeout = "if_offline";
};
# fallback for when DNS-based STUN discovery is unsupported.
# - see: <https://xmpp.org/extensions/xep-0215.html>
# docs: <https://docs.ejabberd.im/admin/configuration/modules/#mod-stun-disco>
# people say to just keep this defaulted (i guess ejabberd knows to return its `host` option of uninsane.org?)
mod_stun_disco = {};
# docs: <https://docs.ejabberd.im/admin/configuration/modules/#mod-vcard>
mod_vcard = {
allow_return_all = true; # all users are discoverable (?)
host = "vjid.xmpp.uninsane.org";
hosts = [ "vjid.xmpp.uninsane.org" ];
search = true;
};
mod_vcard_xupdate = {}; # needed for avatars
# docs: <https://docs.ejabberd.im/admin/configuration/modules/#mod-pubsub>
mod_pubsub = {
#^ needed for avatars
access_createnode = "pubsub_createnode_access";
host = "pubsub.xmpp.uninsane.org";
hosts = [ "pubsub.xmpp.uninsane.org" ];
ignore_pep_from_offline = false;
last_item_cache = true;
plugins = [
"pep"
"flat"
];
force_node_config = {
# ensure client bookmarks are private
"storage:bookmarks:" = {
"access_model" = "whitelist";
};
"urn:xmpp:avatar:data" = {
"access_model" = "open";
};
"urn:xmpp:avatar:metadata" = {
"access_model" = "open";
};
};
};
mod_version = {};
};
});
in ''
ip=$(cat '${config.sane.services.dyn-dns.ipPath}')
# config is 444 (not 644), so we want to write out-of-place and then atomically move
# TODO: factor this out into `sane-woop` helper?
rm -f /var/lib/ejabberd/ejabberd.yaml.new
${sed} "s/%ANATIVE%/$ip/" ${config-in} > /var/lib/ejabberd/ejabberd.yaml.new
${lib.getExe pkgs.gnused} "s/%ANATIVE%/$ip/g" ${config-in} > /var/lib/ejabberd/ejabberd.yaml.new
mv /var/lib/ejabberd/ejabberd.yaml{.new,}
'';

View File

@@ -22,6 +22,13 @@
# - but postfix delegates authorization of that outgoing mail to dovecot, on the server side
#
# - local clients (i.e. sendmail) interact only with postfix
#
# debugging: general connectivity issues
# - test that inbound port 25 is unblocked:
# - `curl https://canyouseeme.org/ --data 'port=25&IP=185.157.162.178' | grep 'see your service'`
# - and retry with port 465, 587
# - i think this API requires the queried IP match the source IP
# - if necessary, `systemctl stop postfix` and `sudo nc -l 185.157.162.178 25`, then try https://canyouseeme.org
{ ... }:
{

View File

@@ -8,14 +8,14 @@
{
sane.ports.ports."143" = {
protocol = [ "tcp" ];
visibleTo.doof = true;
visibleTo.lan = true;
visibleTo.wan = true;
description = "colin-imap-imap.uninsane.org";
};
sane.ports.ports."993" = {
protocol = [ "tcp" ];
visibleTo.doof = true;
visibleTo.lan = true;
visibleTo.wan = true;
description = "colin-imaps-imap.uninsane.org";
};
@@ -83,8 +83,8 @@
# sieve_plugins = sieve_imapsieve
# }
mail_debug = yes
auth_debug = yes
# mail_debug = yes
# auth_debug = yes
# verbose_ssl = yes
'';
@@ -127,10 +127,11 @@
services.dovecot2.modules = [
pkgs.dovecot_pigeonhole # enables sieve execution (?)
];
services.dovecot2.sieveScripts = {
services.dovecot2.sieve = {
extensions = [ "fileinto" ];
# if any messages fail to pass (or lack) DKIM, move them to Junk
# XXX the key name ("after") is only used to order sieve execution/ordering
after = builtins.toFile "ensuredkim.sieve" ''
scripts.after = builtins.toFile "ensuredkim.sieve" ''
require "fileinto";
if not header :contains "Authentication-Results" "dkim=pass" {
@@ -139,4 +140,6 @@
}
'';
};
systemd.services.dovecot2.serviceConfig.RestartSec = lib.mkForce "15s"; # nixos defaults this to 1s
}

View File

@@ -1,6 +1,13 @@
# postfix config options: <https://www.postfix.org/postconf.5.html>
# config files:
# - /etc/postfix/main.cf
# - /etc/postfix/master.cf
#
# logs:
# - postfix logs directly to *syslog*,
# so check e.g. ~/.local/share/rsyslog
{ lib, pkgs, ... }:
{ config, lib, pkgs, ... }:
let
submissionOptions = {
@@ -18,31 +25,35 @@ let
};
in
{
sane.persist.sys.plaintext = [
sane.persist.sys.byStore.private = [
# TODO: mode? could be more granular
{ user = "opendkim"; group = "opendkim"; directory = "/var/lib/opendkim"; }
{ user = "root"; group = "root"; directory = "/var/lib/postfix"; }
{ user = "root"; group = "root"; directory = "/var/spool/mail"; }
{ user = "opendkim"; group = "opendkim"; path = "/var/lib/opendkim"; method = "bind"; } #< TODO: migrate to secrets
{ user = "root"; group = "root"; path = "/var/spool/mail"; method = "bind"; }
# *probably* don't need these dirs:
# "/var/lib/dhparams" # https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/security/dhparams.nix
# "/var/lib/dovecot"
# "/var/lib/postfix"
];
sane.ports.ports."25" = {
protocol = [ "tcp" ];
visibleTo.ovpn = true;
description = "colin-smtp-mx.uninsane.org";
};
sane.ports.ports."465" = {
protocol = [ "tcp" ];
visibleTo.ovpn = true;
description = "colin-smtps-mx.uninsane.org";
};
sane.ports.ports."587" = {
protocol = [ "tcp" ];
visibleTo.ovpn = true;
description = "colin-smtps-submission-mx.uninsane.org";
};
# XXX(2023/10/20): opening these ports in the firewall has the OPPOSITE effect as intended.
# these ports are only routable so long as they AREN'T opened.
# probably some cursed interaction with network namespaces introduced after 2023/10/10.
# sane.ports.ports."25" = {
# protocol = [ "tcp" ];
# # XXX visibleTo.lan effectively means "open firewall, but don't configure any NAT/forwarding"
# visibleTo.lan = true;
# description = "colin-smtp-mx.uninsane.org";
# };
# sane.ports.ports."465" = {
# protocol = [ "tcp" ];
# visibleTo.lan = true;
# description = "colin-smtps-mx.uninsane.org";
# };
# sane.ports.ports."587" = {
# protocol = [ "tcp" ];
# visibleTo.lan = true;
# description = "colin-smtps-submission-mx.uninsane.org";
# };
# exists only to manage certs for Postfix
services.nginx.virtualHosts."mx.uninsane.org" = {
@@ -52,8 +63,7 @@ in
sane.dns.zones."uninsane.org".inet = {
MX."@" = "10 mx.uninsane.org.";
# XXX: RFC's specify that the MX record CANNOT BE A CNAME
A."mx" = "185.157.162.178";
A."mx" = "%AOVPNS%"; #< XXX: RFC's specify that the MX record CANNOT BE A CNAME. TODO: use "%AOVPNS%?
# Sender Policy Framework:
# +mx => mail passes if it originated from the MX
@@ -92,6 +102,7 @@ in
services.postfix.sslCert = "/var/lib/acme/mx.uninsane.org/fullchain.pem";
services.postfix.sslKey = "/var/lib/acme/mx.uninsane.org/key.pem";
# see: `man 5 virtual`
services.postfix.virtual = ''
notify.matrix@uninsane.org matrix-synapse
@uninsane.org colin
@@ -132,17 +143,32 @@ in
# smtpd_sender_restrictions = reject_unknown_sender_domain
};
# debugging options:
# services.postfix.masterConfig = {
# "proxymap".args = [ "-v" ];
# "proxywrite".args = [ "-v" ];
# "relay".args = [ "-v" ];
# "smtp".args = [ "-v" ];
# "smtp_inet".args = [ "-v" ];
# "submission".args = [ "-v" ];
# "submissions".args = [ "-v" ];
# "submissions".chroot = false;
# "submissions".private = false;
# "submissions".privileged = true;
# };
services.postfix.enableSubmission = true;
services.postfix.submissionOptions = submissionOptions;
services.postfix.enableSubmissions = true;
services.postfix.submissionsOptions = submissionOptions;
systemd.services.postfix.after = [ "wireguard-wg-ovpns.service" ];
systemd.services.postfix.partOf = [ "wireguard-wg-ovpns.service" ];
systemd.services.postfix.serviceConfig = {
# run this behind the OVPN static VPN
NetworkNamespacePath = "/run/netns/ovpns";
};
systemd.services.postfix.unitConfig.RequiresMountsFor = [
"/var/spool/mail" # spooky errors when postfix is run w/o this: `warning: connect #1 to subsystem private/proxymap: Connection refused`
"/var/lib/opendkim"
];
# run these behind the OVPN static VPN
sane.netns.ovpns.services = [ "opendkim" "postfix" ];
#### OPENDKIM
@@ -161,34 +187,37 @@ in
# keeping this the same as the hostname seems simplest
services.opendkim.selector = "mx";
systemd.services.opendkim.after = [ "wireguard-wg-ovpns.service" ];
systemd.services.opendkim.partOf = [ "wireguard-wg-ovpns.service" ];
systemd.services.opendkim.serviceConfig = {
# run this behind the OVPN static VPN
NetworkNamespacePath = "/run/netns/ovpns";
# /run/opendkim/opendkim.sock needs to be rw by postfix
UMask = lib.mkForce "0011";
};
#### OUTGOING MESSAGE REWRITING:
services.postfix.enableHeaderChecks = true;
services.postfix.headerChecks = [
# intercept gitea registration confirmations and manually screen them
{
# headerChecks are somehow ignorant of alias rules: have to redirect to a real user
action = "REDIRECT colin@uninsane.org";
pattern = "/^Subject: Please activate your account/";
}
# intercept Matrix registration confirmations
{
action = "REDIRECT colin@uninsane.org";
pattern = "/^Subject:.*Validate your email/";
}
# XXX postfix only supports performing ONE action per header.
# {
# action = "REPLACE Subject: git application: Please activate your account";
# pattern = "/^Subject:.*activate your account/";
# }
];
# - `man 5 header_checks`
# - <https://www.postfix.org/header_checks.5.html>
# - populates `/var/lib/postfix/conf/header_checks`
# XXX(2024-08-06): registration gating via email matches is AWFUL:
# 1. bypassed if the service offers localization.
# 2. if i try to forward the registration request, it may match the filter again and get sent back to my inbox.
# 3. header checks are possibly under-used in the ecosystem, and may break postfix config.
# services.postfix.enableHeaderChecks = true;
# services.postfix.headerChecks = [
# # intercept gitea registration confirmations and manually screen them
# {
# # headerChecks are somehow ignorant of alias rules: have to redirect to a real user
# action = "REDIRECT colin@uninsane.org";
# pattern = "/^Subject: Please activate your account/";
# }
# # intercept Matrix registration confirmations
# {
# action = "REDIRECT colin@uninsane.org";
# pattern = "/^Subject:.*Validate your email/";
# }
# # XXX postfix only supports performing ONE action per header.
# # {
# # action = "REPLACE Subject: git application: Please activate your account";
# # pattern = "/^Subject:.*activate your account/";
# # }
# ];
}

View File

@@ -0,0 +1,58 @@
{ config, ... }:
{
imports = [
./nfs.nix
./sftpgo
];
users.groups.export = {};
fileSystems."/var/export/media" = {
# everything in here could be considered publicly readable (based on the viewer's legal jurisdiction)
device = "/var/media";
options = [ "rbind" "nofail" ];
};
# fileSystems."/var/export/playground" = {
# device = config.fileSystems."/mnt/persist/ext".device;
# fsType = "btrfs";
# options = [
# "subvol=export-playground"
# "compress=zstd"
# "defaults"
# ];
# };
# N.B.: the backing directory should be manually created here **as a btrfs subvolume** and with a quota.
# - `sudo btrfs subvolume create /mnt/persist/ext/persist/var/export/playground`
# - `sudo btrfs quota enable /mnt/persist/ext/persist/var/export/playground`
# - `sudo btrfs quota rescan -sw /mnt/persist/ext/persist/var/export/playground`
# to adjust the limits (which apply at the block layer, i.e. post-compression):
# - `sudo btrfs qgroup limit 20G /mnt/persist/ext/persist/var/export/playground`
# to query the quota/status:
# - `sudo btrfs qgroup show -re /var/export/playground`
sane.persist.sys.byStore.ext = [
{ user = "root"; group = "export"; mode = "0775"; path = "/var/export/playground"; method = "bind"; }
];
sane.fs."/var/export/README.md" = {
file.text = ''
- media/ read-only: Videos, Music, Books, etc
- playground/ read-write*: use it to share files with other users of this server, inaccessible from the www
*if you can't write to it, make sure you're connected to the WiFi and not mobile.
'';
};
sane.fs."/var/export/playground/README.md" = {
file.text = ''
this directory is intentionally read+write by anyone with access.
- share files
- write poetry
- be a friendly troll
'';
};
sane.fs."/var/export/.public_for_test/test" = {
file.text = ''
automated tests read this file to probe connectivity
'';
};
}

View File

@@ -0,0 +1,135 @@
# docs:
# - <https://nixos.wiki/wiki/NFS>
# - <https://wiki.gentoo.org/wiki/Nfs-utils>
# system files:
# - /etc/exports
# system services:
# - nfs-server.service
# - nfs-idmapd.service
# - nfs-mountd.service
# - nfsdcld.service
# - rpc-statd.service
# - rpcbind.service
#
# TODO: force files to be 755, or 750.
# - could maybe be done with some mount option?
{ config, lib, ... }:
lib.mkIf false #< TODO: remove nfs altogether! it's not exactly the most secure
{
services.nfs.server.enable = true;
# see which ports NFS uses with:
# - `rpcinfo -p`
sane.ports.ports."111" = {
protocol = [ "tcp" "udp" ];
visibleTo.lan = true;
description = "NFS server portmapper";
};
sane.ports.ports."2049" = {
protocol = [ "tcp" "udp" ];
visibleTo.lan = true;
description = "NFS server";
};
sane.ports.ports."4000" = {
protocol = [ "udp" ];
visibleTo.lan = true;
description = "NFS server status daemon";
};
sane.ports.ports."4001" = {
protocol = [ "tcp" "udp" ];
visibleTo.lan = true;
description = "NFS server lock daemon";
};
sane.ports.ports."4002" = {
protocol = [ "tcp" "udp" ];
visibleTo.lan = true;
description = "NFS server mount daemon";
};
# NFS4 allows these to float, but NFS3 mandates specific ports, so fix them for backwards compat.
services.nfs.server.lockdPort = 4001;
services.nfs.server.mountdPort = 4002;
services.nfs.server.statdPort = 4000;
services.nfs.extraConfig = ''
[nfsd]
# XXX: NFS over UDP REQUIRES SPECIAL CONFIG TO AVOID DATA LOSS.
# see `man 5 nfs`: "Using NFS over UDP on high-speed links".
# it's actually just a general property of UDP over IPv4 (IPv6 fixes it).
# both the client and the server should configure a shorter-than-default IPv4 fragment reassembly window to mitigate.
# OTOH, tunneling NFS over Wireguard also bypasses this weakness, because a mis-assembled packet would not have a valid signature.
udp=y
[exports]
# all export paths are relative to rootdir.
# for NFSv4, the export with fsid=0 behaves as `/` publicly,
# but NFSv3 implements no such feature.
# using `rootdir` instead of relying on `fsid=0` allows consistent export paths regardless of NFS proto version
rootdir=/var/export
'';
# format:
# fspoint visibility(options)
# options:
# - see: <https://wiki.gentoo.org/wiki/Nfs-utils#Exports>
# - see [man 5 exports](https://linux.die.net/man/5/exports)
# - insecure: require clients use src port > 1024
# - rw, ro (default)
# - async, sync (default)
# - no_subtree_check (default), subtree_check: verify not just that files requested by the client live
# in the expected fs, but also that they live under whatever subdirectory of that fs is exported.
# - no_root_squash, root_squash (default): map requests from uid 0 to user `nobody`.
# - crossmnt: reveal filesystems that are mounted under this endpoint
# - fsid: must be zero for the root export
# - fsid=root is alias for fsid=0
# - mountpoint[=/path]: only export the directory if it's a mountpoint. used to avoid exporting failed mounts.
# - all_squash: rewrite all client requests such that they come from anonuid/anongid
# - any files a user creates are owned by local anonuid/anongid.
# - users can read any local file which anonuid/anongid would be able to read.
# - users can't chown to/away from anonuid/anongid.
# - users can chmod files they own, to anything (making them unreadable to non-`nfsuser` export users, like FTP).
# - `stat` remains unchanged, returning the real UIDs/GIDs to the client.
# - thus programs which check `uid` or `gid` before trying an operation may incorrectly conclude they can't perform some op.
#
# 10.0.0.0/8 to export both to LAN (readonly, unencrypted) and wg vpn (read-write, encrypted)
services.nfs.server.exports =
let
fmtExport = { export, baseOpts, extraLanOpts ? [], extraVpnOpts ? [] }:
let
always = [ "subtree_check" ];
lanOpts = always ++ baseOpts ++ extraLanOpts;
vpnOpts = always ++ baseOpts ++ extraVpnOpts;
in "${export} 10.78.79.0/22(${lib.concatStringsSep "," lanOpts}) 10.0.10.0/24(${lib.concatStringsSep "," vpnOpts})";
in lib.concatStringsSep "\n" [
(fmtExport {
export = "/";
baseOpts = [ "crossmnt" "fsid=root" ];
extraLanOpts = [ "ro" ];
extraVpnOpts = [ "rw" "no_root_squash" ];
})
(fmtExport {
# provide /media as an explicit export. NFSv4 can transparently mount a subdir of an export, but NFSv3 can only mount paths which are exports.
export = "/media";
baseOpts = [ "crossmnt" ]; # TODO: is crossmnt needed here?
extraLanOpts = [ "ro" ];
extraVpnOpts = [ "rw" "no_root_squash" ];
})
(fmtExport {
export = "/playground";
baseOpts = [
"mountpoint"
"all_squash"
"rw"
"anonuid=${builtins.toString config.users.users.nfsuser.uid}"
"anongid=${builtins.toString config.users.groups.export.gid}"
];
})
];
users.users.nfsuser = {
description = "virtual user for anonymous NFS operations";
group = "export";
isSystemUser = true;
};
}

View File

@@ -0,0 +1,172 @@
# docs:
# - <https://github.com/drakkan/sftpgo>
# - config options: <https://github.com/drakkan/sftpgo/blob/main/docs/full-configuration.md>
# - config defaults: <https://github.com/drakkan/sftpgo/blob/main/sftpgo.json>
# - nixos options: <repo:nixos/nixpkgs:nixos/modules/services/web-apps/sftpgo.nix>
# - nixos example: <repo:nixos/nixpkgs:nixos/tests/sftpgo.nix>
#
# sftpgo is a FTP server that also supports WebDAV, SFTP, and web clients.
{ config, lib, pkgs, sane-lib, ... }:
let
external_auth_hook = pkgs.static-nix-shell.mkPython3 {
pname = "external_auth_hook";
srcRoot = ./.;
pkgs = [ "python3.pkgs.passlib" ];
};
# Client initiates a FTP "control connection" on port 21.
# - this handles the client -> server commands, and the server -> client status, but not the actual data
# - file data, directory listings, etc need to be transferred on an ephemeral "data port".
# - 50000-50100 is a common port range for this.
# 50000 is used by soulseek.
passiveStart = 50050;
passiveEnd = 50070;
in
{
sane.ports.ports = {
"21" = {
protocol = [ "tcp" ];
visibleTo.lan = true;
description = "colin-FTP server";
};
"990" = {
protocol = [ "tcp" ];
visibleTo.doof = true;
visibleTo.lan = true;
description = "colin-FTPS server";
};
} // (sane-lib.mapToAttrs
(port: {
name = builtins.toString port;
value = {
protocol = [ "tcp" ];
visibleTo.doof = true;
visibleTo.lan = true;
description = "colin-FTP server data port range";
};
})
(lib.range passiveStart passiveEnd)
);
# use nginx/acme to produce a cert for FTPS
services.nginx.virtualHosts."ftp.uninsane.org" = {
addSSL = true;
enableACME = true;
};
sane.dns.zones."uninsane.org".inet.CNAME."ftp" = "native";
services.sftpgo = {
enable = true;
group = "export";
package = pkgs.sftpgo.overrideAttrs (upstream: {
patches = (upstream.patches or []) ++ [
# fix for compatibility with kodi:
# ftp LIST operation returns entries over-the-wire like:
# - dgrwxrwxr-x 1 ftp ftp 9 Apr 9 15:05 Videos
# however not all clients understand all mode bits (like that `g`, indicating SGID / group sticky bit).
# instead, only send mode bits which are well-understood.
# the full set of bits, from which i filter, is found here: <https://pkg.go.dev/io/fs#FileMode>
./safe_fileinfo.patch
];
});
settings = {
ftpd = {
bindings = [
{
# binding this means any wireguard client can connect
address = "10.0.10.5";
port = 21;
debug = true;
}
{
# binding this means any wireguard client can connect
address = "10.0.10.5";
port = 990;
debug = true;
tls_mode = 2; # 2 = "implicit FTPS": client negotiates TLS before any FTP command.
}
{
# binding this means any LAN client can connect (also WAN traffic forwarded from the gateway)
address = "10.78.79.51";
port = 21;
debug = true;
}
{
# binding this means any LAN client can connect (also WAN traffic forwarded from the gateway)
address = "10.78.79.51";
port = 990;
debug = true;
tls_mode = 2; # 2 = "implicit FTPS": client negotiates TLS before any FTP command.
}
{
# binding this means any doof client can connect (TLS only)
address = config.sane.netns.doof.veth.initns.ipv4;
port = 990;
debug = true;
tls_mode = 2; # 2 = "implicit FTPS": client negotiates TLS before any FTP command.
}
{
# binding this means any LAN client can connect via `ftp.uninsane.org` (TLS only)
address = config.sane.netns.doof.wg.address.ipv4;
port = 990;
debug = true;
tls_mode = 2; # 2 = "implicit FTPS": client negotiates TLS before any FTP command.
}
];
# active mode is susceptible to "bounce attacks", without much benefit over passive mode
disable_active_mode = true;
hash_support = true;
passive_port_range = {
start = passiveStart;
end = passiveEnd;
};
certificate_file = "/var/lib/acme/ftp.uninsane.org/full.pem";
certificate_key_file = "/var/lib/acme/ftp.uninsane.org/key.pem";
banner = ''
Welcome, friends, to Colin's FTP server! Also available via NFS on the same host, but LAN-only.
Read-only access (LAN clients see everything; WAN clients can only see /pub):
Username: "anonymous"
Password: "anonymous"
CONFIGURE YOUR CLIENT FOR "PASSIVE" MODE, e.g. `ftp --passive ftp.uninsane.org`.
Please let me know if anything's broken or not as it should be. Otherwise, browse and transfer freely :)
'';
};
data_provider = {
driver = "memory";
external_auth_hook = lib.getExe external_auth_hook;
# track_quota:
# - 0: disable quota tracking
# - 1: quota is updated on every upload/delete, even if user has no quota restriction
# - 2: quota is updated on every upload/delete, but only if user/folder has a quota restriction (default, i think)
# track_quota = 2;
};
};
};
users.users.sftpgo.extraGroups = [
"export"
"media"
"nginx" # to access certs
];
systemd.services.sftpgo = {
after = [ "network-online.target" ]; #< so that it reliably binds to all interfaces/netns's?
wants = [ "network-online.target" ];
unitConfig.RequiresMountsFor = [
"/var/export/media"
"/var/export/playground"
];
serviceConfig.ReadWritePaths = [ "/var/export" ];
serviceConfig.Restart = "always";
serviceConfig.RestartSec = "20s";
serviceConfig.UMask = lib.mkForce "0002";
};
}

View File

@@ -0,0 +1,191 @@
#!/usr/bin/env nix-shell
#!nix-shell -i python3 -p python3 -p python3.pkgs.passlib
# vim: set filetype=python :
#
# available environment variables:
# - SFTPGO_AUTHD_USERNAME
# - SFTPGO_AUTHD_USER
# - SFTPGO_AUTHD_IP
# - SFTPGO_AUTHD_PROTOCOL = { "DAV", "FTP", "HTTP", "SSH" }
# - SFTPGO_AUTHD_PASSWORD
# - SFTPGO_AUTHD_PUBLIC_KEY
# - SFTPGO_AUTHD_KEYBOARD_INTERACTIVE
# - SFTPGO_AUTHD_TLS_CERT
#
# user permissions:
# - see <repo:drakkan/sftpgo:internal/dataprovider/user.go>
# - "*" = grant all permissions
# - read-only perms:
# - "list" = list files and directories
# - "download"
# - rw perms:
# - "upload"
# - "overwrite" = allow uploads to replace existing files
# - "delete" = delete files and directories
# - "delete_files"
# - "delete_dirs"
# - "rename" = rename files and directories
# - "rename_files"
# - "rename_dirs"
# - "create_dirs"
# - "create_symlinks"
# - "chmod"
# - "chown"
# - "chtimes" = change atime/mtime (access and modification times)
#
# home_dir:
# - it seems (empirically) that a user can't cd above their home directory.
# though i don't have a reference for that in the docs.
import json
import os
import passlib.hosts
from hmac import compare_digest
authFail = dict(username="")
PERM_DENY = []
PERM_LIST = [ "list" ]
PERM_RO = [ "list", "download" ]
PERM_RW = [
# read-only:
"list",
"download",
# write:
"upload",
"overwrite",
"delete",
"rename",
"create_dirs",
"create_symlinks",
# intentionally omitted:
# "chmod",
# "chown",
# "chtimes",
]
TRUSTED_CREDS = [
# /etc/shadow style creds.
# mkpasswd -m sha-512
# $<method>$<salt>$<hash>
"$6$Zq3c2u4ghUH4S6EP$pOuRt13sEKfX31OqPbbd1LuhS21C9MICMc94iRdTAgdAcJ9h95gQH/6Jf6Ie4Obb0oxQtojRJ1Pd/9QHOlFMW.", #< m. rocket boy
"$6$B0NLGNdCL51PNse1$46G.aA1ATWIv5v.jUsKf4F3NS7emV2jB2gkZ3MytZtMvw2pjniHmRl0fywRjKW9TuXTeK9T50v.H0f2BaQ4PT1", #< v. telephony
]
TRUSTED_VIEWING_OR_PLAYGROUND_CREDS = [
# "$6$iikDajz5b.YH1.on$tfSzzBEtX8IeDiJJXCasOTxRTd7cFDKXU6dhlWYVhK6xDeJhV2fh6bmm1WIHItjIth9Eh9zNgUB8xibMIWCm/." # fedi (2024-08-27); music appreciation
];
def mkAuthOk(username: str, permissions: dict[str, list[str]]) -> dict:
return dict(
status = 1,
username = username,
expiration_date = 0,
home_dir = "/var/export",
# uid/gid 0 means to inherit sftpgo uid.
# - i.e. users can't read files which Linux user `sftpgo` can't read
# - uploaded files belong to Linux user `sftpgo`
# other uid/gid values aren't possible for localfs backend, unless i let sftpgo use `sudo`.
uid = 0,
gid = 0,
# uid = 65534,
# gid = 65534,
max_sessions = 0,
# quota_*: 0 means to not use SFTP's quota system
quota_size = 0,
quota_files = 0,
permissions = permissions,
upload_bandwidth = 0,
download_bandwidth = 0,
filters = dict(
allowed_ip = [],
denied_ip = [],
),
public_keys = [],
# other fields:
# ? groups
# ? virtual_folders
)
def isLan(ip: str) -> bool:
return ip.startswith("10.78.76.") \
or ip.startswith("10.78.77.") \
or ip.startswith("10.78.78.") \
or ip.startswith("10.78.79.")
def isWireguard(ip: str) -> bool:
return ip.startswith("10.0.10.")
def isTrustedCred(password: str, credlist: list[str] = TRUSTED_CREDS) -> bool:
for cred in credlist:
if passlib.hosts.linux_context.verify(password, cred):
return True
return False
def getAuthResponse(ip: str, username: str, password: str) -> dict:
"""
return a sftpgo auth response either denying the user or approving them
with a set of permissions.
"""
if isTrustedCred(password) and username != "colin":
# allow r/w access from those with a special token
return mkAuthOk(username, permissions = {
"/": PERM_RW,
"/playground": PERM_RW,
"/.public_for_test": PERM_RO,
"/media/Music": PERM_RO, #< i am too picky about Music organization
})
if isTrustedCred(password, TRUSTED_VIEWING_OR_PLAYGROUND_CREDS) and username != "colin":
return mkAuthOk(username, permissions = {
# error prone, but... not the worst if i miss something
"/": PERM_LIST,
"/media/archive": PERM_DENY,
"/media/Books": PERM_RO,
"/media/collections": PERM_DENY,
"/media/games": PERM_RO,
"/media/Music": PERM_RO,
"/media/Pictures": PERM_RO,
"/media/torrents": PERM_DENY,
"/media/Videos": PERM_RO,
"/playground": PERM_RW,
"/.public_for_test": PERM_RO,
})
if isWireguard(ip):
# allow any user from wireguard
return mkAuthOk(username, permissions = {
"/": PERM_RW,
"/playground": PERM_RW,
"/.public_for_test": PERM_RO,
})
if isLan(ip):
if username == "anonymous":
# allow anonymous users on the LAN
return mkAuthOk("anonymous", permissions = {
"/": PERM_RO,
"/playground": PERM_RW,
"/.public_for_test": PERM_RO,
})
if username == "anonymous":
# anonymous users from the www can have even more limited access.
# mostly because i need an easy way to test WAN connectivity :-)
return mkAuthOk("anonymous", permissions = {
# "/": PERM_DENY,
"/": PERM_LIST, #< REQUIRED, even for lftp to list a subdir
"/media": PERM_DENY,
"/playground": PERM_DENY,
"/.public_for_test": PERM_RO,
# "/README.md": PERM_RO, #< does not work
})
return authFail
def main():
ip = os.environ.get("SFTPGO_AUTHD_IP", "")
username = os.environ.get("SFTPGO_AUTHD_USERNAME", "")
password = os.environ.get("SFTPGO_AUTHD_PASSWORD", "")
resp = getAuthResponse(ip, username, password)
print(json.dumps(resp))
if __name__ == "__main__":
main()

View File

@@ -0,0 +1,32 @@
diff --git a/internal/ftpd/handler.go b/internal/ftpd/handler.go
index 036c3977..33211261 100644
--- a/internal/ftpd/handler.go
+++ b/internal/ftpd/handler.go
@@ -169,7 +169,7 @@ func (c *Connection) Stat(name string) (os.FileInfo, error) {
}
return nil, err
}
- return fi, nil
+ return vfs.NewFileInfo(name, fi.IsDir(), fi.Size(), fi.ModTime(), false), nil
}
// Name returns the name of this connection
@@ -315,7 +315,17 @@ func (c *Connection) ReadDir(name string) (ftpserver.DirLister, error) {
}, nil
}
- return c.ListDir(name)
+ lister, err := c.ListDir(name)
+ if err != nil {
+ return nil, err
+ }
+ return &patternDirLister{
+ DirLister: lister,
+ pattern: "*",
+ lastCommand: c.clientContext.GetLastCommand(),
+ dirName: name,
+ connectionPath: c.clientContext.Path(),
+ }, nil
}
// GetHandle implements ClientDriverExtentionFileTransfer

View File

@@ -10,13 +10,14 @@
# ```
{ config, lib, pkgs, sane-lib, ... }:
lib.mkIf false #< 2024/07/04: i haven't actively used this for months
{
sops.secrets."freshrss_passwd" = {
owner = config.users.users.freshrss.name;
mode = "0400";
};
sane.persist.sys.plaintext = [
{ user = "freshrss"; group = "freshrss"; directory = "/var/lib/freshrss"; }
sane.persist.sys.byStore.plaintext = [
{ user = "freshrss"; group = "freshrss"; path = "/var/lib/freshrss"; method = "bind"; }
];
services.freshrss.enable = true;

View File

@@ -0,0 +1,38 @@
# gerbera UPNP/media server
# accessible from TVs on the LAN
# unauthenticated admin and playback UI at http://servo:49152/
#
# supposedly does transcoding, but i poked at it for 10 minutes and couldn't get that working
#
# compatibility:
# - LG TV: music: all working
# - LG TV: videos: mixed
{ lib, ... }:
lib.mkIf false #< XXX(2024-11-17): WORKS, but no better than any other service; slow to index and transcoding doesn't work
{
sane.ports.ports."1900" = {
protocol = [ "udp" ];
visibleTo.lan = true;
description = "colin-upnp-for-gerbera";
};
sane.ports.ports."49152" = {
protocol = [ "tcp" "udp" ]; # TODO: is udp required?
visibleTo.lan = true;
description = "colin-gerbera-http";
};
sane.persist.sys.byStore.plaintext = [
# persist the index database, since it takes a good 30 minutes to scan the media collection
{ user = "mediatomb"; group = "mediatomb"; mode = "0700"; path = "/var/lib/gerbera"; method = "bind"; }
];
services.mediatomb.enable = true;
services.mediatomb.serverName = "servo";
services.mediatomb.transcoding = true;
services.mediatomb.mediaDirectories = [
{ path = "/var/media/Music"; recursive = true; hidden-files = false; }
{ path = "/var/media/Videos/Film"; recursive = true; hidden-files = false; }
{ path = "/var/media/Videos/Shows"; recursive = true; hidden-files = false; }
];
users.users.mediatomb.extraGroups = [ "media" ];
}

View File

@@ -1,18 +1,33 @@
# config options: <https://docs.gitea.io/en-us/administration/config-cheat-sheet/>
{ config, pkgs, lib, ... }:
# TODO: service shouldn't run as `git` user, but as `gitea`
{ pkgs, lib, ... }:
{
sane.persist.sys.plaintext = [
# TODO: mode? could be more granular
{ user = "git"; group = "gitea"; directory = "/var/lib/gitea"; }
sane.persist.sys.byStore.private = [
{ user = "git"; group = "gitea"; mode = "0750"; path = "/var/lib/gitea"; method = "bind"; }
];
sane.programs.gitea.enableFor.user.colin = true; # for admin, and monitoring
services.gitea.enable = true;
services.gitea.user = "git"; # default is 'gitea'
services.gitea.database.type = "postgres";
services.gitea.database.user = "git";
services.gitea.appName = "Perfectly Sane Git";
# services.gitea.disableRegistration = true;
services.gitea.database.createDatabase = false; # can only createDatabase if user ("git") == dbname ("gitea")
services.gitea.database.type = "postgres";
services.gitea.database.user = "git";
# createDatabase=false means manually specify the connection; see: <https://github.com/NixOS/nixpkgs/pull/268849>
services.gitea.database.name = "gitea";
services.gitea.database.socket = "/run/postgresql"; #< would have been set if createDatabase = true
services.postgresql.enable = true;
services.postgresql.ensureDatabases = [ "gitea" ];
services.postgresql.ensureUsers = [{
name = "git";
# ensureDBOwnership = true; # not possible if db name ("gitea") != db username ("git"); one-time manual setup required to grant user ownership of the relevant db
}];
# gitea doesn't create the git user
users.users.git = {
description = "Gitea Service";
@@ -34,28 +49,41 @@
ROOT_URL = "https://git.uninsane.org/";
};
service = {
# timeout for email approval. 5760 = 4 days
ACTIVE_CODE_LIVE_MINUTES = 5760;
# timeout for email approval. 5760 = 4 days. 10080 = 7 days
ACTIVE_CODE_LIVE_MINUTES = 10080;
# REGISTER_EMAIL_CONFIRM = false;
# REGISTER_MANUAL_CONFIRM = true;
REGISTER_EMAIL_CONFIRM = true;
# not sure what this notified on?
# REGISTER_EMAIL_CONFIRM = true; #< override REGISTER_MANUAL_CONFIRM
REGISTER_MANUAL_CONFIRM = true;
# not sure what this notifies *on*...
ENABLE_NOTIFY_MAIL = true;
# defaults to image-based captcha.
# also supports recaptcha (with custom URLs) or hCaptcha.
ENABLE_CAPTCHA = true;
NOREPLY_ADDRESS = "noreply.anonymous.git@uninsane.org";
EMAIL_DOMAIN_BLOCKLIST = lib.concatStringsSep ", " [
"*.claychoen.top"
"*.gemmasmith.co.uk"
"*.jenniferlawrence.uk"
"*.sarahconnor.co.uk"
"*.marymarshall.co.uk"
];
};
session = {
COOKIE_SECURE = true;
# keep me logged in for 30 days
SESSION_LIFE_TIME = 60 * 60 * 24 * 30;
};
session.COOKIE_SECURE = true;
repository = {
DEFAULT_BRANCH = "master";
ENABLE_PUSH_CREATE_USER = true;
ENABLE_PUSH_CREATE_ORG = true;
};
other = {
SHOW_FOOTER_TEMPLATE_LOAD_TIME = false;
};
ui = {
# options: "auto", "gitea", "arc-green"
DEFAULT_THEME = "arc-green";
# options: "gitea-auto" (adapt to system theme), "gitea-dark", "gitea-light"
# DEFAULT_THEME = "gitea-auto";
# cache frontend assets if true
# USE_SERVICE_WORKER = true;
};
@@ -64,9 +92,10 @@
# alternative is to use nixos-level config:
# services.gitea.mailerPasswordFile = ...
ENABLED = true;
MAILER_TYPE = "sendmail";
FROM = "notify.git@uninsane.org";
SENDMAIL_PATH = "${pkgs.postfix}/bin/sendmail";
PROTOCOL = "sendmail";
SENDMAIL_PATH = lib.getExe' pkgs.postfix "sendmail";
SENDMAIL_ARGS = "--"; # most "sendmail" programs take options, "--" will prevent an email address being interpreted as an option.
};
time = {
# options: ANSIC, UnixDate, RubyDate, RFC822, RFC822Z, RFC850, RFC1123, RFC1123Z, RFC3339, RFC3339Nano, Kitchen, Stamp, StampMilli, StampMicro, StampNano
@@ -75,17 +104,24 @@
};
};
systemd.services.gitea.requires = [ "postgresql.service" ];
systemd.services.gitea.serviceConfig = {
# nix default is AF_UNIX AF_INET AF_INET6.
# we need more protos for sendmail to work. i thought it only needed +AF_LOCAL, but that didn't work.
RestrictAddressFamilies = lib.mkForce "~";
# add maildrop to allow sendmail to work
ReadWritePaths = lib.mkForce [
ReadWritePaths = [
"/var/lib/postfix/queue/maildrop"
"/var/lib/gitea"
];
# rate limit the restarts to prevent systemd from disabling it
RestartSec = 5;
RestartMaxDelaySec = 30;
StartLimitBurst = 120;
RestartSteps = 5;
};
# services.openssh.settings.UsePAM = true; #< required for `git` user to authenticate
# hosted git (web view and for `git <cmd>` use
# TODO: enable publog?
services.nginx.virtualHosts."git.uninsane.org" = {
@@ -96,6 +132,28 @@
locations."/" = {
proxyPass = "http://127.0.0.1:3000";
};
# fuck you @anthropic
locations."= /robots.txt".extraConfig = ''
return 200 "User-agent: *\nDisallow: /\n";
'';
# gitea serves all `raw` files as content-type: plain, but i'd like to serve them as their actual content type.
# or at least, enough to make specific pages viewable (serving unoriginal content as arbitrary content type is dangerous).
locations."~ ^/colin/phone-case-cq/raw/.*.html" = {
proxyPass = "http://127.0.0.1:3000";
extraConfig = ''
proxy_hide_header Content-Type;
default_type text/html;
add_header Content-Type text/html;
'';
};
locations."~ ^/colin/phone-case-cq/raw/.*.js" = {
proxyPass = "http://127.0.0.1:3000";
extraConfig = ''
proxy_hide_header Content-Type;
default_type text/html;
add_header Content-Type text/javascript;
'';
};
};
sane.dns.zones."uninsane.org".inet.CNAME."git" = "native";
@@ -103,7 +161,7 @@
sane.ports.ports."22" = {
protocol = [ "tcp" ];
visibleTo.lan = true;
visibleTo.wan = true;
visibleTo.doof = true;
description = "colin-git@git.uninsane.org";
};
}

View File

@@ -1,4 +1,5 @@
{ pkgs, ... }:
{ lib, pkgs, ... }:
lib.mkIf false #< 2024/09/30: disabled because i haven't used it in several months
{
# based on <https://bytes.fyi/real-time-goaccess-reports-with-nginx/>
# log-format setting can be derived with this tool if custom:
@@ -10,7 +11,7 @@
description = "GoAccess server monitoring";
serviceConfig = {
ExecStart = ''
${pkgs.goaccess}/bin/goaccess \
${lib.getExe pkgs.goaccess} \
-f /var/log/nginx/public.log \
--log-format=VCOMBINED \
--real-time-html \
@@ -20,25 +21,27 @@
--ignore-panel=HOSTS \
--ws-url=wss://sink.uninsane.org:443/ws \
--port=7890 \
-o /var/lib/uninsane/sink/index.html
-o /var/lib/goaccess/index.html
'';
ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
ExecReload = "${lib.getExe' pkgs.coreutils "kill"} -HUP $MAINPID";
Type = "simple";
Restart = "on-failure";
RestartSec = "10s";
# hardening
WorkingDirectory = "/tmp";
# TODO: run as `goaccess` user and add `goaccess` user to group `nginx`.
NoNewPrivileges = true;
PrivateDevices = "yes";
PrivateTmp = true;
ProtectHome = "read-only";
ProtectSystem = "strict";
SystemCallFilter = "~@clock @cpu-emulation @debug @keyring @memlock @module @mount @obsolete @privileged @reboot @resources @setuid @swap @raw-io";
ReadOnlyPaths = "/";
ReadWritePaths = [ "/proc/self" "/var/lib/uninsane/sink" ];
PrivateDevices = "yes";
ProtectKernelModules = "yes";
ProtectKernelTunables = "yes";
ProtectSystem = "strict";
ReadOnlyPaths = [ "/var/log/nginx" ];
ReadWritePaths = [ "/proc/self" "/var/lib/goaccess" ];
StateDirectory = "goaccess";
SystemCallFilter = "~@clock @cpu-emulation @debug @keyring @memlock @module @mount @obsolete @privileged @reboot @resources @setuid @swap @raw-io";
WorkingDirectory = "/var/lib/goaccess";
};
after = [ "network.target" ];
wantedBy = [ "multi-user.target" ];
@@ -49,7 +52,7 @@
addSSL = true;
enableACME = true;
# inherit kTLS;
root = "/var/lib/uninsane/sink";
root = "/var/lib/goaccess";
locations."/ws" = {
proxyPass = "http://127.0.0.1:7890";

View File

@@ -0,0 +1,150 @@
# TODO: split this file apart into smaller files to make it easier to understand
{ config, lib, pkgs, ... }:
let
dyn-dns = config.sane.services.dyn-dns;
nativeAddrs = lib.mapAttrs (_name: builtins.head) config.sane.dns.zones."uninsane.org".inet.A;
in
{
sane.ports.ports."53" = {
protocol = [ "udp" "tcp" ];
visibleTo.lan = true;
# visibleTo.wan = true;
visibleTo.ovpns = true;
visibleTo.doof = true;
description = "colin-dns-hosting";
};
sane.dns.zones."uninsane.org".TTL = 900;
# SOA record structure: <https://en.wikipedia.org/wiki/SOA_record#Structure>
# SOA MNAME RNAME (... rest)
# MNAME = Master name server for this zone. this is where update requests should be sent.
# RNAME = admin contact (encoded email address)
# Serial = YYYYMMDDNN, where N is incremented every time this file changes, to trigger secondary NS to re-fetch it.
# Refresh = how frequently secondary NS should query master
# Retry = how long secondary NS should wait until re-querying master after a failure (must be < Refresh)
# Expire = how long secondary NS should continue to reply to queries after master fails (> Refresh + Retry)
sane.dns.zones."uninsane.org".inet = {
SOA."@" = ''
ns1.uninsane.org. admin-dns.uninsane.org. (
2023092101 ; Serial
4h ; Refresh
30m ; Retry
7d ; Expire
5m) ; Negative response TTL
'';
TXT."rev" = "2023092101";
CNAME."native" = "%CNAMENATIVE%";
A."@" = "%ANATIVE%";
A."servo.wan" = "%AWAN%";
A."servo.doof" = "%ADOOF%";
A."servo.lan" = config.sane.hosts.by-name."servo".lan-ip;
A."servo.hn" = config.sane.hosts.by-name."servo".wg-home.ip;
# XXX NS records must also not be CNAME
# it's best that we keep this identical, or a superset of, what org. lists as our NS.
# so, org. can specify ns2/ns3 as being to the VPN, with no mention of ns1. we provide ns1 here.
A."ns1" = "%ANATIVE%";
A."ns2" = "%ADOOF%";
A."ovpns" = "%AOVPNS%";
NS."@" = [
"ns1.uninsane.org."
"ns2.uninsane.org."
];
};
services.hickory-dns.settings.zones = [ "uninsane.org" ];
networking.nat.enable = true; #< TODO: try removing this?
# networking.nat.extraCommands = ''
# # redirect incoming DNS requests from LAN addresses
# # to the LAN-specialized DNS service
# # N.B.: use the `nixos-*` chains instead of e.g. PREROUTING
# # because they get cleanly reset across activations or `systemctl restart firewall`
# # instead of accumulating cruft
# iptables -t nat -A nixos-nat-pre -p udp --dport 53 \
# -m iprange --src-range 10.78.76.0-10.78.79.255 \
# -j DNAT --to-destination :1053
# iptables -t nat -A nixos-nat-pre -p tcp --dport 53 \
# -m iprange --src-range 10.78.76.0-10.78.79.255 \
# -j DNAT --to-destination :1053
# '';
# sane.ports.ports."1053" = {
# # because the NAT above redirects in nixos-nat-pre, LAN requests behave as though they arrived on the external interface at the redirected port.
# # TODO: try nixos-nat-post instead?
# # TODO: or, don't NAT from port 53 -> port 1053, but rather nat from LAN addr to a loopback addr.
# # - this is complicated in that loopback is a different interface than eth0, so rewriting the destination address would cause the packets to just be dropped by the interface
# protocol = [ "udp" "tcp" ];
# visibleTo.lan = true;
# description = "colin-redirected-dns-for-lan-namespace";
# };
sane.services.hickory-dns.enable = true;
sane.services.hickory-dns.instances = let
mkSubstitutions = flavor: {
"%ADOOF%" = config.sane.netns.doof.wg.address.ipv4;
"%ANATIVE%" = nativeAddrs."servo.${flavor}";
"%AOVPNS%" = config.sane.netns.ovpns.wg.address.ipv4;
"%AWAN%" = "$(cat '${dyn-dns.ipPath}')";
"%CNAMENATIVE%" = "servo.${flavor}";
};
in
{
doof = {
substitutions = mkSubstitutions "doof";
listenAddrsIpv4 = [
config.sane.netns.doof.veth.initns.ipv4
config.sane.netns.doof.wg.address.ipv4
nativeAddrs."servo.lan"
# config.sane.netns.ovpns.veth.initns.ipv4
];
};
# hn = {
# substitutions = mkSubstitutions "hn";
# listenAddrsIpv4 = [ nativeAddrs."servo.hn" ];
# enableRecursiveResolver = true; #< allow wireguard clients to use this as their DNS resolver
# # extraConfig = {
# # zones = [
# # {
# # # forward the root zone to the local DNS resolver
# # # to allow wireguard clients to use this as their DNS resolver
# # zone = ".";
# # zone_type = "Forward";
# # stores = {
# # type = "forward";
# # name_servers = [
# # {
# # socket_addr = "127.0.0.53:53";
# # protocol = "udp";
# # trust_nx_responses = true;
# # }
# # ];
# # };
# # }
# # ];
# # };
# };
# lan = {
# substitutions = mkSubstitutions "lan";
# listenAddrsIpv4 = [ nativeAddrs."servo.lan" ];
# # port = 1053;
# };
# wan = {
# substitutions = mkSubstitutions "wan";
# listenAddrsIpv4 = [
# nativeAddrs."servo.lan"
# ];
# };
};
systemd.services.hickory-dns-doof.after = [
# service will fail to bind the veth, otherwise
"netns-doof-veth.service"
];
sane.services.dyn-dns.restartOnChange = lib.map (c: "${c.service}.service") (builtins.attrValues config.sane.services.hickory-dns.instances);
}

View File

@@ -10,9 +10,9 @@
lib.mkIf false # i don't actively use ipfs anymore
{
sane.persist.sys.plaintext = [
sane.persist.sys.byStore.private = [
# TODO: mode? could be more granular
{ user = "261"; group = "261"; directory = "/var/lib/ipfs"; }
{ user = "261"; group = "261"; path = "/var/lib/ipfs"; method = "bind"; }
];
networking.firewall.allowedTCPPorts = [ 4001 ];

View File

@@ -1,32 +0,0 @@
{ ... }:
{
sane.persist.sys.plaintext = [
# TODO: mode? we only need this to save Indexer creds ==> migrate to config?
{ user = "root"; group = "root"; directory = "/var/lib/jackett"; }
];
services.jackett.enable = true;
systemd.services.jackett.after = [ "wireguard-wg-ovpns.service" ];
systemd.services.jackett.partOf = [ "wireguard-wg-ovpns.service" ];
systemd.services.jackett.serviceConfig = {
# run this behind the OVPN static VPN
NetworkNamespacePath = "/run/netns/ovpns";
# patch jackett to listen on the public interfaces
# ExecStart = lib.mkForce "${pkgs.jackett}/bin/Jackett --NoUpdates --DataFolder /var/lib/jackett/.config/Jackett --ListenPublic";
};
# jackett torrent search
services.nginx.virtualHosts."jackett.uninsane.org" = {
forceSSL = true;
enableACME = true;
# inherit kTLS;
locations."/" = {
# proxyPass = "http://ovpns.uninsane.org:9117";
proxyPass = "http://10.0.1.6:9117";
};
};
sane.dns.zones."uninsane.org".inet.CNAME."jackett" = "native";
}

View File

@@ -0,0 +1,69 @@
{ config, lib, pkgs, ... }:
let
cfg = config.services.jackett;
in
{
sane.persist.sys.byStore.private = [
# TODO: mode? we only need this to save Indexer creds ==> migrate to config?
{ user = "jackett"; group = "jackett"; path = "/var/lib/jackett"; method = "bind"; }
];
services.jackett.enable = true;
# run this behind the OVPN static VPN
sane.netns.ovpns.services = [ "jackett" ];
systemd.services.jackett = {
serviceConfig.ExecStartPre = [
# abort if public IP is not as expected
"${lib.getExe pkgs.sane-scripts.ip-check} --no-upnp --expect ${config.sane.netns.ovpns.wg.address.ipv4}"
];
# patch in `--ListenPublic` so that it's reachable from the netns veth.
# this also makes it reachable from the VPN pub address. oh well.
serviceConfig.ExecStart = lib.mkForce "${lib.getExe' cfg.package "Jackett"} --ListenPublic --NoUpdates --DataFolder '${cfg.dataDir}'";
serviceConfig.RestartSec = "30s";
# hardening (systemd-analyze security jackett)
# TODO: upstream into nixpkgs
serviceConfig.StateDirectory = "jackett";
serviceConfig.LockPersonality = true;
serviceConfig.NoNewPrivileges = true;
# serviceConfig.MemoryDenyWriteExecute = true; #< Failed to create CoreCLR, HRESULT: 0x80004005
serviceConfig.PrivateDevices = true;
serviceConfig.PrivateMounts = true;
serviceConfig.PrivateTmp = true;
serviceConfig.PrivateUsers = true;
serviceConfig.ProcSubset = "pid";
serviceConfig.ProtectClock = true;
serviceConfig.ProtectControlGroups = true;
serviceConfig.ProtectHome = true;
serviceConfig.ProtectHostname = true;
serviceConfig.ProtectKernelLogs = true;
serviceConfig.ProtectKernelModules = true;
serviceConfig.ProtectKernelTunables = true;
serviceConfig.ProtectProc = "invisible";
serviceConfig.ProtectSystem = "strict";
serviceConfig.RemoveIPC = true;
serviceConfig.RestrictAddressFamilies = "AF_UNIX AF_INET AF_INET6";
serviceConfig.RestrictNamespaces = true;
serviceConfig.RestrictSUIDSGID = true;
serviceConfig.SystemCallArchitectures = "native";
serviceConfig.SystemCallFilter = [ "@system-service" "~@privileged" ];
};
# jackett torrent search
services.nginx.virtualHosts."jackett.uninsane.org" = {
forceSSL = true;
enableACME = true;
# inherit kTLS;
locations."/" = {
proxyPass = "http://${config.sane.netns.ovpns.veth.netns.ipv4}:9117";
recommendedProxySettings = true;
};
locations."= /robots.txt".extraConfig = ''
return 200 "User-agent: *\nDisallow: /\n";
'';
};
sane.dns.zones."uninsane.org".inet.CNAME."jackett" = "native";
}

View File

@@ -1,127 +0,0 @@
# configuration options (today i don't store my config in nix):
#
# - jellyfin-web can be statically configured (result/share/jellyfin-web/config.json)
# - <https://jellyfin.org/docs/general/clients/web-config>
# - configure server list, plugins, "menuLinks", colors
#
# - jellfyin server is configured in /var/lib/jellfin/
# - root/default/<LibraryType>/
# - <LibraryName>.mblink: contains the directory name where this library lives
# - options.xml: contains preferences which were defined in the web UI during import
# - e.g. `EnablePhotos`, `EnableChapterImageExtraction`, etc.
# - config/encoding.xml: transcoder settings
# - config/system.xml: misc preferences like log file duration, audiobook resume settings, etc.
# - data/jellyfin.db: maybe account definitions? internal state?
{ config, lib, ... }:
{
# https://jellyfin.org/docs/general/networking/index.html
sane.ports.ports."1900" = {
protocol = [ "udp" ];
visibleTo.lan = true;
description = "colin-upnp-for-jellyfin";
};
sane.ports.ports."7359" = {
protocol = [ "udp" ];
visibleTo.lan = true;
description = "colin-jellyfin-specific-client-discovery";
# ^ not sure if this is necessary: copied this port from nixos jellyfin.openFirewall
};
# not sure if 8096/8920 get used either:
sane.ports.ports."8096" = {
protocol = [ "tcp" ];
visibleTo.lan = true;
description = "colin-jellyfin-http-lan";
};
sane.ports.ports."8920" = {
protocol = [ "tcp" ];
visibleTo.lan = true;
description = "colin-jellyfin-https-lan";
};
sane.persist.sys.plaintext = [
{ user = "jellyfin"; group = "jellyfin"; mode = "0700"; directory = "/var/lib/jellyfin"; }
];
sane.fs."/var/lib/jellyfin/config/logging.json" = {
# "Emby.Dlna" logging: <https://jellyfin.org/docs/general/networking/dlna>
symlink.text = ''
{
"Serilog": {
"MinimumLevel": {
"Default": "Information",
"Override": {
"Microsoft": "Warning",
"System": "Warning",
"Emby.Dlna": "Debug",
"Emby.Dlna.Eventing": "Debug"
}
},
"WriteTo": [
{
"Name": "Console",
"Args": {
"outputTemplate": "[{Timestamp:HH:mm:ss}] [{Level:u3}] [{ThreadId}] {SourceContext}: {Message:lj}{NewLine}{Exception}"
}
}
],
"Enrich": [ "FromLogContext", "WithThreadId" ]
}
}
'';
wantedBeforeBy = [ "jellyfin.service" ];
};
# Jellyfin multimedia server
# this is mostly taken from the official jellfin.org docs
services.nginx.virtualHosts."jelly.uninsane.org" = {
addSSL = true;
enableACME = true;
# inherit kTLS;
locations."/" = {
proxyPass = "http://127.0.0.1:8096";
extraConfig = ''
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Protocol $scheme;
proxy_set_header X-Forwarded-Host $http_host;
# Disable buffering when the nginx proxy gets very resource heavy upon streaming
proxy_buffering off;
'';
};
# locations."/web/" = {
# proxyPass = "http://127.0.0.1:8096/web/index.html";
# extraConfig = ''
# proxy_set_header Host $host;
# proxy_set_header X-Real-IP $remote_addr;
# proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# proxy_set_header X-Forwarded-Proto $scheme;
# proxy_set_header X-Forwarded-Protocol $scheme;
# proxy_set_header X-Forwarded-Host $http_host;
# '';
# };
locations."/socket" = {
proxyPass = "http://127.0.0.1:8096";
extraConfig = ''
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Protocol $scheme;
proxy_set_header X-Forwarded-Host $http_host;
'';
};
};
sane.dns.zones."uninsane.org".inet.CNAME."jelly" = "native";
services.jellyfin.enable = true;
}

View File

@@ -0,0 +1,171 @@
# configuration options (today only a *subset* of the config is done in nix)
# - jellyfin-web can be statically configured (result/share/jellyfin-web/config.json)
# - <https://jellyfin.org/docs/general/clients/web-config>
# - configure server list, plugins, "menuLinks", colors
#
# - jellfyin server is configured in /var/lib/jellfin/
# - root/default/<LibraryType>/
# - <LibraryName>.mblink: contains the directory name where this library lives
# - options.xml: contains preferences which were defined in the web UI during import
# - e.g. `EnablePhotos`, `EnableChapterImageExtraction`, etc.
# - config/encoding.xml: transcoder settings
# - config/system.xml: misc preferences like log file duration, audiobook resume settings, etc.
# - data/jellyfin.db: maybe account definitions? internal state?
#
# N.B.: default install DOES NOT SUPPORT DLNA out of the box.
# one must install it as a "plugin", which can be done through the UI.
{ lib, ... }:
# lib.mkIf false #< XXX(2024-11-17): disabled because it hasn't been working for months; web UI hangs on load, TVs see no files
{
# https://jellyfin.org/docs/general/networking/index.html
sane.ports.ports."1900" = {
protocol = [ "udp" ];
visibleTo.lan = true;
description = "colin-upnp-for-jellyfin";
};
sane.ports.ports."7359" = {
protocol = [ "udp" ];
visibleTo.lan = true;
description = "colin-jellyfin-specific-client-discovery";
# ^ not sure if this is necessary: copied this port from nixos jellyfin.openFirewall
};
# not sure if 8096/8920 get used either:
sane.ports.ports."8096" = {
protocol = [ "tcp" ];
visibleTo.lan = true;
description = "colin-jellyfin-http-lan";
};
sane.ports.ports."8920" = {
protocol = [ "tcp" ];
visibleTo.lan = true;
description = "colin-jellyfin-https-lan";
};
sane.persist.sys.byStore.plaintext = [
{ user = "jellyfin"; group = "jellyfin"; mode = "0700"; path = "/var/lib/jellyfin/data"; method = "bind"; }
{ user = "jellyfin"; group = "jellyfin"; mode = "0700"; path = "/var/lib/jellyfin/metadata"; method = "bind"; }
# TODO: ship plugins statically, via nix. that'll be less fragile
{ user = "jellyfin"; group = "jellyfin"; mode = "0700"; path = "/var/lib/jellyfin/plugins/DLNA_5.0.0.0"; method = "bind"; }
{ user = "jellyfin"; group = "jellyfin"; mode = "0700"; path = "/var/lib/jellyfin/root"; method = "bind"; }
];
sane.persist.sys.byStore.ephemeral = [
{ user = "jellyfin"; group = "jellyfin"; mode = "0700"; path = "/var/lib/jellyfin/log"; method = "bind"; }
{ user = "jellyfin"; group = "jellyfin"; mode = "0700"; path = "/var/lib/jellyfin/transcodes"; method = "bind"; }
];
services.jellyfin.enable = true;
users.users.jellyfin.extraGroups = [ "media" ];
sane.fs."/var/lib/jellyfin".dir.acl = {
user = "jellyfin";
group = "jellyfin";
mode = "0700";
};
# `"Jellyfin.Plugin.Dlna": "Debug"` logging: <https://jellyfin.org/docs/general/networking/dlna>
# TODO: switch Dlna back to 'Information' once satisfied with stability
sane.fs."/var/lib/jellyfin/config/logging.json".symlink.text = ''
{
"Serilog": {
"MinimumLevel": {
"Default": "Information",
"Override": {
"Microsoft": "Warning",
"System": "Warning",
"Jellyfin.Plugin.Dlna": "Debug"
}
},
"WriteTo": [
{
"Name": "Console",
"Args": {
"outputTemplate": "[{Timestamp:HH:mm:ss}] [{Level:u3}] [{ThreadId}] {SourceContext}: {Message:lj}{NewLine}{Exception}"
}
}
],
"Enrich": [ "FromLogContext", "WithThreadId" ]
}
}
'';
sane.fs."/var/lib/jellyfin/config/network.xml".file.text = ''
<?xml version="1.0" encoding="utf-8"?>
<NetworkConfiguration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<BaseUrl />
<EnableHttps>false</EnableHttps>
<RequireHttps>false</RequireHttps>
<InternalHttpPort>8096</InternalHttpPort>
<InternalHttpsPort>8920</InternalHttpsPort>
<PublicHttpPort>8096</PublicHttpPort>
<PublicHttpsPort>8920</PublicHttpsPort>
<AutoDiscovery>true</AutoDiscovery>
<EnableUPnP>false</EnableUPnP>
<EnableIPv4>true</EnableIPv4>
<EnableIPv6>false</EnableIPv6>
<EnableRemoteAccess>true</EnableRemoteAccess>
<LocalNetworkSubnets>
<string>10.78.76.0/22</string>
</LocalNetworkSubnets>
<KnownProxies>
<string>127.0.0.1</string>
<string>localhost</string>
<string>10.78.79.1</string>
</KnownProxies>
<IgnoreVirtualInterfaces>false</IgnoreVirtualInterfaces>
<VirtualInterfaceNames />
<EnablePublishedServerUriByRequest>false</EnablePublishedServerUriByRequest>
<PublishedServerUriBySubnet />
<RemoteIPFilter />
<IsRemoteIPFilterBlacklist>false</IsRemoteIPFilterBlacklist>
</NetworkConfiguration>
'';
# guest user id is `5ad194d60dca41de84b332950ffc4308`
sane.fs."/var/lib/jellyfin/plugins/configurations/Jellyfin.Plugin.Dlna.xml".file.text = ''
<?xml version="1.0" encoding="utf-8"?>
<DlnaPluginConfiguration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<EnablePlayTo>true</EnablePlayTo>
<ClientDiscoveryIntervalSeconds>60</ClientDiscoveryIntervalSeconds>
<BlastAliveMessages>true</BlastAliveMessages>
<AliveMessageIntervalSeconds>180</AliveMessageIntervalSeconds>
<SendOnlyMatchedHost>true</SendOnlyMatchedHost>
<DefaultUserId>5ad194d6-0dca-41de-84b3-32950ffc4308</DefaultUserId>
</DlnaPluginConfiguration>
'';
# fix LG TV to play more files.
# there are certain files for which it only supports Direct Play (not even "Direct Stream" -- but "Direct Play").
# this isn't a 100% fix: patching the profile allows e.g. Azumanga Daioh to play,
# but A Place Further Than the Universe still fails as before.
#
# profile is based on upstream: <https://github.com/jellyfin/jellyfin-plugin-dlna>
sane.fs."/var/lib/jellyfin/plugins/DLNA_5.0.0.0/profiles/LG Smart TV.xml".symlink.target = ./dlna/user/LG_Smart_TV.xml;
# XXX(2024-11-17): old method, but the file referenced seems not to be used and setting just it causes failures:
# > [DBG] Jellyfin.Plugin.Dlna.ContentDirectory.ContentDirectoryService: Not eligible for DirectPlay due to unsupported subtitles
# sane.fs."/var/lib/jellyfin/plugins/configurations/dlna/user/LG Smart TV.xml".symlink.target = ./dlna/user/LG_Smart_TV.xml;
systemd.services.jellyfin.unitConfig.RequiresMountsFor = [
"/var/media"
];
# Jellyfin multimedia server
# this is mostly taken from the official jellfin.org docs
services.nginx.virtualHosts."jelly.uninsane.org" = {
forceSSL = true;
enableACME = true;
# inherit kTLS;
locations."/" = {
proxyPass = "http://127.0.0.1:8096";
proxyWebsockets = true;
recommendedProxySettings = true;
# extraConfig = ''
# # Disable buffering when the nginx proxy gets very resource heavy upon streaming
# proxy_buffering off;
# '';
};
};
sane.dns.zones."uninsane.org".inet.CNAME."jelly" = "native";
}

View File

@@ -0,0 +1,91 @@
<?xml version="1.0"?>
<Profile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Name>LG Smart TV</Name>
<Identification>
<ModelName>LG TV</ModelName>
<Headers />
</Identification>
<Manufacturer>Jellyfin</Manufacturer>
<ManufacturerUrl>https://github.com/jellyfin/jellyfin</ManufacturerUrl>
<ModelName>Jellyfin Server</ModelName>
<ModelDescription>UPnP/AV 1.0 Compliant Media Server</ModelDescription>
<ModelNumber>01</ModelNumber>
<ModelUrl>https://github.com/jellyfin/jellyfin</ModelUrl>
<EnableAlbumArtInDidl>false</EnableAlbumArtInDidl>
<EnableSingleAlbumArtLimit>false</EnableSingleAlbumArtLimit>
<EnableSingleSubtitleLimit>false</EnableSingleSubtitleLimit>
<SupportedMediaTypes>Audio,Photo,Video</SupportedMediaTypes>
<AlbumArtPn>JPEG_SM</AlbumArtPn>
<MaxAlbumArtWidth>480</MaxAlbumArtWidth>
<MaxAlbumArtHeight>480</MaxAlbumArtHeight>
<MaxIconWidth>48</MaxIconWidth>
<MaxIconHeight>48</MaxIconHeight>
<MaxStreamingBitrate>140000000</MaxStreamingBitrate>
<MaxStaticBitrate>140000000</MaxStaticBitrate>
<MusicStreamingTranscodingBitrate>192000</MusicStreamingTranscodingBitrate>
<MaxStaticMusicBitrate xsi:nil="true" />
<ProtocolInfo>http-get:*:video/mpeg:*,http-get:*:video/mp4:*,http-get:*:video/vnd.dlna.mpeg-tts:*,http-get:*:video/avi:*,http-get:*:video/x-matroska:*,http-get:*:video/x-ms-wmv:*,http-get:*:video/wtv:*,http-get:*:audio/mpeg:*,http-get:*:audio/mp3:*,http-get:*:audio/mp4:*,http-get:*:audio/x-ms-wma:*,http-get:*:audio/wav:*,http-get:*:audio/L16:*,http-get:*:image/jpeg:*,http-get:*:image/png:*,http-get:*:image/gif:*,http-get:*:image/tiff:*</ProtocolInfo>
<TimelineOffsetSeconds>10</TimelineOffsetSeconds>
<RequiresPlainVideoItems>false</RequiresPlainVideoItems>
<RequiresPlainFolders>false</RequiresPlainFolders>
<EnableMSMediaReceiverRegistrar>false</EnableMSMediaReceiverRegistrar>
<IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests>
<XmlRootAttributes />
<DirectPlayProfiles>
<DirectPlayProfile container="ts,mpegts,avi,mkv,m2ts" audioCodec="aac,ac3,eac3,mp3,dca,dts" videoCodec="h264,hevc" type="Video" />
<DirectPlayProfile container="mp4,m4v" audioCodec="aac,ac3,eac3,mp3,dca,dts" videoCodec="h264,mpeg4,hevc" type="Video" />
<DirectPlayProfile container="mp3" type="Audio" />
<DirectPlayProfile container="jpeg" type="Photo" />
<DirectPlayProfile container="" audioCodec="" videoCodec="" type="Video" />
</DirectPlayProfiles>
<TranscodingProfiles>
<TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" />
<TranscodingProfile container="ts" type="Video" videoCodec="h264" audioCodec="ac3,aac,mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" />
<TranscodingProfile container="jpeg" type="Photo" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" />
</TranscodingProfiles>
<ContainerProfiles>
<ContainerProfile type="Photo">
<Conditions>
<ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" />
<ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" />
</Conditions>
</ContainerProfile>
</ContainerProfiles>
<CodecProfiles>
<CodecProfile type="Video" codec="mpeg4">
<Conditions>
<ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" />
<ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" />
<ProfileCondition condition="LessThanEqual" property="VideoFramerate" value="30" isRequired="true" />
</Conditions>
<ApplyConditions />
</CodecProfile>
<CodecProfile type="Video" codec="h264">
<Conditions>
<ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" />
<ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" />
<ProfileCondition condition="LessThanEqual" property="VideoLevel" value="41" isRequired="true" />
</Conditions>
<ApplyConditions />
</CodecProfile>
<CodecProfile type="VideoAudio" codec="ac3,eac3,aac,mp3">
<Conditions>
<ProfileCondition condition="LessThanEqual" property="AudioChannels" value="6" isRequired="true" />
</Conditions>
<ApplyConditions />
</CodecProfile>
</CodecProfiles>
<ResponseProfiles>
<ResponseProfile container="m4v" type="Video" mimeType="video/mp4">
<Conditions />
</ResponseProfile>
<ResponseProfile container="ts,mpegts" type="Video" mimeType="video/mpeg">
<Conditions />
</ResponseProfile>
</ResponseProfiles>
<SubtitleProfiles>
<SubtitleProfile format="srt" method="Embed" />
<SubtitleProfile format="srt" method="External" />
</SubtitleProfiles>
</Profile>

View File

@@ -1,9 +1,26 @@
{ ... }:
{ pkgs, ... }:
{
sane.services.kiwix-serve = {
enable = true;
port = 8013;
zimPaths = [ "/var/lib/uninsane/www-archive/wikipedia_en_all_maxi_2022-05.zim" ];
zimPaths = with pkgs.zimPackages; [
alpinelinux_en_all_maxi.zimPath
archlinux_en_all_maxi.zimPath
bitcoin_en_all_maxi.zimPath
devdocs_en_nix.zimPath
gentoo_en_all_maxi.zimPath
# khanacademy_en_all.zimPath #< TODO: enable
openstreetmap-wiki_en_all_maxi.zimPath
psychonautwiki_en_all_maxi.zimPath
rationalwiki_en_all_maxi.zimPath
# wikipedia_en_100.zimPath
wikipedia_en_all_maxi.zimPath
# wikipedia_en_all_mini.zimPath
zimgit-food-preparation_en.zimPath
zimgit-medicine_en.zimPath
zimgit-post-disaster_en.zimPath
zimgit-water_en.zimPath
];
};
services.nginx.virtualHosts."w.uninsane.org" = {
@@ -11,6 +28,9 @@
enableACME = true;
# inherit kTLS;
locations."/".proxyPass = "http://127.0.0.1:8013";
locations."= /robots.txt".extraConfig = ''
return 200 "User-agent: *\nDisallow: /\n";
'';
};
sane.dns.zones."uninsane.org".inet.CNAME."w" = "native";

View File

@@ -1,22 +1,26 @@
{ config, ... }:
{ config, lib, ... }:
let
svc-cfg = config.services.komga;
inherit (svc-cfg) user group port stateDir;
in
lib.mkIf false #< 2024/09/30: disabled because i haven't used this for several months
{
sane.persist.sys.plaintext = [
{ inherit user group; mode = "0700"; directory = stateDir; }
sane.persist.sys.byStore.plaintext = [
{ inherit user group; mode = "0700"; path = stateDir; method = "bind"; }
];
services.komga.enable = true;
services.komga.port = 11319; # chosen at random
services.nginx.virtualHosts."komga.uninsane.org" = {
addSSL = true;
forceSSL = true;
enableACME = true;
locations."/" = {
proxyPass = "http://127.0.0.1:${builtins.toString port}";
};
locations."= /robots.txt".extraConfig = ''
return 200 "User-agent: *\nDisallow: /\n";
'';
};
sane.dns.zones."uninsane.org".inet.CNAME."komga" = "native";
}

View File

@@ -3,19 +3,32 @@
# - <repo:LemmyNet/lemmy:docker/nginx.conf>
# - <repo:LemmyNet/lemmy-ansible:templates/nginx.conf>
{ config, lib, ... }:
{ lib, pkgs, ... }:
let
inherit (builtins) toString;
inherit (lib) mkForce;
uiPort = 1234; # default ui port is 1234
backendPort = 8536; # default backend port is 8536
# - i guess the "backend" port is used for federation?
#^ i guess the "backend" port is used for federation?
pict-rs = pkgs.pict-rs;
# pict-rs configuration is applied in this order:
# - via toml
# - via env vars (overrides everything above)
# - via CLI flags (overrides everything above)
# some of the CLI flags have defaults, making it the only actual way to configure certain things even when docs claim otherwise.
# CLI args: <https://git.asonix.dog/asonix/pict-rs#user-content-running>
# TOML args: <https://git.asonix.dog/asonix/pict-rs/src/branch/main/pict-rs.toml>
toml = pkgs.formats.toml { };
tomlConfig = toml.generate "pict-rs.toml" pictrsConfig;
pictrsConfig = {
media.process_timeout = 120;
media.video.allow_audio = true;
media.video.max_frame_count = 30 * 60 * 60;
};
in {
services.lemmy = {
enable = true;
settings.hostname = "lemmy.uninsane.org";
settings.federation.enabled = true;
# federation.debug forces outbound federation queries to be run synchronously
# N.B.: this option might not be read for 0.17.0+? <https://github.com/LemmyNet/lemmy/blob/c32585b03429f0f76d1e4ff738786321a0a9df98/RELEASES.md#upgrade-instructions>
# settings.federation.debug = true;
settings.port = backendPort;
ui.port = uiPort;
@@ -23,15 +36,12 @@ in {
nginx.enable = true;
};
systemd.services.lemmy.serviceConfig = {
# fix to use a normal user so we can configure perms correctly
DynamicUser = mkForce false;
User = "lemmy";
Group = "lemmy";
};
systemd.services.lemmy.environment = {
RUST_BACKTRACE = "full";
RUST_LOG = "error";
# RUST_LOG = "warn";
# RUST_LOG = "debug";
# RUST_LOG = "trace";
# upstream defaults LEMMY_DATABASE_URL = "postgres:///lemmy?host=/run/postgresql";
# - Postgres complains that we didn't specify a user
# lemmy formats the url as:
@@ -40,8 +50,8 @@ in {
# - postgresql://[user[:password]@][netloc][:port][/dbname][?param1=value1&...]
# LEMMY_DATABASE_URL = "postgres://lemmy@/run/postgresql"; # connection to server on socket "/run/postgresql/.s.PGSQL.5432" failed: FATAL: database "run/postgresql" does not exist
# LEMMY_DATABASE_URL = "postgres://lemmy?host=/run/postgresql"; # no PostgreSQL user name specified in startup packet
# LEMMY_DATABASE_URL = mkForce "postgres://lemmy@?host=/run/postgresql"; # WORKS
LEMMY_DATABASE_URL = mkForce "postgres://lemmy@/lemmy?host=/run/postgresql";
# LEMMY_DATABASE_URL = lib.mkForce "postgres://lemmy@?host=/run/postgresql"; # WORKS
LEMMY_DATABASE_URL = lib.mkForce "postgres://lemmy@/lemmy?host=/run/postgresql";
};
users.groups.lemmy = {};
users.users.lemmy = {
@@ -55,4 +65,109 @@ in {
};
sane.dns.zones."uninsane.org".inet.CNAME."lemmy" = "native";
systemd.services.lemmy = {
# fix to use a normal user so we can configure perms correctly
# XXX(2024-07-28): this hasn't been rigorously tested:
# possible that i've set something too strict and won't notice right away
serviceConfig.DynamicUser = lib.mkForce false;
serviceConfig.User = "lemmy";
serviceConfig.Group = "lemmy";
# hardening (systemd-analyze security lemmy)
# a handful of these are specified in upstream nixpkgs, but mostly not
serviceConfig.LockPersonality = true;
serviceConfig.NoNewPrivileges = true;
serviceConfig.MemoryDenyWriteExecute = true;
serviceConfig.PrivateDevices = true;
serviceConfig.PrivateMounts = true;
serviceConfig.PrivateTmp = true;
serviceConfig.PrivateUsers = true;
serviceConfig.ProcSubset = "pid";
serviceConfig.ProtectClock = true;
serviceConfig.ProtectControlGroups = true;
serviceConfig.ProtectHome = true;
serviceConfig.ProtectHostname = true;
serviceConfig.ProtectKernelLogs = true;
serviceConfig.ProtectKernelModules = true;
serviceConfig.ProtectKernelTunables = true;
serviceConfig.ProtectProc = "invisible";
serviceConfig.ProtectSystem = "strict";
serviceConfig.RemoveIPC = true;
serviceConfig.RestrictAddressFamilies = "AF_UNIX AF_INET AF_INET6";
serviceConfig.RestrictNamespaces = true;
serviceConfig.RestrictSUIDSGID = true;
serviceConfig.SystemCallArchitectures = "native";
serviceConfig.SystemCallFilter = [ "@system-service" ];
};
systemd.services.lemmy-ui = {
# hardening (systemd-analyze security lemmy-ui)
# TODO: upstream into nixpkgs
serviceConfig.LockPersonality = true;
serviceConfig.NoNewPrivileges = true;
# serviceConfig.MemoryDenyWriteExecute = true; #< it uses v8, JIT
serviceConfig.PrivateDevices = true;
serviceConfig.PrivateMounts = true;
serviceConfig.PrivateTmp = true;
serviceConfig.PrivateUsers = true;
serviceConfig.ProcSubset = "pid";
serviceConfig.ProtectClock = true;
serviceConfig.ProtectControlGroups = true;
serviceConfig.ProtectHome = true;
serviceConfig.ProtectHostname = true;
serviceConfig.ProtectKernelLogs = true;
serviceConfig.ProtectKernelModules = true;
serviceConfig.ProtectKernelTunables = true;
serviceConfig.ProtectProc = "invisible";
serviceConfig.ProtectSystem = "strict";
serviceConfig.RemoveIPC = true;
serviceConfig.RestrictAddressFamilies = "AF_UNIX AF_INET AF_INET6";
serviceConfig.RestrictNamespaces = true;
serviceConfig.RestrictSUIDSGID = true;
serviceConfig.SystemCallArchitectures = "native";
serviceConfig.SystemCallFilter = [ "@system-service" "@pkey" "@sandbox" ];
};
#v DO NOT REMOVE: defaults to 0.3, instead of latest, so always need to explicitly set this.
services.pict-rs.package = pict-rs;
systemd.services.pict-rs = {
serviceConfig.ExecStart = lib.mkForce (lib.concatStringsSep " " [
(lib.getExe pict-rs)
"--config-file"
tomlConfig
"run"
]);
# hardening (systemd-analyze security pict-rs)
# TODO: upstream into nixpkgs
serviceConfig.LockPersonality = true;
serviceConfig.NoNewPrivileges = true;
serviceConfig.MemoryDenyWriteExecute = true;
serviceConfig.PrivateDevices = true;
serviceConfig.PrivateMounts = true;
serviceConfig.PrivateTmp = true;
serviceConfig.PrivateUsers = true;
serviceConfig.ProcSubset = "pid";
serviceConfig.ProtectClock = true;
serviceConfig.ProtectControlGroups = true;
serviceConfig.ProtectHome = true;
serviceConfig.ProtectHostname = true;
serviceConfig.ProtectKernelLogs = true;
serviceConfig.ProtectKernelModules = true;
serviceConfig.ProtectKernelTunables = true;
serviceConfig.ProtectProc = "invisible";
serviceConfig.ProtectSystem = "strict";
serviceConfig.RemoveIPC = true;
serviceConfig.RestrictAddressFamilies = "AF_UNIX AF_INET AF_INET6";
serviceConfig.RestrictNamespaces = true;
serviceConfig.RestrictSUIDSGID = true;
serviceConfig.SystemCallArchitectures = "native";
serviceConfig.SystemCallFilter = [ "@system-service" ];
};
}

View File

@@ -1,8 +1,20 @@
# docs: <https://nixos.wiki/wiki/Matrix>
# docs: <https://nixos.org/manual/nixos/stable/index.html#module-services-matrix-synapse>
# example config: <https://github.com/matrix-org/synapse/blob/develop/docs/sample_config.yaml>
# example config: <https://github.com/element-hq/synapse/blob/develop/docs/sample_config.yaml>
#
# ENABLING PUSH NOTIFICATIONS (with UnifiedPush/ntfy):
# - Matrix "pushers" API spec: <https://spec.matrix.org/latest/client-server-api/#post_matrixclientv3pushersset>
# - first, view notification settings:
# - obtain your client's auth token. e.g. Element -> profile -> help/about -> access token.
# - `curl --header 'Authorization: Bearer <your_access_token>' localhost:8008/_matrix/client/v3/pushers | jq .`
# - enable a new notification destination:
# - `curl --header "Authorization: Bearer <your_access_token>" --data '{ "app_display_name": "<topic>", "app_id": "ntfy.uninsane.org", "data": { "url": "https://ntfy.uninsane.org/_matrix/push/v1/notify", "format": "event_id_only" }, "device_display_name": "<topic>", "kind": "http", "lang": "en-US", "profile_tag": "", "pushkey": "<topic>" }' localhost:8008/_matrix/client/v3/pushers/set`
# - delete a notification destination by setting `kind` to `null` (otherwise, request is identical to above)
#
{ config, lib, pkgs, ... }:
let
ntfy = config.services.ntfy-sh.enable;
in
{
imports = [
./discord-puppet.nix
@@ -10,67 +22,77 @@
./signal.nix
];
sane.persist.sys.plaintext = [
{ user = "matrix-synapse"; group = "matrix-synapse"; directory = "/var/lib/matrix-synapse"; }
sane.persist.sys.byStore.private = [
{ user = "matrix-synapse"; group = "matrix-synapse"; path = "/var/lib/matrix-synapse"; method = "bind"; }
];
services.matrix-synapse.enable = true;
# this changes the default log level from INFO to WARN.
# maybe there's an easier way?
services.matrix-synapse.settings.log_config = ./synapse-log_level.yaml;
services.matrix-synapse.settings.server_name = "uninsane.org";
services.matrix-synapse.log.root.level = "ERROR"; # accepts "DEBUG", "INFO", "WARNING", "ERROR", "CRITICAL" (?)
services.matrix-synapse.settings = {
server_name = "uninsane.org";
# services.matrix-synapse.enable_registration_captcha = true;
# services.matrix-synapse.enable_registration_without_verification = true;
services.matrix-synapse.settings.enable_registration = true;
# services.matrix-synapse.registration_shared_secret = "<shared key goes here>";
# services.matrix-synapse.enable_registration_captcha = true;
# services.matrix-synapse.enable_registration_without_verification = true;
# enable_registration = true;
# services.matrix-synapse.registration_shared_secret = "<shared key goes here>";
# default for listeners is port = 8448, tls = true, x_forwarded = false.
# we change this because the server is situated behind nginx.
services.matrix-synapse.settings.listeners = [
{
port = 8008;
bind_addresses = [ "127.0.0.1" ];
type = "http";
tls = false;
x_forwarded = true;
resources = [
{
names = [ "client" "federation" ];
compress = false;
}
];
}
];
# default for listeners is port = 8448, tls = true, x_forwarded = false.
# we change this because the server is situated behind nginx.
listeners = [
{
port = 8008;
bind_addresses = [ "127.0.0.1" ];
type = "http";
tls = false;
x_forwarded = true;
resources = [
{
names = [ "client" "federation" ];
compress = false;
}
];
}
];
services.matrix-synapse.settings.x_forwarded = true; # because we proxy matrix behind nginx
services.matrix-synapse.settings.max_upload_size = "100M"; # default is "50M"
ip_range_whitelist = [
# to communicate with ntfy.uninsane.org push notifs.
# TODO: move this to some non-shared loopback device: we don't want Matrix spouting http requests to *anything* on this machine
"10.78.79.51"
];
services.matrix-synapse.settings.admin_contact = "admin.matrix@uninsane.org";
services.matrix-synapse.settings.registrations_require_3pid = [ "email" ];
x_forwarded = true; # because we proxy matrix behind nginx
max_upload_size = "100M"; # default is "50M"
admin_contact = "admin.matrix@uninsane.org";
registrations_require_3pid = [ "email" ];
};
services.matrix-synapse.extraConfigFiles = [
config.sops.secrets."matrix_synapse_secrets.yaml".path
];
# services.matrix-synapse.extraConfigFiles = [builtins.toFile "matrix-synapse-extra-config" ''
# admin_contact: "admin.matrix@uninsane.org"
# registrations_require_3pid:
# - email
# email:
# smtp_host: "mx.uninsane.org"
# smtp_port: 587
# smtp_user: "matrix-synapse"
# smtp_pass: "${secrets.matrix-synapse.smtp_pass}"
# require_transport_security: true
# enable_tls: true
# notif_from: "%(app)s <notify.matrix@uninsane.org>"
# app_name: "Uninsane Matrix"
# enable_notifs: true
# validation_token_lifetime: 96h
# invite_client_location: "https://web.matrix.uninsane.org"
# subjects:
# email_validation: "[%(server_name)s] Validate your email"
# ''];
# tune restart settings to ensure systemd doesn't disable it, and we don't overwhelm postgres
systemd.services.matrix-synapse.serviceConfig.RestartSec = 5;
systemd.services.matrix-synapse.serviceConfig.RestartMaxDelaySec = 20;
systemd.services.matrix-synapse.serviceConfig.StartLimitBurst = 120;
systemd.services.matrix-synapse.serviceConfig.RestartSteps = 3;
systemd.services.matrix-synapse.postStart = lib.optionalString ntfy ''
ACCESS_TOKEN=$(${lib.getExe' pkgs.coreutils "cat"} ${config.sops.secrets.matrix_access_token.path})
TOPIC=$(${lib.getExe' pkgs.coreutils "cat"} ${config.sops.secrets.ntfy-sh-topic.path})
echo "ensuring ntfy push gateway"
${lib.getExe pkgs.curl} \
--header "Authorization: Bearer $ACCESS_TOKEN" \
--data "{ \"app_display_name\": \"ntfy-adapter\", \"app_id\": \"ntfy.uninsane.org\", \"data\": { \"url\": \"https://ntfy.uninsane.org/_matrix/push/v1/notify\", \"format\": \"event_id_only\" }, \"device_display_name\": \"ntfy-adapter\", \"kind\": \"http\", \"lang\": \"en-US\", \"profile_tag\": \"\", \"pushkey\": \"$TOPIC\" }" \
localhost:8008/_matrix/client/v3/pushers/set
echo "registered push gateways:"
${lib.getExe pkgs.curl} \
--header "Authorization: Bearer $ACCESS_TOKEN" \
localhost:8008/_matrix/client/v3/pushers \
| ${lib.getExe pkgs.jq} .
'';
# new users may be registered on the CLI:
# register_new_matrix_user -c /nix/store/8n6kcka37jhmi4qpd2r03aj71pkyh21s-homeserver.yaml http://localhost:8008
@@ -141,4 +163,9 @@
sops.secrets."matrix_synapse_secrets.yaml" = {
owner = config.users.users.matrix-synapse.name;
};
sops.secrets."matrix_access_token" = {
owner = config.users.users.matrix-synapse.name;
};
# provide access to ntfy-sh-topic secret
users.users.matrix-synapse.extraGroups = lib.optionals ntfy [ "ntfy-sh" ];
}

View File

@@ -5,8 +5,8 @@
# - recommended to use mautrix-discord: <https://github.com/NixOS/nixpkgs/pull/200462>
lib.mkIf false
{
sane.persist.sys.plaintext = [
{ user = "matrix-synapse"; group = "matrix-synapse"; directory = "/var/lib/mx-puppet-discord"; }
sane.persist.sys.byStore.private = [
{ user = "matrix-synapse"; group = "matrix-synapse"; path = "/var/lib/mx-puppet-discord"; method = "bind"; }
];
services.matrix-synapse.settings.app_service_config_files = [

View File

@@ -1,17 +1,13 @@
# config docs:
# - <https://github.com/matrix-org/matrix-appservice-irc/blob/develop/config.sample.yaml>
# TODO: /quit message for bridged users reveals to IRC users that i'm using a bridge;
# probably want to remove that.
{ config, lib, ... }:
{ lib, ... }:
let
ircServer = { name, additionalAddresses ? [], sasl ? true }: let
ircServer = { name, additionalAddresses ? [], ssl ? true, sasl ? true, port ? if ssl then 6697 else 6667 }: let
lowerName = lib.toLower name;
in {
# XXX sasl: appservice doesn't support NickServ identification (only SASL, or PASS if sasl = false)
inherit name additionalAddresses sasl;
port = 6697;
ssl = true;
inherit additionalAddresses name port sasl ssl;
botConfig = {
# bot has no presence in IRC channel; only real Matrix users
enabled = false;
@@ -103,11 +99,17 @@ in
})
];
sane.persist.sys.plaintext = [
sane.persist.sys.byStore.private = [
# TODO: mode?
{ user = "matrix-appservice-irc"; group = "matrix-appservice-irc"; directory = "/var/lib/matrix-appservice-irc"; }
{ user = "matrix-appservice-irc"; group = "matrix-appservice-irc"; path = "/var/lib/matrix-appservice-irc"; method = "bind"; }
];
# XXX: matrix-appservice-irc PreStart tries to chgrp the registration.yml to matrix-synapse,
# which requires matrix-appservice-irc to be of that group
users.users.matrix-appservice-irc.extraGroups = [ "matrix-synapse" ];
# weird race conditions around registration.yml mean we want matrix-synapse to be of matrix-appservice-irc group too.
users.users.matrix-synapse.extraGroups = [ "matrix-appservice-irc" ];
services.matrix-synapse.settings.app_service_config_files = [
"/var/lib/matrix-appservice-irc/registration.yml" # auto-created by irc appservice
];
@@ -125,6 +127,8 @@ in
};
ircService = {
logging.level = "warn"; # "error", "warn", "info", "debug"
mediaProxy.publicUrl = "https://irc.matrix.uninsane.org/media";
servers = {
"irc.esper.net" = ircServer {
name = "esper";
@@ -137,6 +141,7 @@ in
sasl = false;
# notable channels:
# - #hare
# - #mnt-reform
};
"irc.myanonamouse.net" = ircServer {
name = "MyAnonamouse";
@@ -145,12 +150,44 @@ in
};
"irc.oftc.net" = ircServer {
name = "oftc";
sasl = false;
# notable channels:
# - #sxmo
# - #sxmo-offtopic
# supposedly also available at <irc://37lnq2veifl4kar7.onion:6667/> (unofficial)
};
"irc.rizon.net" = ircServer { name = "Rizon"; };
# "irc.sdf.org" = ircServer {
# # XXX(2024-11-06): seems it can't connect. "matrix-appservice-irc: WARN:Provisioner Provisioner only handles text 'yes'/'y' (from BASHy2-EU on irc.sdf.org)"
# # use instead? <https://lemmy.sdf.org/c/sdfpubnix>
# name = "sdf";
# # sasl = false;
# # notable channels (see: <https://sdf.org/?tutorials/irc-channels>)
# # - #sdf
# };
"wigle.net" = ircServer {
name = "WiGLE";
ssl = false;
};
};
};
};
systemd.services.matrix-appservice-irc.serviceConfig = {
# XXX 2023/06/20: nixos specifies this + @aio and @memlock as forbidden
# the service actively uses at least one of these, and both of them are fairly innocuous
SystemCallFilter = lib.mkForce "~@clock @cpu-emulation @debug @keyring @module @mount @obsolete @raw-io @setuid @swap";
};
services.nginx.virtualHosts."irc.matrix.uninsane.org" = {
forceSSL = true;
enableACME = true;
locations."/media" = {
proxyPass = "http://127.0.0.1:11111";
};
};
sane.dns.zones."uninsane.org".inet = {
CNAME."irc.matrix" = "native";
};
}

View File

@@ -1,10 +1,12 @@
# config options:
# - <https://github.com/mautrix/signal/blob/master/mautrix_signal/example-config.yaml>
{ config, pkgs, ... }:
{ config, lib, pkgs, ... }:
lib.mkIf false # disabled 2024/01/11: i don't use it, and pkgs.mautrix-signal had some API changes
{
sane.persist.sys.plaintext = [
{ user = "mautrix-signal"; group = "mautrix-signal"; directory = "/var/lib/mautrix-signal"; }
{ user = "signald"; group = "signald"; directory = "/var/lib/signald"; }
sane.persist.sys.byStore.private = [
{ user = "mautrix-signal"; group = "mautrix-signal"; path = "/var/lib/mautrix-signal"; method = "bind"; }
{ user = "signald"; group = "signald"; path = "/var/lib/signald"; method = "bind"; }
];
# allow synapse to read the registration file

View File

@@ -1,27 +0,0 @@
version: 1
# In systemd's journal, loglevel is implicitly stored, so let's omit it
# from the message text.
formatters:
journal_fmt:
format: '%(name)s: [%(request)s] %(message)s'
filters:
context:
(): synapse.util.logcontext.LoggingContextFilter
request: ""
handlers:
journal:
class: systemd.journal.JournalHandler
formatter: journal_fmt
filters: [context]
SYSLOG_IDENTIFIER: synapse
# default log level: INFO
root:
level: WARN
handlers: [journal]
disable_existing_loggers: False

View File

@@ -0,0 +1,39 @@
# - `man 5 minidlna.conf`
# - `man 8 minidlnad`
#
# this is an extremely simple (but limited) DLNA server:
# - no web UI
# - no runtime configuration -- just statically configure media directories instead
# - no transcoding
# compatibility:
# - LG TV: music: all working
# - LG TV: videos: mixed. i can't see the pattern; HEVC works; H.264 sometimes works.
{ lib, ... }:
lib.mkIf false #< XXX(2024-11-17): WORKS, but i'm trying gerbera instead for hopefully better transcoding
{
sane.ports.ports."1900" = {
protocol = [ "udp" ];
visibleTo.lan = true;
description = "colin-upnp-for-minidlna";
};
sane.ports.ports."8200" = {
protocol = [ "tcp" ];
visibleTo.lan = true;
description = "colin-minidlna-http";
};
services.minidlna.enable = true;
services.minidlna.settings = {
media_dir = [
# A/V/P to restrict a directory to audio/video/pictures
"A,/var/media/Music"
"V,/var/media/Videos/Film"
# "V,/var/media/Videos/Milkbags"
"V,/var/media/Videos/Shows"
];
notify_interval = 60;
};
users.users.minidlna.extraGroups = [ "media" ];
}

View File

@@ -0,0 +1,66 @@
# murmur is the server component of mumble.
# - docs: <https://www.mumble.info/documentation/>
# - config docs: <https://www.mumble.info/documentation/administration/config-file/>
#
# default port is 64738 (UDP and TCP)
#
# FIRST-RUN:
# - login from mumble client as `SuperUser`, password taken from `journalctl -u murmur`.
# - login from another machine and right click on self -> 'Register'
# - as SuperUser, right click on server root -> edit
# - Groups tab: select "admin", then add the other registered user to the group.
# - log out as SuperUser and manage the server using that other user now.
#
# USAGE:
# - 'auth' group = any user who has registered a cert with the server.
{ ... }:
{
sane.persist.sys.byStore.private = [
{ user = "murmur"; group = "murmur"; mode = "0700"; path = "/var/lib/murmur"; method = "bind"; }
];
services.murmur.enable = true;
services.murmur.welcometext = "welcome to Colin's mumble voice chat server";
# max bandwidth (bps) **per user**. i believe this affects both voice and uploads?
# mumble defaults to 558000, but nixos service defaults to 72000.
services.murmur.bandwidth = 558000;
services.murmur.imgMsgLength = 8 * 1024 * 1024;
services.murmur.sslCert = "/var/lib/acme/mumble.uninsane.org/fullchain.pem";
services.murmur.sslKey = "/var/lib/acme/mumble.uninsane.org/key.pem";
services.murmur.sslCa = "/etc/ssl/certs/ca-bundle.crt";
# allow clients on the LAN to discover this server
services.murmur.bonjour = true;
# mumble has a public server listing.
# my server doesn't associate with that registry (unless i specify registerPassword).
# however these settings appear to affect how the server presents itself to clients, regardless of registration.
services.murmur.registerName = "mumble.uninsane.org";
services.murmur.registerUrl = "https://mumble.uninsane.org";
services.murmur.registerHostname = "mumble.uninsane.org";
# defaultchannel=ID makes it so that unauthenticated users are placed in some specific channel when they join
services.murmur.extraConfig = ''
defaultchannel=2
'';
users.users.murmur.extraGroups = [
"nginx" # provide access to certs
];
services.nginx.virtualHosts."mumble.uninsane.org" = {
# allow ACME to procure a cert via nginx for this domain
enableACME = true;
};
sane.dns.zones."uninsane.org".inet = {
CNAME."mumble" = "native";
};
sane.ports.ports."64738" = {
protocol = [ "tcp" "udp" ];
visibleTo.lan = true;
visibleTo.doof = true;
description = "colin-mumble";
};
}

View File

@@ -1,15 +1,16 @@
{ lib, ... }:
lib.mkIf false #< i don't actively use navidrome
{
sane.persist.sys.plaintext = [
{ user = "navidrome"; group = "navidrome"; directory = "/var/lib/navidrome"; }
sane.persist.sys.byStore.plaintext = [
{ user = "navidrome"; group = "navidrome"; path = "/var/lib/navidrome"; method = "bind"; }
];
services.navidrome.enable = true;
services.navidrome.settings = {
# docs: https://www.navidrome.org/docs/usage/configuration-options/
Address = "127.0.0.1";
Port = 4533;
MusicFolder = "/var/lib/uninsane/media/Music";
MusicFolder = "/var/media/Music";
CovertArtPriority = "*.jpg, *.JPG, *.png, *.PNG, embedded";
AutoImportPlaylists = false;
ScanSchedule = "@every 1h";

View File

@@ -1,4 +1,5 @@
# docs: https://nixos.wiki/wiki/Nginx
# docs: <https://nixos.wiki/wiki/Nginx>
# docs: <https://nginx.org/en/docs/>
{ config, lib, pkgs, ... }:
let
@@ -16,18 +17,24 @@ in
sane.ports.ports."80" = {
protocol = [ "tcp" ];
visibleTo.lan = true;
visibleTo.wan = true;
visibleTo.ovpn = true; # so that letsencrypt can procure a cert for the mx record
visibleTo.ovpns = true; # so that letsencrypt can procure a cert for the mx record
visibleTo.doof = true;
description = "colin-http-uninsane.org";
};
sane.ports.ports."443" = {
protocol = [ "tcp" ];
visibleTo.lan = true;
visibleTo.wan = true;
visibleTo.doof = true;
description = "colin-https-uninsane.org";
};
services.nginx.enable = true;
# nginxStable is one release behind nginxMainline.
# nginx itself recommends running mainline; nixos defaults to stable.
# services.nginx.package = pkgs.nginxMainline;
# XXX(2024-07-31): nixos defaults to zlib-ng -- supposedly more performant, but spams log with
# "gzip filter failed to use preallocated memory: ..."
services.nginx.package = pkgs.nginxMainline.override { zlib = pkgs.zlib; };
services.nginx.appendConfig = ''
# use 1 process per core.
# may want to increase worker_connections too, but `ulimit -n` must be increased first.
@@ -43,8 +50,10 @@ in
log_format vcombined '$host:$server_port $remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referrer" "$http_user_agent"';
access_log /var/log/nginx/private.log vcombined;
'';
# sets gzip_comp_level = 5
# enables gzip and sets gzip_comp_level = 5
services.nginx.recommendedGzipSettings = true;
# enables zstd and sets zstd_comp_level = 9
services.nginx.recommendedZstdSettings = true;
# enables OCSP stapling (so clients don't need contact the OCSP server -- i do instead)
# - doesn't seem to, actually: <https://www.ssllabs.com/ssltest/analyze.html?d=uninsane.org>
# caches TLS sessions for 10m
@@ -53,8 +62,10 @@ in
services.nginx.recommendedOptimisation = true;
# web blog/personal site
# alternative way to link stuff into the share:
# sane.fs."/var/www/sites/uninsane.org/share/Ubunchu".mount.bind = "/var/media/Books/Visual/HiroshiSeo/Ubunchu";
# sane.fs."/var/media/Books/Visual/HiroshiSeo/Ubunchu".dir = {};
services.nginx.virtualHosts."uninsane.org" = publog {
root = "${pkgs.uninsane-dot-org}/share/uninsane-dot-org";
# a lot of places hardcode https://uninsane.org,
# and then when we mix http + non-https, we get CORS violations
# and things don't look right. so force SSL.
@@ -64,9 +75,70 @@ in
# for OCSP stapling
sslTrustedCertificate = "${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt";
# uninsane.org/share/foo => /var/lib/uninsane/root/share/foo.
# yes, nginx does not strip the prefix when evaluating against the root.
locations."/share".root = "/var/lib/uninsane/root";
locations."/" = {
root = "${pkgs.uninsane-dot-org}/share/uninsane-dot-org";
tryFiles = "$uri $uri/ @fallback";
};
# unversioned files
locations."@fallback" = {
root = "/var/www/sites/uninsane.org";
extraConfig = ''
# instruct Google to not index these pages.
# see: <https://developers.google.com/search/docs/crawling-indexing/robots-meta-tag#xrobotstag>
add_header X-Robots-Tag 'none, noindex, nofollow';
# best-effort attempt to block archive.org from archiving these pages.
# reply with 403: Forbidden
# User Agent is *probably* "archive.org_bot"; maybe used to be "ia_archiver"
# source: <https://archive.org/details/archive.org_bot>
# additional UAs: <https://github.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker>
#
# validate with: `curl -H 'User-Agent: "bot;archive.org_bot;like: something else"' -v https://uninsane.org/dne`
if ($http_user_agent ~* "(?:\b)archive.org_bot(?:\b)") {
return 403;
}
if ($http_user_agent ~* "(?:\b)archive.org(?:\b)") {
return 403;
}
if ($http_user_agent ~* "(?:\b)ia_archiver(?:\b)") {
return 403;
}
'';
};
# uninsane.org/share/foo => /var/www/sites/uninsane.org/share/foo.
# special-cased to enable directory listings
locations."/share" = {
root = "/var/www/sites/uninsane.org";
extraConfig = ''
# autoindex => render directory listings
autoindex on;
# don't follow any symlinks when serving files
# otherwise it allows a directory escape
disable_symlinks on;
'';
};
locations."/share/Milkbags/" = {
alias = "/var/media/Videos/Milkbags/";
extraConfig = ''
# autoindex => render directory listings
autoindex on;
# don't follow any symlinks when serving files
# otherwise it allows a directory escape
disable_symlinks on;
'';
};
locations."/share/Ubunchu/" = {
alias = "/var/media/Books/Visual/HiroshiSeo/Ubunchu/";
extraConfig = ''
# autoindex => render directory listings
autoindex on;
# don't follow any symlinks when serving files
# otherwise it allows a directory escape
disable_symlinks on;
'';
};
# allow matrix users to discover that @user:uninsane.org is reachable via matrix.uninsane.org
locations."= /.well-known/matrix/server".extraConfig =
@@ -101,11 +173,25 @@ in
};
# allow ActivityPub clients to discover how to reach @user@uninsane.org
# TODO: waiting on https://git.pleroma.social/pleroma/pleroma/-/merge_requests/3361/
# see: https://git.pleroma.social/pleroma/pleroma/-/merge_requests/3361/
# not sure this makes sense while i run multiple AP services (pleroma, lemmy)
# locations."/.well-known/nodeinfo" = {
# proxyPass = "http://127.0.0.1:4000";
# extraConfig = pleromaExtraConfig;
# };
# redirect common feed URIs to the canonical feed
locations."= /atom".extraConfig = "return 301 /atom.xml;";
locations."= /feed".extraConfig = "return 301 /atom.xml;";
locations."= /feed.xml".extraConfig = "return 301 /atom.xml;";
locations."= /rss".extraConfig = "return 301 /atom.xml;";
locations."= /rss.xml".extraConfig = "return 301 /atom.xml;";
locations."= /blog/atom".extraConfig = "return 301 /atom.xml;";
locations."= /blog/atom.xml".extraConfig = "return 301 /atom.xml;";
locations."= /blog/feed".extraConfig = "return 301 /atom.xml;";
locations."= /blog/feed.xml".extraConfig = "return 301 /atom.xml;";
locations."= /blog/rss".extraConfig = "return 301 /atom.xml;";
locations."= /blog/rss.xml".extraConfig = "return 301 /atom.xml;";
};
@@ -132,10 +218,16 @@ in
security.acme.acceptTerms = true;
security.acme.defaults.email = "admin.acme@uninsane.org";
sane.persist.sys.plaintext = [
# TODO: mode?
{ user = "acme"; group = "acme"; directory = "/var/lib/acme"; }
{ user = "colin"; group = "users"; directory = "/var/www/sites"; }
sane.persist.sys.byStore.plaintext = [
{ user = "acme"; group = "acme"; path = "/var/lib/acme"; method = "bind"; }
];
sane.persist.sys.byStore.private = [
{ user = "colin"; group = "users"; path = "/var/www/sites"; method = "bind"; }
];
sane.persist.sys.byStore.ephemeral = [
# logs *could* be persisted to private storage, but then there's the issue of
# "what if servo boots, isn't unlocked, and the whole / tmpfs is consumed by logs"
{ user = "nginx"; group = "nginx"; path = "/var/log/nginx"; method = "bind"; }
];
# let's encrypt default chain looks like:
@@ -165,7 +257,7 @@ in
# to accept it.
system.activationScripts.generate-x509-self-signed.text = ''
mkdir -p /var/www/certs/wildcard
test -f /var/www/certs/wildcard/key.pem || ${pkgs.openssl}/bin/openssl \
test -f /var/www/certs/wildcard/key.pem || ${lib.getExe pkgs.openssl} \
req -x509 -newkey rsa:4096 \
-keyout /var/www/certs/wildcard/key.pem \
-out /var/www/certs/wildcard/cert.pem \

View File

@@ -0,0 +1,26 @@
{ lib, pkgs, ... }:
lib.optionalAttrs false # disabled until i can be sure it's not gonna OOM my server in the middle of the night
{
systemd.services.nixos-prebuild = {
description = "build a nixos image with all updated deps";
path = with pkgs; [ coreutils git nix ];
script = ''
working=$(mktemp -d /tmp/nixos-prebuild.XXXXXX)
pushd "$working"
git clone https://git.uninsane.org/colin/nix-files.git \
&& cd nix-files \
&& nix flake update \
|| true
RC=$(nix run "$working/nix-files#check" -- -j1 --cores 5 --builders "")
popd
rm -rf "$working"
exit "$RC"
'';
};
systemd.timers.nixos-prebuild = {
wantedBy = [ "multi-user.target" ];
timerConfig.OnCalendar = "11,23:00:00";
};
}

View File

@@ -1,21 +0,0 @@
{ config, ... }:
{
services.nginx.virtualHosts."nixcache.uninsane.org" = {
addSSL = true;
enableACME = true;
# inherit kTLS;
# serverAliases = [ "nixcache" ];
locations."/".extraConfig = ''
proxy_pass http://localhost:${toString config.services.nix-serve.port};
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
'';
};
sane.dns.zones."uninsane.org".inet.CNAME."nixcache" = "native";
sane.services.nixserve.enable = true;
sane.services.nixserve.secretKeyFile = config.sops.secrets.nix_serve_privkey.path;
}

View File

@@ -0,0 +1,14 @@
# ntfy: UnifiedPush notification delivery system
# - used to get push notifications out of Matrix and onto a Phone (iOS, Android, or a custom client)
{ config, lib, ... }:
{
imports = [
./ntfy-waiter.nix
./ntfy-sh.nix
];
sops.secrets."ntfy-sh-topic" = lib.mkIf config.services.ntfy-sh.enable {
mode = "0440";
owner = config.users.users.ntfy-sh.name;
group = config.users.users.ntfy-sh.name;
};
}

View File

@@ -0,0 +1,93 @@
# ntfy: UnifiedPush notification delivery system
# - used to get push notifications out of Matrix and onto a Phone (iOS, Android, or a custom client)
#
# config options:
# - <https://docs.ntfy.sh/config/#config-options>
#
# usage:
# - ntfy sub https://ntfy.uninsane.org/TOPIC
# - ntfy pub https://ntfy.uninsane.org/TOPIC "my message"
# in production, TOPIC is a shared secret between the publisher (Matrix homeserver) and the subscriber (phone)
#
# administering:
# - sudo -u ntfy-sh ntfy access
#
# debugging:
# - make sure that the keepalives are good:
# - on the subscriber machine, run `lsof -i4` to find the port being used
# - `sudo tcpdump tcp port <p>`
# - shouldn't be too spammy
#
# matrix integration:
# - the user must manually point synapse to the ntfy endpoint:
# - `curl --header "Authorization: <your_token>" --data '{ "app_display_name": "sane-nix moby", "app_id": "ntfy.uninsane.org", "data": { "url": "https://ntfy.uninsane.org/_matrix/push/v1/notify", "format": "event_id_only" }, "device_display_name": "sane-nix moby", "kind": "http", "lang": "en-US", "profile_tag": "", "pushkey": "https://ntfy.uninsane.org/TOPIC" }' localhost:8008/_matrix/client/v3/pushers/set`
# where the token is grabbed from Element's help&about page when logged in
# - to remove, send this `curl` with `"kind": null`
{ config, lib, pkgs, ... }:
let
# subscribers need a non-443 public port to listen on as a way to easily differentiate this traffic
# at the IP layer, to enable e.g. wake-on-lan.
altPort = 2587;
in
lib.mkIf false #< 2024/09/30: disabled because i haven't used it in several months
{
sane.persist.sys.byStore.private = [
# not 100% necessary to persist this, but ntfy does keep a 12hr (by default) cache
# for pushing notifications to users who become offline.
# ACLs also live here.
{ user = "ntfy-sh"; group ="ntfy-sh"; path = "/var/lib/ntfy-sh"; method = "bind"; }
];
services.ntfy-sh.enable = true;
services.ntfy-sh.settings = {
base-url = "https://ntfy.uninsane.org";
behind-proxy = true; # not sure if needed
# keepalive interval is a ntfy-specific keepalive thing, where it sends actual data down the wire.
# it's not simple TCP keepalive.
# defaults to 45s.
# note that the client may still do its own TCP-level keepalives, typically every 30s
keepalive-interval = "15m";
log-level = "info"; # trace, debug, info (default), warn, error
auth-default-access = "deny-all";
};
systemd.services.ntfy-sh.serviceConfig.DynamicUser = lib.mkForce false;
systemd.services.ntfy-sh.preStart = ''
# make this specific topic read-write by world
# it would be better to use the token system, but that's extra complexity for e.g.
# how do i plumb a secret into the Matrix notification pusher
#
# note that this will fail upon first run, i.e. before ntfy has created its db.
# just restart the service.
topic=$(cat ${config.sops.secrets.ntfy-sh-topic.path})
${lib.getExe' pkgs.ntfy-sh "ntfy"} access everyone "$topic" read-write
'';
services.nginx.virtualHosts."ntfy.uninsane.org" = {
forceSSL = true;
enableACME = true;
listen = [
{ addr = "0.0.0.0"; port = altPort; ssl = true; }
{ addr = "0.0.0.0"; port = 443; ssl = true; }
{ addr = "0.0.0.0"; port = 80; ssl = false; }
];
locations."/" = {
proxyPass = "http://127.0.0.1:2586";
proxyWebsockets = true; #< support websocket upgrades. without that, `ntfy sub` hangs silently
recommendedProxySettings = true; #< adds headers so ntfy logs include the real IP
extraConfig = ''
# absurdly long timeout (86400s=24h) so that we never hang up on clients.
# make sure the client is smart enough to detect a broken proxy though!
proxy_read_timeout 86400s;
'';
};
};
sane.dns.zones."uninsane.org".inet.CNAME."ntfy" = "native";
sane.ports.ports."${builtins.toString altPort}" = {
protocol = [ "tcp" ];
visibleTo.lan = true;
visibleTo.doof = true;
description = "colin-ntfy.uninsane.org";
};
}

View File

@@ -0,0 +1,151 @@
#!/usr/bin/env nix-shell
#!nix-shell -i python3 -p ntfy-sh -p python3
import argparse
import logging
import os
import socket
import subprocess
import sys
import threading
import time
logger = logging.getLogger(__name__)
LISTEN_QUEUE = 3
WAKE_MESSAGE = b'notification\n'
class Client:
def __init__(self, sock, addr_info, live_after: float):
self.live_after = live_after
self.sock = sock
self.addr_info = addr_info
def __cmp__(self, other: 'Client'):
return cmp(self.addr_info, other.addr_info)
def try_notify(self, message: bytes) -> bool:
"""
returns true if we send a packet to notify client.
fals otherwise (e.g. the socket is dead).
"""
ttl = self.live_after - time.time()
if ttl > 0:
logger.debug(f"sleeping {ttl:.2f}s until client {self.addr_info} is ready to receive notification")
time.sleep(ttl)
try:
self.sock.sendall(message)
except Exception as e:
logger.warning(f"failed to notify client {self.addr_info} {e}")
return False
else:
logger.info(f"successfully notified {self.addr_info}: {message}")
return True
class Adapter:
def __init__(self, host: str, port: int, silence: int, topic: str):
self.host = host
self.port = port
self.silence = silence
self.topic = topic
self.clients = set()
def log_clients(self):
clients_str = '\n'.join(f' {c.addr_info}' for c in self.clients)
logger.debug(f"clients alive ({len(self.clients)}):\n{clients_str}")
def add_client(self, client: Client):
# it's a little bit risky to keep more than one client at the same IP address,
# because it's possible a notification comes in and we ring the old connection,
# even when the new connection says "don't ring yet".
for c in set(self.clients):
if c.addr_info[0] == client.addr_info[0]:
logger.info(f"purging old client before adding new one at same address: {c.addr_info} -> {client.addr_info}")
self.clients.remove(c)
logger.info(f"accepted client at {client.addr_info}")
self.clients.add(client)
def listener_loop(self):
logger.info(f"listening for connections on {self.host}:{self.port}")
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((self.host, self.port))
s.listen(LISTEN_QUEUE)
while True:
conn, addr_info = s.accept()
self.add_client(Client(conn, addr_info, live_after = time.time() + self.silence))
def notify_clients(self, message: bytes = WAKE_MESSAGE):
# notify every client, and drop any which have disconnected.
# note that we notify based on age (oldest -> youngest)
# because notifying young clients might entail sleeping until they're ready.
clients = sorted(self.clients, key=lambda c: (c.live_after, c.addr_info))
dead_clients = [
c for c in clients if not c.try_notify(message)
]
for c in dead_clients:
self.clients.remove(c)
self.log_clients()
def notify_loop(self):
logger.info("waiting for notification events")
ntfy_proc = subprocess.Popen(
[
"ntfy",
"sub",
f"https://ntfy.uninsane.org/{self.topic}"
],
stdout=subprocess.PIPE
)
for line in iter(ntfy_proc.stdout.readline, b''):
logger.debug(f"received notification: {line}")
self.notify_clients()
def get_topic() -> str:
return open('/run/secrets/ntfy-sh-topic', 'rt').read().strip()
def run_forever(callable):
try:
callable()
except Exception as e:
logger.error(f"{callable} failed: {e}")
else:
logger.error(f"{callable} unexpectedly returned")
# sys.exit(1)
os._exit(1) # sometimes `sys.exit()` doesn't actually exit...
def main():
logging.basicConfig()
logging.getLogger().setLevel(logging.DEBUG)
parser = argparse.ArgumentParser(description="accept connections and notify the other end upon ntfy activity, with a guaranteed amount of silence")
parser.add_argument('--verbose', action='store_true')
parser.add_argument('--host', type=str, default='')
parser.add_argument('--port', type=int)
parser.add_argument('--silence', type=int, help="number of seconds to remain silent upon accepting a connection")
args = parser.parse_args()
if args.verbose:
logging.getLogger().setLevel(logging.DEBUG)
else:
logging.getLogger().setLevel(logging.INFO)
adapter = Adapter(args.host, args.port, args.silence, get_topic())
listener_loop = threading.Thread(target=run_forever, name="listener_loop", args=(adapter.listener_loop,))
notify_loop = threading.Thread(target=run_forever, name="notify_loop", args=(adapter.notify_loop,))
# TODO: this method of exiting seems to sometimes leave the listener behind (?)
# preventing anyone else from re-binding the port.
listener_loop.start()
notify_loop.start()
listener_loop.join()
notify_loop.join()
if __name__ == '__main__':
main()

View File

@@ -0,0 +1,72 @@
# service which adapts ntfy-sh into something suitable specifically for the Pinephone's
# wake-on-lan (WoL) feature.
# notably, it provides a mechanism by which the caller can be confident of an interval in which
# zero traffic will occur on the TCP connection, thus allowing it to enter sleep w/o fear of hitting
# race conditions in the Pinephone WoL feature.
{ config, lib, pkgs, ... }:
let
cfg = config.sane.ntfy-waiter;
portLow = 5550;
portHigh = 5559;
portRange = lib.range portLow portHigh;
numPorts = portHigh - portLow + 1;
mkService = port: let
silence = port - portLow;
flags = lib.optional cfg.verbose "--verbose";
cli = [
(lib.getExe cfg.package)
"--port"
"${builtins.toString port}"
"--silence"
"${builtins.toString silence}"
] ++ flags;
in {
"ntfy-waiter-${builtins.toString silence}" = {
# TODO: run not as root (e.g. as ntfy-sh)
description = "wait for notification, with ${builtins.toString silence} seconds of guaranteed silence";
serviceConfig = {
Type = "simple";
Restart = "always";
RestartSec = "5s";
ExecStart = lib.concatStringsSep " " cli;
};
after = [ "network.target" ];
wantedBy = [ "ntfy-sh.service" ];
};
};
in
{
options = with lib; {
sane.ntfy-waiter.enable = mkOption {
type = types.bool;
default = config.services.ntfy-sh.enable;
};
sane.ntfy-waiter.verbose = mkOption {
type = types.bool;
default = true;
};
sane.ntfy-waiter.package = mkOption {
type = types.package;
default = pkgs.static-nix-shell.mkPython3 {
pname = "ntfy-waiter";
srcRoot = ./.;
pkgs = [ "ntfy-sh" ];
};
description = ''
exposed to provide an attr-path by which one may build the package for manual testing.
'';
};
};
config = lib.mkIf cfg.enable {
sane.ports.ports = lib.mkMerge (lib.forEach portRange (port: {
"${builtins.toString port}" = {
protocol = [ "tcp" ];
visibleTo.doof = true;
visibleTo.lan = true;
description = "colin-notification-waiter-${builtins.toString (port - portLow + 1)}-of-${builtins.toString numPorts}";
};
}));
systemd.services = lib.mkMerge (builtins.map mkService portRange);
};
}

View File

@@ -5,8 +5,8 @@ let
cfg = config.services.pict-rs;
in
{
sane.persist.sys.plaintext = lib.mkIf cfg.enable [
{ user = "pict-rs"; group = "pict-rs"; directory = cfg.dataDir; }
sane.persist.sys.byStore.plaintext = lib.mkIf cfg.enable [
{ user = "pict-rs"; group = "pict-rs"; path = cfg.dataDir; method = "bind"; }
];
systemd.services.pict-rs.serviceConfig = {

View File

@@ -1,14 +1,22 @@
# docs:
# - https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/services/networking/pleroma.nix
# - https://docs.pleroma.social/backend/configuration/cheatsheet/
# - <https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/services/networking/pleroma.nix>
# - <https://docs.pleroma.social/backend/configuration/cheatsheet/>
# example config:
# - <https://git.pleroma.social/pleroma/pleroma/-/blob/develop/config/config.exs>
#
# to run it in a oci-container: https://github.com/barrucadu/nixfiles/blob/master/services/pleroma.nix
{ config, pkgs, ... }:
# to run it in a oci-container: <https://github.com/barrucadu/nixfiles/blob/master/services/pleroma.nix>
#
# admin frontend: <https://fed.uninsane.org/pleroma/admin>
{ config, lib, pkgs, ... }:
let
logLevel = "warning";
# logLevel = "debug";
in
{
sane.persist.sys.plaintext = [
# TODO: mode? could be more granular
{ user = "pleroma"; group = "pleroma"; directory = "/var/lib/pleroma"; }
sane.persist.sys.byStore.private = [
# contains media i've uploaded to the server
{ user = "pleroma"; group = "pleroma"; path = "/var/lib/pleroma"; method = "bind"; }
];
services.pleroma.enable = true;
services.pleroma.secretConfigFile = config.sops.secrets.pleroma_secrets.path;
@@ -18,7 +26,7 @@
config :pleroma, Pleroma.Web.Endpoint,
url: [host: "fed.uninsane.org", scheme: "https", port: 443],
http: [ip: {127, 0, 0, 1}, port: 4000]
http: [ip: {127, 0, 0, 1}, port: 4040]
# secret_key_base: "{secrets.pleroma.secret_key_base}",
# signing_salt: "{secrets.pleroma.signing_salt}"
@@ -38,7 +46,7 @@
config :pleroma, Pleroma.Emails.Mailer,
enabled: true,
adapter: Swoosh.Adapters.Sendmail,
cmd_path: "${pkgs.postfix}/bin/sendmail"
cmd_path: "${lib.getExe' pkgs.postfix "sendmail"}"
config :pleroma, Pleroma.User,
restricted_nicknames: [ "admin", "uninsane", "root" ]
@@ -56,6 +64,7 @@
database: "pleroma",
hostname: "localhost",
pool_size: 10,
prepare: :named,
parameters: [
plan_cache_mode: "force_custom_plan"
]
@@ -79,6 +88,12 @@
# strip metadata from uploaded images
config :pleroma, Pleroma.Upload, filters: [Pleroma.Upload.Filter.Exiftool.StripLocation]
# fix log spam: <https://git.pleroma.social/pleroma/pleroma/-/issues/1659>
# specifically, remove LAN addresses from `reserved`
config :pleroma, Pleroma.Web.Plugs.RemoteIp,
enabled: true,
reserved: ["127.0.0.0/8", "::1/128", "fc00::/7", "172.16.0.0/12"]
# TODO: GET /api/pleroma/captcha is broken
# there was a nixpkgs PR to fix this around 2022/10 though.
config :pleroma, Pleroma.Captcha,
@@ -96,10 +111,22 @@
backends: [{ExSyslogger, :ex_syslogger}]
config :logger, :ex_syslogger,
level: :warn
# level: :debug
level: :${logLevel}
# policies => list of message rewriting facilities to be enabled
# transparence => whether to publish these rules in node_info (and /about)
config :pleroma, :mrf,
policies: [Pleroma.Web.ActivityPub.MRF.SimplePolicy],
transparency: true
# reject => { host, reason }
config :pleroma, :mrf_simple,
reject: [ {"threads.net", "megacorp"}, {"*.threads.net", "megacorp"} ]
# reject: [ [host: "threads.net", reason: "megacorp"], [host: "*.threads.net", reason: "megacorp"] ]
# XXX colin: not sure if this actually _does_ anything
# better to steal emoji from other instances?
# - <https://docs.pleroma.social/backend/configuration/cheatsheet/#mrf_steal_emoji>
config :pleroma, :emoji,
shortcode_globs: ["/emoji/**/*.png"],
groups: [
@@ -116,24 +143,52 @@
pkgs.bash
# used by Pleroma to strip geo tags from uploads
pkgs.exiftool
# config.sane.programs.exiftool.package #< XXX(2024-10-20): breaks image uploading
# i saw some errors when pleroma was shutting down about it not being able to find `awk`. probably not critical
pkgs.gawk
# config.sane.programs.gawk.package
# needed for email operations like password reset
pkgs.postfix
];
systemd.services.pleroma.serviceConfig = {
systemd.services.pleroma = {
# postgres can be slow to service early requests, preventing pleroma from starting on the first try
Restart = "on-failure";
RestartSec = "10s";
};
serviceConfig.Restart = "on-failure";
serviceConfig.RestartSec = "10s";
# systemd.services.pleroma.serviceConfig = {
# # required for sendmail. see https://git.pleroma.social/pleroma/pleroma/-/issues/2259
# NoNewPrivileges = lib.mkForce false;
# PrivateTmp = lib.mkForce false;
# CapabilityBoundingSet = lib.mkForce "~";
# };
# hardening (systemd-analyze security pleroma)
# XXX(2024-07-28): this hasn't been rigorously tested:
# possible that i've set something too strict and won't notice right away
# make sure to test:
# - image/media uploading
serviceConfig.CapabilityBoundingSet = lib.mkForce [ "" "" ]; # nixos default is `~CAP_SYS_ADMIN`
serviceConfig.LockPersonality = true;
serviceConfig.NoNewPrivileges = true;
serviceConfig.MemoryDenyWriteExecute = true;
serviceConfig.PrivateDevices = lib.mkForce true; #< dunno why nixpkgs has this set false; it seems to work as true
serviceConfig.PrivateMounts = true;
serviceConfig.PrivateTmp = true;
serviceConfig.PrivateUsers = true;
serviceConfig.ProtectProc = "invisible";
serviceConfig.ProcSubset = "all"; #< needs /proc/sys/kernel/overflowuid for bwrap
serviceConfig.ProtectClock = true;
serviceConfig.ProtectControlGroups = true;
serviceConfig.ProtectHome = true;
serviceConfig.ProtectKernelModules = true;
serviceConfig.ProtectSystem = lib.mkForce "strict";
serviceConfig.RemoveIPC = true;
serviceConfig.RestrictAddressFamilies = "AF_UNIX AF_INET AF_INET6 AF_NETLINK";
serviceConfig.RestrictSUIDSGID = true;
serviceConfig.SystemCallArchitectures = "native";
serviceConfig.SystemCallFilter = [ "@system-service" "@mount" "@sandbox" ]; #< "sandbox" might not actually be necessary
serviceConfig.ProtectHostname = false; #< else brap can't mount /proc
serviceConfig.ProtectKernelLogs = false; #< else breaks exiftool ("bwrap: Can't mount proc on /newroot/proc: Operation not permitted")
serviceConfig.ProtectKernelTunables = false; #< else breaks exiftool
serviceConfig.RestrictNamespaces = false; # media uploads require bwrap
};
# this is required to allow pleroma to send email.
# raw `sendmail` works, but i think pleroma's passing it some funny flags or something, idk.
@@ -147,36 +202,11 @@
enableACME = true;
# inherit kTLS;
locations."/" = {
proxyPass = "http://127.0.0.1:4000";
proxyPass = "http://127.0.0.1:4040";
recommendedProxySettings = true;
# documented: https://git.pleroma.social/pleroma/pleroma/-/blob/develop/installation/pleroma.nginx
extraConfig = ''
# XXX colin: this block is in the nixos examples: i don't understand all of it
add_header 'Access-Control-Allow-Origin' '*' always;
add_header 'Access-Control-Allow-Methods' 'POST, PUT, DELETE, GET, PATCH, OPTIONS' always;
add_header 'Access-Control-Allow-Headers' 'Authorization, Content-Type, Idempotency-Key' always;
add_header 'Access-Control-Expose-Headers' 'Link, X-RateLimit-Reset, X-RateLimit-Limit, X-RateLimit-Remaining, X-Request-Id' always;
if ($request_method = OPTIONS) {
return 204;
}
add_header X-XSS-Protection "1; mode=block";
add_header X-Permitted-Cross-Domain-Policies none;
add_header X-Frame-Options DENY;
add_header X-Content-Type-Options nosniff;
add_header Referrer-Policy same-origin;
add_header X-Download-Options noopen;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
# proxy_set_header Host $http_host;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# colin: added this due to Pleroma complaining in its logs
# proxy_set_header X-Real-IP $remote_addr;
# proxy_set_header X-Forwarded-Proto $scheme;
# client_max_body_size defines the maximum upload size
client_max_body_size 16m;
'';
};

View File

@@ -1,39 +0,0 @@
{ ... }:
{
sane.persist.sys.plaintext = [
# TODO: mode?
{ user = "postgres"; group = "postgres"; directory = "/var/lib/postgresql"; }
];
services.postgresql.enable = true;
# services.postgresql.dataDir = "/opt/postgresql/13";
# XXX colin: for a proper deploy, we'd want to include something for Pleroma here too.
# services.postgresql.initialScript = pkgs.writeText "synapse-init.sql" ''
# CREATE ROLE "matrix-synapse" WITH LOGIN PASSWORD '<password goes here>';
# CREATE DATABASE "matrix-synapse" WITH OWNER "matrix-synapse"
# TEMPLATE template0
# ENCODING = "UTF8"
# LC_COLLATE = "C"
# LC_CTYPE = "C";
# '';
# TODO: perf tuning
# - for recommended values see: <https://pgtune.leopard.in.ua/>
# - for official docs (sparse), see: <https://www.postgresql.org/docs/11/config-setting.html#CONFIG-SETTING-CONFIGURATION-FILE>
# services.postgresql.settings = { ... }
# daily backups to /var/backup
services.postgresqlBackup.enable = true;
# common admin operations:
# sudo systemctl start postgresql
# sudo -u postgres psql
# > \l # lists all databases
# > \du # lists all roles
# > \c pleroma # connects to database by name
# > \d # shows all tables
# > \q # exits psql
# dump/restore (-F t = tar):
# sudo -u postgres pg_dump -F t pleroma > /backup/pleroma-db.tar
# sudo -u postgres -g postgres pg_restore -d pleroma /backup/pleroma-db.tar
}

View File

@@ -0,0 +1,102 @@
{ pkgs, ... }:
let
GiB = n: MiB 1024*n;
MiB = n: KiB 1024*n;
KiB = n: 1024*n;
in
{
sane.persist.sys.byStore.private = [
{ user = "postgres"; group = "postgres"; mode = "0750"; path = "/var/lib/postgresql"; method = "bind"; }
{ user = "postgres"; group = "postgres"; mode = "0750"; path = "/var/backup/postgresql"; method = "bind"; }
];
services.postgresql.enable = true;
# HOW TO UPDATE:
# postgres version updates are manual and require intervention.
# - `sane-stop-all-servo`
# - `systemctl start postgresql`
# - as `sudo su postgres`:
# - `cd /var/log/postgresql`
# - `pg_dumpall > state.sql`
# - `echo placeholder > <new_version>` # to prevent state from being created earlier than we want
# - then, atomically:
# - update the `services.postgresql.package` here
# - `dataDir` is atomically updated to match package; don't touch
# - `nixos-rebuild --flake . switch ; sane-stop-all-servo`
# - `sudo rm -rf /var/lib/postgresql/<new_version>`
# - `systemctl start postgresql`
# - as `sudo su postgres`:
# - `cd /var/lib/postgreql`
# - `psql -f state.sql`
# (for a compressed dump: `gunzip --stdout state.sql.gz | psql`)
# - restart dependent services (maybe test one at a time)
services.postgresql.package = pkgs.postgresql_16;
# XXX colin: for a proper deploy, we'd want to include something for Pleroma here too.
# services.postgresql.initialScript = pkgs.writeText "synapse-init.sql" ''
# CREATE ROLE "matrix-synapse" WITH LOGIN PASSWORD '<password goes here>';
# CREATE DATABASE "matrix-synapse" WITH OWNER "matrix-synapse"
# TEMPLATE template0
# ENCODING = "UTF8"
# LC_COLLATE = "C"
# LC_CTYPE = "C";
# '';
services.postgresql.settings = {
# perf tuning
# - for recommended values see: <https://pgtune.leopard.in.ua/>
# - for official docs (sparse), see: <https://www.postgresql.org/docs/11/config-setting.html#CONFIG-SETTING-CONFIGURATION-FILE>
# DB Version: 16
# OS Type: linux
# DB Type: web
# vvv artificially constrained because the server's resources are shared across maaany services
# Total Memory (RAM): 12 GB
# CPUs num: 12
# Data Storage: ssd
max_connections = 200;
shared_buffers = "3GB";
effective_cache_size = "9GB";
maintenance_work_mem = "768MB";
checkpoint_completion_target = 0.9;
wal_buffers = "16MB";
default_statistics_target = 100;
random_page_cost = 1.1;
effective_io_concurrency = 200;
work_mem = "3932kB";
min_wal_size = "1GB";
max_wal_size = "4GB";
max_worker_processes = 12;
max_parallel_workers_per_gather = 4;
max_parallel_workers = 12;
max_parallel_maintenance_workers = 4;
# DEBUG OPTIONS:
log_min_messages = "DEBUG1";
};
# regulate the restarts, so that systemd never disables it
systemd.services.postgresql.serviceConfig.Restart = "on-failure";
systemd.services.postgresql.serviceConfig.RestartSec = 2;
systemd.services.postgresql.serviceConfig.RestartMaxDelaySec = 10;
systemd.services.postgresql.serviceConfig.RestartSteps = 4;
systemd.services.postgresql.serviceConfig.StartLimitBurst = 120;
# systemd.services.postgresql.serviceConfig.TimeoutStartSec = "14400s"; #< 14400 = 4 hours; recoveries are long
# daily backups to /var/backup
services.postgresqlBackup.enable = true;
# common admin operations:
# sudo systemctl start postgresql
# sudo -u postgres psql
# > \l # lists all databases
# > \du # lists all roles
# > \c pleroma # connects to database by name
# > \d # shows all tables
# > \q # exits psql
# dump/restore (-F t = tar):
# sudo -u postgres pg_dump -F t pleroma > /backup/pleroma-db.tar
# sudo -u postgres -g postgres pg_restore -d pleroma /backup/pleroma-db.tar
}

View File

@@ -0,0 +1,81 @@
#!/bin/sh
# source: <https://gist.githubusercontent.com/troykelly/616df024050dd50744dde4a9579e152e/raw/fe84e53cedf0caa6903604894454629a15867439/reindex_and_refresh_collation.sh>
#
# run this whenever postgres complains like:
# > WARNING: database "gitea" has a collation version mismatch
# > DETAIL: The database was created using collation version 2.39, but the operating system provides version 2.40.
# > HINT: Rebuild all objects in this database that use the default collation and run ALTER DATABASE gitea REFRESH COLLATION VERSION, or build PostgreSQL with the right library version.
#
# this script checks which databases are in need of a collation update,
# and re-collates them as appropriate.
# invoking this script should have low perf impact in the non-upgrade case,
# so safe to do this as a cron job.
#
# invoke as postgres user
log_info() {
>&2 echo "$@"
}
list_databases() {
log_info "Retrieving list of databases from the PostgreSQL server..."
psql --dbname="postgres" -Atc \
"SELECT datname FROM pg_database WHERE datistemplate = false"
}
refresh_collation_version() {
local db=$1
log_info "Refreshing collation version for database: $db..."
psql --dbname="$db" -c \
"ALTER DATABASE \"$db\" REFRESH COLLATION VERSION;"
}
check_collation_mismatches() {
local error=
log_info "Checking for collation mismatches in all databases..."
# Loop through each database and check for mismatching collations in table columns.
while IFS= read -r db; do
if [ -n "$db" ]; then
log_info "Checking database: $db for collation mismatches..."
local mismatches=$(psql --dbname="$db" -Atc \
"SELECT 'Mismatch in table ' || table_name || ' column ' || column_name || ' with collation ' || collation_name
FROM information_schema.columns
WHERE collation_name IS NOT NULL AND collation_name <> 'default' AND table_schema = 'public'
EXCEPT
SELECT 'No mismatch - default collation of ' || datcollate || ' used.'
FROM pg_database WHERE datname = '$db';"
)
if [ -z "$mismatches" ]; then
log_info "No collation mismatches found in database: $db"
else
# Print an informational message to stderr.
log_info "Collation mismatches found in database: $db:"
log_info "$mismatches"
error=1
fi
fi
done
if [ -n "$error" ]; then
exit 1
fi
}
log_info "Starting the reindexing and collation refresh process for all databases..."
databases=$(list_databases)
if [ -z "$databases" ]; then
log_info "No databases found for reindexing or collation refresh. Please check connection details to PostgreSQL server."
exit 1
fi
for db in $databases; do
refresh_collation_version "$db"
done
# Checking for collation mismatches after reindexing and collation refresh.
# Pass the list of databases to the check_collation_mismatches function through stdin.
echo "$databases" | check_collation_mismatches
log_info "Reindexing and collation refresh process completed."

View File

@@ -1,81 +0,0 @@
# example configs:
# - <https://github.com/kittywitch/nixfiles/blob/main/services/prosody.nix>
# create users with:
# - `sudo -u prosody prosodyctl adduser colin@uninsane.org`
{ lib, ... }:
# XXX disabled: doesn't send messages to nixnet.social (only receives them).
# nixnet runs ejabberd, so revisiting that.
lib.mkIf false
{
sane.persist.sys.plaintext = [
{ user = "prosody"; group = "prosody"; directory = "/var/lib/prosody"; }
];
sane.ports.ports."5222" = {
protocol = [ "tcp" ];
visibleTo.lan = true;
visibleTo.wan = true;
description = "colin-xmpp-client-to-server";
};
sane.ports.ports."5269" = {
protocol = [ "tcp" ];
visibleTo.wan = true;
description = "colin-xmpp-server-to-server";
};
sane.ports.ports."5280" = {
protocol = [ "tcp" ];
visibleTo.lan = true;
visibleTo.wan = true;
description = "colin-xmpp-bosh";
};
sane.ports.ports."5281" = {
protocol = [ "tcp" ];
visibleTo.lan = true;
visibleTo.wan = true;
description = "colin-xmpp-prosody-https"; # necessary?
};
# provide access to certs
users.users.prosody.extraGroups = [ "nginx" ];
security.acme.certs."uninsane.org".extraDomainNames = [
"conference.xmpp.uninsane.org"
"upload.xmpp.uninsane.org"
];
services.prosody = {
enable = true;
admins = [ "colin@uninsane.org" ];
# allowRegistration = false;
# extraConfig = ''
# s2s_require_encryption = true
# c2s_require_encryption = true
# '';
extraModules = [ "private" "vcard" "privacy" "compression" "component" "muc" "pep" "adhoc" "lastactivity" "admin_adhoc" "blocklist"];
ssl.cert = "/var/lib/acme/uninsane.org/fullchain.pem";
ssl.key = "/var/lib/acme/uninsane.org/key.pem";
muc = [
{
domain = "conference.xmpp.uninsane.org";
}
];
uploadHttp.domain = "upload.xmpp.uninsane.org";
virtualHosts = {
localhost = {
domain = "localhost";
enabled = true;
};
"xmpp.uninsane.org" = {
domain = "uninsane.org";
enabled = true;
ssl.cert = "/var/lib/acme/uninsane.org/fullchain.pem";
ssl.key = "/var/lib/acme/uninsane.org/key.pem";
};
};
};
}

View File

@@ -0,0 +1,302 @@
# example configs:
# - official: <https://prosody.im/doc/example_config>
# - nixos: <https://github.com/kittywitch/nixfiles/blob/main/services/prosody.nix>
# config options:
# - <https://prosody.im/doc/configure>
#
# modules:
# - main: <https://prosody.im/doc/modules>
# - community: <https://modules.prosody.im/index.html>
#
# debugging:
# - logging:
# - enable `stanza_debug` module
# - enable `log.debug = "*syslog"` in extraConfig
# - interactive:
# - `telnet localhost 5582` (this is equal to `prosodyctl shell` -- but doesn't hang)
# - `watch:stanzas(target_spec, filter)` -> to log stanzas, for version > 0.12
# - console docs: <https://prosody.im/doc/console>
# - can modify/inspect arbitrary internals (lua) by prefixing line with `> `
# - e.g. `> _G` to print all globals
#
# sanity checks:
# - `sudo -u prosody -g prosody prosodyctl check connectivity`
# - `sudo -u prosody -g prosody prosodyctl check turn`
# - `sudo -u prosody -g prosody prosodyctl check turn -v --ping=stun.conversations.im`
# - checks that my stun/turn server is usable by clients of conversations.im (?)
# - `sudo -u prosody -g prosody prosodyctl check` (dns, config, certs)
#
#
# create users with:
# - `sudo -u prosody prosodyctl adduser colin@uninsane.org`
#
#
# federation/support matrix:
# - nixnet.services (runs ejabberd):
# - WORKS: sending and receiving PMs and calls (2023/10/15)
# - N.B.: it didn't originally work; was solved by disabling the lua-unbound DNS option & forcing the system/local resolver
# - cheogram (XMPP <-> SMS gateway):
# - WORKS: sending and receiving PMs, images (2023/10/15)
# - PARTIAL: calls (xmpp -> tel works; tel -> xmpp fails)
# - maybe i need to setup stun/turn
#
# TODO:
# - enable push notifications (mod_cloud_notify)
# - optimize coturn (e.g. move off of the VPN!)
# - ensure muc is working
# - enable file uploads
# - "upload.xmpp.uninsane.org:http_upload: URL: <https://upload.xmpp.uninsane.org:5281/upload> - Ensure this can be reached by users"
# - disable or fix bosh (jabber over http):
# - "certmanager: No certificate/key found for client_https port 0"
{ config, lib, pkgs, ... }:
let
# enables very verbose logging
enableDebug = false;
in
{
sane.persist.sys.byStore.private = [
# TODO: mode?
{ user = "prosody"; group = "prosody"; path = "/var/lib/prosody"; method = "bind"; }
];
sane.ports.ports."5000" = {
protocol = [ "tcp" ];
visibleTo.doof = true;
visibleTo.lan = true;
description = "colin-xmpp-prosody-fileshare-proxy65";
};
sane.ports.ports."5222" = {
protocol = [ "tcp" ];
visibleTo.doof = true;
visibleTo.lan = true;
description = "colin-xmpp-client-to-server";
};
sane.ports.ports."5223" = {
protocol = [ "tcp" ];
visibleTo.doof = true;
visibleTo.lan = true;
description = "colin-xmpps-client-to-server"; # XMPP over TLS
};
sane.ports.ports."5269" = {
protocol = [ "tcp" ];
visibleTo.doof = true;
description = "colin-xmpp-server-to-server";
};
sane.ports.ports."5270" = {
protocol = [ "tcp" ];
visibleTo.doof = true;
description = "colin-xmpps-server-to-server"; # XMPP over TLS
};
sane.ports.ports."5280" = {
protocol = [ "tcp" ];
visibleTo.doof = true;
visibleTo.lan = true;
description = "colin-xmpp-bosh";
};
sane.ports.ports."5281" = {
protocol = [ "tcp" ];
visibleTo.doof = true;
visibleTo.lan = true;
description = "colin-xmpp-prosody-https"; # necessary?
};
users.users.prosody.extraGroups = [
"nginx" # provide access to certs
"ntfy-sh" # access to secret ntfy topic
"turnserver" # to access the coturn shared secret
];
security.acme.certs."uninsane.org".extraDomainNames = [
"xmpp.uninsane.org"
"conference.xmpp.uninsane.org"
"upload.xmpp.uninsane.org"
];
# exists so the XMPP server's cert can obtain altNames for all its resources
services.nginx.virtualHosts."xmpp.uninsane.org" = {
useACMEHost = "uninsane.org";
};
services.nginx.virtualHosts."conference.xmpp.uninsane.org" = {
useACMEHost = "uninsane.org";
};
services.nginx.virtualHosts."upload.xmpp.uninsane.org" = {
useACMEHost = "uninsane.org";
};
sane.dns.zones."uninsane.org".inet = {
# XXX: SRV records have to point to something with a A/AAAA record; no CNAMEs
A."xmpp" = "%ANATIVE%";
CNAME."conference.xmpp" = "xmpp";
CNAME."upload.xmpp" = "xmpp";
# _Service._Proto.Name TTL Class SRV Priority Weight Port Target
# - <https://xmpp.org/extensions/xep-0368.html>
# something's requesting the SRV records for conference.xmpp, so let's include it
# nothing seems to request XMPP SRVs for the other records (except @)
# lower numerical priority field tells clients to prefer this method
SRV."_xmpps-client._tcp.conference.xmpp" = "3 50 5223 xmpp";
SRV."_xmpps-server._tcp.conference.xmpp" = "3 50 5270 xmpp";
SRV."_xmpp-client._tcp.conference.xmpp" = "5 50 5222 xmpp";
SRV."_xmpp-server._tcp.conference.xmpp" = "5 50 5269 xmpp";
SRV."_xmpps-client._tcp" = "3 50 5223 xmpp";
SRV."_xmpps-server._tcp" = "3 50 5270 xmpp";
SRV."_xmpp-client._tcp" = "5 50 5222 xmpp";
SRV."_xmpp-server._tcp" = "5 50 5269 xmpp";
};
# help Prosody find its certificates.
# pointing it to /var/lib/acme doesn't quite work because it expects the private key
# to be named `privkey.pem` instead of acme's `key.pem`
# <https://prosody.im/doc/certificates#automatic_location>
environment.etc."prosody/certs/uninsane.org/fullchain.pem".source = "/var/lib/acme/uninsane.org/fullchain.pem";
environment.etc."prosody/certs/uninsane.org/privkey.pem".source = "/var/lib/acme/uninsane.org/key.pem";
services.prosody = {
enable = true;
package = pkgs.prosody.override {
# XXX(2023/10/15): build without lua-unbound support.
# this forces Prosody to fall back to the default Lua DNS resolver, which seems more reliable.
# fixes errors like "unbound.queryXYZUV: Resolver error: out of memory"
# related: <https://issues.prosody.im/1737#comment-11>
lua.withPackages = selector: pkgs.lua.withPackages (p:
selector (p // { luaunbound = null; })
);
# withCommunityModules = [ "turncredentials" ];
};
admins = [ "colin@uninsane.org" ];
# allowRegistration = false; # defaults to false
muc = [
{
domain = "conference.xmpp.uninsane.org";
}
];
uploadHttp.domain = "upload.xmpp.uninsane.org";
virtualHosts = {
# "Prosody requires at least one enabled VirtualHost to function. You can
# safely remove or disable 'localhost' once you have added another."
# localhost = {
# domain = "localhost";
# enabled = true;
# };
"xmpp.uninsane.org" = {
domain = "uninsane.org";
enabled = true;
};
};
## modules:
# these are enabled by default, via <repo:nixos/nixpkgs:/pkgs/servers/xmpp/prosody/default.nix>
# - cloud_notify
# - http_upload
# - vcard_muc
# these are enabled by the module defaults (services.prosody.modules.<foo>)
# - admin_adhoc
# - blocklist
# - bookmarks
# - carbons
# - cloud_notify
# - csi
# - dialback
# - disco
# - http_files
# - mam
# - pep
# - ping
# - private
# - XEP-0049: let clients store arbitrary (private) data on the server
# - proxy65
# - XEP-0065: allow server to proxy file transfers between two clients who are behind NAT
# - register
# - roster
# - saslauth
# - smacks
# - time
# - tls
# - uptime
# - vcard_legacy
# - version
extraPluginPaths = [ ./modules ];
extraModules = [
# admin_shell: allows `prosodyctl shell` to work
# see: <https://prosody.im/doc/modules/mod_admin_shell>
# see: <https://prosody.im/doc/console>
"admin_shell"
"admin_telnet" #< needed by admin_shell
# lastactivity: XEP-0012: allow users to query how long another user has been idle for
# - not sure why i enabled this; think it was in someone's config i referenced
"lastactivity"
# allows prosody to share TURN/STUN secrets with XMPP clients to provide them access to the coturn server.
# see: <https://prosody.im/doc/coturn>
"turn_external"
# legacy coturn integration
# see: <https://modules.prosody.im/mod_turncredentials.html>
# "turncredentials"
] ++ lib.optionals config.services.ntfy-sh.enable [
"sane_ntfy"
] ++ lib.optionals enableDebug [
"stanza_debug" #< logs EVERY stanza as debug: <https://prosody.im/doc/modules/mod_stanza_debug>
];
extraConfig = ''
local function readAll(file)
local f = assert(io.open(file, "rb"))
local content = f:read("*all")
f:close()
-- remove trailing newline
return string.gsub(content, "%s+", "")
end
-- logging docs:
-- - <https://prosody.im/doc/logging>
-- - <https://prosody.im/doc/advanced_logging>
-- levels: debug, info, warn, error
log = {
${if enableDebug then "debug" else "info"} = "*syslog";
}
-- see: <https://prosody.im/doc/certificates#automatic_location>
-- try to solve: "certmanager: Error indexing certificate directory /etc/prosody/certs: cannot open /etc/prosody/certs: No such file or directory"
-- only, this doesn't work because prosody doesn't like acme's naming scheme
-- certificates = "/var/lib/acme"
c2s_direct_tls_ports = { 5223 }
s2s_direct_tls_ports = { 5270 }
turn_external_host = "turn.uninsane.org"
turn_external_secret = readAll("/run/secrets/coturn_shared_secret")
-- turn_external_user = "prosody"
-- legacy mod_turncredentials integration
-- turncredentials_host = "turn.uninsane.org"
-- turncredentials_secret = readAll("/run/secrets/coturn_shared_secret")
-- s2s_require_encryption = true
-- c2s_require_encryption = true
'' + lib.optionalString config.services.ntfy-sh.enable ''
ntfy_binary = "${lib.getExe' pkgs.ntfy-sh "ntfy"}"
ntfy_topic = readAll("/run/secrets/ntfy-sh-topic")
'';
};
systemd.services.prosody = {
# hardening (systemd-analyze security prosody)
serviceConfig.LockPersonality = true;
serviceConfig.NoNewPrivileges = true;
serviceConfig.PrivateUsers = true;
serviceConfig.ProcSubset = "pid";
serviceConfig.ProtectClock = true;
serviceConfig.ProtectKernelLogs = true;
serviceConfig.ProtectProc = "invisible";
serviceConfig.ProtectSystem = "strict";
serviceConfig.RemoveIPC = true;
serviceConfig.RestrictAddressFamilies = "AF_UNIX AF_INET AF_INET6";
serviceConfig.SystemCallArchitectures = "native";
serviceConfig.SystemCallFilter = [ "@system-service" "~@privileged" "~@resources" ];
};
}

View File

@@ -0,0 +1,52 @@
-- simple proof-of-concept Prosody module
-- module development guide: <https://prosody.im/doc/developers/modules>
-- module API docs: <https://prosody.im/doc/developers/moduleapi>
--
-- much of this code is lifted from Prosody's own `mod_cloud_notify`
local jid = require"util.jid";
local ntfy = module:get_option_string("ntfy_binary", "ntfy");
local ntfy_topic = module:get_option_string("ntfy_topic", "xmpp");
module:log("info", "initialized");
local function is_urgent(stanza)
if stanza.name == "message" then
if stanza:get_child("propose", "urn:xmpp:jingle-message:0") then
return true, "jingle call";
end
end
end
local function publish_ntfy(message)
-- message should be the message to publish
local ntfy_url = string.format("https://ntfy.uninsane.org/%s", ntfy_topic)
local cmd = string.format("%s pub %q %q", ntfy, ntfy_url, message)
module.log("debug", "invoking ntfy: %s", cmd)
local success, reason, code = os.execute(cmd)
if not success then
module:log("warn", "ntfy failed: %s => %s %d", cmd, reason, code)
end
end
local function archive_message_added(event)
-- event is: { origin = origin, stanza = stanza, for_user = store_user, id = id }
local stanza = event.stanza;
local to = stanza.attr.to;
to = to and jid.split(to) or event.origin.username;
-- only notify if the stanza destination is the mam user we store it for
if event.for_user == to then
local is_urgent_stanza, urgent_reason = is_urgent(event.stanza);
if is_urgent_stanza then
module:log("info", "urgent push for %s (%s)", to, urgent_reason);
publish_ntfy(urgent_reason)
end
end
end
module:hook("archive-message-added", archive_message_added);

View File

@@ -0,0 +1,92 @@
# Soulseek daemon (p2p file sharing with an emphasis on Music)
# docs: <https://github.com/slskd/slskd/blob/master/docs/config.md>
#
# config precedence (higher precedence overrules lower precedence):
# - Default Values < Environment Variables < YAML Configuraiton File < Command Line Arguments
#
# debugging:
# - soulseek is just *flaky*. if you see e.g. DNS errors, even though you can't replicate them via `dig` or `getent ahostsv4`, just give it 10 minutes to work out:
# - "Soulseek.AddressException: Failed to resolve address 'vps.slsknet.org': Resource temporarily unavailable"
{ config, lib, pkgs, ... }:
{
sane.persist.sys.byStore.ephemeral = [
# {data,downloads,incomplete,logs}: contains logs, search history, and downloads
# so, move the downloaded data to persistent storage regularly, or configure the downloads/incomplete dirs to point to persisted storage (in nixpkgs slskd config)
{ user = "slskd"; group = "media"; path = "/var/lib/slskd"; method = "bind"; }
];
sops.secrets."slskd_env" = {
owner = config.users.users.slskd.name;
mode = "0400";
};
users.users.slskd.extraGroups = [ "media" ];
sane.ports.ports."50300" = {
protocol = [ "tcp" ];
# visibleTo.ovpns = true; #< not needed: it runs in the ovpns namespace
description = "colin-soulseek";
};
sane.dns.zones."uninsane.org".inet.CNAME."soulseek" = "native";
services.nginx.virtualHosts."soulseek.uninsane.org" = {
forceSSL = true;
enableACME = true;
locations."/" = {
proxyPass = "http://${config.sane.netns.ovpns.veth.netns.ipv4}:5030";
proxyWebsockets = true;
};
};
services.slskd.enable = true;
services.slskd.domain = null; # i'll manage nginx for it
services.slskd.group = "media";
# env file, for auth (SLSKD_SLSK_PASSWORD, SLSKD_SLSK_USERNAME)
services.slskd.environmentFile = config.sops.secrets.slskd_env.path;
services.slskd.settings = {
soulseek.diagnostic_level = "Debug"; # one of "None"|"Warning"|"Info"|"Debug"
shares.directories = [
# folders to share
# syntax: <https://github.com/slskd/slskd/blob/master/docs/config.md#directories>
# [Alias]/path/on/disk
# NOTE: Music library is quick to scan; videos take a solid 10min to scan.
# TODO: re-enable the other libraries
# "[Audioooks]/var/media/Books/Audiobooks"
# "[Books]/var/media/Books/Books"
# "[Manga]/var/media/Books/Visual"
# "[games]/var/media/games"
"[Music]/var/media/Music"
# "[Film]/var/media/Videos/Film"
# "[Shows]/var/media/Videos/Shows"
];
# directories.downloads = "..." # TODO
# directories.incomplete = "..." # TODO
# what unit is this? kbps??
global.upload.speed_limit = 32000;
web.logging = true;
# debug = true;
flags.no_logo = true; # don't show logo at start
# flags.volatile = true; # store searches and active transfers in RAM (completed transfers still go to disk). rec for btrfs/zfs
};
systemd.services.slskd = {
# run this behind the OVPN static VPN
serviceConfig.NetworkNamespacePath = "/run/netns/ovpns";
serviceConfig.ExecStartPre = [
# abort if public IP is not as expected
"${lib.getExe pkgs.sane-scripts.ip-check} --no-upnp --expect ${config.sane.netns.ovpns.wg.address.ipv4}"
];
serviceConfig.Restart = lib.mkForce "always"; # exits "success" when it fails to connect to soulseek server
serviceConfig.RestartSec = "60s";
# hardening (systemd-analyze security slskd)
# upstream nixpkgs specifies moderate defaults; these are supplementary
# serviceConfig.MemoryDenyWriteExecute = true;
# serviceConfig.ProcSubset = "pid";
# serviceConfig.RestrictAddressFamilies = "AF_UNIX AF_INET AF_INET6";
# serviceConfig.SystemCallArchitectures = "native";
# serviceConfig.SystemCallFilter = [ "@system-service" ];
};
}

View File

@@ -1,80 +0,0 @@
{ pkgs, ... }:
{
sane.persist.sys.plaintext = [
# TODO: mode? we need this specifically for the stats tracking in .config/
{ user = "transmission"; group = "transmission"; directory = "/var/lib/transmission"; }
];
services.transmission.enable = true;
services.transmission.settings = {
rpc-bind-address = "0.0.0.0";
#rpc-host-whitelist = "bt.uninsane.org";
#rpc-whitelist = "*.*.*.*";
rpc-authentication-required = true;
rpc-username = "colin";
# salted pw. to regenerate, set this plaintext, run nixos-rebuild, and then find the salted pw in:
# /var/lib/transmission/.config/transmission-daemon/settings.json
rpc-password = "{503fc8928344f495efb8e1f955111ca5c862ce0656SzQnQ5";
rpc-whitelist-enabled = false;
# download-dir = "/opt/uninsane/media/";
# hopefully, make the downloads world-readable
umask = 0;
# force peer connections to be encrypted
encryption = 2;
# units in kBps
speed-limit-down = 3000;
speed-limit-down-enabled = true;
speed-limit-up = 600;
speed-limit-up-enabled = true;
# see: https://git.zknt.org/mirror/transmission/commit/cfce6e2e3a9b9d31a9dafedd0bdc8bf2cdb6e876?lang=bg-BG
anti-brute-force-enabled = false;
download-dir = "/var/lib/uninsane/media";
incomplete-dir = "/var/lib/uninsane/media/incomplete";
};
# transmission will by default not allow the world to read its files.
services.transmission.downloadDirPermissions = "775";
systemd.services.transmission.after = [ "wireguard-wg-ovpns.service" ];
systemd.services.transmission.partOf = [ "wireguard-wg-ovpns.service" ];
systemd.services.transmission.serviceConfig = {
# run this behind the OVPN static VPN
NetworkNamespacePath = "/run/netns/ovpns";
LogLevelMax = "warning";
};
# service to automatically backup torrents i add to transmission
systemd.services.backup-torrents = {
description = "archive torrents to storage not owned by transmission";
script = ''
${pkgs.rsync}/bin/rsync -arv /var/lib/transmission/.config/transmission-daemon/torrents/ /var/backup/torrents/
'';
};
systemd.timers.backup-torrents = {
wantedBy = [ "multi-user.target" ];
timerConfig = {
OnStartupSec = "11min";
OnUnitActiveSec = "240min";
};
};
# transmission web client
services.nginx.virtualHosts."bt.uninsane.org" = {
# basicAuth is literally cleartext user/pw, so FORCE this to happen over SSL
forceSSL = true;
enableACME = true;
# inherit kTLS;
locations."/" = {
# proxyPass = "http://ovpns.uninsane.org:9091";
proxyPass = "http://10.0.1.6:9091";
};
};
sane.dns.zones."uninsane.org".inet.CNAME."bt" = "native";
}

View File

@@ -0,0 +1,172 @@
{ config, lib, pkgs, ... }:
let
# 2023/09/06: nixpkgs `transmission` defaults to old 3.00
# 2024/02/15: some torrent trackers whitelist clients; everyone is still on 3.00 for some reason :|
# some do this via peer-id (e.g. baka); others via user-agent (e.g. MAM).
# peer-id format is essentially the same between 3.00 and 4.x (just swap the MAJOR/MINOR/PATCH numbers).
# user-agent format has changed. `Transmission/3.00` (old) v.s. `TRANSMISSION/MAJ.MIN.PATCH` (new).
realTransmission = pkgs.transmission_4;
realVersion = {
major = lib.versions.major realTransmission.version;
minor = lib.versions.minor realTransmission.version;
patch = lib.versions.patch realTransmission.version;
};
package = realTransmission.overrideAttrs (upstream: {
# `cmakeFlags = [ "-DTR_VERSION_MAJOR=3" ]`, etc, doesn't seem to take effect.
postPatch = (upstream.postPatch or "") + ''
substituteInPlace CMakeLists.txt \
--replace-fail 'TR_VERSION_MAJOR "${realVersion.major}"' 'TR_VERSION_MAJOR "3"' \
--replace-fail 'TR_VERSION_MINOR "${realVersion.minor}"' 'TR_VERSION_MINOR "0"' \
--replace-fail 'TR_VERSION_PATCH "${realVersion.patch}"' 'TR_VERSION_PATCH "0"' \
--replace-fail 'set(TR_USER_AGENT_PREFIX "''${TR_SEMVER}")' 'set(TR_USER_AGENT_PREFIX "3.00")'
'';
});
download-dir = "/var/media/torrents"; #< keep in sync with consts embedded in `torrent-done`
torrent-done = pkgs.static-nix-shell.mkBash {
pname = "torrent-done";
srcRoot = ./.;
pkgs = [
"acl"
"coreutils"
"findutils"
"rsync"
];
};
in
{
sane.persist.sys.byStore.private = [
# TODO: mode? we need this specifically for the stats tracking in .config/
{ user = "transmission"; group = config.users.users.transmission.group; path = "/var/lib/transmission"; method = "bind"; }
{ user = "transmission"; group = config.users.users.transmission.group; path = "/var/backup/torrents"; method = "bind"; }
];
users.users.transmission.extraGroups = [ "media" ];
services.transmission.enable = true;
services.transmission.package = package;
#v setting `group` this way doesn't tell transmission to `chown` the files it creates
# it's a nixpkgs setting which just runs the transmission daemon as this group
services.transmission.group = "media";
# transmission will by default not allow the world to read its files.
services.transmission.downloadDirPermissions = "775";
services.transmission.extraFlags = [
# "--log-level=debug"
];
services.transmission.settings = {
# DOCUMENTATION/options list: <https://github.com/transmission/transmission/blob/main/docs/Editing-Configuration-Files.md#options>
# message-level = 3; #< enable for debug logging. 0-3, default is 2.
# ovpns.veth.netns.ipv4 => allow rpc only from the root servo ns. it'll tunnel things to the net, if need be.
rpc-bind-address = config.sane.netns.ovpns.veth.netns.ipv4;
#rpc-host-whitelist = "bt.uninsane.org";
#rpc-whitelist = "*.*.*.*";
rpc-authentication-required = true;
rpc-username = "colin";
# salted pw. to regenerate, set this plaintext, run nixos-rebuild, and then find the salted pw in:
# /var/lib/transmission/.config/transmission-daemon/settings.json
rpc-password = "{503fc8928344f495efb8e1f955111ca5c862ce0656SzQnQ5";
rpc-whitelist-enabled = false;
# force behind ovpns in case the NetworkNamespace fails somehow
bind-address-ipv4 = config.sane.netns.ovpns.wg.address.ipv4;
port-forwarding-enabled = false;
# hopefully, make the downloads world-readable
# umask = 0; #< default is 2: i.e. deny writes from world
# force peer connections to be encrypted
encryption = 2;
# units in kBps
speed-limit-down = 12000;
speed-limit-down-enabled = true;
speed-limit-up = 800;
speed-limit-up-enabled = true;
# see: https://git.zknt.org/mirror/transmission/commit/cfce6e2e3a9b9d31a9dafedd0bdc8bf2cdb6e876?lang=bg-BG
anti-brute-force-enabled = false;
inherit download-dir;
incomplete-dir = "${download-dir}/incomplete";
# transmission regularly fails to move stuff from the incomplete dir to the main one, so disable:
incomplete-dir-enabled = false;
# env vars available in script:
# - TR_APP_VERSION - Transmission's short version string, e.g. `4.0.0`
# - TR_TIME_LOCALTIME
# - TR_TORRENT_BYTES_DOWNLOADED - Number of bytes that were downloaded for this torrent
# - TR_TORRENT_DIR - Location of the downloaded data
# - TR_TORRENT_HASH - The torrent's info hash
# - TR_TORRENT_ID
# - TR_TORRENT_LABELS - A comma-delimited list of the torrent's labels
# - TR_TORRENT_NAME - Name of torrent (not filename)
# - TR_TORRENT_TRACKERS - A comma-delimited list of the torrent's trackers' announce URLs
script-torrent-done-enabled = true;
script-torrent-done-filename = lib.getExe torrent-done;
};
# run this behind the OVPN static VPN
sane.netns.ovpns.services = [ "transmission" ];
systemd.services.transmission = {
environment.TR_DEBUG = "1";
serviceConfig.ExecStartPre = [
# abort if public IP is not as expected
"${lib.getExe pkgs.sane-scripts.ip-check} --no-upnp --expect ${config.sane.netns.ovpns.wg.address.ipv4}"
];
serviceConfig.Restart = "on-failure";
serviceConfig.RestartSec = "30s";
serviceConfig.BindPaths = [ "/var/media" ]; #< so it can move completed torrents into the media library
serviceConfig.SystemCallFilter = lib.mkForce [
# the torrent-done script does stuff which fails the nixos default syscall filter.
# allow a bunch of stuff, speculatively, to hopefully fix that:
"@aio"
"@basic-io"
"@chown"
"@file-system"
"@io-event"
"@process"
"@sandbox"
"@sync"
"@system-service"
"quotactl"
];
};
# service to automatically backup torrents i add to transmission
systemd.services.backup-torrents = {
description = "archive torrents to storage not owned by transmission";
script = ''
${lib.getExe pkgs.rsync} -arv /var/lib/transmission/.config/transmission-daemon/torrents/ /var/backup/torrents/
'';
};
systemd.timers.backup-torrents = {
wantedBy = [ "multi-user.target" ];
timerConfig = {
OnStartupSec = "11min";
OnUnitActiveSec = "240min";
};
};
# transmission web client
services.nginx.virtualHosts."bt.uninsane.org" = {
# basicAuth is literally cleartext user/pw, so FORCE this to happen over SSL
forceSSL = true;
enableACME = true;
# inherit kTLS;
locations."/" = {
# proxyPass = "http://ovpns.uninsane.org:9091";
proxyPass = "http://${config.sane.netns.ovpns.veth.netns.ipv4}:9091";
};
};
sane.dns.zones."uninsane.org".inet.CNAME."bt" = "native";
sane.ports.ports."51413" = {
protocol = [ "tcp" "udp" ];
# visibleTo.ovpns = true; #< not needed: it runs in the ovpns namespace
description = "colin-bittorrent";
};
}

View File

@@ -0,0 +1,70 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p acl -p bash -p coreutils -p findutils -p rsync
# transmission invokes this with no args, and the following env vars:
# - TR_TORRENT_DIR: full path to the folder i told transmission to download it to.
# e.g. /var/media/torrents/Videos/Film/Jason.Bourne-2016
# optionally:
# - TR_DRY_RUN=1
# - TR_DEBUG=1
DOWNLOAD_DIR=/var/media/torrents
destructive() {
if [ -n "${TR_DRY_RUN-}" ]; then
echo "[dry-run] $*"
else
debug "$@"
"$@"
fi
}
debug() {
if [ -n "${TR_DEBUG-}" ]; then
echo "$@"
fi
}
echo "TR_TORRENT_DIR=$TR_TORRENT_DIR torrent-done $*"
if [[ "$TR_TORRENT_DIR" =~ ^.*freeleech.*$ ]]; then
# freeleech torrents have no place in my permanent library
echo "freeleech: nothing to do"
exit 0
fi
if ! [[ "$TR_TORRENT_DIR" =~ ^$DOWNLOAD_DIR/.*$ ]]; then
echo "unexpected torrent dir, aborting: $TR_TORRENT_DIR"
exit 0
fi
REL_DIR="${TR_TORRENT_DIR#$DOWNLOAD_DIR/}"
MEDIA_DIR="/var/media/$REL_DIR"
destructive mkdir -p "$(dirname "$MEDIA_DIR")"
destructive rsync -rlv "$TR_TORRENT_DIR/" "$MEDIA_DIR/"
# make the media rwx by anyone in the group
destructive find "$MEDIA_DIR" -type d -exec setfacl --recursive --modify d:g::rwx,o::rx {} \;
destructive find "$MEDIA_DIR" -type d -exec chmod g+rw,a+rx {} \;
destructive find "$MEDIA_DIR" -type f -exec chmod g+rw,a+r {} \;
# if there's a single directory inside the media dir, then inline that
subdirs=("$MEDIA_DIR"/*)
debug "top-level items in torrent dir:" "${subdirs[@]}"
if [ ${#subdirs[@]} -eq 1 ]; then
dirname="${subdirs[0]}"
debug "exactly one top-level item, checking if directory: $dirname"
if [ -d "$dirname" ]; then
destructive mv "$dirname"/* "$MEDIA_DIR/" && destructive rmdir "$dirname"
fi
fi
# remove noisy files:
# -iname means "insensitive", but the syntax is NOT regex -- more similar to shell matching
destructive find "$MEDIA_DIR/" -type f \(\
-iname '*downloaded?from*' \
-o -iname 'source.txt' \
-o -iname '*upcoming?releases*' \
-o -iname 'www.YTS*.jpg' \
-o -iname 'WWW.YIFY*.COM.jpg' \
-o -iname 'YIFY*.com.txt' \
-o -iname 'YTS*.com.txt' \
\) -exec rm {} \;

View File

@@ -1,120 +0,0 @@
{ config, lib, pkgs, ... }:
{
sane.services.trust-dns.enable = true;
sane.services.trust-dns.listenAddrsIPv4 = [
# specify each address explicitly, instead of using "*".
# this ensures responses are sent from the address at which the request was received.
config.sane.hosts.by-name."servo".lan-ip
"10.0.1.5"
];
sane.services.trust-dns.quiet = true;
sane.dns.zones."uninsane.org".TTL = 900;
# SOA record structure: <https://en.wikipedia.org/wiki/SOA_record#Structure>
# SOA MNAME RNAME (... rest)
# MNAME = Master name server for this zone. this is where update requests should be sent.
# RNAME = admin contact (encoded email address)
# Serial = YYYYMMDDNN, where N is incremented every time this file changes, to trigger secondary NS to re-fetch it.
# Refresh = how frequently secondary NS should query master
# Retry = how long secondary NS should wait until re-querying master after a failure (must be < Refresh)
# Expire = how long secondary NS should continue to reply to queries after master fails (> Refresh + Retry)
sane.dns.zones."uninsane.org".inet = {
SOA."@" = ''
ns1.uninsane.org. admin-dns.uninsane.org. (
2022122101 ; Serial
4h ; Refresh
30m ; Retry
7d ; Expire
5m) ; Negative response TTL
'';
TXT."rev" = "2023052901";
CNAME."native" = "%CNAMENATIVE%";
A."@" = "%ANATIVE%";
A."wan" = "%AWAN%";
A."servo.lan" = config.sane.hosts.by-name."servo".lan-ip;
# XXX NS records must also not be CNAME
# it's best that we keep this identical, or a superset of, what org. lists as our NS.
# so, org. can specify ns2/ns3 as being to the VPN, with no mention of ns1. we provide ns1 here.
A."ns1" = "%ANATIVE%";
A."ns2" = "185.157.162.178";
A."ns3" = "185.157.162.178";
A."ovpns" = "185.157.162.178";
NS."@" = [
"ns1.uninsane.org."
"ns2.uninsane.org."
"ns3.uninsane.org."
];
};
# we need trust-dns to load our zone by relative path instead of /nix/store path
# because we generate it at runtime.
sane.services.trust-dns.zones."uninsane.org".file = lib.mkForce "uninsane.org.zone";
sane.services.trust-dns.zonedir = null;
sane.services.trust-dns.package =
let
sed = "${pkgs.gnused}/bin/sed";
zone-dir = "/var/lib/trust-dns";
zone-wan = "${zone-dir}/wan/uninsane.org.zone";
zone-lan = "${zone-dir}/lan/uninsane.org.zone";
zone-template = pkgs.writeText "uninsane.org.zone.in" config.sane.services.trust-dns.zones."uninsane.org".text;
in pkgs.writeShellScriptBin "named" ''
# compute wan/lan values
mkdir -p ${zone-dir}/{ovpn,wan,lan}
wan=$(cat '${config.sane.services.dyn-dns.ipPath}')
lan=${config.sane.hosts.by-name."servo".lan-ip}
# create specializations that resolve native.uninsane.org to different CNAMEs
${sed} s/%AWAN%/$wan/ ${zone-template} \
| ${sed} s/%CNAMENATIVE%/wan/ \
| ${sed} s/%ANATIVE%/$wan/ \
> ${zone-wan}
${sed} s/%AWAN%/$wan/ ${zone-template} \
| ${sed} s/%CNAMENATIVE%/servo.lan/ \
| ${sed} s/%ANATIVE%/$lan/ \
> ${zone-lan}
# launch the different interfaces, separately
${pkgs.trust-dns}/bin/named --port 53 --zonedir ${zone-dir}/wan/ $@ &
WANPID=$!
${pkgs.trust-dns}/bin/named --port 1053 --zonedir ${zone-dir}/lan/ $@ &
LANPID=$!
# wait until any of the processes exits, then kill them all and exit error
while kill -0 $WANPID $LANPID ; do
sleep 5
done
kill $WANPID $LANPID
exit 1
'';
sane.services.dyn-dns.restartOnChange = [ "trust-dns.service" ];
networking.nat.enable = true;
networking.nat.extraCommands = ''
# redirect incoming DNS requests from LAN addresses
# to the LAN-specialized DNS service
# N.B.: use the `nixos-*` chains instead of e.g. PREROUTING
# because they get cleanly reset across activations or `systemctl restart firewall`
# instead of accumulating cruft
iptables -t nat -A nixos-nat-pre -p udp --dport 53 \
-m iprange --src-range 10.78.76.0-10.78.79.255 \
-j DNAT --to-destination :1053
iptables -t nat -A nixos-nat-pre -p tcp --dport 53 \
-m iprange --src-range 10.78.76.0-10.78.79.255 \
-j DNAT --to-destination :1053
'';
sane.ports.ports."1053" = {
# because the NAT above redirects in nixos-nat-pre, LAN requests behave as though they arrived on the external interface at the redirected port.
# TODO: try nixos-nat-post instead?
protocol = [ "udp" "tcp" ];
visibleTo.lan = true;
description = "colin-redirected-dns-for-lan-namespace";
};
}

View File

@@ -1,7 +1,6 @@
{ ... }:
{
imports = [
./x86_64.nix
./shelvacu.nix
];
}

View File

@@ -0,0 +1,65 @@
{ lib, pkgs, ... }:
{
users.users.shelvacu = {
isNormalUser = true;
home = "/home/shelvacu";
subUidRanges = [
{ startUid=300000; count=1; }
];
group = "users";
initialPassword = lib.mkDefault "";
shell = pkgs.bash;
openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKoy1TrmfhBGWtVedgOM1FB1oD2UdodN3LkBnnLx6Tug compute-deck"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAxAFFxQMXAgi+0cmGaNE/eAkVfEl91wafUqFIuAkI5I compute-deck-root"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINQ2c0GzlVMjV06CS7bWbCaAbzG2+7g5FCg/vClJPe0C fw"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGHLPOxRd68+DJ/bYmqn0wsgwwIcMSMyuU1Ya16hCb/m fw-root"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOre0FnYDm3arsFj9c/l5H2Q8mdmv7kmvq683pL4heru legtop"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINznGot+L8kYoVQqdLV/R17XCd1ILMoDCILOg+I3s5wC pixel9pro-nod"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDcRDekd8ZOYfQS5X95/yNof3wFYIbHqWeq4jY0+ywQX pro1x-nod"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJNFbzt0NHVTaptBI38YtwLG+AsmeNYy0Nr5yX2zZEPE root@vacuInstaller toptop-root"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICVeSzDkGTueZijB0xUa08e06ovAEwwZK/D+Cc7bo91g triple-dezert"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOtwtao/TXbiuQOYJbousRPVesVcb/2nP0PCFUec0Nv8 triple-dezert-root"
];
};
security.sudo.extraRules = [
{
users = [ "shelvacu" ];
runAs = "postgres";
commands = [
{
command = "ALL";
options = [ "NOPASSWD" ];
}
];
}
];
security.polkit.extraConfig = ''
// allow:
// - systemctl restart|start|stop SERVICE
polkit.addRule(function(action, subject) {
if (subject.user == "shelvacu" && action.id == "org.freedesktop.systemd1.manage-units") {
switch (action.lookup("verb")) {
// case "cancel":
// case "reenable":
case "restart":
// case "reload":
// case "reload-or-restart":
case "start":
case "stop":
// case "try-reload-or-restart":
// case "try-restart":
return polkit.Result.YES;
default:
}
}
})
'';
sane.persist.sys.byStore.private = [
{ path = "/home/shelvacu/persist"; user = "shelvacu"; group = "users"; mode = "0700"; }
];
}

50
hosts/common/boot.nix Normal file
View File

@@ -0,0 +1,50 @@
{ lib, pkgs, ... }:
{
boot.initrd.supportedFilesystems = [ "ext4" "btrfs" "ext2" "ext3" "vfat" ];
# useful emergency utils
boot.initrd.extraUtilsCommands = ''
copy_bin_and_libs ${lib.getExe' pkgs.btrfs-progs "btrfstune"}
copy_bin_and_libs ${lib.getExe' pkgs.util-linux "{cfdisk,lsblk,lscpu}"}
copy_bin_and_libs ${lib.getExe' pkgs.gptfdisk "{cgdisk,gdisk}"}
copy_bin_and_libs ${lib.getExe' pkgs.smartmontools "smartctl"}
copy_bin_and_libs ${lib.getExe' pkgs.e2fsprogs "resize2fs"}
copy_bin_and_libs ${lib.getExe pkgs.nvme-cli}
'';
boot.kernelParams = [
"boot.shell_on_fail"
#v experimental full pre-emption for hopefully better call/audio latency on moby.
# also toggleable at runtime via /sys/kernel/debug/sched/preempt
# defaults to preempt=voluntary
# "preempt=full"
];
# other kernelParams:
# "boot.trace"
# "systemd.log_level=debug"
# "systemd.log_target=console"
# moby has to run recent kernels (defined elsewhere).
# meanwhile, kernel variation plays some minor role in things like sandboxing (landlock) and capabilities.
# - as of 2024/08/xx, my boot fails on 6.6, but works on 6.9 and (probably; recently) 6.8.
# simpler to keep near the latest kernel on all devices,
# and also makes certain that any weird system-level bugs i see aren't likely to be stale kernel bugs.
boot.kernelPackages = lib.mkDefault pkgs.linuxPackages_latest;
# hack in the `boot.shell_on_fail` arg since that doesn't always seem to work.
boot.initrd.preFailCommands = "allowShell=1";
# default: 4 (warn). 7 is debug
boot.consoleLogLevel = 7;
boot.loader.grub.enable = lib.mkDefault false;
boot.loader.generic-extlinux-compatible.enable = lib.mkDefault true;
hardware.enableAllFirmware = true; # firmware with licenses that don't allow for redistribution. fuck lawyers, fuck IP, give me the goddamn firmware.
# hardware.enableRedistributableFirmware = true; # proprietary but free-to-distribute firmware (extraneous to `enableAllFirmware` option)
# default is 252274, which is too low particularly for servo.
# manifests as spurious "No space left on device" when trying to install watches,
# e.g. in dyn-dns by `systemctl start dyn-dns-watcher.path`.
# see: <https://askubuntu.com/questions/828779/failed-to-add-run-systemd-ask-password-to-directory-watch-no-space-left-on-dev>
boot.kernel.sysctl."fs.inotify.max_user_watches" = 4194304;
boot.kernel.sysctl."fs.inotify.max_user_instances" = 4194304;
}

View File

@@ -1,103 +1,61 @@
{ lib, pkgs, ... }:
{
imports = [
./boot.nix
./feeds.nix
./fs.nix
./hardware.nix
./fs
./home
./hosts.nix
./ids.nix
./machine-id.nix
./net.nix
./nix-path
./persist.nix
./net
./nix.nix
./polyunfill.nix
./programs
./quirks.nix
./secrets.nix
./snapper.nix
./ssh.nix
./users.nix
./vpn.nix
./systemd.nix
./users
];
# docs: https://nixos.org/manual/nixos/stable/options.html#opt-system.stateVersion
# this affects where nixos modules look for stateful data which might have been migrated across releases.
system.stateVersion = "21.11";
sane.nixcache.enable-trusted-keys = true;
sane.nixcache.enable = lib.mkDefault true;
sane.persist.enable = lib.mkDefault true;
sane.root-on-tmpfs = lib.mkDefault true;
sane.programs.sysadminUtils.enableFor.system = lib.mkDefault true;
sane.programs.consoleUtils.enableFor.user.colin = lib.mkDefault true;
# some services which use private directories error if the parent (/var/lib/private) isn't 700.
sane.fs."/var/lib/private".dir.acl.mode = "0700";
services.buffyboard.enable = true;
services.buffyboard.settings.theme.default = "pmos-light";
# services.buffyboard.settings.quirks.fbdev_force_refresh = true;
services.buffyboard.extraFlags = [ "--verbose" ];
nixpkgs.config.allowUnfree = true;
nixpkgs.config.allowBroken = true; # NIXPKGS_ALLOW_BROKEN
# irqbalance monitors interrupt count (as a daemon) and assigns high-frequency interrupts to different CPUs.
# that reduces contention between simultaneously-fired interrupts.
services.irqbalance.enable = true;
# time.timeZone = "America/Los_Angeles";
time.timeZone = "Etc/UTC"; # DST is too confusing for me => use a stable timezone
# allow `nix flake ...` command
# TODO: is this still required?
nix.extraOptions = ''
experimental-features = nix-command flakes
'';
# hardlinks identical files in the nix store to save 25-35% disk space.
# unclear _when_ this occurs. it's not a service.
# does the daemon continually scan the nix store?
# does the builder use some content-addressed db to efficiently dedupe?
nix.settings.auto-optimise-store = true;
fonts = {
enableDefaultFonts = true;
fonts = with pkgs; [ font-awesome noto-fonts-emoji hack-font ];
fontconfig.enable = true;
fontconfig.defaultFonts = {
emoji = [ "Font Awesome 6 Free" "Noto Color Emoji" ];
monospace = [ "Hack" ];
serif = [ "DejaVu Serif" ];
sansSerif = [ "DejaVu Sans" ];
};
system.activationScripts.nixClosureDiff = {
supportsDryActivation = true;
text = ''
# show which packages changed versions or are new/removed in this upgrade
# source: <https://github.com/luishfonseca/dotfiles/blob/32c10e775d9ec7cc55e44592a060c1c9aadf113e/modules/upgrade-diff.nix>
# modified to not error on boot (when /run/current-system doesn't exist)
if [ -d /run/current-system ]; then
${lib.getExe pkgs.nvd} --nix-bin-dir=${pkgs.nix}/bin diff /run/current-system "$systemConfig"
fi
'';
};
# XXX: twitter-color-emoji doesn't cross-compile; but not-fonts-emoji does
# fonts = {
# enableDefaultFonts = true;
# fonts = with pkgs; [ font-awesome twitter-color-emoji hack-font ];
# fontconfig.enable = true;
# fontconfig.defaultFonts = {
# emoji = [ "Font Awesome 6 Free" "Twitter Color Emoji" ];
# monospace = [ "Hack" ];
# serif = [ "DejaVu Serif" ];
# sansSerif = [ "DejaVu Sans" ];
# };
# };
# disable non-required packages like nano, perl, rsync, strace
environment.defaultPackages = [];
# programs.vim.defaultEditor = true;
environment.variables = {
EDITOR = "vim";
# git claims it should use EDITOR, but it doesn't!
GIT_EDITOR = "vim";
# TODO: these should be moved to `home.sessionVariables` (home-manager)
# Electron apps should use native wayland backend:
# https://nixos.wiki/wiki/Slack#Wayland
# Discord under sway crashes with this.
# NIXOS_OZONE_WL = "1";
# LIBGL_ALWAYS_SOFTWARE = "1";
};
# dconf docs: <https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/desktop_migration_and_administration_guide/profiles>
# find keys/values with `dconf dump /`
programs.dconf.enable = true;
programs.dconf.packages = [
(pkgs.writeTextFile {
name = "dconf-user-profile";
destination = "/etc/dconf/profile/user";
text = ''
user-db:user
system-db:site
'';
})
];
# link debug symbols into /run/current-system/sw/lib/debug
# hopefully picked up by gdb automatically?
environment.enableDebugInfo = true;

View File

@@ -1,9 +1,14 @@
# candidates:
# - The Nonlinear Library (podcast): <https://forum.effectivealtruism.org/posts/JTZTBienqWEAjGDRv/listen-to-more-ea-content-with-the-nonlinear-library>
# - has ~10 posts per day, text-to-speech; i would need better tagging before adding this
# - <https://www.metaculus.com/questions/11102/introducing-the-metaculus-journal-podcast/>
# - dead since 2022/10 - 2023/03
# where to find good stuff?
# - universal search/directory: <https://podcastindex.org>
# - the full database is downloadable
# - find adjacent podcasts: <https://rephonic.com/graph>
# - charts: <https://rephonic.com/charts/apple/united-states/technology>
# - list of lists: <https://en.wikipedia.org/wiki/Category:Lists_of_podcasts>
# - podcasts w/ a community: <https://lemmyverse.net/communities?query=podcast>
# - podcast recs:
# - active lemmy: <https://slrpnk.net/c/podcasts>
# - old thread: <https://lemmy.ml/post/1565858>
#
{ lib, sane-data, ... }:
let
hourly = { freq = "hourly"; };
@@ -46,6 +51,8 @@ let
else
"infrequent"
));
} // lib.optionalAttrs (lib.hasPrefix "https://www.youtube.com/" raw.url) {
format = "video";
} // lib.optionalAttrs (raw.is_podcast or false) {
format = "podcast";
} // lib.optionalAttrs (raw.title or "" != "") {
@@ -53,189 +60,247 @@ let
};
podcasts = [
(fromDb "lexfridman.com/podcast" // rat)
## Astral Codex Ten
(fromDb "sscpodcast.libsyn.com" // rat)
## Less Wrong Curated
(fromDb "feeds.libsyn.com/421877" // rat)
## Econ Talk
(fromDb "feeds.simplecast.com/wgl4xEgL" // rat)
## Cory Doctorow -- both podcast & text entries
(fromDb "craphound.com" // pol)
## Maggie Killjoy -- referenced by Cory Doctorow
(fromDb "omny.fm/shows/cool-people-who-did-cool-stuff" // pol)
(fromDb "congressionaldish.libsyn.com" // pol)
# (mkPod "https://podcasts.la.utexas.edu/this-is-democracy/feed/podcast/" // pol // weekly)
## Civboot -- https://anchor.fm/civboot
(fromDb "anchor.fm/s/34c7232c/podcast/rss" // tech)
## Emerge: making sense of what's next -- <https://www.whatisemerging.com/emergepodcast>
(mkPod "https://anchor.fm/s/21bc734/podcast/rss" // pol // infrequent)
(fromDb "feeds.feedburner.com/80000HoursPodcast" // rat)
## Daniel Huberman on sleep
(fromDb "feeds.megaphone.fm/hubermanlab" // uncat)
## Multidisciplinary Association for Psychedelic Studies
(fromDb "mapspodcast.libsyn.com" // uncat)
(fromDb "allinchamathjason.libsyn.com" // pol)
(fromDb "feeds.transistor.fm/acquired" // tech)
## ACQ2 - more "Acquired" episodes
(fromDb "acquiredlpbonussecretsecret.libsyn.com" // tech)
# The Intercept - Deconstructed; also available: <rss.acast.com/deconstructed>
(fromDb "rss.prod.firstlook.media/deconstructed/podcast.rss" // pol)
## The Daily
(mkPod "https://feeds.simplecast.com/54nAGcIl" // pol // daily)
# The Intercept - Intercepted; also available: <https://rss.acast.com/intercepted-with-jeremy-scahill>
(fromDb "rss.prod.firstlook.media/intercepted/podcast.rss" // pol)
(fromDb "podcast.posttv.com/itunes/post-reports.xml" // pol)
## Eric Weinstein
(fromDb "rss.art19.com/the-portal" // rat)
(fromDb "404media.co/the-404-media-podcast" // tech)
(fromDb "acquiredlpbonussecretsecret.libsyn.com" // tech) # ACQ2 - more "Acquired" episodes
(fromDb "adventofcomputing.com" // tech) # computing history
(fromDb "api.oyez.org/podcasts/oral-arguments/2015" // pol) # Supreme Court Oral Arguments ("2015" in URL means nothing -- it's still updated)
(fromDb "anchor.fm/s/34c7232c/podcast/rss" // tech) # Civboot -- https://anchor.fm/civboot
(fromDb "anchor.fm/s/2da69154/podcast/rss" // tech) # POD OF JAKE -- https://podofjake.com/
(fromDb "cast.postmarketos.org" // tech)
(fromDb "congressionaldish.libsyn.com" // pol) # Jennifer Briney
(fromDb "craphound.com" // pol) # Cory Doctorow -- both podcast & text entries
(fromDb "darknetdiaries.com" // tech)
## Radiolab -- also available here, but ONLY OVER HTTP: <http://feeds.wnyc.org/radiolab>
(fromDb "feeds.feedburner.com/radiolab" // pol)
## Sam Harris
(fromDb "wakingup.libsyn.com" // pol)
## 99% Invisible -- also available here: <https://feeds.simplecast.com/BqbsxVfO>
(fromDb "feeds.99percentinvisible.org/99percentinvisible" // pol)
(fromDb "rss.acast.com/ft-tech-tonic" // tech)
(fromDb "dwarkeshpatel.com" // tech)
(fromDb "feeds.99percentinvisible.org/99percentinvisible" // pol) # 99% Invisible -- also available here: <https://feeds.simplecast.com/BqbsxVfO>
(fromDb "feeds.buzzsprout.com/2412334.rss") # Matt Stoller's _Organized Money_ <https://www.organizedmoney.fm/>
(fromDb "feeds.eff.org/howtofixtheinternet" // pol)
(fromDb "feeds.feedburner.com/80000HoursPodcast" // rat)
(fromDb "feeds.feedburner.com/dancarlin/history" // rat)
(fromDb "rss.art19.com/60-minutes" // pol)
## The Verge - Decoder
(fromDb "feeds.megaphone.fm/recodedecode" // tech)
## Matrix (chat) Live
(fromDb "feed.podbean.com/matrixlive/feed.xml" // tech)
## Michael Malice - Your Welcome -- also available here: <https://origin.podcastone.com/podcast?categoryID2=2232>
(fromDb "rss.art19.com/your-welcome" // pol)
(fromDb "seattlenice.buzzsprout.com" // pol)
## Sci-Fi? has Peter Watts; author of No Moods, Ads or Cutesy Fucking Icons (rifters.com)
(fromDb "talesfromthebridge.buzzsprout.com" // tech)
## UnNamed Reverse Engineering Podcast
(fromDb "reverseengineering.libsyn.com/rss" // tech)
## The Witch Trials of J.K. Rowling
## - <https://www.thefp.com/witchtrials>
(mkPod "https://feeds.megaphone.fm/RUNMED9919162779" // pol // infrequent)
(fromDb "feeds.feedburner.com/radiolab" // pol) # Radiolab -- also available here, but ONLY OVER HTTP: <http://feeds.wnyc.org/radiolab>
(fromDb "feeds.megaphone.fm/CHTAL4990341033" // pol) # ChinaTalk: https://www.chinatalk.media/podcast
(fromDb "feeds.megaphone.fm/GLT1412515089" // pol) # JRE: Joe Rogan Experience
(fromDb "feeds.megaphone.fm/behindthebastards" // pol) # also Maggie Killjoy
(fromDb "feeds.megaphone.fm/cspantheweekly" // pol)
(fromDb "feeds.megaphone.fm/econ102") # Noah Smith + Erik Torenberg <https://www.podpage.com/econ102/>
(fromDb "feeds.megaphone.fm/history102") # <https://www.podpage.com/history-102-with-whatifalthist/>
(fromDb "feeds.megaphone.fm/recodedecode" // tech) # The Verge - Decoder
(fromDb "feeds.megaphone.fm/thiswontlast" // tech) # <https://www.podpage.com/thiswontlast/>
(fromDb "feeds.megaphone.fm/unexplainable")
(fromDb "feeds.simplecast.com/wgl4xEgL" // rat) # Econ Talk
(fromDb "feeds.simplecast.com/whlwDbyc" // tech) # Tech Lounge: <https://chrischinchilla.com/podcast/techlounge/>
(fromDb "feeds.transistor.fm/acquired" // tech)
(fromDb "feeds.transistor.fm/complex-systems-with-patrick-mckenzie-patio11" // tech) # Patrick Mackenzie (from Bits About Money)
(fromDb "feeds.twit.tv/floss.xml" // tech)
(fromDb "fulltimenix.com" // tech)
(fromDb "futureofcoding.org/episodes" // tech)
(fromDb "hackerpublicradio.org" // tech)
(fromDb "lexfridman.com/podcast" // rat)
(fromDb "linktr.ee/betteroffline" // pol)
(fromDb "linuxdevtime.com" // tech)
(fromDb "mapspodcast.libsyn.com" // uncat) # Multidisciplinary Association for Psychedelic Studies
(fromDb "microarch.club" // tech)
(fromDb "omegataupodcast.net" // tech) # 3/4 German; 1/4 eps are English
(fromDb "omny.fm/shows/cool-people-who-did-cool-stuff" // pol) # Maggie Killjoy -- referenced by Cory Doctorow
(fromDb "omny.fm/shows/money-stuff-the-podcast") # Matt Levine
(fromDb "omny.fm/shows/stuff-you-should-know-1")
(fromDb "omny.fm/shows/the-dollop-with-dave-anthony-and-gareth-reynolds") # The Dollop history/comedy
(fromDb "omny.fm/shows/weird-little-guys") # Cool Zone Media
(fromDb "originstories.libsyn.com" // uncat)
(fromDb "politicspoliticspolitics.com" // pol) # don't judge me. Justin Robert Young.
(fromDb "podcast.ergaster.org/@flintandsilicon" // tech) # Thib's podcast: public interest tech, gnome, etc: <https://fed.uninsane.org/users/$ALLO9MZ5g5CsQTCBH6>
(fromDb "politicalorphanage.libsyn.com" // pol)
(fromDb "reverseengineering.libsyn.com/rss" // tech) # UnNamed Reverse Engineering Podcast
(fromDb "rss.acast.com/ft-tech-tonic" // tech) # Financial Time's: Tech Tonic
(fromDb "rss.art19.com/the-portal" // rat) # Eric Weinstein
(fromDb "seattlenice.buzzsprout.com" // pol) # Seattle Nice
(fromDb "speedboatdope.com" // pol) # Chapo Trap House (premium feed)
(fromDb "srslywrong.com" // pol)
(fromDb "sharkbytes.transistor.fm" // tech) # Wireshark Podcast o_0
(fromDb "sharptech.fm/feed/podcast" // tech) # Ben Thompson
(fromDb "sscpodcast.libsyn.com" // rat) # Astral Codex Ten; Scott Alexander
(fromDb "talesfromthebridge.buzzsprout.com" // tech) # Sci-Fi? has Peter Watts; author of No Moods, Ads or Cutesy Fucking Icons (rifters.com)
(fromDb "techtalesshow.com" // tech) # Corbin Davenport
(fromDb "techwontsave.us" // pol) # rec by Cory Doctorow
(fromDb "theamphour.com" // tech) # The Amp Hour
(fromDb "the-ben-marc-show.simplecast.com" // tech // pol) # Ben Horowitz + Marc Andreessen; love to hate em
(fromDb "timclicks.dev/compose-podcast" // tech) # Rust-heavy dev interviews
(fromDb "werenotwrong.fireside.fm" // pol) # We're Not Wrong
(fromDb "whycast.podcast.audio/@whycast" // tech) # What Hackers Yearn [for]: <https://why2025.org/>
(mkPod "https://sfconservancy.org/casts/the-corresponding-source/feeds/ogg/" // tech)
# (fromDb "allinchamathjason.libsyn.com" // pol)
# (fromDb "feed.podbean.com/matrixlive/feed.xml" // tech) # Matrix (chat) Live
# (fromDb "feeds.libsyn.com/421877" // rat) # Less Wrong Curated
# (fromDb "feeds.megaphone.fm/hubermanlab" // uncat) # Daniel Huberman on sleep
# (fromDb "feeds.simplecast.com/54nAGcIl" // pol) # The Daily
# (fromDb "feeds.simplecast.com/82FI35Px" // pol) # Ezra Klein Show
# (fromDb "feeds.simplecast.com/l2i9YnTd" // tech // pol) # Hard Fork (NYtimes tech)
# (fromDb "feeds.simplecast.com/xKJ93w_w" // uncat) # Atlas Obscura
# (fromDb "lastweekinai.com" // tech) # Last Week in AI
# (fromDb "mintcast.org" // tech)
# (fromDb "podcast.posttv.com/itunes/post-reports.xml" // pol)
# (fromDb "podcast.sustainoss.org" // tech) # "Sustainable tech", only... it somehow manages to avoid any tech which is actually sustainable, and most of the time doesn't even talk about Open Source Software (!). normie/surface-level/"feel good"
# (fromDb "podcast.thelinuxexp.com" // tech) # low-brow linux/foss PR announcements
# (fromDb "rss.acast.com/deconstructed") # The Intercept - Deconstructed
# (fromDb "rss.acast.com/intercepted-with-jeremy-scahill") # The Intercept - Intercepted
# (fromDb "rss.art19.com/60-minutes" // pol)
# (fromDb "rss.art19.com/your-welcome" // pol) # Michael Malice - Your Welcome -- also available here: <https://origin.podcastone.com/podcast?categoryID2=2232>
# (fromDb "rss.prod.firstlook.media/deconstructed/podcast.rss" // pol) #< possible URL rot
# (fromDb "rss.prod.firstlook.media/intercepted/podcast.rss" // pol) #< possible URL rot
# (fromDb "trashfuturepodcast.podbean.com" // pol) # rec by Cory Doctorow, but way rambly
# (fromDb "wakingup.libsyn.com" // pol) # Sam Harris, but he just repeats himself now
# (mkPod "https://anchor.fm/s/21bc734/podcast/rss" // pol // infrequent) # Emerge: making sense of what's next -- <https://www.whatisemerging.com/emergepodcast>
# (mkPod "https://audioboom.com/channels/5097784.rss" // tech) # Lateral with Tom Scott
# (mkPod "https://feeds.megaphone.fm/RUNMED9919162779" // pol // infrequent) # The Witch Trials of J.K. Rowling: <https://www.thefp.com/witchtrials>
# (mkPod "https://podcasts.la.utexas.edu/this-is-democracy/feed/podcast/" // pol // weekly)
];
texts = [
# AGGREGATORS (> 1 post/day)
(fromDb "lwn.net" // tech)
(fromDb "lesswrong.com" // rat)
# (fromDb "econlib.org" // pol)
# AGGREGATORS (< 1 post/day)
(fromDb "palladiummag.com" // uncat)
(fromDb "profectusmag.com" // uncat)
(fromDb "semiaccurate.com" // tech)
(mkText "https://linuxphoneapps.org/blog/atom.xml" // tech // infrequent)
(fromDb "tuxphones.com" // tech)
(fromDb "spectrum.ieee.org" // tech)
(fromDb "theregister.com" // tech)
(fromDb "thisweek.gnome.org" // tech)
# more nixos stuff here, but unclear how to subscribe: <https://nixos.org/blog/categories.html>
(mkText "https://nixos.org/blog/announcements-rss.xml" // tech // infrequent)
(mkText "https://nixos.org/blog/stories-rss.xml" // tech // weekly)
## n.b.: quality RSS list here: <https://forum.merveilles.town/thread/57/share-your-rss-feeds%21-6/>
(mkText "https://forum.merveilles.town/rss.xml" // pol // infrequent)
## No Moods, Ads or Cutesy Fucking Icons
(fromDb "rifters.com/crawl" // uncat)
# DEVELOPERS
(fromDb "blog.jmp.chat" // tech)
(fromDb "uninsane.org" // tech)
(fromDb "ascii.textfiles.com" // tech) # Jason Scott
(fromDb "xn--gckvb8fzb.com" // tech)
(fromDb "mg.lol" // tech)
# (fromDb "drewdevault.com" // tech)
## Ken Shirriff
(fromDb "righto.com" // tech)
## shared blog by a few NixOS devs, notably onny
(fromDb "project-insanity.org" // tech)
## Vitalik Buterin
(fromDb "vitalik.ca" // tech)
## ian (Sanctuary)
(fromDb "sagacioussuricata.com" // tech)
## Bunnie Juang
(fromDb "bunniestudios.com" // tech)
(fromDb "blog.danieljanus.pl" // tech)
(fromDb "ianthehenry.com" // tech)
(fromDb "bitbashing.io" // tech)
(fromDb "idiomdrottning.org" // uncat)
(mkText "https://anish.lakhwara.com/home.html" // tech // weekly)
(fromDb "jefftk.com" // tech)
(fromDb "pomeroyb.com" // tech)
(mkText "https://til.simonwillison.net/tils/feed.atom" // tech // weekly)
# TECH PROJECTS
(fromDb "blog.rust-lang.org" // tech)
# (TECH; POL) COMMENTATORS
## Matt Webb -- engineering-ish, but dreamy
(fromDb "interconnected.org/home/feed" // rat)
(fromDb "edwardsnowden.substack.com" // pol // text)
## Julia Evans
(mkText "https://jvns.ca/atom.xml" // tech // weekly)
(mkText "http://benjaminrosshoffman.com/feed" // pol // weekly)
## Ben Thompson
(mkText "https://www.stratechery.com/rss" // pol // weekly)
## Balaji
(fromDb "balajis.com" // pol)
(fromDb "ben-evans.com/benedictevans" // pol)
(fromDb "lynalden.com" // pol)
(fromDb "austinvernon.site" // tech)
(mkSubstack "oversharing" // pol // daily)
(mkSubstack "byrnehobart" // pol // infrequent)
# (mkSubstack "doomberg" // tech // weekly) # articles are all pay-walled
## David Rosenthal
(fromDb "blog.dshr.org" // pol)
## Matt Levine
(mkText "https://www.bloomberg.com/opinion/authors/ARbTQlRLRjE/matthew-s-levine.rss" // pol // weekly)
(fromDb "stpeter.im/atom.xml" // pol)
## Peter Saint-Andre -- side project of stpeter.im
(fromDb "philosopher.coach" // rat)
(fromDb "morningbrew.com/feed" // pol)
# RATIONALITY/PHILOSOPHY/ETC
(mkSubstack "samkriss" // humor // infrequent)
(fromDb "unintendedconsequenc.es" // rat)
(fromDb "ergaster.org/blog" // tech) # Thib's blog: public interest tech, gnome, etc: <https://fed.uninsane.org/users/$ALLO9MZ5g5CsQTCBH6>
(fromDb "acoup.blog/feed") # history, states. author: <https://historians.social/@bretdevereaux/following>
(fromDb "amosbbatto.wordpress.com" // tech)
(fromDb "anish.lakhwara.com" // tech)
(fromDb "antipope.org") # Charles Stross
(fromDb "apenwarr.ca/log/rss.php" // tech) # CEO of tailscale
(fromDb "applieddivinitystudies.com" // rat)
(fromDb "slimemoldtimemold.com" // rat)
(fromDb "richardcarrier.info" // rat)
(fromDb "gwern.net" // rat)
## Jason Crawford
(fromDb "rootsofprogress.org" // rat)
## Robin Hanson
(fromDb "overcomingbias.com" // rat)
## Scott Alexander
(mkSubstack "astralcodexten" // rat // daily)
## Paul Christiano
(fromDb "sideways-view.com" // rat)
## Sean Carroll
(fromDb "preposterousuniverse.com" // rat)
(mkSubstack "eliqian" // rat // weekly)
(mkText "https://acoup.blog/feed" // rat // weekly)
## mostly dating topics. not advice, or humor, but looking through a social lens
(fromDb "putanumonit.com" // rat)
# LOCAL
(fromDb "artemis.sh" // tech)
(fromDb "ascii.textfiles.com" // tech) # Jason Scott
(fromDb "austinvernon.site" // tech)
(fromDb "buttondown.email" // tech)
(fromDb "ben-evans.com/benedictevans" // pol)
(fromDb "bitbashing.io" // tech)
(fromDb "bitsaboutmoney.com" // uncat)
(fromDb "blog.danieljanus.pl" // tech)
(fromDb "blog.dshr.org" // pol) # David Rosenthal
(fromDb "blog.jmp.chat" // tech)
(fromDb "blog.rust-lang.org" // tech)
(fromDb "blog.thalheim.io" // tech) # Mic92
(fromDb "blog.brixit.nl" // tech) # Martijn Braam
(fromDb "bunniestudios.com" // tech) # Bunnie Juang
(fromDb "capitolhillseattle.com" // pol)
(fromDb "edwardsnowden.substack.com" // pol // text)
(fromDb "fasterthanli.me" // tech)
(fromDb "gwern.net" // rat)
(fromDb "hardcoresoftware.learningbyshipping.com" // tech) # Steven Sinofsky
(fromDb "harihareswara.net" // tech // pol) # rec by Cory Doctorow
(fromDb "ianthehenry.com" // tech)
(fromDb "idiomdrottning.org" // uncat)
(fromDb "interconnected.org/home/feed" // rat) # Matt Webb -- engineering-ish, but dreamy
(fromDb "jeffgeerling.com" // tech)
(fromDb "jefftk.com" // tech)
(fromDb "justine.lol" // tech)
(fromDb "jwz.org/blog" // tech // pol) # DNA lounge guy, loooong-time blogger
(fromDb "kill-the-newsletter.com/feeds/joh91bv7am2pnznv.xml" // pol) # Matt Levine - Money Stuff
(fromDb "kosmosghost.github.io/index.xml" // tech)
(fromDb "linmob.net" // tech)
(fromDb "lwn.net" // tech)
(fromDb "lynalden.com" // pol)
(fromDb "mako.cc/copyrighteous" // tech // pol) # rec by Cory Doctorow
(fromDb "mg.lol" // tech)
(fromDb "mindingourway.com" // rat)
(fromDb "momi.ca" // tech) # Anjan, pmOS
(fromDb "morningbrew.com/feed" // pol)
(fromDb "nixpkgs.news" // tech)
(fromDb "overcomingbias.com" // rat) # Robin Hanson
(fromDb "palladiummag.com" // uncat)
(fromDb "philosopher.coach" // rat) # Peter Saint-Andre -- side project of stpeter.im
(fromDb "pomeroyb.com" // tech)
(fromDb "postmarketos.org/blog" // tech)
(fromDb "preposterousuniverse.com" // rat) # Sean Carroll
(fromDb "project-insanity.org" // tech) # shared blog by a few NixOS devs, notably onny
(fromDb "putanumonit.com" // rat) # mostly dating topics. not advice, or humor, but looking through a social lens
(fromDb "richardcarrier.info" // rat)
(fromDb "rifters.com/crawl" // uncat) # No Moods, Ads or Cutesy Fucking Icons
(fromDb "righto.com" // tech) # Ken Shirriff
(fromDb "rootsofprogress.org" // rat) # Jason Crawford
(fromDb "samuel.dionne-riel.com" // tech) # SamuelDR
(fromDb "sagacioussuricata.com" // tech) # ian (Sanctuary)
(fromDb "semiaccurate.com" // tech)
(fromDb "sideways-view.com" // rat) # Paul Christiano
(fromDb "slatecave.net" // tech)
(fromDb "slimemoldtimemold.com" // rat)
(fromDb "spectrum.ieee.org" // tech)
(fromDb "stpeter.im/atom.xml" // pol)
(fromDb "thisweek.gnome.org" // tech)
(fromDb "tuxphones.com" // tech)
(fromDb "uninsane.org" // tech)
(fromDb "unintendedconsequenc.es" // rat)
(fromDb "vitalik.eth.limo" // tech) # Vitalik Buterin
(fromDb "weekinethereumnews.com" // tech)
(fromDb "willow.phantoma.online") # wizard@xyzzy.link
(fromDb "xn--gckvb8fzb.com" // tech)
(fromDb "xorvoid.com" // tech)
(fromDb "www.thebignewsletter.com" // pol)
(mkSubstack "astralcodexten" // rat // daily) # Scott Alexander
(mkSubstack "chlamchowder" // tech) # details CPU advancements
(mkSubstack "eliqian" // rat // weekly)
(mkSubstack "oversharing" // pol // daily)
(mkSubstack "samkriss" // humor // infrequent)
(mkText "http://benjaminrosshoffman.com/feed" // pol // weekly)
(mkText "http://boginjr.com/feed" // tech // infrequent)
(mkText "https://forum.merveilles.town/rss.xml" // pol // infrequent) #quality RSS list here: <https://forum.merveilles.town/thread/57/share-your-rss-feeds%21-6/>
(mkText "https://icm.museum/rss20.xml" // tech // infrequent) # Interim Computer Museum
(mkText "https://jvns.ca/atom.xml" // tech // weekly) # Julia Evans
(mkText "https://linuxphoneapps.org/blog/atom.xml" // tech // infrequent)
(mkText "https://nixos.org/blog/announcements-rss.xml" // tech // infrequent) # more nixos stuff here, but unclear how to subscribe: <https://nixos.org/blog/categories.html>
(mkText "https://nixos.org/blog/stories-rss.xml" // tech // weekly)
(mkText "https://solar.lowtechmagazine.com/posts/index.xml" // tech // weekly)
(mkText "https://www.stratechery.com/rss" // pol // weekly) # Ben Thompson
# CODE
# (fromDb "balajis.com" // pol) # Balaji
# (fromDb "drewdevault.com" // tech)
# (fromDb "econlib.org" // pol)
# (fromDb "lesswrong.com" // rat)
# (fromDb "profectusmag.com" // pol) # some conservative/libertarian think tank
# (fromDb "thediff.co" // pol) # Byrne Hobart; 80% is subscriber-only
# (fromDb "thesideview.co" // uncat) # spiritual journal; RSS items are stubs
# (fromDb "theregister.com" // tech)
# (fromDb "vitalik.ca" // tech) # moved to vitalik.eth.limo
# (fromDb "webcurious.co.uk" // uncat) # link aggregator; defunct?
# (mkSubstack "doomberg" // tech // weekly) # articles are all pay-walled
# (mkText "https://github.com/Kaiteki-Fedi/Kaiteki/commits/master.atom" // tech // infrequent)
# (mkText "https://til.simonwillison.net/tils/feed.atom" // tech // weekly)
# (mkText "https://www.bloomberg.com/opinion/authors/ARbTQlRLRjE/matthew-s-levine.rss" // pol // weekly) # Matt Levine (preview/paywalled)
];
videos = [
(fromDb "youtube.com/@Channel5YouTube" // pol)
(fromDb "youtube.com/@ContraPoints" // pol)
(fromDb "youtube.com/@Exurb1a")
(fromDb "youtube.com/@hbomberguy")
(fromDb "youtube.com/@JackStauber")
(fromDb "youtube.com/@mii_beta" // tech) # Baby Wogue / gnome reviewer
(fromDb "youtube.com/@Matrixdotorg" // tech) # Matrix Live
(fromDb "youtube.com/@NativLang")
(fromDb "youtube.com/@PolyMatter")
(fromDb "youtube.com/@TechnologyConnections" // tech)
(fromDb "youtube.com/@tested" // tech) # Adam Savage
(fromDb "youtube.com/@TomScottGo")
(fromDb "youtube.com/@TVW_Washington" // pol) # interviews with WA public officials
(fromDb "youtube.com/@Vihart")
(fromDb "youtube.com/@InnuendoStudios" // pol) # breaks down the nastier political strategies, from a "politics is power" angle
# (fromDb "youtube.com/@ColdFusion")
# (fromDb "youtube.com/@rossmanngroup" // pol // tech) # Louis Rossmann
# (fromDb "youtube.com/@TheB1M")
# (fromDb "youtube.com/@Vox")
# (fromDb "youtube.com/@Vsauce") # they're all like 1-minute long videos now? what happened @Vsauce?
];
images = [
(fromDb "smbc-comics.com" // img // humor)
(fromDb "xkcd.com" // img // humor)
(fromDb "pbfcomics.com" // img // humor)
# (mkImg "http://dilbert.com/feed" // humor // daily)
(fromDb "poorlydrawnlines.com/feed" // img // humor)
# ART
(fromDb "catandgirl.com" // img // humor)
(fromDb "davidrevoy.com" // img // art)
(fromDb "grumpy.website" // img // humor)
(fromDb "miniature-calendar.com" // img // art // daily)
(fromDb "pbfcomics.com" // img // humor)
(fromDb "poorlydrawnlines.com/feed" // img // humor)
(fromDb "smbc-comics.com" // img // humor)
(fromDb "turnoff.us" // img // humor)
(fromDb "xkcd.com" // img // humor)
];
in
{
sane.feeds = texts ++ images ++ podcasts;
sane.feeds = texts ++ images ++ podcasts ++ videos;
assertions = builtins.map
(p: {

View File

@@ -1,74 +0,0 @@
{ pkgs, ... }:
let sshOpts = rec {
fsType = "fuse.sshfs";
optionsBase = [
"x-systemd.automount"
"_netdev"
"user"
"identityfile=/home/colin/.ssh/id_ed25519"
"allow_other"
"default_permissions"
];
optionsColin = optionsBase ++ [
"transform_symlinks"
"idmap=user"
"uid=1000"
"gid=100"
];
optionsRoot = optionsBase ++ [
# we don't transform_symlinks because that breaks the validity of remote /nix stores
"sftp_server=/run/wrappers/bin/sudo\\040/run/current-system/sw/libexec/sftp-server"
];
};
in
{
environment.pathsToLink = [
# needed to achieve superuser access for user-mounted filesystems (see optionsRoot above)
# we can only link whole directories here, even though we're only interested in pkgs.openssh
"/libexec"
];
fileSystems."/mnt/servo-media-wan" = {
device = "colin@uninsane.org:/var/lib/uninsane/media";
inherit (sshOpts) fsType;
options = sshOpts.optionsColin;
noCheck = true;
};
fileSystems."/mnt/servo-media-lan" = {
device = "colin@servo:/var/lib/uninsane/media";
inherit (sshOpts) fsType;
options = sshOpts.optionsColin;
noCheck = true;
};
fileSystems."/mnt/servo-root-wan" = {
device = "colin@uninsane.org:/";
inherit (sshOpts) fsType;
options = sshOpts.optionsRoot;
noCheck = true;
};
fileSystems."/mnt/servo-root-lan" = {
device = "colin@servo:/";
inherit (sshOpts) fsType;
options = sshOpts.optionsRoot;
noCheck = true;
};
fileSystems."/mnt/desko-home" = {
device = "colin@desko:/home/colin";
inherit (sshOpts) fsType;
options = sshOpts.optionsColin;
noCheck = true;
};
fileSystems."/mnt/desko-root" = {
device = "colin@desko:/";
inherit (sshOpts) fsType;
options = sshOpts.optionsRoot;
noCheck = true;
};
environment.systemPackages = [
pkgs.sshfs-fuse
];
}

Some files were not shown because too many files have changed in this diff Show More