Add linting, formatting, and CI with fixes for all warnings

Infrastructure:
- Add deadnix, nixfmt, and statix to flake inputs
- Add formatter output to flake for nix fmt support
- Add deadnix, nixfmt, statix to Home Manager packages
- Add GitHub Actions workflow for CI validation
- Add .pre-commit-config.yaml with hooks for nixfmt, deadnix, and statix
- Support x86_64-darwin in formatter

Statix fixes (W10/W20 warnings):
- Remove unused lambda argument from nixpkgs-settings.nix
- Merge repeated keys in hardware-configuration.nix files (boot.initrd, boot, fileSystems)
- Merge repeated keys in nixnuc/default.nix (services, virtualisation)
- Merge repeated keys in rainbow-planet/default.nix (desktopManager)
- Merge repeated keys in home/general/default.nix (home)

Deadnix fixes (unused declarations):
- Remove unused pkgs/lib/username/http_port arguments from various files
- Fix unused final parameter in overlay functions (final -> _final)

CI/pre-commit fixes:
- Fix pre-commit statix config: add pass_filenames: false
- Fix CI workflow: use nix run nixpkgs# prefix and --ci flag for nixfmt
This commit is contained in:
Gene Liverman 2026-03-20 22:11:58 -04:00
parent 5047d93b86
commit 9b3c078319
No known key found for this signature in database
78 changed files with 1662 additions and 955 deletions

View file

@ -1,4 +1,5 @@
{ pkgs, ... }: {
{ pkgs, ... }:
{
home.packages = with pkgs; [
esptool
];

View file

@ -1,62 +1,92 @@
{ config, inputs, pkgs, ... }: let
sqlite_lib = if builtins.elem pkgs.stdenv.hostPlatform.system [
"aarch64-darwin"
"x86_64-darwin"
]
then "libsqlite3.dylib"
else "libsqlite3.so";
in {
home.packages = with pkgs; [
btop
bundix
cargo
cheat
colordiff
dogdns
dos2unix
duf
dust
fd
f2
git-filter-repo
glab
glow
gomuks
gotop
htop
httpie
hub
inputs.nix-auth.packages.${stdenv.hostPlatform.system}.default
jq
lazydocker
lazygit
lua-language-server
minicom
mtr
nil
nix-search
nix-zsh-completions
nodejs
nurl
nvd
onefetch
powershell
pre-commit
puppet-lint
rename
ruby
subversion
tldr
tree
trippy
vimv
watch
wget
yq-go
];
home.sessionVariables = {
CLICLOLOR = 1;
PAGER = "less";
{
config,
inputs,
pkgs,
...
}:
let
sqlite_lib =
if
builtins.elem pkgs.stdenv.hostPlatform.system [
"aarch64-darwin"
"x86_64-darwin"
]
then
"libsqlite3.dylib"
else
"libsqlite3.so";
in
{
home = {
packages = with pkgs; [
btop
bundix
cargo
cheat
colordiff
deadnix
dogdns
dos2unix
duf
dust
fd
f2
git-filter-repo
glab
glow
gomuks
gotop
htop
httpie
hub
inputs.nix-auth.packages.${stdenv.hostPlatform.system}.default
jq
lazydocker
lazygit
lua-language-server
minicom
mtr
nil
nix-search
nix-zsh-completions
nodejs
nurl
nvd
nixfmt-tree
onefetch
powershell
pre-commit
puppet-lint
rename
ruby
subversion
statix
tldr
tree
trippy
vimv
watch
wget
yq-go
];
sessionVariables = {
CLICLOLOR = 1;
PAGER = "less";
};
file = {
".config/nvim/lua/config" = {
source = ../../files/nvim/lua/config;
recursive = true;
};
".config/nvim/lua/plugins" = {
source = ../../files/nvim/lua/plugins;
recursive = true;
};
".config/powershell/Microsoft.PowerShell_profile.ps1".source =
../../files/Microsoft.PowerShell_profile.ps1;
".config/powershell/Microsoft.VSCode_profile.ps1".source =
../../files/Microsoft.PowerShell_profile.ps1;
};
};
programs = {
atuin = {
@ -111,7 +141,7 @@ in {
"*.swp"
".DS_Store"
];
includes = [ { path = "~/.gitconfig-local"; }];
includes = [ { path = "~/.gitconfig-local"; } ];
lfs.enable = true;
package = pkgs.gitFull;
settings = {
@ -159,7 +189,7 @@ in {
'';
extraPackages = with pkgs; [
gcc # needed so treesitter can do compiling
gcc # needed so treesitter can do compiling
sqlite # needed by sqlite.lua used by telescope-cheat
];
plugins = [ pkgs.vimPlugins.lazy-nvim ]; # let lazy.nvim manage every other plugin
@ -171,7 +201,11 @@ in {
oh-my-posh = {
enable = true;
enableZshIntegration = true;
settings = builtins.fromJSON (builtins.unsafeDiscardStringContext (builtins.readFile (inputs.genebean-omp-themes + "/beanbag.omp.json")));
settings = builtins.fromJSON (
builtins.unsafeDiscardStringContext (
builtins.readFile (inputs.genebean-omp-themes + "/beanbag.omp.json")
)
);
#useTheme = "amro";
#useTheme = "montys";
};
@ -189,7 +223,7 @@ in {
set -g @dracula-show-battery false
set -g @dracula-show-powerline true
set -g @dracula-refresh-rate 10
'';
'';
}
];
extraConfig = ''
@ -350,17 +384,4 @@ in {
};
}; # end zsh
}; # end programs
home.file = {
".config/nvim/lua/config" = {
source = ../../files/nvim/lua/config;
recursive = true;
};
".config/nvim/lua/plugins" = {
source = ../../files/nvim/lua/plugins;
recursive = true;
};
".config/powershell/Microsoft.PowerShell_profile.ps1".source = ../../files/Microsoft.PowerShell_profile.ps1;
".config/powershell/Microsoft.VSCode_profile.ps1".source = ../../files/Microsoft.PowerShell_profile.ps1;
};
}