Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/Mic92/nix-diff-rs
/ functions
Functions
88 in github.com/Mic92/nix-diff-rs
⨍
Functions
88
◇
Types & classes
22
↓ 28 callers
Method
write_indent
(&self, output: &mut Vec<u8>, indent: usize)
src/render.rs:579
↓ 9 callers
Function
parse_derivation
(path: &str)
src/parser.rs:10
↓ 8 callers
Method
format_string_diff
(&self, output: &mut Vec<u8>, diff: &StringDiff, indent: usize)
src/render.rs:241
↓ 7 callers
Method
write_section
(&self, output: &mut Vec<u8>, title: &[u8], indent: usize)
src/render.rs:574
↓ 6 callers
Function
setup_nix_env
()
tests/common.rs:3
↓ 5 callers
Method
diff_bytes
(&self, s1: &[u8], s2: &[u8])
src/diff.rs:420
↓ 5 callers
Function
empty_drv
()
src/render.rs:646
↓ 4 callers
Function
ctx
()
src/diff.rs:468
↓ 4 callers
Function
extract_flake_fields
Safely extract `path` and `locked.narHash` from flake metadata JSON.
src/instantiate.rs:83
↓ 4 callers
Method
format_derivation_diff
( &self, diff: &DerivationDiff, indent: usize, depth: usize, )
src/render.rs:73
↓ 4 callers
Method
format_text_diff
Render a multi-line text diff with context trimming. When inline highlighting is enabled, changed words within changed lines are reverse-video'd (delt
src/render.rs:487
↓ 4 callers
Method
green
(&self)
src/render.rs:588
↓ 4 callers
Method
red
(&self)
src/render.rs:585
↓ 3 callers
Function
assert_diff_output
(output: &str)
tests/integration_test.rs:7
↓ 3 callers
Method
diff_derivations
( &mut self, path1: &[u8], path2: &[u8], drv1: &Derivation, drv2: &Der
src/diff.rs:16
↓ 3 callers
Method
diff_inputs
( &mut self, inputs1: &BTreeMap<Vec<u8>, BTreeSet<Vec<u8>>>, inputs2: &BTreeMap<Vec<u8
src/diff.rs:227
↓ 3 callers
Method
format_inputs_diff
( &self, output: &mut Vec<u8>, diff: &InputsDiff, indent: usize, depth
src/render.rs:368
↓ 3 callers
Function
normalize_nix_output
Normalize store paths and hashes for consistent snapshots
tests/snapshot_test.rs:9
↓ 3 callers
Method
write_path_list
Write a list of store paths, truncating to `input_list_limit` entries and summarizing the remainder. Large add/remove lists (e.g., after a stdenv bump
src/render.rs:538
↓ 2 callers
Function
convert_derivation
( store_dir: &StoreDir, drv: harmonia_store_core::derivation::Derivation, )
src/parser.rs:63
↓ 2 callers
Method
diff_arguments
(&self, args1: &[Vec<u8>], args2: &[Vec<u8>])
src/diff.rs:113
↓ 2 callers
Method
diff_optional_bytes
( &self, s1: &Option<Vec<u8>>, s2: &Option<Vec<u8>>, )
src/diff.rs:431
↓ 2 callers
Method
diff_sources
( &self, sources1: &BTreeSet<Vec<u8>>, sources2: &BTreeSet<Vec<u8>>, )
src/diff.rs:139
↓ 2 callers
Function
drv_with_output
(name: &[u8], path: &[u8])
src/render.rs:746
↓ 2 callers
Method
get_name
Extract the derivation name from a store path e.g., "/nix/store/hash-name.drv" -> "name.drv"
src/types.rs:11
↓ 2 callers
Function
load_derivation
(input: &Path)
src/main.rs:131
↓ 2 callers
Function
print_help
()
src/main.rs:112
↓ 2 callers
Function
run_nix_diff
(file1: &str, file2: &str)
tests/snapshot_test.rs:18
↓ 2 callers
Function
run_nix_instantiate
Common function to instantiate and process nix-instantiate output
src/instantiate.rs:114
↓ 2 callers
Function
tokenize_path
Split on path/version separators so store-path hashes and version components become individual diff tokens. `similar::from_words` splits only on white
src/render.rs:611
↓ 2 callers
Method
write_inline_line
( &self, output: &mut Vec<u8>, indent: usize, color: &[u8], sign: &[u8
src/render.rs:282
↓ 1 callers
Method
cmp
(&self, other: &Self)
src/types.rs:33
↓ 1 callers
Function
convert_outputs
( store_dir: &StoreDir, drv: &harmonia_store_core::derivation::Derivation, )
src/parser.rs:110
↓ 1 callers
Method
diff_environment
( &self, env1: &BTreeMap<Vec<u8>, Vec<u8>>, env2: &BTreeMap<Vec<u8>, Vec<u8>>, )
src/diff.rs:391
↓ 1 callers
Method
diff_file_contents
(&self, content1: &[u8], content2: &[u8])
src/diff.rs:450
↓ 1 callers
Method
diff_outputs
( &self, outputs1: &BTreeMap<Vec<u8>, Output>, outputs2: &BTreeMap<Vec<u8>, Output>,
src/diff.rs:62
↓ 1 callers
Function
extract_drv_name
Extract the derivation name from a store path like `/nix/store/hash-name.drv`. Nix strips the `.drv` suffix to get the derivation name.
src/parser.rs:44
↓ 1 callers
Method
format_env_var_diff
(&self, output: &mut Vec<u8>, diff: &EnvVarDiff, indent: usize)
src/render.rs:461
↓ 1 callers
Method
format_output_diff
(&self, output: &mut Vec<u8>, diff: &OutputDiff, indent: usize)
src/render.rs:189
↓ 1 callers
Method
format_output_set_diff
(&self, output: &mut Vec<u8>, diff: &OutputSetDiff, indent: usize)
src/render.rs:449
↓ 1 callers
Method
format_sources_diff
(&self, output: &mut Vec<u8>, diff: &SourcesDiff, indent: usize)
src/render.rs:322
↓ 1 callers
Function
generate_nixos_derivations
()
benches/nixos_derivation.rs:7
↓ 1 callers
Function
get_derivation_path
(store_path: &str)
src/parser.rs:158
↓ 1 callers
Function
instantiate_and_parse
Instantiate a .nix file, flake, or expression and parse the resulting .drv file
src/instantiate.rs:11
↓ 1 callers
Function
instantiate_expression
Instantiate a Nix expression
src/instantiate.rs:100
↓ 1 callers
Function
instantiate_file
Instantiate a Nix file
src/instantiate.rs:107
↓ 1 callers
Function
instantiate_flake
Instantiate a flake reference
src/instantiate.rs:33
↓ 1 callers
Function
is_path_only_change
An output change that only touches the store path (not hash/algo) is a mechanical consequence of any other change and carries no information.
src/render.rs:631
↓ 1 callers
Function
parse_derivation_string
(input: &str)
src/parser.rs:23
↓ 1 callers
Method
push_changed_input
( &mut self, name: &[u8], path1: &[u8], path2: &[u8], outputs1: &BTree
src/diff.rs:344
↓ 1 callers
Method
render
Render the diff to stdout. Returns `true` if the derivations differ, `false` if identical.
src/render.rs:56
↓ 1 callers
Function
run
()
src/main.rs:19
↓ 1 callers
Function
store_dir_from_drv_path
Infer the store directory from a .drv path like `/nix/store/hash-name.drv` → `/nix/store`.
src/parser.rs:34
Function
already_compared_input_is_labeled
()
src/render.rs:706
Function
benchmark_nixos_diff
(c: &mut Criterion)
benches/nixos_derivation.rs:143
Method
bold
(&self)
src/render.rs:600
Method
cyan
(&self)
src/render.rs:594
Method
default
()
src/types.rs:200
Function
diff_arguments_preserves_positional_index
()
src/diff.rs:539
Function
diff_inputs_handles_duplicate_names
()
src/diff.rs:505
Function
diff_sources_matches_by_name_and_diffs_contents
()
src/diff.rs:473
Method
dim
(&self)
src/render.rs:597
Function
flake_metadata_happy_path
()
src/instantiate.rs:182
Function
flake_metadata_missing_locked_returns_error
()
src/instantiate.rs:163
Function
flake_metadata_missing_path_returns_error
()
src/instantiate.rs:175
Function
format_text_diff_limits_context
()
src/render.rs:884
Method
get_derivation_name
Extract derivation name from a path like /nix/store/hash-name.drv -> name.drv
src/diff.rs:233
Method
get_source_name
Extract name from a store path: /nix/store/hash-name -> name
src/diff.rs:145
Function
hides_output_path_noise_by_default
()
src/render.rs:763
Function
inline_highlight_disabled_without_color
()
src/render.rs:944
Function
inline_highlight_marks_changed_words
()
src/render.rs:911
Function
input_diff_shows_both_outputs_and_derivation
()
src/render.rs:659
Function
main
()
src/main.rs:7
Method
new
(opts: RenderOptions)
src/render.rs:33
Method
new
()
src/diff.rs:12
Method
partial_cmp
(&self, other: &Self)
src/types.rs:27
Method
reset
(&self)
src/render.rs:603
Function
shows_fod_hash_changes
()
src/render.rs:837
Function
test_basic_derivation_diff
()
tests/integration_test.rs:17
Function
test_flake_diff
()
tests/integration_test.rs:83
Function
test_hello_diff_snapshot
()
tests/snapshot_test.rs:68
Function
test_hello_diff_with_context
()
tests/snapshot_test.rs:80
Function
test_identical_derivations
()
tests/snapshot_test.rs:74
Function
test_inline_highlight_snapshot
()
tests/snapshot_test.rs:126
Function
test_nix_file_diff
()
tests/integration_test.rs:56
Function
test_parse_simple_derivation
()
src/parser.rs:200
Function
truncates_large_input_lists
()
src/render.rs:865
Method
yellow
(&self)
src/render.rs:591