{
pkgs ? import <nixpkgs> {},
name ? "user-env",
}:
with pkgs;
buildEnv {
inherit name;
extraOutputsToInstall = ["out" "man" "lib"]; # to get all needed symlinks
paths = [
# ❯❯❯ nix_related
#nix # if not on NixOS, this is needed
direnv
nixVersions.unstable #nixFlakes
nix-prefetch-git
validatePkgConfig
nix-output-monitor
nix-tree
jq
alejandra
git
# ❯❯❯ dev
gnumake
ps
# ❯❯❯ d_build_related
# ❯❯ package manager
dub
# ❯❯ compiler
ldc
# ❯❯❯ sqlite search related
sqlite
# this will create a script that will rebuild and upgrade your setup; using shell script syntax
(writeScriptBin "nix-rebuild" ''
#!${stdenv.shell}
#cd <path-to-flake> || exit 1
nix flake update
nix profile upgrade '.*'
'')
# puts in your root the nixpkgs version
(writeTextFile {
name = "nixpkgs-version";
destination = "/nixpkgs-version";
text = lib.version;
})
];
}