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]] [[language]]
auto-format = true
name = "nix" name = "nix"
formatter = { command = "nixfmt" } formatter = { command = "treefmt", args = ["--stdin", ".nix", "--quiet"] }
auto-format = true
[[language]] [[language]]
name = "toml" name = "toml"
formatter = { command = "taplo", args = ["format", "-"] } formatter = { command = "treefmt", args = ["--stdin", ".nix", "--quiet"] }
auto-format = true auto-format = true
[[language]] [[language]]
name = "yaml" name = "yaml"
formatter = { command = 'prettier', args = ["--parser", "yaml"] } formatter = { command = "treefmt", args = ["--stdin", ".nix", "--quiet"] }
auto-format = true auto-format = true
[[language]] [[language]]
name = "markdown" 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" "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": { "nur": {
"inputs": { "inputs": {
"flake-parts": "flake-parts", "flake-parts": "flake-parts",
@ -205,7 +221,8 @@
"nixgl": "nixgl", "nixgl": "nixgl",
"nixpkgs": "nixpkgs", "nixpkgs": "nixpkgs",
"nur": "nur", "nur": "nur",
"sops-nix": "sops-nix" "sops-nix": "sops-nix",
"treefmt-nix": "treefmt-nix_2"
} }
}, },
"sops-nix": { "sops-nix": {
@ -263,6 +280,24 @@
"repo": "treefmt-nix", "repo": "treefmt-nix",
"type": "github" "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", "root": "root",

View file

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