Commit Graph

5308 Commits

Author SHA1 Message Date
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