From 40b8e097ddfc564120ca0305e9add89535e5477d Mon Sep 17 00:00:00 2001 From: Nitesh Balusu Date: Fri, 15 Nov 2024 17:32:31 -0500 Subject: [PATCH] minor updates to devenv files --- bacon.toml | 79 +++++++++++++++++++++++++++++++++++++++++++++++++++++ devenv.lock | 12 ++++---- devenv.nix | 51 ++++++++++------------------------ 3 files changed, 100 insertions(+), 42 deletions(-) create mode 100644 bacon.toml diff --git a/bacon.toml b/bacon.toml new file mode 100644 index 0000000..c3da77c --- /dev/null +++ b/bacon.toml @@ -0,0 +1,79 @@ +# This is a configuration file for the bacon tool +# +# Bacon repository: https://github.com/Canop/bacon +# Complete help on configuration: https://dystroy.org/bacon/config/ +# You can also check bacon's own bacon.toml file +# as an example: https://github.com/Canop/bacon/blob/main/bacon.toml + +default_job = "check" + +[jobs.check] +command = ["cargo", "check", "--color", "always"] +need_stdout = false + +[jobs.check-all] +command = ["cargo", "check", "--all-targets", "--color", "always"] +need_stdout = false + +[jobs.clippy] +command = [ + "cargo", "clippy", + "--all-targets", + "--color", "always", +] +need_stdout = false + +# This job lets you run +# - all tests: bacon test +# - a specific test: bacon test -- config::test_default_files +# - the tests of a package: bacon test -- -- -p config +[jobs.test] +command = [ + "cargo", "test", "--color", "always", + "--", "--color", "always", # see https://github.com/Canop/bacon/issues/124 +] +need_stdout = true + +[jobs.doc] +command = ["cargo", "doc", "--color", "always", "--no-deps"] +need_stdout = false + +# If the doc compiles, then it opens in your browser and bacon switches +# to the previous job +[jobs.doc-open] +command = ["cargo", "doc", "--color", "always", "--no-deps", "--open"] +need_stdout = false +on_success = "back" # so that we don't open the browser at each change + +# You can run your application and have the result displayed in bacon, +# *if* it makes sense for this crate. +# Don't forget the `--color always` part or the errors won't be +# properly parsed. +# If your program never stops (eg a server), you may set `background` +# to false to have the cargo run output immediately displayed instead +# of waiting for program's end. +[jobs.run] +command = [ + "cargo", "run", + "--color", "always", + # put launch parameters for your program behind a `--` separator +] +need_stdout = true +allow_warnings = true +background = true + +# This parameterized job runs the example of your choice, as soon +# as the code compiles. +# Call it as +# bacon ex -- my-example +[jobs.ex] +command = ["cargo", "run", "--color", "always", "--example"] +need_stdout = true +allow_warnings = true + +# You may define here keybindings that would be specific to +# a project, for example a shortcut to launch a specific job. +# Shortcuts to internal functions (scrolling, toggling, etc.) +# should go in your personal global prefs.toml file instead. +[keybindings] +# alt-m = "job:my-job" diff --git a/devenv.lock b/devenv.lock index f66a06b..6043ead 100644 --- a/devenv.lock +++ b/devenv.lock @@ -3,10 +3,10 @@ "devenv": { "locked": { "dir": "src/modules", - "lastModified": 1728993896, + "lastModified": 1731679695, "owner": "cachix", "repo": "devenv", - "rev": "dc7ebaf872306526ea6dcbb2122acca792680701", + "rev": "9f6cadacb9db82f541bbadd67e0189a2b850937e", "type": "github" }, "original": { @@ -68,10 +68,10 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1728740863, + "lastModified": 1731386116, "owner": "NixOS", "repo": "nixpkgs", - "rev": "a3f9ad65a0bf298ed5847629a57808b97e6e8077", + "rev": "689fed12a013f56d4c4d3f612489634267d86529", "type": "github" }, "original": { @@ -91,10 +91,10 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1728778939, + "lastModified": 1731363552, "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "ff68f91754be6f3427e4986d7949e6273659be1d", + "rev": "cd1af27aa85026ac759d5d3fccf650abe7e1bbf0", "type": "github" }, "original": { diff --git a/devenv.nix b/devenv.nix index 0c6e929..42c19bc 100644 --- a/devenv.nix +++ b/devenv.nix @@ -1,51 +1,30 @@ -{ pkgs, lib, config, inputs, ... }: - -{ - # https://devenv.sh/basics/ - env.GREET = "devenv"; - - # https://devenv.sh/packages/ - packages = [ +{ pkgs, lib, config, inputs, ... }: { + packages = [ pkgs.bacon pkgs.pkg-config pkgs.openssl pkgs.cmake ]; - # https://devenv.sh/languages/ languages.rust.enable = true; - # https://devenv.sh/processes/ - # processes.cargo-watch.exec = "cargo-watch"; - - # https://devenv.sh/services/ - # services.postgres.enable = true; - - # https://devenv.sh/scripts/ - # https://devenv.sh/tasks/ - # tasks = { - # "myproj:setup".exec = "mytool build"; - # "devenv:enterShell".after = [ "myproj:setup" ]; - # }; - - scripts.build.exec = '' - bacon - ''; + scripts.build.exec = ''bacon''; - # https://devenv.sh/tests/ enterTest = '' echo "Running tests" git --version | grep --color=auto "${pkgs.git.version}" ''; - - env.OPENSSL_DIR = "${pkgs.openssl.dev}"; - env.OPENSSL_LIB_DIR = "${pkgs.openssl.out}/lib"; - - # Include the Security framework - env.NIX_LDFLAGS = "-F${pkgs.darwin.apple_sdk.frameworks.Security}/Library/Frameworks -framework Security"; - # https://devenv.sh/pre-commit-hooks/ - # pre-commit.hooks.shellcheck.enable = true; - - # See full reference at https://devenv.sh/reference/options/ + # Darwin-specific configurations + env = lib.mkMerge [ + { + env.OPENSSL_DIR = "${pkgs.openssl.dev}"; + env.OPENSSL_LIB_DIR = "${pkgs.openssl.out}/lib"; + # Common environment variables here + } + (lib.mkIf pkgs.stdenv.isDarwin { + # Darwin-specific environment variables + NIX_LDFLAGS = "-F${pkgs.darwin.apple_sdk.frameworks.Security}/Library/Frameworks -framework Security"; + }) + ]; }