nix-system/flake.nix
ant 632061ac61
Some checks failed
/ build-all (push) Failing after 57s
reorganise code: os modules in flake.nix
2026-03-12 22:40:38 +01:00

156 lines
4.6 KiB
Nix

{
description = "Configuration for my homes & OSs";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.11";
unstable.url = "github:nixos/nixpkgs/nixos-unstable";
home-manager = {
url = "github:nix-community/home-manager/release-25.11";
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.11";
};
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};
sshKeys = (import ./sshKeys.nix);
osConfig = modules: nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = {
inherit inputs;
};
inherit modules;
};
homeConfig = modules: inputs.home-manager.lib.homeManagerConfiguration {
inherit pkgs;
extraSpecialArgs = {
inherit pkgs-unstable;
inherit inputs;
};
inherit modules;
};
in
rec {
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."anvaure@msm-lnx-demo-01" = homeConfigurations."anvaure@msm-lnx-ipva-01";
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 [
./os/basado/configuration.nix
./os/basado/hardware-configuration.nix
./os/common.nix
./os/common-graphics.nix
(import ./os/remote-disk-unlock.nix ["igb"] (with sshKeys; [moon]))
./os/builder.nix
./os/kdeconnect-ports.nix
(import ./os/swapfile.nix 64)
./os/ccache.nix
];
nixosConfigurations.moon = osConfig [
./os/moon/configuration.nix
./os/moon/hardware-configuration.nix
./os/common.nix
./os/common-graphics.nix
./os/kdeconnect-ports.nix
];
nixosConfigurations.hs = osConfig [
./os/hs/configuration.nix
./os/hs/hardware-configuration.nix
./os/hs/syncthing.nix
./os/hs/disks.nix
./os/hs/backup.nix
./os/common.nix
./os/forgejo.nix
(import ./os/remote-disk-unlock.nix ["r8169"] (with sshKeys; [moon basado]))
./os/builder.nix
./os/ccache.nix
(import ./os/swapfile.nix 64)
];
nixosConfigurations.ks = osConfig [
./os/ks/configuration.nix
./os/ks/hardware-configuration.nix
./os/common.nix
./os/3proxy.nix
];
build-all = pkgs.runCommand "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
'';
};
}