added checks and formatting pre-commit hooks

This commit is contained in:
Fishandchips321 2026-03-01 15:33:24 +00:00
parent d8dd32193d
commit 81f128265c
10 changed files with 166 additions and 42 deletions

1
.gitignore vendored Normal file
View file

@ -0,0 +1 @@
.pre-commit-config.yaml

100
flake.lock generated
View file

@ -1,24 +1,114 @@
{ {
"nodes": { "nodes": {
"flake-compat": {
"flake": false,
"locked": {
"lastModified": 1767039857,
"narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=",
"owner": "NixOS",
"repo": "flake-compat",
"rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab",
"type": "github"
},
"original": {
"owner": "NixOS",
"repo": "flake-compat",
"type": "github"
}
},
"git-hooks": {
"inputs": {
"flake-compat": "flake-compat",
"gitignore": "gitignore",
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1772024342,
"narHash": "sha256-+eXlIc4/7dE6EcPs9a2DaSY3fTA9AE526hGqkNID3Wg=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "6e34e97ed9788b17796ee43ccdbaf871a5c2b476",
"type": "github"
},
"original": {
"owner": "cachix",
"repo": "git-hooks.nix",
"type": "github"
}
},
"gitignore": {
"inputs": {
"nixpkgs": [
"git-hooks",
"nixpkgs"
]
},
"locked": {
"lastModified": 1709087332,
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
"owner": "hercules-ci",
"repo": "gitignore.nix",
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "gitignore.nix",
"type": "github"
}
},
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1771848320, "lastModified": 1770073757,
"narHash": "sha256-0MAd+0mun3K/Ns8JATeHT1sX28faLII5hVLq0L3BdZU=", "narHash": "sha256-Vy+G+F+3E/Tl+GMNgiHl9Pah2DgShmIUBJXmbiQPHbI=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "47472570b1e607482890801aeaf29bfb749884f6",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1772047000,
"narHash": "sha256-7DaQVv4R97cii/Qdfy4tmDZMB2xxtyIvNGSwXBBhSmo=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "2fc6539b481e1d2569f25f8799236694180c0993", "rev": "1267bb4920d0fc06ea916734c11b0bf004bbe17e",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nixos", "owner": "nixos",
"ref": "nixos-unstable", "ref": "nixos-25.11",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
}, },
"root": { "root": {
"inputs": { "inputs": {
"nixpkgs": "nixpkgs" "git-hooks": "git-hooks",
"nixpkgs": "nixpkgs_2",
"systems": "systems"
}
},
"systems": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
} }
} }
}, },

View file

@ -1,12 +1,54 @@
{ {
inputs = { inputs = {
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable"; nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-25.11";
systems.url = "github:nix-systems/default";
git-hooks.url = "github:cachix/git-hooks.nix";
}; };
outputs = outputs =
{ self, nixpkgs }:
{ {
# hydraJobs = nixpkgs.lib.mapAttrs (_: value: value.config.system.build.toplevel) self.nixosConfigurations; self,
systems,
nixpkgs,
...
}@inputs:
let
forEachSystem = inputs.nixpkgs.lib.genAttrs (import systems);
in
{
formatter = forEachSystem (
system:
let
pkgs = inputs.nixpkgs.legacyPackages.${system};
in
pkgs.treefmt
);
checks = forEachSystem (system: {
pre-commit-check = inputs.git-hooks.lib.${system}.run {
src = ./.;
hooks = {
treefmt.enable = true;
treefmt.settings.formatters = [ inputs.nixpkgs.legacyPackages.${system}.nixfmt ];
statix.enable = true;
deadnix.enable = true;
nil.enable = true;
};
};
});
devShells = forEachSystem (system: {
default =
let
pkgs = nixpkgs.legacyPackages.${system};
inherit (self.checks.${system}.pre-commit-check) shellHook enabledPackages;
in
pkgs.mkShell {
inherit shellHook;
buildInputs = enabledPackages;
};
});
nixosConfigurations = { nixosConfigurations = {
vm = nixpkgs.lib.nixosSystem { modules = [ ./systems/vm/configuration.nix ]; }; vm = nixpkgs.lib.nixosSystem { modules = [ ./systems/vm/configuration.nix ]; };
}; };

View file

@ -1,7 +1,9 @@
{ config, pkgs, ... }: _:
{ {
boot.loader.grub.enable = true; boot.loader.grub = {
boot.loader.grub.device = "/dev/vda"; enable = true;
boot.loader.grub.useOSProber = true; device = "/dev/vda";
useOSProber = true;
};
} }

View file

@ -1,4 +1,4 @@
{ config, pkgs, ... }: { pkgs, ... }:
{ {
programs = { programs = {

View file

@ -1,9 +1,4 @@
{ { config, lib, ... }:
config,
pkgs,
lib,
...
}:
let let
cfg = config.modules.k3s; cfg = config.modules.k3s;

View file

@ -1,5 +1 @@
{ config, pkgs, ... }: _: { networking.networkmanager.enable = true; }
{
networking.networkmanager.enable = true;
}

View file

@ -1,4 +1,4 @@
{ config, pkgs, ... }: _:
{ {
imports = [ imports = [

View file

@ -1,22 +1,20 @@
{ { lib, modulesPath, ... }:
config,
lib,
pkgs,
modulesPath,
...
}:
{ {
imports = [ (modulesPath + "/profiles/qemu-guest.nix") ]; imports = [ (modulesPath + "/profiles/qemu-guest.nix") ];
boot.initrd.availableKernelModules = [ boot = {
initrd = {
availableKernelModules = [
"ahci" "ahci"
"xhci_pci" "xhci_pci"
"virtio_pci" "virtio_pci"
"sr_mod" "sr_mod"
"virtio_blk" "virtio_blk"
]; ];
boot.initrd.kernelModules = [ ]; kernelModules = [ ];
boot.extraModulePackages = [ ]; };
extraModulePackages = [ ];
};
fileSystems."/" = { fileSystems."/" = {
device = "/dev/disk/by-uuid/ed56e12e-55cc-42e0-b94f-9a6d6bb2bdad"; device = "/dev/disk/by-uuid/ed56e12e-55cc-42e0-b94f-9a6d6bb2bdad";

View file

@ -46,7 +46,7 @@
# Env $TREEFMT_WALK # Env $TREEFMT_WALK
# walk = "filesystem" # walk = "filesystem"
[formatter.mylanguage] [formatter.nixfmt]
# Command to execute # Command to execute
command = "nixfmt" command = "nixfmt"
# Command-line arguments for the command # Command-line arguments for the command