aboutsummaryrefslogtreecommitdiff
path: root/flake.nix
diff options
context:
space:
mode:
Diffstat (limited to 'flake.nix')
-rw-r--r--flake.nix111
1 files changed, 57 insertions, 54 deletions
diff --git a/flake.nix b/flake.nix
index 20a5bd4..b65a7dd 100644
--- a/flake.nix
+++ b/flake.nix
@@ -38,42 +38,46 @@
};
# Output config, or config for NixOS system
- outputs =
- { self
- , nixpkgs
- , darwin
- , flake-utils
- , pre-commit-hooks
- , devshell
- , agenix
- , ...
- }@inputs:
- flake-utils.lib.eachDefaultSystem
- (system:
+ outputs = { self, nixpkgs, darwin, flake-utils, pre-commit-hooks, devshell
+ , treefmt-nix, agenix, ... }@inputs:
+ flake-utils.lib.eachDefaultSystem (system:
let
pkgs = import nixpkgs {
inherit system;
overlays = [ devshell.overlays.default ];
};
-
- in
- {
+ treefmt = (treefmt-nix.lib.mkWrapper pkgs {
+ projectRootFile = "flake.nix";
+ programs = { nixfmt-classic.enable = true; };
+ settings.formatter.deadnix = {
+ command = "${pkgs.deadnix}/bin/deadnix";
+ options = [ "--edit" ];
+ includes = [ "*.nix" ];
+ };
+ });
+ in {
checks = {
pre-commit-check = pre-commit-hooks.lib.${system}.run {
src = ./.;
hooks = {
- shellcheck.enable = true;
- nixpkgs-fmt.enable = true;
check-merge-conflicts.enable = true;
end-of-file-fixer.enable = true;
+ treefmt-check = {
+ enable = true;
+ entry = "${treefmt}/bin/treefmt --fail-on-change";
+ pass_filenames = false;
+ };
};
};
};
+ formatter = treefmt;
+
devShells.default = pkgs.devshell.mkShell {
packages = with pkgs; [
just
agenix
+ treefmt
inputs.agenix.packages."${system}".default
];
devshell.startup.pre-commit.text =
@@ -85,41 +89,40 @@
};
}) // (flake-utils.lib.eachDefaultSystemPassThrough (system:
- let
- mkSystem = import ./nix/lib/mkSystem.nix { inherit nixpkgs inputs; };
- in
- {
-
- # a VM running on the MacBook Air
- nixosConfigurations.vm-aarch64 = mkSystem "vm-aarch64" {
- system = "aarch64-linux";
- user = "fcuny";
- };
-
- # a VM running on the synology DS923+
- nixosConfigurations.vm-synology = mkSystem "vm-synology" {
- system = "x86_64-linux";
- user = "fcuny";
- };
-
- # a VM running on hetzner cloud
- nixosConfigurations.vm-hetzner = mkSystem "vm-hetzner" {
- system = "x86_64-linux";
- user = "fcuny";
- };
-
- # my personal MacBook Air
- darwinConfigurations.mba-m2 = mkSystem "mba-m2" {
- system = "aarch64-darwin";
- user = "fcuny";
- darwin = true;
- };
-
- # my work MacBook Pro
- darwinConfigurations.hq-c02fk3q7md6t = mkSystem "hq-c02fk3q7md6t" {
- system = "x86_64-darwin";
- user = "fcuny";
- darwin = true;
- };
- }));
+ let
+ mkSystem = import ./nix/lib/mkSystem.nix { inherit nixpkgs inputs; };
+ in {
+
+ # a VM running on the MacBook Air
+ nixosConfigurations.vm-aarch64 = mkSystem "vm-aarch64" {
+ system = "aarch64-linux";
+ user = "fcuny";
+ };
+
+ # a VM running on the synology DS923+
+ nixosConfigurations.vm-synology = mkSystem "vm-synology" {
+ system = "x86_64-linux";
+ user = "fcuny";
+ };
+
+ # a VM running on hetzner cloud
+ nixosConfigurations.vm-hetzner = mkSystem "vm-hetzner" {
+ system = "x86_64-linux";
+ user = "fcuny";
+ };
+
+ # my personal MacBook Air
+ darwinConfigurations.mba-m2 = mkSystem "mba-m2" {
+ system = "aarch64-darwin";
+ user = "fcuny";
+ darwin = true;
+ };
+
+ # my work MacBook Pro
+ darwinConfigurations.hq-c02fk3q7md6t = mkSystem "hq-c02fk3q7md6t" {
+ system = "x86_64-darwin";
+ user = "fcuny";
+ darwin = true;
+ };
+ }));
}