146 lines
3.7 KiB
Nix
146 lines
3.7 KiB
Nix
{
|
|
description = "Nixos config flake";
|
|
|
|
nixConfig = {
|
|
extra-substituters = [
|
|
"https://zackartz.cachix.org"
|
|
];
|
|
extra-trusted-public-keys = [
|
|
"zackartz.cachix.org-1:nrEfVZF8MVX0Lnt73KwYzH2kwDzFuAoR5VPjuUd4R30="
|
|
];
|
|
};
|
|
|
|
inputs = {
|
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
|
nixpkgs_stable.url = "github:nixos/nixpkgs/nixos-23.11";
|
|
|
|
home-manager = {
|
|
url = "github:nix-community/home-manager";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
|
|
home-manager_stable = {
|
|
url = "github:nix-community/home-manager/release-23.11";
|
|
inputs.nixpkgs.follows = "nixpkgs_stable";
|
|
};
|
|
|
|
snowfall-lib = {
|
|
url = "github:snowfallorg/lib";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
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";
|
|
};
|
|
|
|
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";
|
|
|
|
hyprland = {
|
|
url = "github:hyprwm/Hyprland/v0.40.0";
|
|
};
|
|
|
|
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";
|
|
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";
|
|
};
|
|
};
|
|
|
|
outputs = {
|
|
self,
|
|
nixpkgs,
|
|
nixpkgs_stable,
|
|
systems,
|
|
...
|
|
} @ inputs: let
|
|
eachSystem = f:
|
|
nixpkgs.lib.genAttrs (import systems) (
|
|
system:
|
|
f nixpkgs.legacyPackages.${system}
|
|
);
|
|
in {
|
|
nixosConfigurations.pluto = nixpkgs_stable.lib.nixosSystem {
|
|
specialArgs = {inherit inputs;};
|
|
modules = [
|
|
./hosts/pluto/configuration.nix
|
|
inputs.home-manager_stable.nixosModules.default
|
|
inputs.blog.nixosModule
|
|
inputs.agenix.nixosModules.default
|
|
];
|
|
};
|
|
|
|
nixosConfigurations.earth = nixpkgs.lib.nixosSystem {
|
|
specialArgs = {inherit inputs;};
|
|
modules = [
|
|
./hosts/earth/configuration.nix
|
|
inputs.lanzaboote.nixosModules.lanzaboote
|
|
inputs.home-manager.nixosModules.default
|
|
inputs.agenix.nixosModules.default
|
|
];
|
|
};
|
|
|
|
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
|
|
];
|
|
};
|
|
});
|
|
};
|
|
}
|