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";
|
2024-07-22 13:30:55 -06:00
|
|
|
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
|
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-19 13:47:39 -07:00
|
|
|
catppuccin.url = "github:catppuccin/nix";
|
|
|
|
nur.url = "github:nix-community/NUR";
|
2023-12-14 17:23:01 -07:00
|
|
|
};
|
|
|
|
|
2024-12-19 13:47:39 -07:00
|
|
|
outputs = { self, nixpkgs, nixpkgs-unstable, catppuccin, 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};
|
2024-07-22 13:30:55 -06:00
|
|
|
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
|
|
|
|
{
|
2024-01-15 20:11:17 -07:00
|
|
|
nixosConfigurations = {
|
2024-03-17 22:13:28 -06:00
|
|
|
luci = nixpkgs.lib.nixosSystem {
|
|
|
|
specialArgs = {
|
|
|
|
inherit inputs outputs timeZone system;
|
|
|
|
};
|
2023-12-14 17:23:01 -07:00
|
|
|
modules = [
|
2024-03-17 22:13:28 -06:00
|
|
|
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
|
|
|
];
|
|
|
|
};
|
2024-01-15 20:11:17 -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 = {
|
2024-01-15 20:11:17 -07:00
|
|
|
inherit inputs outputs timeZone system;
|
2023-12-14 17:23:01 -07:00
|
|
|
};
|
|
|
|
modules = [
|
2024-12-19 13:47:39 -07:00
|
|
|
catppuccin.nixosModules.catppuccin
|
2024-11-14 09:53:04 -07:00
|
|
|
# Setup home manager
|
2024-01-15 20:11:17 -07:00
|
|
|
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;
|
2024-01-15 20:11:17 -07:00
|
|
|
};
|
|
|
|
}
|
|
|
|
./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 = [
|
2024-12-19 13:47:39 -07:00
|
|
|
catppuccin.nixosModules.catppuccin
|
2024-12-17 14:40:05 -07:00
|
|
|
# Setup home manager
|
|
|
|
inputs.home-manager.nixosModules.home-manager {
|
|
|
|
home-manager.useGlobalPkgs = true;
|
|
|
|
home-manager.useUserPackages = true;
|
2024-12-19 13:47:39 -07:00
|
|
|
home-manager.users.nate = {
|
|
|
|
imports = [
|
|
|
|
./nate-work/modules/home-manager/home.nix
|
|
|
|
catppuccin.homeManagerModules.catppuccin
|
|
|
|
];
|
|
|
|
};
|
2024-12-17 14:40:05 -07:00
|
|
|
home-manager.extraSpecialArgs = {
|
|
|
|
inherit inputs outputs unstablePkgs;
|
|
|
|
};
|
|
|
|
}
|
|
|
|
./nate-work/default.nix
|
|
|
|
];
|
|
|
|
};
|
2024-01-15 22:07:47 -07:00
|
|
|
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
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|