Files
nix-config/flake.nix
Jordan Holt 36384f1305
Some checks failed
Check flake / build-amd64-linux (push) Failing after 21s
flake.lock: Update
Flake lock file updates:

• Added input 'niri':
    'github:sodiboo/niri-flake/ba6ea712dc2da0b01c6a8d02dd9e86973663e4de?narHash=sha256-OShXLsMyF9hxmiID1p4QF%2BekqreViHM9105ej05S2uI%3D' (2026-01-02)
• Added input 'niri/niri-stable':
    'github:YaLTeR/niri/01be0e65f4eb91a9cd624ac0b76aaeab765c7294?narHash=sha256-RLD89dfjN0RVO86C/Mot0T7aduCygPGaYbog566F0Qo%3D' (2025-08-30)
• Added input 'niri/niri-unstable':
    'github:YaLTeR/niri/cf0b4bc0ca93ab5c18b562ada1d8609b67b3c4e3?narHash=sha256-aTj88rDBdhmzaGXoFPOsHjXYM2OjNttixsGftT/X0dI%3D' (2025-12-31)
• Added input 'niri/nixpkgs':
    follows 'nixpkgs'
• Added input 'niri/nixpkgs-stable':
    'github:NixOS/nixpkgs/64049ca74d63e971b627b5f3178d95642e61cedd?narHash=sha256-yA/CuWyqm%2BAQo2ivGy6PlYrjZBQm7jfbe461%2B4HF2fo%3D' (2026-01-02)
• Added input 'niri/xwayland-satellite-stable':
    'github:Supreeeme/xwayland-satellite/388d291e82ffbc73be18169d39470f340707edaa?narHash=sha256-m%2B9tUfsmBeF2Gn4HWa6vSITZ4Gz1eA1F5Kh62B0N4oE%3D' (2025-08-18)
• Added input 'niri/xwayland-satellite-unstable':
    'github:Supreeeme/xwayland-satellite/0dde7ca1d3a8e8c5082533d76084e2aa02bef70e?narHash=sha256-9Kv4gWagx/u4RfZJzBMAoagW9ava5waxd%2BXoTkzqF7E%3D' (2025-12-22)
2026-01-04 00:49:43 +00:00

183 lines
4.5 KiB
Nix

{
description = "NixOS system configuration";
inputs = {
agenix = {
url = "github:ryantm/agenix";
inputs.home-manager.follows = "nixpkgs";
inputs.nixpkgs.follows = "nixpkgs";
};
agenix-rekey = {
url = "github:oddlama/agenix-rekey";
inputs.nixpkgs.follows = "nixpkgs";
inputs.pre-commit-hooks.follows = "pre-commit-hooks";
};
deploy-rs = {
url = "github:serokell/deploy-rs";
inputs.nixpkgs.follows = "nixpkgs";
};
devshell = {
url = "github:numtide/devshell";
inputs.nixpkgs.follows = "nixpkgs";
};
disko = {
url = "github:nix-community/disko";
inputs.nixpkgs.follows = "nixpkgs";
};
home-manager = {
url = "github:nix-community/home-manager/release-25.11";
inputs.nixpkgs.follows = "nixpkgs";
};
hyprland.url = "github:hyprwm/Hyprland";
hyprland-plugins = {
url = "github:hyprwm/hyprland-plugins";
inputs.hyprland.follows = "hyprland";
};
firefox-gnome-theme = {
url = "github:rafaelmardojai/firefox-gnome-theme";
flake = false;
};
flake-parts.url = "github:hercules-ci/flake-parts";
gitea-github-theme = {
url = "git+ssh://git@git.vimium.com/jordan/gitea-github-theme.git?ref=main";
flake = false;
};
impermanence.url = "github:nix-community/impermanence";
kvlibadwaita = {
url = "github:GabePoel/KvLibadwaita";
flake = false;
};
niri = {
url = "github:sodiboo/niri-flake";
inputs.nixpkgs.follows = "nixpkgs";
};
nixos-hardware.url = "github:NixOS/nixos-hardware";
nixos-mailserver = {
url = "gitlab:simple-nixos-mailserver/nixos-mailserver/nixos-25.11";
inputs.nixpkgs.follows = "nixpkgs";
};
nixpkgs.url = "nixpkgs/nixos-25.11";
nixpkgs-unstable.url = "nixpkgs/nixos-unstable";
# nixpkgs-master.url = "nixpkgs";
nixvim = {
url = "github:nix-community/nixvim/nixos-25.11";
inputs.nixpkgs.follows = "nixpkgs";
};
nix-topology = {
url = "github:oddlama/nix-topology";
inputs.nixpkgs.follows = "nixpkgs";
inputs.pre-commit-hooks.follows = "pre-commit-hooks";
};
pre-commit-hooks = {
url = "github:cachix/git-hooks.nix";
inputs.nixpkgs.follows = "nixpkgs";
};
secrets = {
url = "git+ssh://git@git.vimium.com/jordan/nix-secrets.git";
flake = false;
};
thunderbird-gnome-theme = {
url = "github:rafaelmardojai/thunderbird-gnome-theme";
flake = false;
};
treefmt-nix = {
url = "github:numtide/treefmt-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs =
inputs@{
nixpkgs,
flake-parts,
...
}:
flake-parts.lib.mkFlake { inherit inputs; } {
imports = [
inputs.pre-commit-hooks.flakeModule
inputs.nix-topology.flakeModule
inputs.treefmt-nix.flakeModule
./nix/agenix-rekey.nix
./nix/devshell.nix
./nix/hosts.nix
];
flake = {
overlays = nixpkgs.lib.packagesFromDirectoryRecursive {
callPackage = path: overrides: import path;
directory = ./overlays;
};
};
systems = [
"aarch64-linux"
"x86_64-linux"
];
perSystem =
{ pkgs, ... }:
{
formatter = pkgs.nixfmt-rfc-style;
legacyPackages = pkgs.lib.packagesFromDirectoryRecursive {
callPackage = pkgs.callPackage;
directory = ./pkgs;
};
pre-commit = {
settings = {
excludes = [ "pkgs/libcamera-rpi/libcamera-rpi-ipa-priv-key.pem" ];
hooks = {
check-case-conflicts.enable = true;
check-executables-have-shebangs.enable = true;
check-merge-conflicts.enable = true;
detect-private-keys.enable = true;
end-of-file-fixer.enable = true;
fix-byte-order-marker.enable = true;
mixed-line-endings.enable = true;
treefmt.enable = true;
trim-trailing-whitespace.enable = true;
};
};
};
treefmt = {
projectRootFile = "flake.nix";
programs = {
deadnix = {
enable = true;
no-lambda-arg = true;
};
mdformat.enable = true;
nixfmt-rfc-style.enable = true;
shellcheck.enable = true;
};
};
};
};
}