From ecb1325477879ee5b2c849c4671083c3758afb7c Mon Sep 17 00:00:00 2001 From: Matei Adriel Date: Fri, 14 Apr 2023 18:12:35 +0300 Subject: [PATCH] Extensible devshell setup --- devshells/default.nix | 4 ++++ devshells/visonum.nix | 5 +++++ flake.nix | 15 +++++++++++---- shell.nix | 11 +++++------ 4 files changed, 25 insertions(+), 10 deletions(-) create mode 100644 devshells/default.nix create mode 100644 devshells/visonum.nix diff --git a/devshells/default.nix b/devshells/default.nix new file mode 100644 index 0000000..8223170 --- /dev/null +++ b/devshells/default.nix @@ -0,0 +1,4 @@ +args: { + visonum = import ./visonum.nix args; +} + diff --git a/devshells/visonum.nix b/devshells/visonum.nix new file mode 100644 index 0000000..004d0fc --- /dev/null +++ b/devshells/visonum.nix @@ -0,0 +1,5 @@ +# Shell containing the tools I most commonly use for work +{ pkgs, inputs }: +pkgs.mkShell { + nativeBuildInputs = with pkgs; [ purescript spago typescript nodejs ]; +} diff --git a/flake.nix b/flake.nix index 0f4be00..43344ca 100644 --- a/flake.nix +++ b/flake.nix @@ -78,10 +78,17 @@ # Devshell for bootstrapping # Acessible through 'nix develop' - devShells = forAllSystems (system: - let pkgs = nixpkgs.legacyPackages.${system}; - in import ./shell.nix { inherit pkgs; } - ); + devShells = forAllSystems + (system: + let + pkgs = nixpkgs.legacyPackages.${system}; + default = import ./shell.nix { inherit pkgs; }; + devshells = import ./devshells + { + inherit pkgs; inherit inputs; + }; + in + devshells // { inherit default; }); # Custom packages and modifications, exported as overlays overlays = import ./overlays; diff --git a/shell.nix b/shell.nix index fbd44d5..9b21a27 100644 --- a/shell.nix +++ b/shell.nix @@ -1,9 +1,8 @@ # Shell for bootstrapping flake-enabled nix and home-manager # You can enter it through 'nix develop' or (legacy) 'nix-shell' -{ pkgs ? (import ./nixpkgs.nix) { } }: { - default = pkgs.mkShell { - # Enable experimental features without having to specify the argument - NIX_CONFIG = "experimental-features = nix-command flakes"; - nativeBuildInputs = with pkgs; [ nix home-manager git ]; - }; +{ pkgs ? (import ./nixpkgs.nix) { } }: +pkgs.mkShell { + # Enable experimental features without having to specify the argument + NIX_CONFIG = "experimental-features = nix-command flakes"; + nativeBuildInputs = with pkgs; [ nix home-manager git ]; }