flake/flake.nix

210 lines
5.7 KiB
Nix

{
description = "Zonsopkomst's NixOS Flake to Manage Multiple Machines";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
home-manager.url = "github:nix-community/home-manager";
home-manager.inputs.nixpkgs.follows = "nixpkgs";
hyprland.url = "github:hyprwm/Hyprland";
};
outputs = inputs@{
home-manager,
hyprland,
nixpkgs,
...
}: {
nixosConfigurations = {
frija = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
# Common Resources
# Desktop
./desktop/gnome.nix
./display/gdm.nix
#./desktop/kde.nix
#./display/sddm.nix
#./desktop/hyperland.nix
# Modules
./common/amd.nix
./common/CUPS.nix
./common/pipewire.nix
./common/time.nix
#./common/docker.nix
./common/flakeinit.nix
#./common/flatpak.nix
#./common/gaming.nix
#./common/insecure.nix
./common/networking.nix
./common/unfree.nix
#./common/waydroid.nix
./common/x11.nix
# Host Specific
./hosts/local/frija/default.nix
./hosts/local/frija/hardware-configuration.nix
./hosts/local/frija/packages.nix
# User Specific
./users/aspire/home-manager.nix
#./users/aspire/syncthing.nix
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.aspire = import ./hosts/local/frija/home.nix;
}
];
};
tyr = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
# Common Resources
# Desktop
./desktop/gnome.nix
#./display/gdm.nix
./desktop/kde.nix
./display/sddm.nix
#./desktop/hyperland.nix
# Modules
#./common/amd.nix
./common/CUPS.nix
./common/pipewire.nix
./common/time.nix
./common/docker.nix
./common/flakeinit.nix
./common/flatpak.nix
./common/gaming.nix
./common/insecure.nix
./common/networking.nix
./common/unfree.nix
#./common/waydroid.nix
./common/x11.nix
# Host Specific
./hosts/local/tyr/default.nix
./hosts/local/tyr/hardware-configuration.nix
./hosts/local/tyr/packages.nix
# User Specific
./users/leeuwarden/home-manager.nix
./users/leeuwarden/kdewallet.nix
./users/leeuwarden/syncthing.nix
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.leeuwarden = import ./hosts/local/tyr/home.nix;
}
];
};
tuisto = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
# Common Resources
# Desktop
./desktop/gnome.nix
./display/gdm.nix
#./desktop/kde.nix
#./display/sddm.nix
#./desktop/hyperland.nix
# Modules
./common/amd.nix
./common/CUPS.nix
./common/pipewire.nix
./common/time.nix
./common/docker.nix
./common/flakeinit.nix
./common/flatpak.nix
./common/gaming.nix
./common/insecure.nix
./common/networking.nix
./common/unfree.nix
./common/waydroid.nix
./common/x11.nix
# Host Specific
./hosts/local/tuisto/default.nix
./hosts/local/tuisto/hardware-configuration.nix
./hosts/local/tuisto/packages.nix
./users/wagner/home-manager.nix
# User Specific
./users/wagner/syncthing.nix
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.wagner = import ./hosts/remote/tuisto/home.nix;
}
];
};
weda = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
# Common Resources
# Desktop
./desktop/gnome.nix
./display/gdm.nix
#./desktop/kde.nix
#./display/sddm.nix
#./desktop/hyperland.nix
# Modules
./common/amd.nix
./common/CUPS.nix
./common/pipewire.nix
./common/time.nix
./common/docker.nix
./common/flakeinit.nix
./common/flatpak.nix
./common/gaming.nix
./common/insecure.nix
./common/networking.nix
./common/unfree.nix
./common/waydroid.nix
./common/x11.nix
# Host Specific
./hosts/local/weda/default.nix
./hosts/local/weda/hardware-configuration.nix
./hosts/local/weda/packages.nix
# User Specific
./users/zonsopkomst/home-manager.nix
./users/zonsopkomst/syncthing.nix
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.zonsopkomst = import ./hosts/local/weda/home.nix;
}
hyprland.nixosModules.default
{programs.hyprland.enable = true;}
];
};
};
};
}