nixos_config/flake.nix

68 lines
2.2 KiB
Nix
Raw Normal View History

2025-07-20 17:46:39 +02:00
{
description = "NixOS configuration for all hosts";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
2025-07-23 13:12:09 +02:00
nixpkgs-stable.url = "github:NixOS/nixpkgs/nixos-25.05";
2025-07-20 17:46:39 +02:00
flake-utils.url = "github:numtide/flake-utils";
2025-07-21 20:58:31 +02:00
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
2025-07-20 17:46:39 +02:00
};
2025-07-21 20:58:31 +02:00
outputs = { self, nixpkgs, flake-utils, home-manager, ... }:
let
system = "x86_64-linux";
pkgs = import nixpkgs {
inherit system;
config.allowUnfree = true;
};
2025-07-23 19:46:19 +02:00
sharedModules = [
./hosts/common.nix
];
2025-07-21 20:58:31 +02:00
in
{
2025-07-21 19:53:17 +02:00
nixosConfigurations = {
2025-07-23 13:16:55 +02:00
electra = nixpkgs.lib.nixosSystem {
2025-07-21 20:58:31 +02:00
inherit system;
2025-07-23 19:46:19 +02:00
modules = sharedModules ++ [
2025-07-21 20:16:37 +02:00
{
nixpkgs.config.allowUnfree = true;
}
2025-07-23 19:56:00 +02:00
./hosts/electra/configuration.nix
2025-07-23 13:16:55 +02:00
home-manager.nixosModules.home-manager
2025-07-23 19:46:19 +02:00
({ config, ...}: {
2025-07-23 13:16:55 +02:00
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
2025-07-23 19:46:19 +02:00
home-manager.extraSpecialArgs = {
inherit (config.networking) hostName;
}; # end extraSpecialArgs
home-manager.users.alisceon = import ./home/alisceon.nix;
2025-07-23 13:16:55 +02:00
home-manager.backupFileExtension = "backup";
2025-07-23 19:46:19 +02:00
}) # end home manager
]; # end modules
}; # end electra
2025-07-23 13:16:55 +02:00
tower = nixpkgs.lib.nixosSystem {
inherit system;
2025-07-23 19:46:19 +02:00
modules = sharedModules ++ [
2025-07-23 13:16:55 +02:00
{
nixpkgs.config.allowUnfree = true;
}
./hosts/tower/configuration.nix
2025-07-20 17:46:39 +02:00
home-manager.nixosModules.home-manager
2025-07-23 19:46:19 +02:00
({ config, ...}: {
2025-07-21 20:58:31 +02:00
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
2025-07-23 19:46:19 +02:00
home-manager.extraSpecialArgs = {
inherit (config.networking) hostName;
}; #end extraSpecialArgs
home-manager.users.alisceon = import ./home/alisceon.nix;
2025-07-21 23:55:59 +02:00
home-manager.backupFileExtension = "backup";
2025-07-23 19:46:19 +02:00
}) # end home manager
]; # end modules
}; # end tower
}; # end nixos conf
}; # end "in"
} # end file