diff options
Diffstat (limited to 'flake.nix')
| -rw-r--r-- | flake.nix | 111 |
1 files changed, 57 insertions, 54 deletions
@@ -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; + }; + })); } |
