81 lines
2.7 KiB
Nix
81 lines
2.7 KiB
Nix
{
|
|
description = "Alex's super mega awesome nixos config";
|
|
|
|
# A flake's inputs specify the dependencies that get pulled in. Each input is pinned to a specific version (the git commit) of that dependency.
|
|
inputs = {
|
|
nixpkgs.url = github:NixOS/nixpkgs/nixos-unstable;
|
|
|
|
home-manager = {
|
|
url = "github:nix-community/home-manager";
|
|
inputs.nixpkgs.follows = "nixpkgs"; # This flake also takes in nixpkgs as its own input, so we can override it here to ensure the same pkgs are used!
|
|
};
|
|
|
|
firefox-addons = {
|
|
url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
|
|
atau-nixpkgs = {
|
|
url = "git+https://git.atauno.com/atau/atau-nixpkgs?ref=main&rev=1e72f4b1e9b7a2991e3ccdebbe75d312f016da3b";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
};
|
|
|
|
outputs = { self, nixpkgs, home-manager, firefox-addons, ... }@attrs:
|
|
{
|
|
nixosConfigurations = {
|
|
## ---- personal computers (linux) ----
|
|
nixos76 = nixpkgs.lib.nixosSystem {
|
|
system = "x86_64-linux";
|
|
modules = [
|
|
./config/systems/nixos76
|
|
home-manager.nixosModules.home-manager
|
|
{
|
|
home-manager.useGlobalPkgs = true;
|
|
home-manager.useUserPackages = true;
|
|
home-manager.backupFileExtension = "backup";
|
|
home-manager.users.alex = import ./config/users/alex;
|
|
# Optionally, use home-manager.extraSpecialArgs to pass
|
|
# arguments to home.nix
|
|
}
|
|
];
|
|
};
|
|
thelio76 = nixpkgs.lib.nixosSystem rec {
|
|
system = "x86_64-linux";
|
|
modules = [
|
|
./config/systems/thelio76
|
|
./config/modules/home-manager.nix { inherit system inputs }
|
|
# home-manager.nixosModules.home-manager
|
|
# {
|
|
# home-manager.useGlobalPkgs = true;
|
|
# home-manager.useUserPackages = true;
|
|
# home-manager.backupFileExtension = "backup";
|
|
# home-manager.users.alex = import ./config/users/alex;
|
|
# home-manager.extraSpecialArgs = { ff = firefox-addons.packages.${system}; };
|
|
# }
|
|
];
|
|
};
|
|
|
|
## ---- servers ----
|
|
ursa-minor = nixpkgs.lib.nixosSystem {
|
|
system = "aarch64-linux";
|
|
modules = [
|
|
./ursa-minor/configuration.nix
|
|
];
|
|
};
|
|
ursa-major = nixpkgs.lib.nixosSystem {
|
|
system = "aarch64-linux";
|
|
modules = [
|
|
./ursa-major/configuration.nix
|
|
];
|
|
};
|
|
atauno = nixpkgs.lib.nixosSystem {
|
|
system = "aarch64-linux";
|
|
modules = [
|
|
./atauno/configuration.nix
|
|
];
|
|
};
|
|
};
|
|
};
|
|
}
|