1
1
Fork 0
mirror of https://github.com/the-nix-way/dev-templates synced 2024-05-13 15:46:05 +02:00

Compare commits

...

20 Commits

Author SHA1 Message Date
Luc Perkins 615e7e81f2
Merge pull request #40 from joelbenway/add-c-cpp
Add C/C++ development flake with some sane defaults.
2024-04-26 13:22:48 -03:00
Joel Benway a4a1c802c4
Merge branch 'main' into add-c-cpp 2024-04-16 00:26:50 -05:00
Joel Benway c6e0ffd175
Add C/C++ development flake with some sane defaults. 2024-04-16 00:24:38 -05:00
Stephen Stubbs aa6ef95e28
feature: add python venv 2024-04-16 00:20:27 -05:00
Joel Benway cf5b99113e
Add C/C++ development flake with some sane defaults. 2024-04-15 20:47:00 -05:00
Joel Benway 17e4a2c6fa
Add C/C++ development flake with some sane defaults. 2024-04-15 20:36:01 -05:00
Luc Perkins a35fa248d8
Streamline scripts again 2024-04-15 20:30:22 -05:00
Luc Perkins 5ba1e69d91
Fix shellcheck issue in check script 2024-04-15 20:30:22 -05:00
Luc Perkins 4341d055be
Remove building from check script 2024-04-15 20:30:22 -05:00
Luc Perkins 080456aa69
Make scripts less janky 2024-04-15 20:30:22 -05:00
Stephen Stubbs 4314fb5858
feature: add python venv 2024-04-15 20:30:18 -05:00
Stephen Stubbs 1df4dff2e7
chore: add jdtls to readme 2024-04-15 20:28:53 -05:00
Stephen Stubbs 58d35c7e7b
feature: add jdtls 2024-04-15 20:28:53 -05:00
Luc Perkins 2d373613e6
Add check action 2024-04-15 20:28:53 -05:00
Luc Perkins 9934d2686a
Add empty template and make various updates 2024-04-15 20:28:53 -05:00
Vieta 19a9d6c42e
Update README.md 2024-04-15 20:28:52 -05:00
vieta f1fcc3258a
vlang 2024-04-15 20:28:52 -05:00
Joel Benway 87c19f735d
gdb in nixpkgs does not currently support arm64 darwin systems so this package is now conditional. 2024-04-15 20:07:59 -05:00
Joel Benway 173d09515b
Provide C and C++ links in README 2024-03-23 22:02:03 -05:00
Joel Benway 5033b5dc12
Add C/C++ development flake with some sane defaults. 2024-03-22 16:02:20 -05:00
5 changed files with 97 additions and 0 deletions

View File

@ -29,6 +29,7 @@ Once your preferred template has been initialized, you can use the provided shel
| Language/framework/tool | Template |
| :----------------------- | :---------------------------- |
| [C]/[C++] | [`c-cpp`](./c-cpp/) |
| [Clojure] | [`clojure`](./clojure/) |
| [C#][csharp] | [`csharp`](./csharp/) |
| [Cue] | [`cue`](./cue/) |
@ -64,6 +65,20 @@ Once your preferred template has been initialized, you can use the provided shel
The sections below list what each template includes. In all cases, you're free to add and remove packages as you see fit; the templates are just boilerplate.
### [`c-cpp`](./c-cpp/)
- [clang-tools] 17.0.6
- [cmake] 3.28.3
- [codespell] 2.2.6
- [conan] 2.0.17
- [cppcheck] 2.13.4
- [doxygen] 1.10.0
- [gdb] 14.1
- [gtest] 1.12.1
- [lcov] 1.0
- [vcpkg]
- [vcpkg-tool]
### [`clojure`](./clojure/)
- [Clojure] 1.11.1.1347
@ -268,15 +283,22 @@ All of the templates have only the root [flake](./flake.nix) as a flake input. T
[boot]: https://www.boot-clj.com
[buf]: https://github.com/bufbuild/buf
[C]: https://www.open-std.org/jtc1/sc22/wg14
[C++]: https://isocpp.org
[cabal]: https://www.haskell.org/cabal
[cachix]: https://www.cachix.org
[cargo]: https://doc.rust-lang.org/cargo
[cargo-audit]: https://crates.io/crates/cargo-audit
[cargo-deny]: https://crates.io/crates/cargo-deny
[clang-tools]: https://clang.llvm.org/
[clippy]: https://github.com/rust-lang/rust-clippy
[clojure]: https://clojure.org
[cmake]: https://cmake.org/
[codespell]: https://github.com/codespell-project/codespell
[composer]: https://getcomposer.org/
[conan]: https://conan.io/
[conftest]: https://www.conftest.dev
[cppcheck]: http://cppcheck.sourceforge.net/
[csharp]: https://dotnet.microsoft.com/en-us/languages/csharp
[cue]: https://cuelang.org
[damon]: https://github.com/hashicorp/damon
@ -292,11 +314,13 @@ All of the templates have only the root [flake](./flake.nix) as a flake input. T
[dhall-toml]: https://github.com/dhall-lang/dhall-haskell/tree/master/dhall-toml
[dhall-yaml]: https://github.com/dhall-lang/dhall-haskell/tree/master/dhall-yaml
[dotnet]: https://dotnet.microsoft.com/en-us/
[doxygen]: https://www.doxygen.nl/
[dune]: https://dune.build
[elixir]: https://elixir-lang.org
[elm]: https://elm-lang.org
[elm2nix]: https://github.com/cachix/elm2nix
[flake-utils]: https://github.com/numtide/flake-utils
[gdb]: https://www.gnu.org/software/gdb/
[gigalixir]: https://www.gigalixir.com
[gleam]: https://gleam.run
[go]: https://go.dev
@ -304,6 +328,7 @@ All of the templates have only the root [flake](./flake.nix) as a flake input. T
[goimports]: https://pkg.go.dev/golang.org/x/tools/cmd/goimports
[golangci-lint]: https://github.com/golangci/golangci-lint
[gradle]: https://gradle.org
[gtest]: https://github.com/google/googletest
[hashicorp]: https://hashicorp.com
[haskell]: https://haskell.org
[haxe]: https://haxe.org/
@ -313,6 +338,7 @@ All of the templates have only the root [flake](./flake.nix) as a flake input. T
[jq]: https://jqlang.github.io/jq
[kotlin]: https://kotlinlang.org
[latex]: https://www.latex-project.org/
[lcov]: https://ltp.sourceforge.net/coverage/lcov.php
[leiningen]: https://leiningen.org
[levant]: https://github.com/hashicorp/levant
[lorri]: https://github.com/target/lorri
@ -366,6 +392,8 @@ All of the templates have only the root [flake](./flake.nix) as a flake input. T
[texlive]: https://www.tug.org/texlive/
[tflint]: https://github.com/terraform-linters/tflint
[vault]: https://www.vaultproject.io
[vcpkg]: https://vcpkg.io/
[vcpkg-tool]: https://github.com/microsoft/vcpkg-tool
[vulnix]: https://github.com/flyingcircusio/vulnix
[yarn]: https://yarnpkg.com
[vlang]: https://vlang.io/

1
c-cpp/.envrc Normal file
View File

@ -0,0 +1 @@
use flake

25
c-cpp/flake.lock Normal file
View File

@ -0,0 +1,25 @@
{
"nodes": {
"nixpkgs": {
"locked": {
"lastModified": 1711001935,
"narHash": "sha256-URtGpHue7HHZK0mrHnSf8wJ6OmMKYSsoLmJybrOLFSQ=",
"rev": "20f77aa09916374aa3141cbc605c955626762c9a",
"revCount": 600876,
"type": "tarball",
"url": "https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.1.600876%2Brev-20f77aa09916374aa3141cbc605c955626762c9a/018e65e3-9c1d-74a8-acde-67868b074670/source.tar.gz"
},
"original": {
"type": "tarball",
"url": "https://flakehub.com/f/NixOS/nixpkgs/0.1.%2A.tar.gz"
}
},
"root": {
"inputs": {
"nixpkgs": "nixpkgs"
}
}
},
"root": "root",
"version": 7
}

36
c-cpp/flake.nix Normal file
View File

@ -0,0 +1,36 @@
{
description = "A Nix-flake-based C/C++ development environment";
inputs.nixpkgs.url = "https://flakehub.com/f/NixOS/nixpkgs/0.1.*.tar.gz";
outputs = { self, nixpkgs }:
let
supportedSystems = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ];
forEachSupportedSystem = f: nixpkgs.lib.genAttrs supportedSystems (system: f {
pkgs = import nixpkgs { inherit system; };
});
in
{
devShells = forEachSupportedSystem ({ pkgs }: {
default = pkgs.mkShell.override {
# Override stdenv in order to change compiler:
# stdenv = pkgs.clangStdenv;
}
{
packages = with pkgs; [
clang-tools
cmake
codespell
conan
cppcheck
doxygen
gtest
lcov
vcpkg
vcpkg-tool
] ++ (if system == "aarch64-darwin" then [ ] else [ gdb ]);
};
});
};
}

View File

@ -96,6 +96,11 @@
{
templates = rec {
c-cpp = {
path = ./c-cpp;
description = "C/C++ development environment";
};
clojure = {
path = ./clojure;
description = "Clojure development environment";
@ -253,6 +258,8 @@
# Aliases
rt = rust-toolchain;
c = c-cpp;
cpp = c-cpp;
};
};
}