134 lines
3.7 KiB
Nix
134 lines
3.7 KiB
Nix
{
|
|
description = "Framework 13 NixOS Configuration";
|
|
|
|
outputs =
|
|
inputs:
|
|
inputs.flake-parts.lib.mkFlake { inherit inputs; } {
|
|
systems = [ "x86_64-linux" ];
|
|
perSystem = { pkgs, system, ... }: {
|
|
_module.args.pkgs = import inputs.nixpkgs {
|
|
inherit system;
|
|
overlays = [ ];
|
|
config = { };
|
|
};
|
|
|
|
# Boox eReader and Android device management shell
|
|
devShells.default = import ./shell.nix {
|
|
inherit pkgs inputs;
|
|
};
|
|
};
|
|
|
|
imports = [
|
|
./hosts
|
|
];
|
|
};
|
|
|
|
inputs = {
|
|
devenv = {
|
|
url = "github:cachix/devenv";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
|
|
# Declarative disk partitioning (for phantom USB)
|
|
disko = {
|
|
url = "github:nix-community/disko";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
|
|
|
|
flake-parts = {
|
|
url = "github:hercules-ci/flake-parts";
|
|
inputs.nixpkgs-lib.follows = "nixpkgs";
|
|
};
|
|
helix.url = "github:helix-editor/helix";
|
|
|
|
home-manager = {
|
|
url = "github:nix-community/home-manager/release-26.05";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
|
|
# Home Manager for Steam Deck (follows unstable for Jovian-NixOS compatibility)
|
|
home-manager-unstable = {
|
|
url = "github:nix-community/home-manager";
|
|
inputs.nixpkgs.follows = "nixpkgs-unstable";
|
|
};
|
|
|
|
|
|
# Hyprland
|
|
hyprland.url = "github:hyprwm/hyprland";
|
|
|
|
hyprland-contrib = {
|
|
url = "github:hyprwm/contrib";
|
|
inputs.nixpkgs.follows = "hyprland/nixpkgs";
|
|
};
|
|
|
|
|
|
|
|
# Ephemeral root with selective persistence (for phantom USB)
|
|
impermanence.url = "github:nix-community/impermanence";
|
|
|
|
# Hermes Agent desktop client (connects to the homelab gateway)
|
|
# Note: Don't override nixpkgs — the uv2nix-built closure is pinned to
|
|
# upstream's lock, and following ours would force a full local rebuild
|
|
hermes-agent.url = "github:NousResearch/hermes-agent";
|
|
|
|
# Steam Deck support via Jovian-NixOS
|
|
# Note: Don't override nixpkgs to ensure cache hits for pre-built binaries
|
|
jovian-nixos.url = "github:Jovian-Experiments/Jovian-NixOS";
|
|
|
|
mcp-servers-nix = {
|
|
url = "github:natsukium/mcp-servers-nix";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
|
|
# Minecraft declarative mod management
|
|
nix-minecraft = {
|
|
url = "github:Infinidoge/nix-minecraft";
|
|
inputs.nixpkgs.follows = "nixpkgs-unstable";
|
|
};
|
|
nixos-hardware.url = "github:NixOS/nixos-hardware/master";
|
|
|
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-26.05";
|
|
nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable";
|
|
|
|
# Keep upstream's nixpkgs pin so Noctalia's binary cache can be used.
|
|
noctalia-templates = {
|
|
url = "github:noctalia-dev/community-templates/cdb77210cd9c4fa9ccc5673523b57d2a6b76e804";
|
|
flake = false;
|
|
};
|
|
noctalia.url = "github:noctalia-dev/noctalia/cachix";
|
|
|
|
nur = {
|
|
url = "github:nix-community/NUR";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
|
|
# Path to your local nvim configuration folder
|
|
nvchad-config = {
|
|
url = "path:./home/editors/nvim/nvchad";
|
|
flake = false;
|
|
};
|
|
|
|
nix4nvchad = {
|
|
url = "github:nix-community/nix4nvchad";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
inputs.nvchad-starter.follows = "nvchad-config"; # Overrides the starter
|
|
};
|
|
|
|
openapi-tui.url = "github:zaghaghi/openapi-tui";
|
|
|
|
secrets.url = "git+ssh://forgejo@git.oolongtechnologies.io/bogdan/secrets.git";
|
|
|
|
# Secrets management
|
|
sops-nix = {
|
|
url = "github:Mic92/sops-nix";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
|
|
stylix = {
|
|
url = "github:nix-community/stylix/release-26.05";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
yazi.url = "github:sxyazi/yazi";
|
|
};
|
|
}
|