Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
505 commits
Select commit Hold shift + click to select a range
6ef9ca5
jujutsu: fix jj fork
RGBCube May 21, 2026
918c03e
jujutsu: fix
RGBCube May 21, 2026
c7c8788
jujutsu: better
RGBCube May 21, 2026
5212ce9
jujutsu: track origin's master too
RGBCube May 22, 2026
f4f96db
web-browser: put archive and kill sticky/force copy paste stuff in a …
RGBCube May 23, 2026
b3e5f3d
web-browser: add indication to toggles
RGBCube May 23, 2026
51c69cf
web-browser: put indication for toggles in top left
RGBCube May 23, 2026
287d7ae
slop: never delete
RGBCube May 25, 2026
4ce6031
dns: rename to resolver, make hickory-dns a modular service
RGBCube May 25, 2026
2dc8a65
nix: bad idea mounting over per-user profiles
RGBCube May 25, 2026
3540586
networking: add mac policy
RGBCube May 25, 2026
e219b98
persist: remove main mountpoint, fix post-stage2 units too
RGBCube May 25, 2026
4d598b3
flake: make nh default package
RGBCube May 25, 2026
f53ca9c
default: specify flake
RGBCube May 25, 2026
2b7fbc2
network: add lib'.magic.ula and use it in resolver
RGBCube May 27, 2026
a3d04e6
network: disable dhcpd for good
RGBCube May 27, 2026
f1df930
agents: new rules
RGBCube May 28, 2026
dc10b8b
istanbul: add comment to make tree-sitter work nicely in nushell
RGBCube May 28, 2026
d0c11fc
dns: authoritative server
RGBCube May 28, 2026
8bab18c
hickory-dns: use getExe'
RGBCube May 28, 2026
5d08746
linux-boot-redundancy: fsync
RGBCube May 28, 2026
00aeb7d
keepassxc: don't minimize
RGBCube May 28, 2026
9aae97a
lib: lift to specialArgs
RGBCube May 28, 2026
6ba6683
agentsmd: fix
RGBCube May 28, 2026
de9f6a6
ssh: use all identityPaths
RGBCube May 28, 2026
5c921f7
vienna: init
RGBCube May 28, 2026
b173fd2
lib: don't use deprecated aliases
RGBCube May 29, 2026
78df5e0
treewide: better module input isolation
RGBCube May 29, 2026
5d8f230
agentsmd: update
RGBCube May 29, 2026
4645927
slop: patches
RGBCube May 29, 2026
048b720
use-xdg-dirs: gradle
RGBCube May 30, 2026
bc01fe8
jujutsu: fix fork alias
RGBCube May 30, 2026
e272829
corne-firmware: use brightness, music, bt etc keys in the mouse layer…
RGBCube May 30, 2026
ff4cd0d
corne-firmare: copy the rest of the keys in the top row from nav to m…
RGBCube May 30, 2026
6b8d35a
nushell: run as login shell
RGBCube May 30, 2026
d17073e
agentsmd: update
RGBCube May 30, 2026
7135b49
corne-firmware: pin zmk to a commit, add settings-reset firmware
RGBCube May 30, 2026
90129b1
dns: fix ULA bind issue on darwin
RGBCube May 31, 2026
fb4482d
darwin-fast-workspace-switch: unslop
RGBCube May 31, 2026
510015b
clean-tmp: drop, as tmp is a tmpfs
RGBCube Jun 1, 2026
77a8325
dns: use mkDerivation rather than runCommandCC
RGBCube Jun 1, 2026
84fa1e6
lib: add asShell and use it
RGBCube Jun 1, 2026
87bea05
treewide: remove actually unused and will stay unused imports
RGBCube Jun 1, 2026
5537e38
darwin-wm: fix wrong args to task.new
RGBCube Jun 1, 2026
bc46e6b
darwin-wm: overhaul
RGBCube Jun 1, 2026
97a00a0
slop: init codex
RGBCube Jun 1, 2026
36a7e78
darwin-wm: rebind basically everything
RGBCube Jun 3, 2026
bff6ae2
agentsmd: update
RGBCube Jun 4, 2026
7896ce9
slop: allow reading nix store and profiles
RGBCube Jun 6, 2026
880f6e6
nushell.extraConfig: source files instead
RGBCube Jun 6, 2026
3e5f060
treewide: use <| more
RGBCube Jun 6, 2026
4ca0668
nushell: drop some aliases, system.build.setEnvironmentNu
RGBCube Jun 6, 2026
d9b92d5
tailscale: drop alias
RGBCube Jun 6, 2026
202651f
packages: drop moreutils, sd, timg
RGBCube Jun 6, 2026
9e026ae
claude: fix
RGBCube Jun 6, 2026
54915d1
nushell: overhaul
RGBCube Jun 6, 2026
3d9ad54
agentsmd: update
RGBCube Jun 6, 2026
f31f800
slop: forbid stuff
RGBCube Jun 6, 2026
722f058
helium: disable battery saver
RGBCube Jun 6, 2026
496c777
unfree: change package name
RGBCube Jun 6, 2026
20ba39a
hickory-dns: set directory better
RGBCube Jun 6, 2026
aa9a9c5
nushell: extraInit too
RGBCube Jun 6, 2026
5e6a11e
installer: make script better
RGBCube Jun 6, 2026
e090b06
opencode: use system theme
RGBCube Jun 8, 2026
cb1760c
helium: remove unused extensions
RGBCube Jun 8, 2026
3bf2cec
slop: instructions
RGBCube Jun 8, 2026
8331385
tailscale: drop
RGBCube Jun 8, 2026
5604b76
treewide: use r###''### for raw strings
RGBCube Jun 8, 2026
a9b72c3
lib.shell: reformat
RGBCube Jun 8, 2026
1e8641c
nushell.colors: no more ifd
RGBCube Jun 8, 2026
87b2263
hickory-dns: reformat
RGBCube Jun 8, 2026
79f7236
managed-files: init
RGBCube Jun 8, 2026
008016f
helium: use managed-files
RGBCube Jun 8, 2026
242e874
vienna: declare imageSize and imageFormat
RGBCube Jun 8, 2026
e9a962e
nixs: init
RGBCube Jun 9, 2026
0ced81f
treewide: consistency for ...arguments
RGBCube Jun 9, 2026
617f963
nixs: relax, bro
RGBCube Jun 9, 2026
9c6f8ef
options.dns: init
RGBCube Jun 9, 2026
6049114
options.dns: fix DS handling
RGBCube Jun 10, 2026
94d3935
options.dns: fix junk non-apex DS records being included in the zone …
RGBCube Jun 10, 2026
b8d238c
options.dns: more better
RGBCube Jun 10, 2026
39bf87f
options.dns: fat TXT record support
RGBCube Jun 10, 2026
fa70f98
options.dns: format
RGBCube Jun 10, 2026
5f38656
modules.dns: move to new dns system
RGBCube Jun 10, 2026
8cad2ff
hickory-dns: add restart trigger
RGBCube Jun 10, 2026
d9a763d
dns: support TTLs and classes
RGBCube Jun 10, 2026
8c400d1
slop: don't ban nix commands, just make them use nixs
RGBCube Jun 10, 2026
4aceefd
network: i don't use doggo
RGBCube Jun 10, 2026
b671b9d
slop: cargo nextest rather
RGBCube Jun 10, 2026
759558c
editor: no kotlin lsp
RGBCube Jun 11, 2026
3a1dede
agentsmd: update
RGBCube Jun 11, 2026
493737a
lib: refactor and make each part a module-like thing, and move dns ty…
RGBCube Jun 12, 2026
d4885e4
agentsmd: update
RGBCube Jun 12, 2026
2d0bdb6
nushell: move nushell.config.nu into the nix module
RGBCube Jun 12, 2026
50186d6
agentsmd: update
RGBCube Jun 12, 2026
2eed54a
nushell: fix
RGBCube Jun 16, 2026
fc4de7f
slop: fix clod patch
RGBCube Jun 16, 2026
82c496d
web-browser: toggle selections bookmark
RGBCube Jun 18, 2026
7f55b59
web-browser: fix
RGBCube Jun 19, 2026
c86eeea
managed-files: fix mainProgram
RGBCube Jun 19, 2026
cf3390b
managed-files: restart cfprefsd on managed preferences write
RGBCube Jun 19, 2026
f383c7e
web-browser: account for ::before ::after content in toggle selectabi…
RGBCube Jun 19, 2026
b97c2b3
fuck the whatwg url parser
RGBCube Jun 19, 2026
ad12da6
web-browser: coal
RGBCube Jun 19, 2026
5ff9511
web-browser: add filter
RGBCube Jun 19, 2026
6a161e2
ghostty: FUCK
RGBCube Jun 19, 2026
70b65d5
vienna: define imageBuilder well
RGBCube Jun 19, 2026
4b3e574
matrix-imagepack-sync: init
RGBCube Jun 19, 2026
216ecb4
flake: remove extra substituters
RGBCube Jun 23, 2026
550d3a9
matrix-imagepack-sync: fix
RGBCube Jun 23, 2026
a379443
matrix-imagepack-sync: fix name / display name stuff
RGBCube Jun 23, 2026
09ae83a
matrix-imagepack-sync: add consts for some constants
RGBCube Jun 23, 2026
12aa29f
nushell: fix --wrapped arg breakage
RGBCube Jun 23, 2026
e4ac1d9
slop: don't use newer codex
RGBCube Jun 27, 2026
62adb7e
flake: fix breakage
RGBCube Jun 27, 2026
14f7546
thunderbird: comment out
RGBCube Jun 27, 2026
5f96ff7
btop: fix
RGBCube Jun 27, 2026
02ccaa6
darwin-wm: fix symbolic hotkey setting
RGBCube Jun 28, 2026
fd1860d
web-browser: pass --set-home to defaultbrowser's sudo
RGBCube Jun 28, 2026
9e43e6e
use-xdg-dirs: set ZDOTDIR better
RGBCube Jun 28, 2026
60b0a9a
claude: fix fallback ls
RGBCube Jun 30, 2026
d6176ae
gitignore: update
RGBCube Jul 1, 2026
75eb12c
dns: error against uppercase names as they are probably typos
RGBCube Jul 1, 2026
795a4de
syncthing: drop for nixos for now
RGBCube Jul 2, 2026
e44a47e
services: add base, add monerod, fully declare hickory options
RGBCube Jul 2, 2026
f3ed59c
difftastic: fix fixme
RGBCube Jul 2, 2026
db3c241
jujutsu: use watchman, difftastic: drop git integration
RGBCube Jul 4, 2026
e1c1ae8
keys: refactor into entities, radicle: move to version-control
RGBCube Jul 4, 2026
43ffdb8
ssh: use a generator for the config
RGBCube Jul 4, 2026
a721dc6
metrics: nuke for now
RGBCube Jul 4, 2026
8288d52
jc: drop
RGBCube Jul 4, 2026
04edb78
installer: exec nixos-install rather than keeping it a child
RGBCube Jul 4, 2026
7c9d7d6
bat: make pager situation awesome
RGBCube Jul 4, 2026
1dd2e5c
bat: fix comments
RGBCube Jul 4, 2026
d7782f4
bat: stop larping as the pager, only use for coloring and fancy let
RGBCube Jul 4, 2026
70487f8
dns: fix DYLD hack
RGBCube Jul 4, 2026
12c6239
bat: fix manpager
RGBCube Jul 4, 2026
c0d9ac6
bat: make cat be less if only 1 file given
RGBCube Jul 4, 2026
596a8e3
less: drop wrapper, use lesskey config
RGBCube Jul 5, 2026
a28978c
slop: fix $rebuild gaps
RGBCube Jul 5, 2026
d925a71
slop: ban find over /nix/store
RGBCube Jul 6, 2026
694f786
paperwm: update
RGBCube Jul 6, 2026
c4698ba
qbittorrent: declare config
RGBCube Jul 9, 2026
e8c8c08
qbittorrent: nyaa.si search
RGBCube Jul 11, 2026
00a7ed9
dns: autorestart resolver on darwin
RGBCube Jul 11, 2026
1f016c9
pala: don't use codex
RGBCube Jul 11, 2026
699e36b
documentation: disable on darwin too
RGBCube Jul 11, 2026
eb8a214
nuke-default-packages: enhance
RGBCube Jul 11, 2026
84bceff
paperwm: fix
RGBCube Jul 11, 2026
994d688
flake: update
RGBCube Jul 12, 2026
01923b4
qbittorrent: use cask on darwin
RGBCube Jul 12, 2026
9df8cb3
web-browser: stylesheets
RGBCube Jul 12, 2026
7301e22
rust infra: init
RGBCube Jul 12, 2026
5f27999
rust: set RUSTFMT in devshell
RGBCube Jul 12, 2026
c80541a
syncthing: disable auto update checks
RGBCube Jul 13, 2026
3fcddbc
gh: use http auth
RGBCube Jul 14, 2026
b3adfe3
jujutsu: remove unused aliases and fix bookmark advance revsets
RGBCube Jul 14, 2026
6a40144
treewide: use pkgs.writes.writeNu[Bin]
RGBCube Jul 14, 2026
2bde10f
lib: remove asShell, use pkgs.writers.writeNu
RGBCube Jul 14, 2026
375ff43
nushell: add realwhich
RGBCube Jul 14, 2026
3e57ad4
treewide: collapse redundant stuff
RGBCube Jul 14, 2026
0834898
jujutsu: revamp fork script
RGBCube Jul 14, 2026
d032a20
jujutsu: remove PAGER hack
RGBCube Jul 15, 2026
ededf5b
dns: fuck darwin
RGBCube Jul 15, 2026
7412674
helium: allow user script for violentmonkey
RGBCube Jul 16, 2026
4852110
bat: set JJ_PAGER
RGBCube Jul 16, 2026
b697dd0
dns: restart resolver if it returns SERVFAIL too
RGBCube Jul 16, 2026
c7f1d0e
jujutsu: fix resolve-ast alias
RGBCube Jul 16, 2026
985bf62
jujutsu: fix bookmark-advance-from
RGBCube Jul 16, 2026
275f1af
treewide: make commonModules alias-only and internal
RGBCube Jul 16, 2026
ba21e91
nix: remove nix-index
RGBCube Jul 16, 2026
8d5beff
groups: sort modules into groups
RGBCube Jul 16, 2026
2269cd6
darwin: do not inherit system path
RGBCube Jul 17, 2026
a62b1ae
packages: remove for environments
RGBCube Jul 18, 2026
259f3bb
nix: remove distributed builds
RGBCube Jul 18, 2026
1918bd1
nix: derive nixPath from the registry
RGBCube Jul 18, 2026
f8a8e3b
nix: resolve bare package refs against our own flake, then nixpkgs
RGBCube Jul 18, 2026
2f42332
ghostty: use discrete scroll multiplier
RGBCube Jul 18, 2026
2059b3a
treewide: cleanup
RGBCube Jul 20, 2026
0e54ec1
dns: fix resolver-autorestart
RGBCube Jul 21, 2026
9f79fcd
flake-outputs: fix modularServices output class
RGBCube Jul 21, 2026
90eed0a
flake-outputs: make declaring a home module create the system module
RGBCube Jul 21, 2026
bff33c2
services: rename modularServices to serviceModules
RGBCube Jul 21, 2026
6fd891e
ghostty: don't use hjem rum
RGBCube Jul 21, 2026
956f360
direnv: don't use hjem rum
RGBCube Jul 21, 2026
ba17474
zoxide: don't use hjem rum
RGBCube Jul 21, 2026
4f1de08
nushell: don't use hjem rum, remove hjem rum
RGBCube Jul 21, 2026
c0bb5eb
slop: fix claude launcher to explicitly specify gzip rather than usin…
RGBCube Jul 22, 2026
3f6679d
slop: add extra tools to PATH of slop wrappers
RGBCube Jul 22, 2026
6ea3b43
flake: debloat
RGBCube Jul 22, 2026
bce42c1
keepassxc: use nixpkgs, has been fixed now
RGBCube Jul 22, 2026
d4897d3
nushell: use sys host rather than an external in prompt
RGBCube Jul 22, 2026
7834a3a
qbittorrent: use from nixpkgs
RGBCube Jul 22, 2026
eea7703
nushell: fix deprecations
RGBCube Jul 22, 2026
ffadce5
etc.shells: disable
RGBCube Jul 22, 2026
e3eac72
bat: use toCommandLine rather than a custom generator
RGBCube Jul 24, 2026
06c4227
ripgrep: use toCommandLine rather than a custom generator
RGBCube Jul 24, 2026
2baceac
ssh: run server on desktops too, and make endlessh modular
RGBCube Jul 24, 2026
15eb451
endlessh-go: fix the golang std's sloppy retarded code
RGBCube Jul 24, 2026
2f1ec1a
flake: bump
RGBCube Jul 24, 2026
7c918cb
ssh: fix auth sock call thing
RGBCube Jul 24, 2026
7cde60e
flake: update nix-darwin
RGBCube Jul 24, 2026
ba3f0a0
maccy: hide from status bar
RGBCube Jul 24, 2026
d001caf
qbittorrent: hide macos menu bar icon
RGBCube Jul 24, 2026
c342266
darwin-desktop: add Stats.app
RGBCube Jul 24, 2026
e446587
darwin: fix prefs scope
RGBCube Jul 25, 2026
1e9e0ab
dns: validate DNSSEC
RGBCube Jul 25, 2026
b926df3
darwin: add man to system path
RGBCube Jul 26, 2026
ace5d2d
linux-boot: avoid systemd-boot painting or mdoesetting anything
RGBCube Jul 26, 2026
9c51c9f
hammerspoon: don't recreate all space buttons on every space change
RGBCube Jul 26, 2026
9a6c913
hammerspoon: fix resize logic
RGBCube Jul 26, 2026
329deaa
hammerspoon: fix paperwm stuff
RGBCube Jul 26, 2026
cb448e4
nushell: make realwhich be more like which
RGBCube Jul 26, 2026
581e25a
treewide: disable auto updates on darwin
RGBCube Jul 26, 2026
19a52d7
kernel: VTless
RGBCube Jul 26, 2026
06c2654
persist: don't error on services that aren't built on `base`
RGBCube Jul 27, 2026
f39e555
ida-pro: drop
RGBCube Jul 27, 2026
7d10ed8
hardware: fix aliases
RGBCube Jul 27, 2026
449ea3a
flake: remove empty nixConfig options
RGBCube Jul 27, 2026
dd709f8
dump: fix module name
RGBCube Jul 27, 2026
ba01b01
sudo: drop sudo-run0-shim
RGBCube Jul 29, 2026
76e195e
flake: use gh refs instead of forks better
RGBCube Jul 29, 2026
07bae3d
stats: drop
RGBCube Jul 29, 2026
a175ea6
flake: use hjem pr
RGBCube Jul 29, 2026
e207364
gh: install gh-stack
RGBCube Jul 29, 2026
303da42
jujutsu: drop unused aliases
RGBCube Jul 30, 2026
58fec28
jujutsu: jj open
RGBCube Jul 30, 2026
731ffec
jujutsu: use getExe + writeNuBin so --help messages don't have the st…
RGBCube Jul 30, 2026
60d98ca
jujutsu: make jj-open work for forks with the same name
RGBCube Jul 30, 2026
894de4f
adb: don't wrap, it's futile
RGBCube Jul 30, 2026
15cb7aa
web-browser: suspend until blocklists are loaded
RGBCube Aug 2, 2026
a804f3c
slop: don't snapshot
RGBCube Jul 27, 2026
fa530f7
entities: rename key to ssh-key, add fido2 credentials
RGBCube Aug 5, 2026
ffbe503
rust: clean up, accept overrides
RGBCube Aug 5, 2026
2e26738
yazi: init
RGBCube Aug 5, 2026
176a4f1
version-control: fix nonexistent toTOML import
RGBCube Aug 6, 2026
512d667
agentsmd: ban getFlake
RGBCube Aug 6, 2026
5ce519e
yazi: configure
RGBCube Aug 6, 2026
81bfd74
dns: don't validate DNSSEC for now
RGBCube Aug 7, 2026
5bb5119
base: add Standard{Out,Error}Path and darwin module to rotate logs
RGBCube Aug 9, 2026
1af8290
yazi: don't wrap
RGBCube Aug 9, 2026
68aa1ac
miniserve: use instead of python -m http.server
RGBCube Aug 9, 2026
caedb5f
generators: toKDL
RGBCube Aug 12, 2026
9f9d227
sessiond: init
RGBCube Aug 15, 2026
d4039a9
kmscon: be the sessiond instanced session
RGBCube Aug 17, 2026
3fe07e7
slop: fix claude
RGBCube Aug 17, 2026
1362c96
nix: add dix
RGBCube Aug 25, 2026
6361072
entities: rearchitect
RGBCube Aug 28, 2026
faaff2c
vienna: drop the cross stuff
RGBCube Aug 28, 2026
1e43f2f
nix: remove redundant $in |
RGBCube Aug 28, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 22 additions & 8 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,19 +4,33 @@

!hosts/
!hosts/**/

!lib/

!lib/**/
!modules/
!modules/**/
!modules/darwin/paperwm/*.c
!options/
!options/**/
!services/
!services/**/

!flake.nix
!flake.lock

!*.age
!*.gif
!*.md
!*.nix
!*.nu
!*.patch
!*.txt
!*.age

!*.keymap
!*.md
!*.png
!*.yml
!*.json

!packages/
!packages/**/
packages/*/.direnv/
packages/*/target/
!packages/**/*.rs
!packages/**/*.toml
!packages/**/Cargo.lock
!packages/**/.envrc
70 changes: 70 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
# Version Control

Never use `git`. Instead of `git add`, use `jj file track`.

# Development Rules

- Never `find /nix/store` or anything equivalent. Prefer using
`nix flake archive --json`.
- Do not execute `nix flake archive --json` with commands that actually search
over the result of that, as it forces the user to review every single time.
Run `nix flake archive --json` once, then refer to its output literally in
other, separate find commands. Not like `NIXPKGS=/nix/store/... rg $NIXPKGS`,
not like `np=/nix/store/...; sed -n 258,275p "$np/lib/modules.nix"`,
_literally_, without any variables.
- Never use non-new `nix` commands. Prefer `nix build` over `nix-build` and so
on. Always prefer new (nix3) commands.
- Never use python to parse json if jq can do it fine, jq avoids permission
prompts.
- Do not ever run `builtins.getFlake`, use flakerefs in the nix3 cli properly.
`getFlake` copies the entire path to the nix store, which includes `target`
dirs and is overall a waste of storage and time.

# Nix Style Rules

- Prefer `lib.lists.singleton` over a single item list.
- Always `let inherit (lib.<path>) foo;` with full paths like `lib.lists.head`,
never `inherit (lib) foo` unless `foo` has no submodule path.
- Always use the Dendritic Pattern (flake-parts `*.mod.nix` auto-discovery).
- Always prefer `${getExe pkgs.something}` over bare command names in shell
aliases. Use `package = getExe pkgs.something` when there are multiple usages.
- Leave an empty line between unrelated options.
- Module key order: environment variables, aliases, packages, XDG config,
program-specific configuration.
- Never put values in `let` bindings that duplicate module system options. If a
value is set through `config.*`, always reference it through `config.*`. `let`
bindings for hardcoded values that could be overridden via the module system
are forbidden. `let` is fine for computed derivations, helper functions, and
`getExe` shortcuts.
- Prefer destructuring attrset arguments when it improves clarity. Use
`{ home, ... }:` instead of `value: value.home` where it makes sense.
- On Linux, use KDE applications (except Plasma). Dolphin over Thunar, Ark over
xfce archive tools, etc.
- Always put `/* lang */` before multiline code strings, e.g. `/* bash */ ''`.
- Category/section comments should be uppercase with no period, e.g. `# DOCK`,
not `# Dock.`.
- Prefer setting individual options with `mkIf` over wrapping entire attrsets.
Use `foo.bar = mkIf condition value;` not
`foo = mkIf condition { bar = value; };` when possible.
- Never refer to the OS as "macOS" in file names or module names. Always use
"darwin". E.g. `darwin-wm.mod.nix`, not `macos-wm.mod.nix`.
- Inline package definitions should use `pkgs.callPackage` with destructured
args, e.g. `pkgs.callPackage ({ stdenv, writeText }: ...) { }`.
- For inline source code in packages, use `writeText` directly in the `src`
attribute rather than a separate `let` binding.
- If a package is its own concern (e.g. a custom C tool), put the `perSystem`
definition in its own `.mod.nix` file separate from the module that uses it.
- Prefer `<|` (pipe-last) over parentheses when the parenthesized expression is
the final argument to a function. E.g. `mkIf condition <| toJSON { ... }`
instead of `mkIf condition (toJSON { ... })`. Does not apply when the
parenthesized expression is not the last argument (e.g.
`callPackage (...) { }`). Does not work with `if`, `let`, or lambda
expressions on the RHS — those still need parentheses.
- In modules that define both `darwinModules` and other module types, put
`darwinModules` first.
- Do not use `builtins.` in modules.
- Never use `rec` ever. Worst case, define a custom `fix`.
- Do not use shortform CLI arguments if longform exists in source files. It's
only OK for interactive use. (and never when providing scripts to the user)
- Never use `toString` for paths that need to preserve derivation contexts.
Always `"${path}"`.
Loading