Skip to content

Conversation

@spikespaz
Copy link
Contributor

@spikespaz spikespaz commented Jul 23, 2025

  • result/ is a directory, which was supposed to be a symbolic link (file), without trailing /.
  • result-lib, result-dev and result-man are valid Nix build outputs that should also be ignored.
  • Some files should only realistically appear in the root of the repository, for those names, prefix with / to prevent future confusion.

There's other junk in the .gitignore that looks like it started from a (very bad) template. I'm not sure what else should be removed, but I see very few projects ignore rustmft backup files (it is stable enough that these should almost never be created) and rls is deprecated. I haven't touched these entries that I think should be removed outright.

Previously `result/` was ignored as a directory, which doesn't work if
the `result` inode is a symlink.
- Added `result-lib`, `result-dev`, and `result-man` which are all
  possible (known to me) names for Nix build output links.
- Removed duplicate `.direnv` entry.
- Removed an incorrect comment.
@spikespaz
Copy link
Contributor Author

@raphamorim I have more to contribute, but I'm wondering if these changes are welcome at all.

@raphamorim
Copy link
Owner

raphamorim commented Aug 21, 2025

Sorry I meant to ask if this pr was still valid after the pr you did originally

@spikespaz
Copy link
Contributor Author

Separate changes at the same time. I noticed the gitignore was messed up when I was testing my changes.

@spikespaz
Copy link
Contributor Author

My original message has a poorly phrased question however, do you want me to add another commit removing whatever I thought was useless?

.direnv/
result/
# Nix build output
/result
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

right, so basically to exclude matches anywhere in the repo? (asking to understand the reason)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This / prefix excludes matches only at the root of the repo. There is no trailing / because it's always a symlink, so a directory named result is fine.

You could use result as a bare name, but I don't like to make .gitignore patterns unnecessarily strict.

/result-dev
/result-man

target/
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This one I rather keep because I use rio in a private fork that I have been working and target is independent there for multi levels

Copy link
Contributor Author

@spikespaz spikespaz Oct 1, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why would that be the case? The repository is a workspace, and thus, target should only appear at /.

Having a directory/module named target is perfectly reasonable, perhaps a compromise would be to add !/**/src/**/target/?

Or, I'm a big fan of adding .gitignore in directories which need special handling (for offline work, for example).

KaiSforza added a commit to KaiSforza/rio that referenced this pull request Oct 1, 2025
* Format with `alejandra` and add it to all devShells
* Use `lib.fileset` to get only the needed files for the build
* Fix build inputs for Darwin
* Make `wayland` and `x11` optional using the package args `with*`
* Create a separate `terminfo` output[^1]
* Fix nix file indentation to 2 instead of 4
* Remove `app`, `package` already has a `meta.mainProgram` attribute
* Add an overlay that can be used to override the `rio` package using
  flake-part's easyOverlay module[^2]
* Create separate package for `msrv`, `stable` and `nightly`, matching
  the different `devShells` available
* Removed the `flake = false` attribute for `inputs.systems`
* Create `legacyPackages.rio` containing four sub packages using
  different versions of the rust-toolchain:
    * `rio.msrv` - uses `./rust-toolchain.toml`
    * `rio.stable` - uses `rust-bin.stable`
    * `rio.nightly` - uses the latest nightly rust
    * `rio.default` - Same as `rio.msrv`
* Added `/result` to get rid of the `nix build` output file[^3]


[^1]: https://github.com/NixOS/nixpkgs/blob/nixos-unstable/pkgs/by-name/ri/rio/package.nix
[^2]: https://flake.parts/options/flake-parts-easyoverlay
[^3]: A simpler version of raphamorim#1233, that _just_ adds this one line
KaiSforza added a commit to KaiSforza/rio that referenced this pull request Oct 1, 2025
* Format with `alejandra` and add it to all devShells
* Use `lib.fileset` to get only the needed files for the build
* Fix build inputs for Darwin
* Make `wayland` and `x11` optional using the package args `with*`
* Create a separate `terminfo` output[^1]
* Fix nix file indentation to 2 instead of 4
* Remove `app`, `package` already has a `meta.mainProgram` attribute
* Add an overlay that can be used to override the `rio` package using
  flake-part's easyOverlay module[^2]
* Create separate package for `msrv`, `stable` and `nightly`, matching
  the different `devShells` available
* Removed the `flake = false` attribute for `inputs.systems`
* Create `legacyPackages.rio` containing four sub packages using
  different versions of the rust-toolchain:
    * `rio.msrv` - uses `./rust-toolchain.toml`
    * `rio.stable` - uses `rust-bin.stable`
    * `rio.nightly` - uses the latest nightly rust
    * `rio.default` - Same as `rio.msrv`
* Added `/result` to get rid of the `nix build` output file[^3]


[^1]: https://github.com/NixOS/nixpkgs/blob/nixos-unstable/pkgs/by-name/ri/rio/package.nix
[^2]: https://flake.parts/options/flake-parts-easyoverlay
[^3]: A simpler version of raphamorim#1233, that _just_ adds this one line
@KaiSforza KaiSforza mentioned this pull request Oct 1, 2025
KaiSforza added a commit to KaiSforza/rio that referenced this pull request Oct 12, 2025
* Format with `alejandra` and add it to all devShells
* Use `lib.fileset` to get only the needed files for the build
* Fix build inputs for Darwin
* Make `wayland` and `x11` optional using the package args `with*`
* Create a separate `terminfo` output[^1]
* Fix nix file indentation to 2 instead of 4
* Remove `app`, `package` already has a `meta.mainProgram` attribute
* Add an overlay that can be used to override the `rio` package using
  flake-part's easyOverlay module[^2]
* Create separate package for `msrv`, `stable` and `nightly`, matching
  the different `devShells` available
* Removed the `flake = false` attribute for `inputs.systems`
* Create `legacyPackages.rio` containing four sub packages using
  different versions of the rust-toolchain:
    * `rio.msrv` - uses `./rust-toolchain.toml`
    * `rio.stable` - uses `rust-bin.stable`
    * `rio.nightly` - uses the latest nightly rust
    * `rio.default` - Same as `rio.msrv`
* Added `/result` to get rid of the `nix build` output file[^3]


[^1]: https://github.com/NixOS/nixpkgs/blob/nixos-unstable/pkgs/by-name/ri/rio/package.nix
[^2]: https://flake.parts/options/flake-parts-easyoverlay
[^3]: A simpler version of raphamorim#1233, that _just_ adds this one line
KaiSforza added a commit to KaiSforza/rio that referenced this pull request Oct 17, 2025
* Format with `alejandra` and add it to all devShells
* Use `lib.fileset` to get only the needed files for the build
* Fix build inputs for Darwin
* Make `wayland` and `x11` optional using the package args `with*`
* Create a separate `terminfo` output[^1]
* Fix nix file indentation to 2 instead of 4
* Remove `app`, `package` already has a `meta.mainProgram` attribute
* Add an overlay that can be used to override the `rio` package using
  flake-part's easyOverlay module[^2]
* Create separate package for `msrv`, `stable` and `nightly`, matching
  the different `devShells` available
* Removed the `flake = false` attribute for `inputs.systems`
* Create `legacyPackages.rio` containing four sub packages using
  different versions of the rust-toolchain:
    * `rio.msrv` - uses `./rust-toolchain.toml`
    * `rio.stable` - uses `rust-bin.stable`
    * `rio.nightly` - uses the latest nightly rust
    * `rio.default` - Same as `rio.msrv`
* Added `/result` to get rid of the `nix build` output file[^3]


[^1]: https://github.com/NixOS/nixpkgs/blob/nixos-unstable/pkgs/by-name/ri/rio/package.nix
[^2]: https://flake.parts/options/flake-parts-easyoverlay
[^3]: A simpler version of raphamorim#1233, that _just_ adds this one line
KaiSforza added a commit to KaiSforza/rio that referenced this pull request Oct 22, 2025
* Format with `alejandra` and add it to all devShells
* Use `lib.fileset` to get only the needed files for the build
* Fix build inputs for Darwin
* Make `wayland` and `x11` optional using the package args `with*`
* Create a separate `terminfo` output[^1]
* Fix nix file indentation to 2 instead of 4
* Remove `app`, `package` already has a `meta.mainProgram` attribute
* Add an overlay that can be used to override the `rio` package using
  flake-part's easyOverlay module[^2]
* Create separate package for `msrv`, `stable` and `nightly`, matching
  the different `devShells` available
* Removed the `flake = false` attribute for `inputs.systems`
* Create `legacyPackages.rio` containing four sub packages using
  different versions of the rust-toolchain:
    * `rio.msrv` - uses `./rust-toolchain.toml`
    * `rio.stable` - uses `rust-bin.stable`
    * `rio.nightly` - uses the latest nightly rust
    * `rio.default` - Same as `rio.msrv`
* Added `/result` to get rid of the `nix build` output file[^3]


[^1]: https://github.com/NixOS/nixpkgs/blob/nixos-unstable/pkgs/by-name/ri/rio/package.nix
[^2]: https://flake.parts/options/flake-parts-easyoverlay
[^3]: A simpler version of raphamorim#1233, that _just_ adds this one line
KaiSforza added a commit to KaiSforza/rio that referenced this pull request Oct 22, 2025
* Format with `alejandra` and add it to all devShells
* Use `lib.fileset` to get only the needed files for the build
* Fix build inputs for Darwin
* Make `wayland` and `x11` optional using the package args `with*`
* Create a separate `terminfo` output[^1]
* Fix nix file indentation to 2 instead of 4
* Remove `app`, `package` already has a `meta.mainProgram` attribute
* Add an overlay that can be used to override the `rio` package using
  flake-part's easyOverlay module[^2]
* Create separate package for `msrv`, `stable` and `nightly`, matching
  the different `devShells` available
* Removed the `flake = false` attribute for `inputs.systems`
* Create `legacyPackages.rio` containing four sub packages using
  different versions of the rust-toolchain:
    * `rio.msrv` - uses `./rust-toolchain.toml`
    * `rio.stable` - uses `rust-bin.stable`
    * `rio.nightly` - uses the latest nightly rust
    * `rio.default` - Same as `rio.msrv`
* Added `/result` to get rid of the `nix build` output file[^3]


[^1]: https://github.com/NixOS/nixpkgs/blob/nixos-unstable/pkgs/by-name/ri/rio/package.nix
[^2]: https://flake.parts/options/flake-parts-easyoverlay
[^3]: A simpler version of raphamorim#1233, that _just_ adds this one line
raphamorim pushed a commit that referenced this pull request Oct 22, 2025
* Format with `alejandra` and add it to all devShells
* Use `lib.fileset` to get only the needed files for the build
* Fix build inputs for Darwin
* Make `wayland` and `x11` optional using the package args `with*`
* Create a separate `terminfo` output[^1]
* Fix nix file indentation to 2 instead of 4
* Remove `app`, `package` already has a `meta.mainProgram` attribute
* Add an overlay that can be used to override the `rio` package using
  flake-part's easyOverlay module[^2]
* Create separate package for `msrv`, `stable` and `nightly`, matching
  the different `devShells` available
* Removed the `flake = false` attribute for `inputs.systems`
* Create `legacyPackages.rio` containing four sub packages using
  different versions of the rust-toolchain:
    * `rio.msrv` - uses `./rust-toolchain.toml`
    * `rio.stable` - uses `rust-bin.stable`
    * `rio.nightly` - uses the latest nightly rust
    * `rio.default` - Same as `rio.msrv`
* Added `/result` to get rid of the `nix build` output file[^3]


[^1]: https://github.com/NixOS/nixpkgs/blob/nixos-unstable/pkgs/by-name/ri/rio/package.nix
[^2]: https://flake.parts/options/flake-parts-easyoverlay
[^3]: A simpler version of #1233, that _just_ adds this one line
raphamorim pushed a commit that referenced this pull request Oct 29, 2025
* Format with `alejandra` and add it to all devShells
* Use `lib.fileset` to get only the needed files for the build
* Fix build inputs for Darwin
* Make `wayland` and `x11` optional using the package args `with*`
* Create a separate `terminfo` output[^1]
* Fix nix file indentation to 2 instead of 4
* Remove `app`, `package` already has a `meta.mainProgram` attribute
* Add an overlay that can be used to override the `rio` package using
  flake-part's easyOverlay module[^2]
* Create separate package for `msrv`, `stable` and `nightly`, matching
  the different `devShells` available
* Removed the `flake = false` attribute for `inputs.systems`
* Create `legacyPackages.rio` containing four sub packages using
  different versions of the rust-toolchain:
    * `rio.msrv` - uses `./rust-toolchain.toml`
    * `rio.stable` - uses `rust-bin.stable`
    * `rio.nightly` - uses the latest nightly rust
    * `rio.default` - Same as `rio.msrv`
* Added `/result` to get rid of the `nix build` output file[^3]


[^1]: https://github.com/NixOS/nixpkgs/blob/nixos-unstable/pkgs/by-name/ri/rio/package.nix
[^2]: https://flake.parts/options/flake-parts-easyoverlay
[^3]: A simpler version of #1233, that _just_ adds this one line
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants