nixos/flake.nix

117 lines
4.0 KiB
Nix
Raw Normal View History

2023-12-14 17:23:01 -07:00
{
description = "NixOS system flake.";
inputs = {
2024-12-17 14:40:05 -07:00
nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11";
# nixpkgs-23.url = "github:nixos/nixpkgs/nixos-23.11";
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
2023-12-18 20:12:41 -07:00
nur.url = "github:nix-community/NUR";
2023-12-14 17:23:01 -07:00
home-manager = {
2024-12-17 14:40:05 -07:00
url = "github:nix-community/home-manager/release-24.11";
inputs.nixpkgs.follows = "nixpkgs";
2023-12-14 17:23:01 -07:00
};
};
2024-12-17 14:40:05 -07:00
outputs = { self, nixpkgs, nixpkgs-unstable, nur, home-manager, ... } @ inputs:
2023-12-14 17:23:01 -07:00
let
2023-12-15 09:24:13 -07:00
inherit (self) outputs;
2023-12-14 17:23:01 -07:00
system = "x86_64-linux";
2023-12-16 16:36:03 -07:00
timeZone = "America/Denver";
2023-12-15 09:24:13 -07:00
pkgs = nixpkgs.legacyPackages.${system};
unstablePkgs = import nixpkgs-unstable { system = system; config = { allowUnfree = true; }; };
2024-12-17 14:40:05 -07:00
# pkgs23 = import nixpkgs-23 { system = system; config = { allowUnfree = true; }; };
2023-12-14 17:23:01 -07:00
in
{
nixosConfigurations = {
luci = nixpkgs.lib.nixosSystem {
specialArgs = {
inherit inputs outputs timeZone system;
};
2023-12-14 17:23:01 -07:00
modules = [
inputs.home-manager.nixosModules.home-manager {
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.luci = import ./luci/modules/home-manager/home.nix;
home-manager.extraSpecialArgs = {
inherit inputs outputs;
};
}
./luci/default.nix
2023-12-14 17:23:01 -07:00
];
};
nate = nixpkgs.lib.nixosSystem {
2023-12-16 16:36:03 -07:00
# Pass args to desktop configuration
2023-12-14 17:23:01 -07:00
specialArgs = {
inherit inputs outputs timeZone system;
2023-12-14 17:23:01 -07:00
};
modules = [
2024-11-14 09:53:04 -07:00
# Setup home manager
inputs.home-manager.nixosModules.home-manager {
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.nate = import ./nate/modules/home-manager/home.nix;
home-manager.extraSpecialArgs = {
2024-12-17 14:40:05 -07:00
inherit inputs outputs unstablePkgs;
};
}
./nate/default.nix
2023-12-14 17:23:01 -07:00
];
};
2024-12-17 14:40:05 -07:00
nate-work = nixpkgs.lib.nixosSystem {
# Pass args to desktop configuration
specialArgs = {
inherit inputs outputs timeZone system;
};
modules = [
# Setup home manager
inputs.home-manager.nixosModules.home-manager {
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.nate = import ./nate-work/modules/home-manager/home.nix;
home-manager.extraSpecialArgs = {
inherit inputs outputs unstablePkgs;
};
}
./nate-work/default.nix
];
};
jaci = nixpkgs.lib.nixosSystem {
# Pass args to desktop configuration
specialArgs = {
inherit inputs outputs timeZone system;
};
modules = [
# Setup home manager
inputs.home-manager.nixosModules.home-manager {
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.jaci = import ./jaci/modules/home-manager/home.nix;
home-manager.extraSpecialArgs = {
inherit inputs outputs;
};
}
./jaci/default.nix
];
};
2024-10-11 19:14:23 -06:00
scrappy = nixpkgs.lib.nixosSystem {
# Pass args to desktop configuration
specialArgs = {
inherit inputs outputs timeZone system;
};
modules = [
# Setup home manager
inputs.home-manager.nixosModules.home-manager {
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.scrappy = import ./scrappy/modules/home-manager/home.nix;
home-manager.extraSpecialArgs = {
2024-12-17 14:40:05 -07:00
inherit inputs outputs unstablePkgs;
2024-10-11 19:14:23 -06:00
};
}
./scrappy/default.nix
];
};
2023-12-14 17:23:01 -07:00
};
};
}