nix-system/flake.nix
Antoine Vaure c2d8eb2e61
Some checks failed
/ build-all (push) Has been cancelled
config for larbin
2025-10-10 14:33:41 +02:00

120 lines
3.5 KiB
Nix

{
description = "Configuration for my homes & OSs";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.05";
unstable.url = "github:nixos/nixpkgs/nixos-unstable";
home-manager = {
url = "github:nix-community/home-manager/release-25.05";
inputs.nixpkgs.follows = "nixpkgs";
};
nixgl = {
url = "github:nix-community/nixGL";
inputs.nixpkgs.follows = "nixpkgs";
};
st-flexipatch.url = "https://git.antoinevaure.fr/ant/st-flexipatch/archive/master.zip";
simple-nixos-mailserver.url = "gitlab:simple-nixos-mailserver/nixos-mailserver/nixos-25.05";
};
outputs =
{ self, nixpkgs, ... }@inputs:
let
system = "x86_64-linux";
pkgs = inputs.nixpkgs.legacyPackages.${system};
pkgs-unstable = inputs.unstable.legacyPackages.${system};
nixgl = inputs.nixgl.packages.${system};
osConfig = name: nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = {
inherit inputs;
};
modules = [
./os/${name}/configuration.nix
];
};
homeConfig = modules: inputs.home-manager.lib.homeManagerConfiguration {
inherit pkgs;
extraSpecialArgs = {
inherit pkgs-unstable;
inherit inputs;
};
inherit modules;
};
in
{
homeConfigurations."anvaure@Allegro23-12" = homeConfig [
{ home.username = "anvaure"; }
./home/more-software.nix
./home/ui.nix
./home/syncthing.nix
./home/allegro.nix
{ home.packages = [ nixgl.nixGLIntel ]; }
{ targets.genericLinux.enable = true; }
];
homeConfigurations."anvaure@msm-lnx-ipva-01" = homeConfig [
{ home.username = "anvaure"; }
./home/base.nix
({pkgs, ...}: {
programs.fish.loginShellInit = "source ${pkgs.nix}/etc/profile.d/nix.fish";
})
];
homeConfigurations."ant@hs" = homeConfig [
{ home.username = "ant"; }
./home/more-software.nix
];
homeConfigurations."ant@ks" = homeConfig [
{ home.username = "ant"; }
./home/more-software.nix
];
homeConfigurations."ant@basado" = homeConfig [
{ home.username = "ant"; }
./home/ui.nix
./home/more-software.nix
./home/gaming.nix
./home/syncthing.nix
{ services.kdeconnect.enable = true; }
./home/basado.nix
];
homeConfigurations."ant@moon" = homeConfig [
{ home.username = "ant"; }
./home/more-software.nix
./home/ui.nix
./home/syncthing.nix
{ services.kdeconnect.enable = true; }
./home/moon.nix
];
nixosConfigurations.basado = osConfig "basado";
nixosConfigurations.moon = osConfig "moon";
nixosConfigurations.hs = osConfig "hs";
nixosConfigurations.ks = osConfig "ks";
build-all = pkgs.runCommandNoCC "build-all" {
buildInputs =
let osDerivation = name: self.nixosConfigurations.${name}.config.system.build.toplevel; in
let homeDerivation = name: self.homeConfigurations.${name}.activationPackage; in
[
(osDerivation "basado")
(osDerivation "moon")
(osDerivation "hs")
(osDerivation "ks")
(homeDerivation "anvaure@Allegro23-12")
(homeDerivation "ant@hs")
(homeDerivation "ant@ks")
(homeDerivation "ant@basado")
(homeDerivation "ant@moon")
];
} ''
echo Build all derivations
mkdir -p $out
'';
};
}