Skip to content

Maintain same ownership when formatting#248

Merged
infinisil merged 1 commit intomasterfrom
atomic-chown
Sep 3, 2024
Merged

Maintain same ownership when formatting#248
infinisil merged 1 commit intomasterfrom
atomic-chown

Conversation

@infinisil
Copy link
Member

@infinisil infinisil commented Aug 29, 2024

Fixes #73

$ cabal install --installdir=$PWD/bin
Wrote tarball sdist to
/home/tweagysil/src/nixfmt/dist-newstyle/sdist/nixfmt-0.6.0.tar.gz
Resolving dependencies...
Symlinking 'nixfmt' to '/home/tweagysil/src/nixfmt/bin/nixfmt'

$ echo '1  +  1' > a.nix
$ sudo chown root:root a.nix

$ bin/nixfmt a.nix
nixfmt: ./.a.nix357406-0.atomic: setOwnerAndGroup: permission denied (Operation not permitted)
$ cat a.nix
1  +  1
$ stat -c "%U:%G" a.nix
root:root

$ sudo bin/nixfmt a.nix
$ cat a.nix
1 + 1
$ stat -c "%U:%G" a.nix
root:root


This work is sponsored by Antithesis

@github-actions
Copy link

github-actions bot commented Aug 29, 2024

Nixpkgs diff

@infinisil infinisil merged commit 3e8eef7 into master Sep 3, 2024
@infinisil infinisil deleted the atomic-chown branch September 3, 2024 18:31
@nixos-discourse
Copy link

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:

https://discourse.nixos.org/t/formatting-team-meeting-2024-09-03/51584/1

infinisil added a commit to tweag/nixpkgs that referenced this pull request Nov 28, 2024
Changes:
- NixOS/nixfmt#233 and
  NixOS/nixfmt#257 fix the poor formatting of
  `mkRenamedOptionModule` code.
- NixOS/nixfmt#240 deprecates passing
  directories as CLI args, instead using
  [treefmt](https://github.com/numtide/treefmt) is recommended.
- NixOS/nixfmt#246 fixes some problems with
  floats.
- NixOS/nixfmt#247 fixes trailing spaces not
  always being stripped.
- NixOS/nixfmt#248 ensures that the ownership of
  files isn't changed when formatting them.
- NixOS/nixfmt#249 fixes some poor formatting of
  some attribute selections.
- NixOS/nixfmt#262 ensures that 64-bit integers
  don't get trimmed on 32-bit platforms.
- NixOS/nixfmt#264 adds a `--filename` flag to
  allow setting the filename in error messages when formatting standard input.
- NixOS/nixfmt#243 added
  [installation and integration docs](https://github.com/NixOS/nixfmt?tab=readme-ov-file#installation-and-usage-instructions).
- NixOS/nixfmt#238 created a
  [`.pre-commit-hooks.yaml`](https://github.com/NixOS/nixfmt/blob/master/.pre-commit-hooks.yaml)
  for integration with [pre-commit](https://pre-commit.com/)
dasJ pushed a commit to NixOS/nixpkgs that referenced this pull request Nov 28, 2024
Changes:
- NixOS/nixfmt#233 and
  NixOS/nixfmt#257 fix the poor formatting of
  `mkRenamedOptionModule` code.
- NixOS/nixfmt#240 deprecates passing
  directories as CLI args, instead using
  [treefmt](https://github.com/numtide/treefmt) is recommended.
- NixOS/nixfmt#246 fixes some problems with
  floats.
- NixOS/nixfmt#247 fixes trailing spaces not
  always being stripped.
- NixOS/nixfmt#248 ensures that the ownership of
  files isn't changed when formatting them.
- NixOS/nixfmt#249 fixes some poor formatting of
  some attribute selections.
- NixOS/nixfmt#262 ensures that 64-bit integers
  don't get trimmed on 32-bit platforms.
- NixOS/nixfmt#264 adds a `--filename` flag to
  allow setting the filename in error messages when formatting standard input.
- NixOS/nixfmt#243 added
  [installation and integration docs](https://github.com/NixOS/nixfmt?tab=readme-ov-file#installation-and-usage-instructions).
- NixOS/nixfmt#238 created a
  [`.pre-commit-hooks.yaml`](https://github.com/NixOS/nixfmt/blob/master/.pre-commit-hooks.yaml)
  for integration with [pre-commit](https://pre-commit.com/)
github-actions bot pushed a commit to NixOS/nixpkgs that referenced this pull request Nov 28, 2024
Changes:
- NixOS/nixfmt#233 and
  NixOS/nixfmt#257 fix the poor formatting of
  `mkRenamedOptionModule` code.
- NixOS/nixfmt#240 deprecates passing
  directories as CLI args, instead using
  [treefmt](https://github.com/numtide/treefmt) is recommended.
- NixOS/nixfmt#246 fixes some problems with
  floats.
- NixOS/nixfmt#247 fixes trailing spaces not
  always being stripped.
- NixOS/nixfmt#248 ensures that the ownership of
  files isn't changed when formatting them.
- NixOS/nixfmt#249 fixes some poor formatting of
  some attribute selections.
- NixOS/nixfmt#262 ensures that 64-bit integers
  don't get trimmed on 32-bit platforms.
- NixOS/nixfmt#264 adds a `--filename` flag to
  allow setting the filename in error messages when formatting standard input.
- NixOS/nixfmt#243 added
  [installation and integration docs](https://github.com/NixOS/nixfmt?tab=readme-ov-file#installation-and-usage-instructions).
- NixOS/nixfmt#238 created a
  [`.pre-commit-hooks.yaml`](https://github.com/NixOS/nixfmt/blob/master/.pre-commit-hooks.yaml)
  for integration with [pre-commit](https://pre-commit.com/)

(cherry picked from commit edd47f7)
mkg20001 pushed a commit to mkg20001/nixpkgs that referenced this pull request Nov 30, 2024
Changes:
- NixOS/nixfmt#233 and
  NixOS/nixfmt#257 fix the poor formatting of
  `mkRenamedOptionModule` code.
- NixOS/nixfmt#240 deprecates passing
  directories as CLI args, instead using
  [treefmt](https://github.com/numtide/treefmt) is recommended.
- NixOS/nixfmt#246 fixes some problems with
  floats.
- NixOS/nixfmt#247 fixes trailing spaces not
  always being stripped.
- NixOS/nixfmt#248 ensures that the ownership of
  files isn't changed when formatting them.
- NixOS/nixfmt#249 fixes some poor formatting of
  some attribute selections.
- NixOS/nixfmt#262 ensures that 64-bit integers
  don't get trimmed on 32-bit platforms.
- NixOS/nixfmt#264 adds a `--filename` flag to
  allow setting the filename in error messages when formatting standard input.
- NixOS/nixfmt#243 added
  [installation and integration docs](https://github.com/NixOS/nixfmt?tab=readme-ov-file#installation-and-usage-instructions).
- NixOS/nixfmt#238 created a
  [`.pre-commit-hooks.yaml`](https://github.com/NixOS/nixfmt/blob/master/.pre-commit-hooks.yaml)
  for integration with [pre-commit](https://pre-commit.com/)
mkg20001 pushed a commit to mkg20001/nixpkgs that referenced this pull request Dec 2, 2024
Changes:
- NixOS/nixfmt#233 and
  NixOS/nixfmt#257 fix the poor formatting of
  `mkRenamedOptionModule` code.
- NixOS/nixfmt#240 deprecates passing
  directories as CLI args, instead using
  [treefmt](https://github.com/numtide/treefmt) is recommended.
- NixOS/nixfmt#246 fixes some problems with
  floats.
- NixOS/nixfmt#247 fixes trailing spaces not
  always being stripped.
- NixOS/nixfmt#248 ensures that the ownership of
  files isn't changed when formatting them.
- NixOS/nixfmt#249 fixes some poor formatting of
  some attribute selections.
- NixOS/nixfmt#262 ensures that 64-bit integers
  don't get trimmed on 32-bit platforms.
- NixOS/nixfmt#264 adds a `--filename` flag to
  allow setting the filename in error messages when formatting standard input.
- NixOS/nixfmt#243 added
  [installation and integration docs](https://github.com/NixOS/nixfmt?tab=readme-ov-file#installation-and-usage-instructions).
- NixOS/nixfmt#238 created a
  [`.pre-commit-hooks.yaml`](https://github.com/NixOS/nixfmt/blob/master/.pre-commit-hooks.yaml)
  for integration with [pre-commit](https://pre-commit.com/)
mkg20001 pushed a commit to mkg20001/nixpkgs that referenced this pull request Dec 4, 2024
Changes:
- NixOS/nixfmt#233 and
  NixOS/nixfmt#257 fix the poor formatting of
  `mkRenamedOptionModule` code.
- NixOS/nixfmt#240 deprecates passing
  directories as CLI args, instead using
  [treefmt](https://github.com/numtide/treefmt) is recommended.
- NixOS/nixfmt#246 fixes some problems with
  floats.
- NixOS/nixfmt#247 fixes trailing spaces not
  always being stripped.
- NixOS/nixfmt#248 ensures that the ownership of
  files isn't changed when formatting them.
- NixOS/nixfmt#249 fixes some poor formatting of
  some attribute selections.
- NixOS/nixfmt#262 ensures that 64-bit integers
  don't get trimmed on 32-bit platforms.
- NixOS/nixfmt#264 adds a `--filename` flag to
  allow setting the filename in error messages when formatting standard input.
- NixOS/nixfmt#243 added
  [installation and integration docs](https://github.com/NixOS/nixfmt?tab=readme-ov-file#installation-and-usage-instructions).
- NixOS/nixfmt#238 created a
  [`.pre-commit-hooks.yaml`](https://github.com/NixOS/nixfmt/blob/master/.pre-commit-hooks.yaml)
  for integration with [pre-commit](https://pre-commit.com/)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

Nixfmt does not persist file ownership

4 participants