94 lines
3.3 KiB
Nix
Executable File
94 lines
3.3 KiB
Nix
Executable File
{
|
|
description = "MY NixOS configuration BITCH not yours fuck YOU honestly";
|
|
|
|
inputs = {
|
|
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
|
|
home-manager = {
|
|
url = "github:nix-community/home-manager/master";
|
|
# The `follows` keyword in inputs is used for inheritance.
|
|
# Here, `inputs.nixpkgs` of home-manager is kept consistent with
|
|
# the `inputs.nixpkgs` of the current flake,
|
|
# to avoid problems caused by different versions of nixpkgs.
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
impermanence.url = "github:nix-community/impermanence";
|
|
plasma-manager = {
|
|
url = "github:nix-community/plasma-manager";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
inputs.home-manager.follows = "home-manager";
|
|
};
|
|
llm-agents.url = "github:Qumulo/llm-agents";
|
|
# nix-flatpak.url = "github:gmodena/nix-flatpak/?ref=v0.6.0";
|
|
};
|
|
|
|
outputs =
|
|
{
|
|
self,
|
|
nixpkgs,
|
|
home-manager,
|
|
impermanence,
|
|
plasma-manager,
|
|
llm-agents,
|
|
# nix-flatpak,
|
|
}@inputs:
|
|
let
|
|
inherit (self) outputs;
|
|
nix.registry.nixos.flake = inputs.self;
|
|
environment.etc."nix/inputs/nixpkgs".source = nixpkgs.outPath;
|
|
nix.nixPath = [ "nixpkgs=${nixpkgs.outPath}" ];
|
|
in
|
|
{
|
|
nixosConfigurations = {
|
|
homepc = nixpkgs.lib.nixosSystem {
|
|
specialArgs = { inherit inputs outputs; };
|
|
system = "x86_64-linux";
|
|
modules = [
|
|
./machines/homepc/configuration.nix
|
|
home-manager.nixosModules.home-manager
|
|
{
|
|
home-manager.extraSpecialArgs = { inherit inputs outputs; };
|
|
home-manager.useGlobalPkgs = true;
|
|
home-manager.useUserPackages = true;
|
|
|
|
home-manager.users.laythe = import ./machines/homepc/home.nix;
|
|
home-manager.sharedModules = [ plasma-manager.homeModules.plasma-manager ];
|
|
}
|
|
];
|
|
};
|
|
workstation = nixpkgs.lib.nixosSystem {
|
|
specialArgs = { inherit inputs outputs; };
|
|
system = "x86_64-linux";
|
|
modules = [
|
|
./machines/workstation/configuration.nix
|
|
impermanence.nixosModules.impermanence
|
|
home-manager.nixosModules.home-manager
|
|
{
|
|
home-manager.extraSpecialArgs = { inherit inputs outputs; };
|
|
home-manager.useGlobalPkgs = true;
|
|
home-manager.useUserPackages = true;
|
|
|
|
home-manager.users.laythe = import ./machines/workstation/home.nix;
|
|
home-manager.sharedModules = [ plasma-manager.homeModules.plasma-manager ];
|
|
}
|
|
];
|
|
};
|
|
latitude = nixpkgs.lib.nixosSystem {
|
|
specialArgs = { inherit inputs outputs; };
|
|
system = "x86_64-linux";
|
|
modules = [
|
|
./machines/latitude/configuration.nix
|
|
home-manager.nixosModules.home-manager
|
|
{
|
|
home-manager.extraSpecialArgs = { inherit inputs outputs; };
|
|
home-manager.useGlobalPkgs = true;
|
|
home-manager.useUserPackages = true;
|
|
|
|
home-manager.users.laythe = import ./machines/latitude/home.nix;
|
|
home-manager.sharedModules = [ plasma-manager.homeModules.plasma-manager ];
|
|
}
|
|
];
|
|
};
|
|
};
|
|
};
|
|
}
|