Fix nix flake check warnings and errors
Some checks failed
CI / check (push) Successful in 3m38s
CI / build-and-cache (push) Failing after 1h26m28s

- Move nextcloud-talk-desktop to x86_64-linux-only block (fixes aarch64 eval error)
- Remove duplicate deps from plasma-bigscreen (auto-injected by mkKdeDerivation)
- Replace nixfmt-rfc-style with nixfmt (deprecated alias)
- Set programs.git.signing.format = null (adopt new default)
- Add meta.description to all flake apps
This commit is contained in:
2026-04-08 13:09:41 -07:00
parent a823caf369
commit 962fd35a83
4 changed files with 41 additions and 38 deletions

View File

@@ -270,7 +270,6 @@
"custom-mcrcon-rbw" = pkgs.custom.mcrcon-rbw; "custom-mcrcon-rbw" = pkgs.custom.mcrcon-rbw;
"custom-tea-rbw" = pkgs.custom.tea-rbw; "custom-tea-rbw" = pkgs.custom.tea-rbw;
"custom-rclone-torbox-setup" = pkgs.custom.rclone-torbox-setup; "custom-rclone-torbox-setup" = pkgs.custom.rclone-torbox-setup;
"custom-nextcloud-talk-desktop" = pkgs.custom.nextcloud-talk-desktop;
"custom-opencode" = pkgs.custom.opencode; "custom-opencode" = pkgs.custom.opencode;
"qt-pinned-jellyfin-media-player" = pkgsQt.jellyfin-media-player; "qt-pinned-jellyfin-media-player" = pkgsQt.jellyfin-media-player;
"qt-pinned-stremio" = pkgsQt.stremio; "qt-pinned-stremio" = pkgsQt.stremio;
@@ -278,6 +277,7 @@
// ( // (
if system == "x86_64-linux" then if system == "x86_64-linux" then
{ {
"custom-nextcloud-talk-desktop" = pkgs.custom.nextcloud-talk-desktop;
# nix-deck kernel from Jovian-NixOS (Steam Deck) - expensive to build # nix-deck kernel from Jovian-NixOS (Steam Deck) - expensive to build
"nix-deck-kernel" = self.nixosConfigurations.nix-deck.config.boot.kernelPackages.kernel; "nix-deck-kernel" = self.nixosConfigurations.nix-deck.config.boot.kernelPackages.kernel;
} }
@@ -341,30 +341,37 @@
update-doomemacs = { update-doomemacs = {
type = "app"; type = "app";
program = "${update-doomemacs}/bin/update-doomemacs"; program = "${update-doomemacs}/bin/update-doomemacs";
meta.description = "Update Doom Emacs configuration";
}; };
update-claude-code = { update-claude-code = {
type = "app"; type = "app";
program = "${update-claude-code}/bin/update-claude-code"; program = "${update-claude-code}/bin/update-claude-code";
meta.description = "Update Claude Code package version";
}; };
update-opencode = { update-opencode = {
type = "app"; type = "app";
program = "${update-opencode}/bin/update-opencode"; program = "${update-opencode}/bin/update-opencode";
meta.description = "Update OpenCode package version";
}; };
rotate-wallpaper = { rotate-wallpaper = {
type = "app"; type = "app";
program = "${rotate-wallpaper}/bin/rotate-wallpaper"; program = "${rotate-wallpaper}/bin/rotate-wallpaper";
meta.description = "Rotate desktop wallpaper";
}; };
upgrade = { upgrade = {
type = "app"; type = "app";
program = "${upgrade}/bin/upgrade"; program = "${upgrade}/bin/upgrade";
meta.description = "Upgrade NixOS configuration";
}; };
bootstrap = { bootstrap = {
type = "app"; type = "app";
program = "${bootstrap}/bin/bootstrap"; program = "${bootstrap}/bin/bootstrap";
meta.description = "Bootstrap a new NixOS machine";
}; };
build-liveusb = { build-liveusb = {
type = "app"; type = "app";
program = "${build-liveusb}/bin/build-liveusb"; program = "${build-liveusb}/bin/build-liveusb";
meta.description = "Build a bootable Live USB ISO";
}; };
} }
); );

View File

@@ -60,6 +60,7 @@ in
programs.git = { programs.git = {
enable = true; enable = true;
signing.format = null;
settings = { settings = {
user.name = "John Ogle"; user.name = "John Ogle";
user.email = "john@ogle.fyi"; user.email = "john@ogle.fyi";

View File

@@ -1,4 +1,9 @@
{ config, lib, pkgs, ... }: {
config,
lib,
pkgs,
...
}:
with lib; with lib;
@@ -20,9 +25,10 @@ let
# Default emacs configuration with vterm support # Default emacs configuration with vterm support
defaultEmacsPackage = defaultEmacsPackage =
if pkgs.stdenv.isDarwin if pkgs.stdenv.isDarwin then
then pkgs.emacs-macport.pkgs.withPackages emacsPackages pkgs.emacs-macport.pkgs.withPackages emacsPackages
else pkgs.emacs.pkgs.withPackages emacsPackages; else
pkgs.emacs.pkgs.withPackages emacsPackages;
# Path to doom config directory (relative to this file) # Path to doom config directory (relative to this file)
doomConfigDir = ./doom; doomConfigDir = ./doom;
@@ -56,8 +62,8 @@ in
pkgs.nerd-fonts.fira-code pkgs.nerd-fonts.fira-code
pkgs.nerd-fonts.droid-sans-mono pkgs.nerd-fonts.droid-sans-mono
pkgs.nil # nix lsp language server pkgs.nil # nix lsp language server
pkgs.nixfmt-rfc-style pkgs.nixfmt
(pkgs.ripgrep.override {withPCRE2 = true;}) (pkgs.ripgrep.override { withPCRE2 = true; })
pkgs.pipenv pkgs.pipenv
pkgs.poetry pkgs.poetry
pkgs.python3 pkgs.python3
@@ -88,7 +94,7 @@ in
}; };
# TODO: Use mkOutOfStoreSymlink instead? # TODO: Use mkOutOfStoreSymlink instead?
home.activation.doomConfig = lib.hm.dag.entryAfter ["writeBoundary"] '' home.activation.doomConfig = lib.hm.dag.entryAfter [ "writeBoundary" ] ''
# Always remove and recreate the symlink to ensure it points to the source directory # Always remove and recreate the symlink to ensure it points to the source directory
rm -rf "${config.xdg.configHome}/doom" rm -rf "${config.xdg.configHome}/doom"
ln -sf "${config.home.homeDirectory}/nixos-configs/home/roles/emacs/doom" "${config.xdg.configHome}/doom" ln -sf "${config.home.homeDirectory}/nixos-configs/home/roles/emacs/doom" "${config.xdg.configHome}/doom"

View File

@@ -62,33 +62,22 @@ mkKdeDerivation {
]; ];
extraBuildInputs = [ extraBuildInputs = [
# KDE Frameworks # KDE Frameworks (auto-injected by mkKdeDerivation: ki18n, kcmutils,
ki18n # knotifications, kio, kwayland, kwindowsystem, ksvg, kiconthemes)
kdeclarative kdeclarative
kcmutils
knotifications
kio
kwayland
kwindowsystem
ksvg
kiconthemes
kglobalaccel kglobalaccel
kdbusaddons kdbusaddons
# Plasma # Plasma (auto-injected: plasma-workspace, plasma-activities,
plasma-workspace # plasma-activities-stats, libkscreen)
plasma-nano plasma-nano
plasma-nm plasma-nm
plasma-activities
plasma-activities-stats
milou milou
libkscreen
kdeconnect-kde kdeconnect-kde
# Qt — qtdeclarative is needed for Qt6::QmlPrivate (see postPatch) # Qt — qtdeclarative is needed for Qt6::QmlPrivate (see postPatch)
qtdeclarative qtdeclarative
qtmultimedia qtmultimedia
qtwebengine qtwebengine
# Other # Other (auto-injected: bluez-qt)
bluez-qt
qcoro qcoro
plasma-wayland-protocols plasma-wayland-protocols
wayland wayland
@@ -96,22 +85,22 @@ mkKdeDerivation {
]; ];
postPatch = '' postPatch = ''
substituteInPlace bin/plasma-bigscreen-wayland.in \ substituteInPlace bin/plasma-bigscreen-wayland.in \
--replace @KDE_INSTALL_FULL_LIBEXECDIR@ "${plasma-workspace}/libexec" --replace @KDE_INSTALL_FULL_LIBEXECDIR@ "${plasma-workspace}/libexec"
# WORKAROUND: Plasma version numbers must match; we're building an # WORKAROUND: Plasma version numbers must match; we're building an
# unreleased package against a stable Plasma release. Remove once # unreleased package against a stable Plasma release. Remove once
# bigscreen is part of the Plasma release cycle. # bigscreen is part of the Plasma release cycle.
substituteInPlace CMakeLists.txt \ substituteInPlace CMakeLists.txt \
--replace-fail 'set(PROJECT_VERSION "6.5.80")' 'set(PROJECT_VERSION "${plasma-workspace.version}")' --replace-fail 'set(PROJECT_VERSION "6.5.80")' 'set(PROJECT_VERSION "${plasma-workspace.version}")'
# WORKAROUND: QCoro6Qml's cmake config links against Qt6::QmlPrivate but # WORKAROUND: QCoro6Qml's cmake config links against Qt6::QmlPrivate but
# doesn't call find_package to import the target. This is arguably a QCoro # doesn't call find_package to import the target. This is arguably a QCoro
# packaging bug in nixpkgs (it should propagate qtdeclarative). Remove # packaging bug in nixpkgs (it should propagate qtdeclarative). Remove
# once QCoro or the nixpkgs plasma-bigscreen package is fixed upstream. # once QCoro or the nixpkgs plasma-bigscreen package is fixed upstream.
substituteInPlace CMakeLists.txt \ substituteInPlace CMakeLists.txt \
--replace-fail 'find_package(QCoro6' 'find_package(Qt6 ''${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS QmlPrivate) --replace-fail 'find_package(QCoro6' 'find_package(Qt6 ''${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS QmlPrivate)
find_package(QCoro6' find_package(QCoro6'
''; '';
preFixup = '' preFixup = ''