flocon/flake.nix

84 lines
2.6 KiB
Nix
Raw Normal View History

2024-08-25 19:58:12 +00:00
{
description = "nezia's nixos configuration";
outputs = {
self,
nixpkgs,
systems,
agenix,
2024-10-24 12:19:40 +00:00
deploy-rs,
treefmt-nix,
...
} @ 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
agenix.packages.${pkgs.system}.default
];
2024-08-25 19:58:12 +00:00
};
});
formatter = eachSystem (pkgs: treefmtEval.${pkgs.system}.config.build.wrapper);
nixosConfigurations = let
lib' = import ./lib {inherit inputs lib';};
in
import ./hosts {inherit inputs lib';};
packages = eachSystem (pkgs: import ./pkgs {inherit inputs pkgs;});
deploy.nodes = import ./nodes {inherit inputs;};
checks = builtins.mapAttrs (_: deployLib: deployLib.deployChecks self.deploy) deploy-rs.lib;
};
inputs = {
2024-10-22 14:40:57 +00:00
# nix related
nixpkgs.url = "github:NixOS/nixpkgs/dc460ec76cbff0e66e269457d7b728432263166c"; # TODO: remove when 24.11 is out
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";
inputs.nixpkgs.follows = "nixpkgs";
};
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";
inputs.nixpkgs.follows = "nixpkgs";
};
2024-10-22 14:40:57 +00:00
# other
agenix = {
url = "github:ryantm/agenix";
inputs.nixpkgs.follows = "nixpkgs";
};
2024-10-22 14:40:57 +00:00
ags.url = "github:Aylur/ags";
basix.url = "github:notashelf/basix";
deploy-rs.url = "github:serokell/deploy-rs";
2024-11-13 22:19:57 +00:00
ironbar = {
url = "github:JakeStanger/ironbar";
inputs.nixpkgs.follows = "nixpkgs";
};
2024-10-22 14:40:57 +00:00
firefox-addons = {
url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons";
inputs.nixpkgs.follows = "nixpkgs";
};
2024-10-24 12:49:32 +00:00
niri.url = "github:sodiboo/niri-flake";
2024-10-22 14:40:57 +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";
wezterm = {
url = "github:wez/wezterm/main?dir=nix";
inputs.nixpkgs.follows = "nixpkgs";
};
};
2024-08-25 19:58:12 +00:00
}