Files
garandos/flake.nix
2025-09-13 23:16:22 +02:00

68 lines
1.7 KiB
Nix

{
description = "GarandOS";
inputs = {
home-manager = {
url = "github:nix-community/home-manager/master";
inputs.nixpkgs.follows = "nixpkgs";
};
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
nvf = {
url = "github:notashelf/nvf";
inputs.nixpkgs.follows = "nixpkgs";
};
stylix = {
url = "github:danth/stylix";
inputs.nixpkgs.follows = "nixpkgs";
};
nix-flatpak.url = "github:gmodena/nix-flatpak?ref=latest";
# Hypersysinfo (Optional)
#hyprsysteminfo.url = "github:hyprwm/hyprsysteminfo";
# QuickShell (optional add quickshell to outputs to enable)
#quickshell = {
# url = "git+https://git.outfoxxed.me/outfoxxed/quickshell";
# inputs.nixpkgs.follows = "nixpkgs";
#};
};
outputs =
{
nixpkgs,
home-manager,
nix-flatpak,
...
}@inputs:
let
system = "x86_64-linux";
host = "Garand-Desktop";
profile = "nvidia";
username = "garand_plg";
# Deduplicate nixosConfigurations while preserving the top-level 'profile'
mkNixosConfig = gpuProfile: nixpkgs.lib.nixosSystem {
inherit system;
specialArgs = {
inherit inputs;
inherit username;
inherit host;
inherit profile; # keep using the let-bound profile for modules/scripts
};
modules = [
./profiles/${gpuProfile}
nix-flatpak.nixosModules.nix-flatpak
];
};
in
{
nixosConfigurations = {
amd = mkNixosConfig "amd";
nvidia = mkNixosConfig "nvidia";
nvidia-laptop = mkNixosConfig "nvidia-laptop";
intel = mkNixosConfig "intel";
vm = mkNixosConfig "vm";
};
};
}