omniflake/flake.nix

113 lines
3.1 KiB
Nix

{
description = "Complete system and home config";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.11";
home-manager.url = "github:nix-community/home-manager/release-24.11";
home-manager.inputs.nixpkgs.follows = "nixpkgs";
nur.url = "github:nix-community/nur";
};
outputs = { self, nixpkgs, home-manager, ... }@inputs: {
nixosConfigurations = {
nova = nixpkgs.lib.nixosSystem {
specialArgs = { inherit inputs; };
modules = [
{
networking.hostName = "nova";
}
./system
./system/desktop.nix
./system/hardware/nova.nix
./system/gnome.nix
./system/steam.nix
./system/btrbk.nix
./system/yubikey.nix
./system/alt.nix
];
};
tron = nixpkgs.lib.nixosSystem {
specialArgs = { inherit inputs; };
modules = [
{
networking.hostName = "tron";
}
./system
./system/desktop.nix
./system/hardware/tron.nix
./system/gnome.nix
./system/btrbk.nix
./system/yubikey.nix
];
};
romulus = nixpkgs.lib.nixosSystem {
specialArgs = { inherit inputs; };
modules = [
{
networking.hostName = "romulus";
environment.systemPackages = [
nixpkgs.wl-clipboard
];
programs.sway.enable = true;
security.rtkit.enable = true;
}
./system
./system/desktop.nix
./system/hardware/romulus.nix
];
};
arielle = nixpkgs.lib.nixosSystem {
specialArgs = { inherit inputs; };
modules = [
{
networking.hostName = "arielle";
boot.loader.grub.enable = true;
boot.loader.grub.device = "/dev/sda";
}
./system
./system/web-server
./system/web-server/outline.nix
./system/web-server/jenkins.nix
./system/hardware/arielle.nix
];
};
};
homeConfigurations = {
till = home-manager.lib.homeManagerConfiguration {
pkgs = nixpkgs.legacyPackages.x86_64-linux.extend inputs.nur.overlays.default;
extraSpecialArgs = { inherit inputs; };
modules = [
./home
];
};
"till@romulus" = home-manager.lib.homeManagerConfiguration {
pkgs = nixpkgs.legacyPackages.x86_64-linux.extend inputs.nur.overlays.default;
extraSpecialArgs = { inherit inputs; };
modules = [
./home/slim-desktop.nix
];
};
"till@arielle" = home-manager.lib.homeManagerConfiguration {
pkgs = nixpkgs.legacyPackages.x86_64-linux;
extraSpecialArgs = { inherit inputs; };
modules = [
./home/minimal.nix
];
};
alt = home-manager.lib.homeManagerConfiguration {
pkgs = nixpkgs.legacyPackages.x86_64-linux.extend inputs.nur.overlays.default;
extraSpecialArgs = { inherit inputs; };
modules = [
./home/alt.nix
];
};
};
};
}