Files
AZ-PI/flake.nix
2026-05-01 09:20:49 +02:00

184 lines
5.9 KiB
Nix

{
description = ''
For questions just DM me on X: https://twitter.com/@m3tam3re
There is also some NIXOS content on my YT channel: https://www.youtube.com/@m3tam3re
One of the best ways to learn NIXOS is to read other peoples configurations. I have personally learned a lot from Gabriel Fontes configs:
https://github.com/Misterio77/nix-starter-configs
https://github.com/Misterio77/nix-config
Please also check out the starter configs mentioned above.
'';
inputs = {
home-manager = {
url = "github:nix-community/home-manager/release-25.11";
inputs.nixpkgs.follows = "nixpkgs";
};
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.11";
m3ta-nixpkgs.url = "git+https://code.m3ta.dev/m3tam3re/nixpkgs";
agenix.url = "github:ryantm/agenix";
};
outputs = {
self,
agenix,
home-manager,
nixpkgs,
m3ta-nixpkgs,
...
} @ inputs: let
inherit (self) outputs;
systems = [
"aarch64-linux"
"i686-linux"
"x86_64-linux"
"aarch64-darwin"
"x86_64-darwin"
];
forAllSystems = nixpkgs.lib.genAttrs systems;
in {
packages =
forAllSystems (system: import ./pkgs nixpkgs.legacyPackages.${system});
overlays = let
all = import ./overlays {inherit inputs;};
in
builtins.removeAttrs all ["mkLlmAgentsOverlay"];
homeConfigurations = {
"logistik@AZPILOGISTIK01" = let
system = "aarch64-linux";
in
home-manager.lib.homeManagerConfiguration {
pkgs = nixpkgs.legacyPackages.${system};
extraSpecialArgs = {
inherit inputs outputs system;
hostname = "AZPILOGISTIK01";
username = "logistik";
};
modules = [./home/users/logistik/AZPILOGISTIK01.nix];
};
"logistik@AZPILOGISTIK02" = let
system = "aarch64-linux";
in
home-manager.lib.homeManagerConfiguration {
pkgs = nixpkgs.legacyPackages.${system};
extraSpecialArgs = {
inherit inputs outputs system;
hostname = "AZPILOGISTIK02";
username = "logistik";
};
modules = [./home/users/logistik/AZPILOGISTIK02.nix];
};
"logistik@AZPILOGISTIK03" = let
system = "aarch64-linux";
in
home-manager.lib.homeManagerConfiguration {
pkgs = nixpkgs.legacyPackages.${system};
extraSpecialArgs = {
inherit inputs outputs system;
hostname = "AZPILOGISTIK03";
username = "logistik";
};
modules = [./home/users/logistik/AZPILOGISTIK03.nix];
};
"logistik@AZPILOGISTIK04" = let
system = "aarch64-linux";
in
home-manager.lib.homeManagerConfiguration {
pkgs = nixpkgs.legacyPackages.${system};
extraSpecialArgs = {
inherit inputs outputs system;
hostname = "AZPILOGISTIK04";
username = "logistik";
};
modules = [./home/users/logistik/AZPILOGISTIK04.nix];
};
"logistik@AZPILOGISTIK05" = let
system = "aarch64-linux";
in
home-manager.lib.homeManagerConfiguration {
pkgs = nixpkgs.legacyPackages.${system};
extraSpecialArgs = {
inherit inputs outputs system;
hostname = "AZPILOGISTIK05";
username = "logistik";
};
modules = [./home/users/logistik/AZPILOGISTIK05.nix];
};
"logistik@AZPILOGISTIKTEST" = let
system = "aarch64-linux";
in
home-manager.lib.homeManagerConfiguration {
pkgs = nixpkgs.legacyPackages.${system};
extraSpecialArgs = {
inherit inputs outputs system;
hostname = "AZPILOGISTIKTEST";
username = "logistik";
};
modules = [./home/users/logistik/AZPILOGISTIKTEST.nix];
};
"produktion@AZPIPRODUKTION01" = let
system = "aarch64-linux";
in
home-manager.lib.homeManagerConfiguration {
pkgs = nixpkgs.legacyPackages.${system};
extraSpecialArgs = {
inherit inputs outputs system;
hostname = "AZPIPRODUKTION01";
username = "produktion";
};
modules = [./home/users/produktion/AZPIPRODUKTION01.nix];
};
"produktion@AZPIPRODUKTION02" = let
system = "aarch64-linux";
in
home-manager.lib.homeManagerConfiguration {
pkgs = nixpkgs.legacyPackages.${system};
extraSpecialArgs = {
inherit inputs outputs system;
hostname = "AZPIPRODUKTION02";
username = "produktion";
};
modules = [./home/users/produktion/AZPIPRODUKTION02.nix];
};
"produktion@AZPIPRODUKTION03" = let
system = "aarch64-linux";
in
home-manager.lib.homeManagerConfiguration {
pkgs = nixpkgs.legacyPackages.${system};
extraSpecialArgs = {
inherit inputs outputs system;
hostname = "AZPIPRODUKTION03";
username = "produktion";
};
modules = [./home/users/produktion/AZPIPRODUKTION03.nix];
};
"produktion@AZPIPRODUKTION04" = let
system = "aarch64-linux";
in
home-manager.lib.homeManagerConfiguration {
pkgs = nixpkgs.legacyPackages.${system};
extraSpecialArgs = {
inherit inputs outputs system;
hostname = "AZPIPRODUKTION04";
username = "produktion";
};
modules = [./home/users/produktion/AZPIPRODUKTION04.nix];
};
"vertrieb@AZPIVERTRIEB01" = let
system = "aarch64-linux";
in
home-manager.lib.homeManagerConfiguration {
pkgs = nixpkgs.legacyPackages.${system};
extraSpecialArgs = {
inherit inputs outputs system;
hostname = "AZPIVERTRIEB01";
username = "vertrieb";
};
modules = [./home/users/vertrieb/AZPIVERTRIEB01.nix];
};
};
};
}