1
0
Fork 0

Compare commits

...

2 commits

Author SHA1 Message Date
98dfde251a
Fix Helix integration with treefmt 2025-07-08 21:23:23 -05:00
3785955a2c
Add treefmt 2025-07-08 21:04:32 -05:00
5 changed files with 87 additions and 27 deletions

View file

@ -1,18 +1,21 @@
# TODO: switch to "%{buffer_name}" when this feature makes it to Helix release
[[language]]
auto-format = true
name = "nix"
formatter = { command = "nixfmt" }
formatter = { command = "treefmt", args = ["--stdin", ".nix", "--quiet"] }
auto-format = true
[[language]]
name = "toml"
formatter = { command = "taplo", args = ["format", "-"] }
formatter = { command = "treefmt", args = ["--stdin", ".nix", "--quiet"] }
auto-format = true
[[language]]
name = "yaml"
formatter = { command = 'prettier', args = ["--parser", "yaml"] }
formatter = { command = "treefmt", args = ["--stdin", ".nix", "--quiet"] }
auto-format = true
[[language]]
name = "markdown"
formatter = { command = 'prettier', args = ["--parser", "markdown"] }
formatter = { command = "treefmt", args = ["--stdin", ".nix", "--quiet"] }
auto-format = true

37
flake.lock generated
View file

@ -178,6 +178,22 @@
"type": "github"
}
},
"nixpkgs_3": {
"locked": {
"lastModified": 1747958103,
"narHash": "sha256-qmmFCrfBwSHoWw7cVK4Aj+fns+c54EBP8cGqp/yK410=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "fe51d34885f7b5e3e7b59572796e1bcb427eccb1",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nur": {
"inputs": {
"flake-parts": "flake-parts",
@ -205,7 +221,8 @@
"nixgl": "nixgl",
"nixpkgs": "nixpkgs",
"nur": "nur",
"sops-nix": "sops-nix"
"sops-nix": "sops-nix",
"treefmt-nix": "treefmt-nix_2"
}
},
"sops-nix": {
@ -263,6 +280,24 @@
"repo": "treefmt-nix",
"type": "github"
}
},
"treefmt-nix_2": {
"inputs": {
"nixpkgs": "nixpkgs_3"
},
"locked": {
"lastModified": 1750931469,
"narHash": "sha256-0IEdQB1nS+uViQw4k3VGUXntjkDp7aAlqcxdewb/hAc=",
"owner": "numtide",
"repo": "treefmt-nix",
"rev": "ac8e6f32e11e9c7f153823abc3ab007f2a65d3e1",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "treefmt-nix",
"type": "github"
}
}
},
"root": "root",

View file

@ -1,34 +1,38 @@
# TODO: Add flake-utils, flake-parts, git-pre-hook
{
description = "My Home Manager configuration";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
home-manager = {
url = "github:nix-community/home-manager/master";
inputs.nixpkgs.follows = "nixpkgs";
};
nur.url = "github:nix-community/NUR";
nixgl = {
url = "github:nix-community/nixGL";
inputs.nixpkgs.follows = "nixpkgs";
};
lix-module = {
url = "https://git.lix.systems/lix-project/nixos-module/archive/2.93.1.tar.gz";
inputs.nixpkgs.follows = "nixpkgs";
};
nixgl = {
url = "github:nix-community/nixGL";
inputs.nixpkgs.follows = "nixpkgs";
};
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
nur.url = "github:nix-community/NUR";
sops-nix = {
url = "github:Mic92/sops-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
treefmt-nix.url = "github:numtide/treefmt-nix";
};
outputs =
{
nixpkgs,
self,
home-manager,
nur,
nixgl,
lix-module,
nixgl,
nixpkgs,
nur,
sops-nix,
treefmt-nix,
...
}:
let
@ -40,14 +44,13 @@
nixgl.overlays.default
];
};
treefmtEval = treefmt-nix.lib.evalModule pkgs ./treefmt.nix;
in
{
homeConfigurations = {
sudoer777 = home-manager.lib.homeManagerConfiguration {
inherit pkgs;
extraSpecialArgs = {
inherit nixgl;
};
extraSpecialArgs = { inherit nixgl; };
modules = [
./home.nix
lix-module.nixosModules.default
@ -64,18 +67,21 @@
devShells.${system}.default = pkgs.mkShell {
buildInputs = [
pkgs.age
pkgs.sops
pkgs.just
pkgs.forgejo-cli
pkgs.nil
pkgs.nixfmt-rfc-style
pkgs.taplo
pkgs.marksman
pkgs.helix
pkgs.just
pkgs.marksman
pkgs.nil
pkgs.sops
pkgs.taplo
pkgs.uutils-coreutils
pkgs.prettier
pkgs.yaml-language-server
treefmtEval.config.build.wrapper
];
};
formatter.${system} = treefmtEval.config.build.wrapper;
checks.${system} = {
formatting = treefmtEval.config.build.check self;
};
};
}

View file

@ -1,7 +1,7 @@
{
pkgs,
nixgl,
config,
nixgl,
pkgs,
...
}:

16
treefmt.nix Normal file
View file

@ -0,0 +1,16 @@
{ ... }:
{
projectRootFile = "flake.nix";
programs = {
nixfmt = {
enable = true;
strict = true;
};
prettier = {
enable = true;
};
taplo = {
enable = true;
};
};
}