nixos/flake.nix

72 lines
1.8 KiB
Nix

{
description = "Evie's machine configurations";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = {
self,
nixpkgs,
home-manager,
}: let
hardware-audio = {pkgs, ...}: {
# Enable sound with pipewire.
sound.enable = true;
hardware.pulseaudio.enable = false;
security.rtkit.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
};
programs.noisetorch.enable = true;
};
hardware-bluetooth = {
hardware.bluetooth = {
enable = true;
powerOnBoot = true;
};
};
in {
nixosConfigurations = {
Legion = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
home-manager.nixosModules.home-manager
./hosts/Legion/configuration.nix
./common.nix
./services/Legion.nix
];
};
N0245 = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
home-manager.nixosModules.home-manager
hardware-audio
hardware-bluetooth
./hosts/N0245/configuration.nix
./common.nix
./wm/sway.nix
./services/syncthing/N0245.nix
];
};
};
homeConfigurations = {
"tux" = home-manager.lib.homeManagerConfiguration {
pkgs = nixpkgs.legacyPackages."aarch64-darwin";
modules = [./hosts/Monarch/home.nix];
};
"xenia" = home-manager.lib.homeManagerConfiguration {
pkgs = nixpkgs.legacyPackages."aarch64-linux";
modules = [./hosts/Northstar/home.nix];
};
};
};
}