114 lines
3.3 KiB
Nix
114 lines
3.3 KiB
Nix
{
|
|
description = "Home Manager configuration";
|
|
|
|
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/base.nix
|
|
./home/ui.nix
|
|
./home/gui-software.nix
|
|
./home/syncthing.nix
|
|
./home/allegro.nix
|
|
{ home.packages = [ nixgl.nixGLIntel ]; }
|
|
{ targets.genericLinux.enable = true; }
|
|
];
|
|
|
|
homeConfigurations."ant@hs" = homeConfig [
|
|
{ home.username = "ant"; }
|
|
./home/base.nix
|
|
];
|
|
|
|
homeConfigurations."ant@ks" = homeConfig [
|
|
{ home.username = "ant"; }
|
|
./home/base.nix
|
|
];
|
|
|
|
homeConfigurations."ant@basado" = homeConfig [
|
|
{ home.username = "ant"; }
|
|
./home/base.nix
|
|
./home/ui.nix
|
|
./home/gui-software.nix
|
|
./home/gaming.nix
|
|
./home/syncthing.nix
|
|
{ services.kdeconnect.enable = true; }
|
|
./home/basado.nix
|
|
];
|
|
|
|
homeConfigurations."ant@moon" = homeConfig [
|
|
{ home.username = "ant"; }
|
|
./home/base.nix
|
|
./home/ui.nix
|
|
./home/gui-software.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@basado")
|
|
(homeDerivation "ant@moon")
|
|
];
|
|
} ''
|
|
echo Build all derivations
|
|
mkdir -p $out
|
|
'';
|
|
|
|
};
|
|
}
|