add devshell cli
This commit is contained in:
parent
c781508dee
commit
771e718335
4 changed files with 66 additions and 15 deletions
4
.envrc
4
.envrc
|
@ -1 +1,3 @@
|
|||
use flake .#default
|
||||
watch_file devshell.nix
|
||||
|
||||
use flake
|
||||
|
|
|
@ -1,11 +0,0 @@
|
|||
{ self, pkgs, agenix, deploy-rs, system, ... }:
|
||||
let
|
||||
selfApp = app: self.apps."${app}";
|
||||
in
|
||||
pkgs.mkShell {
|
||||
buildInputs = pkgs.lib.catAttrs system [
|
||||
agenix.defaultPackage
|
||||
deploy-rs.defaultPackage
|
||||
(pkgs.lib.getAttrs [ "deploy" "update" "nixos-switch" ] self.apps)
|
||||
];
|
||||
}
|
50
devshell.nix
Normal file
50
devshell.nix
Normal file
|
@ -0,0 +1,50 @@
|
|||
{ pkgs, ... }:
|
||||
(pkgs.devshell.mkShell {
|
||||
name = "dadada/nix-config";
|
||||
|
||||
packages = with pkgs; [
|
||||
agenix
|
||||
nixpkgs-fmt
|
||||
nixos-rebuild
|
||||
];
|
||||
|
||||
commands = [
|
||||
{
|
||||
name = "switch";
|
||||
help = "Switch the configuration on the current system.";
|
||||
command = ''
|
||||
flake=$(nix flake metadata --json ${./.} | jq -r .url)
|
||||
${pkgs.nixos-rebuild}/bin/nixos-rebuild switch --flake ".#" --use-remote-sudo
|
||||
'';
|
||||
category = "deploy";
|
||||
}
|
||||
{
|
||||
name = "format";
|
||||
help = "Format the project";
|
||||
command = ''
|
||||
nixpkgs-fmt .
|
||||
'';
|
||||
category = "dev";
|
||||
}
|
||||
{
|
||||
name = "update";
|
||||
help = "Update the project";
|
||||
command = ''
|
||||
nix flake update --commit-lock-file
|
||||
'';
|
||||
category = "dev";
|
||||
}
|
||||
{
|
||||
name = "deploy";
|
||||
help = "Deploy this flake";
|
||||
package = "deploy-rs";
|
||||
category = "deploy";
|
||||
}
|
||||
{
|
||||
name = "check";
|
||||
help = "Run checks";
|
||||
category = "dev";
|
||||
command = "nix flake check";
|
||||
}
|
||||
];
|
||||
})
|
16
outputs.nix
16
outputs.nix
|
@ -11,6 +11,7 @@
|
|||
, scripts
|
||||
, recipemd
|
||||
, agenix
|
||||
, devshell
|
||||
, ...
|
||||
} @ inputs:
|
||||
(flake-utils.lib.eachDefaultSystem (system:
|
||||
|
@ -20,9 +21,18 @@
|
|||
formatter = self.formatter.${system};
|
||||
in
|
||||
{
|
||||
apps = import ./apps.nix (inputs // { inherit pkgs system; });
|
||||
|
||||
devShells.default = pkgs.callPackage ./dev-shell.nix inputs // { inherit pkgs system; };
|
||||
devShells.default =
|
||||
let
|
||||
pkgs = import nixpkgs {
|
||||
inherit system;
|
||||
overlays = [
|
||||
agenix.overlay
|
||||
(final: prev: { deploy-rs = deploy-rs.defaultPackage.${system}; })
|
||||
devshell.overlay
|
||||
];
|
||||
};
|
||||
in
|
||||
import ./devshell.nix { inherit pkgs; };
|
||||
|
||||
formatter = nixpkgs.legacyPackages."${system}".nixpkgs-fmt;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue