2024-08-25 19:58:12 +00:00
|
|
|
{
|
|
|
|
description = "nezia's nixos configuration";
|
|
|
|
|
2024-10-22 09:56:48 +00:00
|
|
|
outputs = {
|
|
|
|
self,
|
|
|
|
nixpkgs,
|
|
|
|
systems,
|
2024-10-24 14:02:14 +00:00
|
|
|
agenix,
|
2024-10-24 12:19:40 +00:00
|
|
|
deploy-rs,
|
2024-10-24 14:02:14 +00:00
|
|
|
treefmt-nix,
|
2024-10-22 09:56:48 +00:00
|
|
|
...
|
|
|
|
} @ inputs: let
|
|
|
|
eachSystem = f: nixpkgs.lib.genAttrs (import systems) (system: f nixpkgs.legacyPackages.${system});
|
|
|
|
treefmtEval = eachSystem (pkgs: treefmt-nix.lib.evalModule pkgs ./treefmt.nix);
|
|
|
|
in {
|
|
|
|
devShells = eachSystem (pkgs: {
|
|
|
|
default = pkgs.mkShell {
|
|
|
|
packages = [
|
|
|
|
pkgs.alejandra
|
|
|
|
pkgs.git
|
2024-10-24 12:19:40 +00:00
|
|
|
deploy-rs.packages.${pkgs.system}.default
|
2024-10-24 14:02:14 +00:00
|
|
|
agenix.packages.${pkgs.system}.default
|
2024-10-22 09:56:48 +00:00
|
|
|
];
|
2024-08-25 19:58:12 +00:00
|
|
|
};
|
2024-10-22 09:56:48 +00:00
|
|
|
});
|
|
|
|
formatter = eachSystem (pkgs: treefmtEval.${pkgs.system}.config.build.wrapper);
|
2024-11-21 13:54:22 +00:00
|
|
|
nixosConfigurations = import ./hosts {inherit inputs;};
|
2024-11-06 15:38:29 +00:00
|
|
|
packages = eachSystem (pkgs: import ./pkgs {inherit inputs pkgs;});
|
2024-11-15 18:44:59 +00:00
|
|
|
deploy.nodes = import ./nodes {inherit inputs;};
|
|
|
|
checks = builtins.mapAttrs (_: deployLib: deployLib.deployChecks self.deploy) deploy-rs.lib;
|
2024-10-22 09:56:48 +00:00
|
|
|
};
|
2024-09-24 13:09:24 +00:00
|
|
|
inputs = {
|
2024-10-22 14:40:57 +00:00
|
|
|
# nix related
|
2024-11-22 18:36:40 +00:00
|
|
|
nixpkgs.url = "nixpkgs/nixos-unstable";
|
2024-10-22 14:40:57 +00:00
|
|
|
systems.url = "github:nix-systems/default-linux";
|
|
|
|
nixos-hardware.url = "github:NixOS/nixos-hardware";
|
|
|
|
lanzaboote = {
|
|
|
|
url = "github:nix-community/lanzaboote/v0.4.1";
|
2024-10-21 17:08:21 +00:00
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
};
|
2024-09-24 13:09:24 +00:00
|
|
|
home-manager = {
|
|
|
|
url = "github:nix-community/home-manager";
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
};
|
2024-10-22 14:40:57 +00:00
|
|
|
nix-index-db = {
|
|
|
|
url = "github:nix-community/nix-index-database";
|
2024-09-24 13:09:24 +00:00
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
};
|
2024-10-22 14:40:57 +00:00
|
|
|
|
|
|
|
# other
|
2024-10-24 14:02:14 +00:00
|
|
|
agenix = {
|
|
|
|
url = "github:ryantm/agenix";
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
};
|
2024-10-01 09:54:43 +00:00
|
|
|
basix.url = "github:notashelf/basix";
|
2024-10-23 16:04:37 +00:00
|
|
|
deploy-rs.url = "github:serokell/deploy-rs";
|
2024-10-22 14:40:57 +00:00
|
|
|
firefox-addons = {
|
|
|
|
url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons";
|
2024-10-01 09:54:43 +00:00
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
};
|
2024-12-13 11:03:43 +00:00
|
|
|
hyprland.url = "github:hyprwm/Hyprland";
|
2024-12-13 13:54:24 +00:00
|
|
|
hyprwm-contrib = {
|
|
|
|
url = "github:hyprwm/contrib";
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
};
|
2024-10-24 12:49:32 +00:00
|
|
|
niri.url = "github:sodiboo/niri-flake";
|
2024-12-05 14:58:37 +00:00
|
|
|
nix-flatpak.url = "github:gmodena/nix-flatpak/?ref=v0.5.0";
|
2024-12-04 21:22:45 +00:00
|
|
|
nvf.url = "github:notashelf/nvf";
|
2024-10-27 10:56:13 +00:00
|
|
|
portfolio.url = "github:nezia1/portfolio";
|
2024-10-22 14:40:57 +00:00
|
|
|
plasma-manager = {
|
|
|
|
url = "github:nix-community/plasma-manager";
|
2024-10-19 22:05:19 +00:00
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
2024-10-22 14:40:57 +00:00
|
|
|
inputs.home-manager.follows = "home-manager";
|
2024-10-19 22:05:19 +00:00
|
|
|
};
|
2024-10-22 14:40:57 +00:00
|
|
|
treefmt-nix.url = "github:numtide/treefmt-nix";
|
2024-11-29 14:03:18 +00:00
|
|
|
};
|
2024-12-13 11:03:43 +00:00
|
|
|
nixConfig = {
|
|
|
|
extra-substituters = [
|
|
|
|
# use nixos cache first
|
|
|
|
"https://cache.nixos.org?priority=10"
|
|
|
|
"https://hyprland.cachix.org"
|
|
|
|
];
|
|
|
|
extra-trusted-public-keys = [
|
|
|
|
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
|
|
|
|
"hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="
|
|
|
|
];
|
|
|
|
};
|
2024-08-25 19:58:12 +00:00
|
|
|
}
|