Commit Graph

57 Commits

Author SHA1 Message Date
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
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
705a7a83b1 fs: overwrite symlinks/data on deploy 2024-10-04 09:26:50 +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
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
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
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
3adbbe5fa7 /mnt/$host/home: run as user instead of as root 2024-08-03 15:13:04 +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
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
d5643a6a5d assorted static-nix-shell packages: use srcRoot 2024-02-25 17:37:38 +00:00
52b8cd0209 modules/persist: ensure backing directory is created *before* we mount 2024-02-25 07:22:50 +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
c2696c1cd9 gnome-keyring: use sane.fs abstractions to write out the keyrings 2024-02-23 08:57:41 +00:00
6addf5a3b2 fs: symlink: add an option by which to control the symlink target name 2023-09-12 04:41:32 +00:00
51ecf1b54b sxmo: fix sxmo_hook_init.sh -> sxmo_hook_start.sh 2023-09-05 17:31:33 +00:00
f62c844aaf modules: fs: allow symlink target to be a path 2023-09-05 17:21:02 +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
23e95ba2ba modules: fs: symlink.text: allow specifying it multiple times 2023-07-18 02:17:25 +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
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
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
89f28e63b4 fs: leave a note about trying lazyAttrs 2023-05-08 09:50:10 +00:00
adf72fc9d4 modules/fs: escape shell args 2023-03-22 19:52:04 +00:00
6ca3e7086e merge: simplify the implementation and make fully compatible with lib.mkMerge 2023-01-09 11:14:59 +00:00
9ca6a1c907 way overcomplicated way to merge toplevel config 2023-01-09 09:42:17 +00:00
b6208e1a19 fs: allow specifying text for a symlink directly 2023-01-06 15:26:39 +00:00
19c254c266 fs: make symlinking more resilient when something's already at the location 2023-01-06 14:51:25 +00:00
e446bfba58 fs: fix eval error when told about a mount but not told about anything *in* that mount 2023-01-06 13:27:27 +00:00
43a46af43b impermanence: cleanup backing directory creation. this should let me remove the per-store /home/<user> perms hack 2023-01-06 09:56:06 +00:00
c18dd9636d fs: symlinking: fix recursive links (don't follow links when creating new ones) 2023-01-06 05:32:31 +00:00
3db388b105 servo: relocate ext device to /mnt/impermanence/ext and fixup deps 2023-01-04 12:12:30 +00:00
2ba6116f10 fs/impermanence: more precisely control unit dependencies/ordering 2023-01-04 11:22:26 +00:00
4d9c15f9b8 fs: fix file mode even if not newly created 2023-01-04 08:12:53 +00:00
2c48e61854 fs: fix mode of deployed files; simplify 2023-01-04 07:14:01 +00:00
f89f756489 fs: create symlinks at multi-user target by default 2023-01-04 06:32:53 +00:00
c0da19951b fs: fix symlink ownership/perms 2023-01-04 06:28:44 +00:00
5fb67306e4 fs: rework for dir to not be mandatory 2023-01-04 06:17:34 +00:00