diff --git a/.github/workflows/format.yml b/.github/workflows/format.yml new file mode 100644 index 0000000..1bca95e --- /dev/null +++ b/.github/workflows/format.yml @@ -0,0 +1,30 @@ +name: Format +on: + pull_request: + push: + branches: + - main + +jobs: + format: + runs-on: ubuntu-latest + + permissions: + # Give the default GITHUB_TOKEN write permission to commit and push the + # added or changed files to the repository. + contents: write + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + - name: Install nix + uses: cachix/install-nix-action@v23 + - name: Run nixfmt + run: nix fmt + - name: Get git status + run: git status + - name: Commit changes + uses: stefanzweifel/git-auto-commit-action@v5 + with: + commit_message: "treewide: nixfmt formatting" + branch: ${{ github.head_ref }} diff --git a/flake.nix b/flake.nix index ddd8c21..6a32f11 100644 --- a/flake.nix +++ b/flake.nix @@ -6,30 +6,39 @@ flake-utils.url = "github:numtide/flake-utils"; }; - outputs = { nixpkgs, nixvim, flake-utils, ... }@inputs: - let config = import ./config; # import the module directly + outputs = + { self + , nixpkgs + , nixvim + , flake-utils + , ... + } @ inputs: + let + config = import ./config; # import the module directly in flake-utils.lib.eachDefaultSystem (system: - let - nixvimLib = nixvim.lib.${system}; - pkgs = import nixpkgs { inherit system; }; - nixvim' = nixvim.legacyPackages.${system}; - nvim = nixvim'.makeNixvimWithModule { - inherit pkgs; - module = config; - }; - in - { - checks = { - default = nixvimLib.check.mkTestDerivationFromNvim { - inherit nvim; - name = "My nixvim configuration"; - }; - }; + let + nixvimLib = nixvim.lib.${system}; + pkgs = import nixpkgs { inherit system; }; + nixvim' = nixvim.legacyPackages.${system}; + nvim = nixvim'.makeNixvimWithModule { + inherit pkgs; + module = config; + }; + in + { + formatter = nixpkgs.legacyPackages.x86_64-linux.nixpkgs-fmt; - packages = { - # Lets you run `nix run .` to start nixvim - default = nvim; + checks = { + default = nixvimLib.check.mkTestDerivationFromNvim { + inherit nvim; + name = "My nixvim configuration"; }; - }); + }; + + packages = { + # Lets you run `nix run .` to start nixvim + default = nvim; + }; + }); }