nixfiles/flake.nix

94 lines
2.5 KiB
Nix

{
description = "Lyes' nix files";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable";
nixpkgs-stable.url = "github:NixOS/nixpkgs/nixos-25.05";
home-manager = {
url = "github:nix-community/home-manager/master";
inputs.nixpkgs.follows = "nixpkgs";
};
nixos-hardware.url = "github:NixOS/nixos-hardware/master";
nix-flatpak.url = "github:gmodena/nix-flatpak/latest";
zen-browser.url = "github:0xc000022070/zen-browser-flake";
mozilla.url = "github:andersk/nixpkgs-mozilla/channel";
mailserver.url = "gitlab:simple-nixos-mailserver/nixos-mailserver";
disko = {
url = "github:nix-community/disko";
inputs.nixpkgs.follows = "nixpkgs";
};
agenix = {
url = "github:ryantm/agenix";
inputs.nixpkgs.follows = "nixpkgs";
};
deploy-rs.url = "github:serokell/deploy-rs";
# Pins
# Factorio 2.0.72
pin-factorio.url = "github:NixOS/nixpkgs?rev=c5ae371f1a6a7fd27823bc500d9390b38c05fa55";
};
outputs = { self, nixpkgs, mailserver, deploy-rs, ... }@inputs: {
nixosConfigurations = {
# Framework Computer
piaf = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = inputs;
modules = [ ./hosts/piaf ];
};
# Crans Server
zora = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = inputs;
modules = [
./hosts/zora
mailserver.nixosModules.default
];
};
# Desktop ISO
# triforce = nixpkgs.lib.nixosSystem {
# system = "x86_64-linux";
# specialArgs = inputs;
# modules = [ ./hosts/triforce ];
# };
};
packages."x86_64-linux" = {
# desktop-iso = self.nixosConfigurations.desktop-iso.config.system.build.isoImage;
};
deploy = {
# interactiveSudo = true;
autoRollback = true;
magicRollback = true;
nodes = {
zora = {
hostname = "zora";
profilesOrder = [ "system" ];
# fastConnection = true;
profiles = {
system = {
sshUser = "root";
# user = "root";
remoteBuild = true;
path = deploy-rs.lib.x86_64-linux.activate.nixos self.nixosConfigurations.zora;
};
};
};
};
};
checks = builtins.mapAttrs (system: deployLib: deployLib.deployChecks self.deploy) deploy-rs.lib;
};
}