config/flake.nix

143 lines
3.6 KiB
Nix
Raw Normal View History

2024-02-29 22:20:26 -05:00
{
description = "Nixos config flake";
nixConfig = {
extra-substituters = [
"https://zackartz.cachix.org"
];
extra-trusted-public-keys = [
"zackartz.cachix.org-1:nrEfVZF8MVX0Lnt73KwYzH2kwDzFuAoR5VPjuUd4R30="
];
};
2024-02-29 22:20:26 -05:00
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable-small";
2024-05-03 13:33:06 -04:00
nixpkgs_stable.url = "github:nixos/nixpkgs/nixos-23.11";
2024-02-29 22:20:26 -05:00
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
2024-05-03 13:33:06 -04:00
home-manager_stable = {
url = "github:nix-community/home-manager/release-23.11";
inputs.nixpkgs.follows = "nixpkgs_stable";
};
2024-05-06 00:29:50 -04:00
resume.url = "git+https://git.zackmyers.io/zack/resume";
anyrun.url = "github:Kirottu/anyrun";
anyrun.inputs.nixpkgs.follows = "nixpkgs";
ags.url = "github:Aylur/ags";
agenix.url = "github:ryantm/agenix";
agenix.inputs.nixpkgs.follows = "nixpkgs";
agenix.inputs.darwin.follows = "";
nixos-generators = {
url = "github:nix-community/nixos-generators";
inputs.nixpkgs.follows = "nixpkgs";
};
2024-05-05 16:40:12 -04:00
blog.url = "github:zackartz/zmio";
lanzaboote = {
url = "github:nix-community/lanzaboote/v0.3.0";
# Optional but recommended to limit the size of your system closure.
inputs.nixpkgs.follows = "nixpkgs";
};
hypridle = {
url = "github:hyprwm/hypridle";
inputs.nixpkgs.follows = "nixpkgs";
};
catppuccin.url = "github:catppuccin/nix";
2024-02-29 22:20:26 -05:00
hyprland = {
url = "github:hyprwm/Hyprland/v0.40.0";
2024-02-29 22:20:26 -05:00
};
kb-gui = {
url = "github:zackartz/kb-gui";
inputs.nixpkgs.follows = "nixpkgs";
};
waybar = {
url = "github:Alexays/Waybar";
inputs.nixpkgs.follows = "nixpkgs";
};
neovim-nightly-overlay = {
url = "github:nix-community/neovim-nightly-overlay";
2024-05-19 17:00:08 -04:00
# inputs.nixpkgs.follows = "nixpkgs";
};
rio-term = {
url = "github:raphamorim/rio";
inputs.nixpkgs.follows = "nixpkgs";
};
systems.url = "github:nix-systems/default";
spicetify-nix = {
url = "github:the-argus/spicetify-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
2024-02-29 22:20:26 -05:00
};
outputs = {
self,
nixpkgs,
2024-05-03 13:33:06 -04:00
nixpkgs_stable,
systems,
2024-02-29 22:20:26 -05:00
...
} @ inputs: let
eachSystem = f:
nixpkgs.lib.genAttrs (import systems) (
system:
f nixpkgs.legacyPackages.${system}
);
2024-02-29 22:20:26 -05:00
in {
2024-05-03 13:33:06 -04:00
nixosConfigurations.pluto = nixpkgs_stable.lib.nixosSystem {
specialArgs = {inherit inputs;};
modules = [
./hosts/pluto/configuration.nix
inputs.home-manager_stable.nixosModules.default
2024-05-05 16:57:58 -04:00
inputs.blog.nixosModule
inputs.agenix.nixosModules.default
2024-05-03 13:33:06 -04:00
];
};
2024-02-29 22:20:26 -05:00
nixosConfigurations.earth = nixpkgs.lib.nixosSystem {
specialArgs = {inherit inputs;};
modules = [
./hosts/earth/configuration.nix
inputs.lanzaboote.nixosModules.lanzaboote
2024-02-29 22:20:26 -05:00
inputs.home-manager.nixosModules.default
inputs.agenix.nixosModules.default
2024-02-29 22:20:26 -05:00
];
};
nixosConfigurations.live = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = {inherit inputs;};
modules = [
"${nixpkgs}/nixos/modules/installer/cd-dvd/installation-cd-graphical-plasma5.nix"
"${nixpkgs}/nixos/modules/installer/cd-dvd/installation-cd-minimal.nix"
# ./hosts/live/configuration.nix
];
};
devShells = eachSystem (pkgs: {
default = pkgs.mkShell {
buildInputs = [
pkgs.nixd
pkgs.alejandra
pkgs.stylua
pkgs.lua-language-server
pkgs.luajitPackages.lua-lsp
];
};
});
2024-02-29 22:20:26 -05:00
};
}