aboutsummaryrefslogtreecommitdiffhomepage
path: root/devenv.nix
diff options
context:
space:
mode:
Diffstat (limited to 'devenv.nix')
-rw-r--r--devenv.nix63
1 files changed, 63 insertions, 0 deletions
diff --git a/devenv.nix b/devenv.nix
new file mode 100644
index 0000000..81eff5a
--- /dev/null
+++ b/devenv.nix
@@ -0,0 +1,63 @@
+# profile.nix
+{ pkgs ? import <nixpkgs> { }, name ? "user-env" }: with pkgs;
+buildEnv {
+ inherit name;
+ extraOutputsToInstall = [ "out" "man" "lib" ]; # to get all needed symlinks
+ paths = [
+ #nix # if not on NixOS, this is needed
+ direnv
+ nixVersions.unstable #nixFlakes
+ nix-prefetch-git
+ validatePkgConfig
+ nix-tree jq nix-output-monitor
+ git
+ ps
+ ### d_build_related
+ dub
+ ## compiler
+ dmd
+ ldc
+ #gdc
+ #rund
+ ## linker
+ #lld
+ #mold
+ ## builder
+ #ninja
+ #meson
+ ### sqlite search related
+ sqlite
+ # ### pdf_latex_related
+ # source-sans-pro
+ # source-serif-pro
+ # source-code-pro
+ # texlive.combined.scheme-full
+ # ### xml_and_epub_related
+ # libxml2
+ # html-tidy
+ # xmlstarlet
+ # epubcheck
+ # ebook_tools
+ # epr
+ # sigil
+ # calibre #(suite includes: ebook-viewer)
+ # foliate
+ # ### i18n translation related
+ # perl534Packages.Po4a
+ ### candy
+ #starship
+ # 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;
+ })
+ ];
+}