nixos-config/flake.nix

78 lines
2 KiB
Nix
Raw Permalink Normal View History

2024-08-24 22:16:51 -04:00
{
inputs = {
# System inputs
2024-11-19 13:20:34 -05:00
nixpkgs.url = "nixpkgs/nixos-24.11";
2024-10-15 02:40:43 -04:00
unstable.url = "nixpkgs/nixos-unstable";
lanzaboote = {
url = "github:nix-community/lanzaboote/v0.4.1";
2024-10-15 02:40:43 -04:00
inputs.nixpkgs.follows = "nixpkgs";
};
disko = {
url = "github:nix-community/disko";
inputs.nixpkgs.follows = "nixpkgs";
};
impermanence.url = "github:nix-community/impermanence";
2025-01-20 15:40:01 -05:00
mailserver.url = "gitlab:simple-nixos-mailserver/nixos-mailserver/nixos-24.11";
minecraft.url = "github:Infinidoge/nix-minecraft";
2025-03-10 22:08:35 -04:00
spacebar.url = "github:spacebarchat/server";
2024-08-24 22:16:51 -04:00
# Home inputs
home-manager = {
2024-11-19 13:20:34 -05:00
url = "github:nix-community/home-manager/release-24.11";
2024-10-09 03:36:08 -04:00
inputs.nixpkgs.follows = "nixpkgs";
};
nur.url = "github:nix-community/NUR";
blender.url = "https://flakehub.com/f/edolstra/blender-bin/1.0.12.tar.gz";
2024-08-24 22:16:51 -04:00
};
outputs = {
2024-12-01 20:10:31 -05:00
self,
nixpkgs,
unstable,
lanzaboote,
disko,
impermanence,
mailserver,
minecraft,
2025-03-10 22:08:35 -04:00
spacebar,
home-manager,
nur,
blender,
...
2025-01-10 13:36:38 -05:00
}@inputs:
let
mkNix = modules: nixpkgs.lib.nixosSystem {
inherit modules;
2025-01-10 13:36:38 -05:00
specialArgs = inputs;
};
mkHome = modules: pkgs: home-manager.lib.homeManagerConfiguration {
inherit modules pkgs;
2025-01-10 13:36:38 -05:00
extraSpecialArgs = inputs;
};
in {
2024-11-06 11:49:40 -05:00
# nixos-rebuild switch --flake /etc/nixos#hostname
2024-08-24 22:16:51 -04:00
nixosConfigurations = {
2024-11-12 04:25:51 -05:00
tower = mkNix [ ./hosts/tower ]; # Main Desktop
2024-10-28 00:11:01 -04:00
2024-12-16 12:11:12 -05:00
envy = mkNix [ ./hosts/envy ]; # HP Convertable
2025-03-08 05:36:01 -05:00
pear = mkNix [ ./hosts/pear ]; # MacBook Pro
2024-12-16 12:11:12 -05:00
redmond = mkNix [ ./hosts/redmond ]; # Lenovo Dual-Boot
2025-02-24 21:05:06 -05:00
iso = mkNix [ ./hosts/iso ]; # ISO File
2025-02-14 16:34:45 -05:00
midas = mkNix [ ./hosts/midas ]; # Dell Optiplex 5040
2024-11-12 04:25:51 -05:00
prophet = mkNix [ ./hosts/prophet ]; # Oracle Neoverse-N1
2024-08-24 22:16:51 -04:00
};
2025-02-28 15:00:12 -05:00
# home-manager switch --flake /etc/nixos#arch
homeConfigurations = {
x86 = mkHome [ ./modules/home ] nixpkgs.legacyPackages.x86_64-linux;
aarch = mkHome [ ./modules/home ] nixpkgs.legacyPackages.aarch64-linux;
};
2024-08-24 22:16:51 -04:00
};
}