diff --git a/devenv.nix b/devenv.nix index e515280..f173bdb 100644 --- a/devenv.nix +++ b/devenv.nix @@ -15,8 +15,10 @@ scripts = { lint.exec = '' + set -e statix check . - deadnix --fail . + # hardware-configuration.nix is generated; statix skips it via statix.toml + deadnix --fail --exclude hosts/*/hardware-configuration.nix -- . ''; fmt.exec = '' nixfmt $(git ls-files '*.nix') diff --git a/flake.nix b/flake.nix index be2e4a0..f8acbac 100644 --- a/flake.nix +++ b/flake.nix @@ -17,7 +17,7 @@ }; }; - outputs = { self, nixpkgs, home-manager, nixvim, ... }@inputs: + outputs = { nixpkgs, home-manager, nixvim, ... }@inputs: let mkHost = hostName: nixpkgs.lib.nixosSystem { system = "x86_64-linux"; diff --git a/hosts/argon/configuration.nix b/hosts/argon/configuration.nix index 57be3a3..f9b6882 100644 --- a/hosts/argon/configuration.nix +++ b/hosts/argon/configuration.nix @@ -1,5 +1,3 @@ -{ config, pkgs, inputs, ... }: - { imports = [ ../../modules/nixos/appimage.nix diff --git a/hosts/default/configuration.nix b/hosts/default/configuration.nix index 86182ac..c4531b8 100644 --- a/hosts/default/configuration.nix +++ b/hosts/default/configuration.nix @@ -1,6 +1,6 @@ # 0x29a nixos conifg -{ pkgs, lib, ... }: +{ pkgs, ... }: { # use flakes diff --git a/hosts/default/home.nix b/hosts/default/home.nix index 04a20fb..4d137b5 100644 --- a/hosts/default/home.nix +++ b/hosts/default/home.nix @@ -1,4 +1,4 @@ -{ config, pkgs, ... }: +{ pkgs, ... }: { # user config diff --git a/hosts/neon/configuration.nix b/hosts/neon/configuration.nix index 4e8d6c2..6bcbf91 100644 --- a/hosts/neon/configuration.nix +++ b/hosts/neon/configuration.nix @@ -1,5 +1,3 @@ -{ config, pkgs, inputs, ... }: - { imports = [ ../../modules/nixos/appimage.nix diff --git a/modules/home-manager/fonts.nix b/modules/home-manager/fonts.nix index e915395..5e76bee 100644 --- a/modules/home-manager/fonts.nix +++ b/modules/home-manager/fonts.nix @@ -1,4 +1,4 @@ -{ config, pkgs, inputs, ... }: +{ pkgs, ... }: { # user fonts diff --git a/modules/home-manager/ghostty.nix b/modules/home-manager/ghostty.nix index 079837b..83f5c9d 100644 --- a/modules/home-manager/ghostty.nix +++ b/modules/home-manager/ghostty.nix @@ -1,5 +1,3 @@ -{ config, pkgs, inputs, ... }: - { programs.ghostty = { enable = true; diff --git a/modules/home-manager/git.nix b/modules/home-manager/git.nix index e6f5b74..0ed0975 100644 --- a/modules/home-manager/git.nix +++ b/modules/home-manager/git.nix @@ -1,4 +1,4 @@ -{ config, lib, pkgs, inputs, ... }: +{ config, lib, pkgs, ... }: let email = "aaron@0x29a.ch"; @@ -23,7 +23,7 @@ in push = { autoSetupRemote = true; }; user = { name = "aaron"; - email = email; + inherit email; }; gpg.ssh.allowedSignersFile = "${config.xdg.configHome}/git/allowed_signers"; }; diff --git a/modules/home-manager/nixvim.nix b/modules/home-manager/nixvim.nix index 93e6702..9004907 100644 --- a/modules/home-manager/nixvim.nix +++ b/modules/home-manager/nixvim.nix @@ -1,4 +1,4 @@ -{ config, pkgs, inputs, ... }: +{ pkgs, inputs, ... }: { programs.nixvim = { diff --git a/modules/home-manager/noctalia.nix b/modules/home-manager/noctalia.nix index 24ee89a..145ff76 100644 --- a/modules/home-manager/noctalia.nix +++ b/modules/home-manager/noctalia.nix @@ -1,4 +1,4 @@ -{ config, pkgs, inputs, ... }: +{ pkgs, inputs, ... }: { # Noctalia v5 shell, managed via home-manager's built-in programs.noctalia module. diff --git a/modules/home-manager/programs.nix b/modules/home-manager/programs.nix index f7f7b41..679a92e 100644 --- a/modules/home-manager/programs.nix +++ b/modules/home-manager/programs.nix @@ -1,4 +1,4 @@ -{ config, pkgs, inputs, ... }: +{ config, pkgs, ... }: { # user packages diff --git a/modules/home-manager/shell.nix b/modules/home-manager/shell.nix index ccde820..a49566a 100644 --- a/modules/home-manager/shell.nix +++ b/modules/home-manager/shell.nix @@ -1,4 +1,4 @@ -{ config, lib, pkgs, inputs, ... }: +{ lib, ... }: { # configure z-shell to use omz with some plugins diff --git a/modules/home-manager/styling.nix b/modules/home-manager/styling.nix index 889bf0f..2410b4d 100644 --- a/modules/home-manager/styling.nix +++ b/modules/home-manager/styling.nix @@ -1,4 +1,4 @@ -{ config, pkgs, inputs, ... }: +{ pkgs, ... }: { # set gtk theme diff --git a/modules/home-manager/tmux.nix b/modules/home-manager/tmux.nix index fffa489..fd74183 100644 --- a/modules/home-manager/tmux.nix +++ b/modules/home-manager/tmux.nix @@ -1,5 +1,3 @@ -{ config, pkgs, inputs, ... }: - let # Powerline separators, U+E0B0..U+E0B3. # diff --git a/modules/nixos/appimage.nix b/modules/nixos/appimage.nix index f466063..d475331 100644 --- a/modules/nixos/appimage.nix +++ b/modules/nixos/appimage.nix @@ -1,5 +1,3 @@ -{ config, lib, pkgs, ... }: - { # AppImages ship a squashfs payload that the bundled runtime mounts through # libfuse.so.2 at startup. nix-ld resolves the ELF interpreter but not that diff --git a/modules/nixos/astro.nix b/modules/nixos/astro.nix index a82dd1c..30efae9 100644 --- a/modules/nixos/astro.nix +++ b/modules/nixos/astro.nix @@ -1,4 +1,4 @@ -{ config, lib, pkgs, ... }: +{ lib, pkgs, ... }: let # Siril's Python plugins (sirilpy) run in a venv that pip-installs foreign diff --git a/modules/nixos/audio.nix b/modules/nixos/audio.nix index 99627e2..4c25f6e 100644 --- a/modules/nixos/audio.nix +++ b/modules/nixos/audio.nix @@ -1,5 +1,3 @@ -{ config, lib, pkgs, ... }: - { # enable sound through pipewire services.pipewire = { diff --git a/modules/nixos/bootloader.nix b/modules/nixos/bootloader.nix index dc6f623..d010ddf 100644 --- a/modules/nixos/bootloader.nix +++ b/modules/nixos/bootloader.nix @@ -1,4 +1,4 @@ -{ config, lib, pkgs, ... }: +{ pkgs, ... }: { # set bootloader to systemd diff --git a/modules/nixos/calibre.nix b/modules/nixos/calibre.nix index c42df9b..5e42588 100644 --- a/modules/nixos/calibre.nix +++ b/modules/nixos/calibre.nix @@ -1,4 +1,4 @@ -{ config, lib, pkgs, ... }: +{ pkgs, ... }: { # install calibre for ebook management and kobo syncing diff --git a/modules/nixos/certificates.nix b/modules/nixos/certificates.nix index b5d0615..cc90cb5 100644 --- a/modules/nixos/certificates.nix +++ b/modules/nixos/certificates.nix @@ -1,5 +1,3 @@ -{ config, lib, pkgs, ... }: - let caddyRootCA = '' -----BEGIN CERTIFICATE----- diff --git a/modules/nixos/claudecode.nix b/modules/nixos/claudecode.nix index 1135868..c1b1097 100644 --- a/modules/nixos/claudecode.nix +++ b/modules/nixos/claudecode.nix @@ -1,4 +1,4 @@ -{ config, lib, pkgs, ... }: +{ pkgs, ... }: { environment.systemPackages = with pkgs; [ diff --git a/modules/nixos/docker.nix b/modules/nixos/docker.nix index c9ea036..1b46962 100644 --- a/modules/nixos/docker.nix +++ b/modules/nixos/docker.nix @@ -1,4 +1,4 @@ -{ config, lib, pkgs, ...}: +{ pkgs, ...}: { # add docker group to user diff --git a/modules/nixos/drives.nix b/modules/nixos/drives.nix index 6cc1df2..d7a3dce 100644 --- a/modules/nixos/drives.nix +++ b/modules/nixos/drives.nix @@ -1,5 +1,3 @@ -{ config, lib, pkgs, ... }: - # Add encrypted drives to argon { diff --git a/modules/nixos/gnupg.nix b/modules/nixos/gnupg.nix index 6e1233c..ff8d3bc 100644 --- a/modules/nixos/gnupg.nix +++ b/modules/nixos/gnupg.nix @@ -1,4 +1,4 @@ -{ config, lib, pkgs, ... }: +{ config, pkgs, ... }: { # enable gnupg agent diff --git a/modules/nixos/gnuradio.nix b/modules/nixos/gnuradio.nix index 4f859b6..c7a3fc3 100644 --- a/modules/nixos/gnuradio.nix +++ b/modules/nixos/gnuradio.nix @@ -1,4 +1,4 @@ -{ config, lib, pkgs, ... }: +{ pkgs, ... }: { # install gnuradio companion along with it's osmocom library diff --git a/modules/nixos/graphics.nix b/modules/nixos/graphics.nix index 668a0e9..8debead 100644 --- a/modules/nixos/graphics.nix +++ b/modules/nixos/graphics.nix @@ -1,4 +1,4 @@ -{ config, lib, pkgs, ... }: +{ pkgs, ... }: { # enable amd GPU acceleration (mesa, vulkan, egl) diff --git a/modules/nixos/greetd.nix b/modules/nixos/greetd.nix index cca87ec..6c62f0b 100644 --- a/modules/nixos/greetd.nix +++ b/modules/nixos/greetd.nix @@ -1,4 +1,4 @@ -{ config, lib, pkgs, ... }: +{ pkgs, ... }: { # greetd display manager with tuigreet diff --git a/modules/nixos/locales.nix b/modules/nixos/locales.nix index 2e81af9..f2b0fd9 100644 --- a/modules/nixos/locales.nix +++ b/modules/nixos/locales.nix @@ -1,5 +1,3 @@ -{ config, lib, pkgs, ... }: - { # set the time zone time.timeZone = "Europe/Zurich"; diff --git a/modules/nixos/networking.nix b/modules/nixos/networking.nix index 04d716e..0f56323 100644 --- a/modules/nixos/networking.nix +++ b/modules/nixos/networking.nix @@ -1,4 +1,4 @@ -{ config, lib, pkgs, ... }: +{ pkgs, ... }: { # user networkmanager diff --git a/modules/nixos/niri.nix b/modules/nixos/niri.nix index 844c002..41b6ceb 100644 --- a/modules/nixos/niri.nix +++ b/modules/nixos/niri.nix @@ -1,4 +1,4 @@ -{ config, lib, pkgs, ... }: +{ pkgs, ... }: { # just enable and install niri diff --git a/modules/nixos/noctalia.nix b/modules/nixos/noctalia.nix index c1809b4..1e66649 100644 --- a/modules/nixos/noctalia.nix +++ b/modules/nixos/noctalia.nix @@ -1,4 +1,4 @@ -{ config, lib, pkgs, inputs, ... }: +{ pkgs, inputs, ... }: { # install noctalia and helper packages environment.systemPackages = with pkgs; [ diff --git a/modules/nixos/openssh.nix b/modules/nixos/openssh.nix index 7b55b1d..207224a 100644 --- a/modules/nixos/openssh.nix +++ b/modules/nixos/openssh.nix @@ -1,5 +1,3 @@ -{ config, lib, pkgs, ... }: - { # enable the openssh daemon services.openssh = { diff --git a/modules/nixos/packages.nix b/modules/nixos/packages.nix index 4a40962..62b0cf7 100644 --- a/modules/nixos/packages.nix +++ b/modules/nixos/packages.nix @@ -1,4 +1,4 @@ -{ config, lib, pkgs, ... }: +{ pkgs, ... }: { # system packages diff --git a/modules/nixos/protonvpn.nix b/modules/nixos/protonvpn.nix index e2737af..c8dc1fe 100644 --- a/modules/nixos/protonvpn.nix +++ b/modules/nixos/protonvpn.nix @@ -1,4 +1,4 @@ -{ config, lib, pkgs, ... }: +{ pkgs, ... }: { # protonvpn uses wireguard tunnels, which break strict reverse path filtering diff --git a/modules/nixos/sddm.nix b/modules/nixos/sddm.nix index 4666015..ff01042 100644 --- a/modules/nixos/sddm.nix +++ b/modules/nixos/sddm.nix @@ -1,4 +1,4 @@ -{ config, lib, pkgs, ... }: +{ pkgs, ... }: { # enable sddm and use astronaut theme diff --git a/modules/nixos/services.nix b/modules/nixos/services.nix index 6cd2ae1..cb716d2 100644 --- a/modules/nixos/services.nix +++ b/modules/nixos/services.nix @@ -1,5 +1,3 @@ -{ config, lib, pkgs, ... }: - { # list of enabled services on the system services = { diff --git a/modules/nixos/settings.nix b/modules/nixos/settings.nix index 7ef1993..4614cc7 100644 --- a/modules/nixos/settings.nix +++ b/modules/nixos/settings.nix @@ -1,5 +1,3 @@ -{ config, lib, pkgs, ... }: - { nix = { # nix settings diff --git a/modules/nixos/steam.nix b/modules/nixos/steam.nix index 6e9d450..88671e2 100644 --- a/modules/nixos/steam.nix +++ b/modules/nixos/steam.nix @@ -1,4 +1,4 @@ -{ config, lib, pkgs, ... }: +{ pkgs, ... }: { # enable steam and open firewall diff --git a/modules/nixos/thunar.nix b/modules/nixos/thunar.nix index d020ac3..f52061a 100644 --- a/modules/nixos/thunar.nix +++ b/modules/nixos/thunar.nix @@ -1,4 +1,4 @@ -{ config, lib, pkgs, ... }: +{ pkgs, ... }: { # Enable Thunar diff --git a/modules/nixos/users.nix b/modules/nixos/users.nix index 91aba98..715438d 100644 --- a/modules/nixos/users.nix +++ b/modules/nixos/users.nix @@ -1,4 +1,4 @@ -{ config, lib, pkgs, ... }: +{ pkgs, ... }: { # create users diff --git a/modules/nixos/vial.nix b/modules/nixos/vial.nix index d66cd9d..5ffef76 100644 --- a/modules/nixos/vial.nix +++ b/modules/nixos/vial.nix @@ -1,4 +1,4 @@ -{ config, lib, pkgs, ... }: +{ pkgs, ... }: { # Vial-capable keyboards (lily58 pro r2g) expose a second, non-keyboard raw diff --git a/statix.toml b/statix.toml new file mode 100644 index 0000000..ec20aea --- /dev/null +++ b/statix.toml @@ -0,0 +1,8 @@ +# statix configuration (run via `lint` in the devenv) + +# Flat assignments like `boot.loader = ...; boot.plymouth = ...;` are the +# preferred style in this repo, so don't ask for them to be merged. +disabled = [ "repeated_keys" ] + +# Generated by nixos-generate-config, not maintained by hand. +ignore = [ "hosts/*/hardware-configuration.nix" ] diff --git a/users/aaron/home.nix b/users/aaron/home.nix index 96309f9..22caf6c 100644 --- a/users/aaron/home.nix +++ b/users/aaron/home.nix @@ -1,5 +1,3 @@ -{ config, pkgs, ... }: - { imports = [ ../../modules/home-manager/fonts.nix