`flake-utils` is currently only used for outputting system-specific dev
shells. This can actually be achieved only using functionality already
present within `nixpkgs`, thus there is no need for an extra dependency.
Additionally, we move to use the `packages` and `env` args for `mkShell`
to more clearly outline what they are used for.
---
Further reading:
https://determinate.systems/blog/best-practices-for-nix-at-work/#avoid-flake-helper-libraries-if-possible
As a side note, using `with` to import large scopes is [discouraged by
official Nix
resources](https://nix.dev/guides/best-practices#with-scopes), so an
alternative approach to list installed packages could be something like
this:
```nix
packages =
(builtins.attrValues {
inherit (pkgs)
# generic
git
git-lfs
gnumake
gnused
gnutar
gzip
zip
# frontend
cairo
pixman
pkg-config
# linting
uv
# backend
gofumpt
sqlite
;
inherit
# frontend
nodejs
pnpm
# linting
python3
# backend
go
;
})
++ linuxOnlyInputs;
```
But I saw this as too pedantic to include in the initial PR.
Co-authored-by: 6543 <6543@obermui.de>
To try it you need **nix** installed `nix-daemon ` running and your user
has to be member of the **nix-users** group. Or use NixOS.
then by just:
```sh
nix develop -c $SHELL
```
a dedicated development environment with all needed packages will be
created.