config/flake.nix

129 lines
3.9 KiB
Nix

2023-01-13 20:12:54 +01:00
{
inputs = {
2023-04-12 13:45:45 +02:00
nixpkgs.url = "nixpkgs/nixos-22.11";
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixpkgs-unstable";
2023-04-24 11:27:13 +02:00
nixos-wsl.url = "github:nix-community/nixos-wsl";
nixos-wsl.inputs.nixpkgs.follows = "nixpkgs";
2023-01-16 22:19:17 +01:00
home-manager.url = "github:nix-community/home-manager";
2023-01-13 20:12:54 +01:00
home-manager.inputs.nixpkgs.follows = "nixpkgs";
2023-04-12 13:45:45 +02:00
nur.url = "github:nix-community/nur";
2023-04-24 11:27:13 +02:00
sanctureplicum-nur.url = "github:nyxkrage/sanctureplicum-nur";
2023-04-12 13:45:45 +02:00
nekowinston-nur.url = "github:nekowinston/nur";
emacs-overlay.url = "github:nix-community/emacs-overlay";
emacs-overlay.inputs.nixpkgs.follows = "nixpkgs";
sops-nix.url = "github:Mic92/sops-nix";
sops-nix.inputs.nixpkgs.follows = "nixpkgs";
2023-04-12 13:45:45 +02:00
mach-nixpkgs.url = "github:nixos/nixpkgs/9fd0585f7dc9b85eb5d426396004cc649261e60d";
mach-nix.url = "github:davhau/mach-nix/6cd3929b1561c3eef68f5fc6a08b57cf95c41ec1";
mach-nix.inputs.nixpkgs.follows = "mach-nixpkgs";
mach-nix.inputs.pypi-deps-db.url = "github:davhau/pypi-deps-db/e9571cac25d2f509e44fec9dc94a3703a40126ff";
mach-nix.inputs.pypi-deps-db.inputs.nixpkgs.follows = "mach-nixpkgs";
2023-01-13 20:12:54 +01:00
};
outputs =
{ self
, nixpkgs
2023-04-12 13:45:45 +02:00
, nixpkgs-unstable
, nur
2023-04-24 11:27:13 +02:00
, sanctureplicum-nur
2023-04-12 13:45:45 +02:00
, nekowinston-nur
, emacs-overlay
, mach-nix
, mach-nixpkgs
2023-04-24 11:27:13 +02:00
, nixos-wsl
, sops-nix
2023-01-13 20:12:54 +01:00
, home-manager
, ...
2023-02-13 20:46:11 +01:00
} @inputs:
let
overlays = [
2023-04-12 13:45:45 +02:00
(import emacs-overlay)
(final: prev: {
nur = import nur {
nurpkgs = prev;
pkgs = prev;
repoOverrides = {
nekowinston = import nekowinston-nur { pkgs = prev; };
2023-04-24 11:27:13 +02:00
sanctureplicum = import sanctureplicum-nur { pkgs = prev; };
2023-04-12 13:45:45 +02:00
};
};
unstable = import nixpkgs-unstable {
system = prev.system;
config.allowUnfree = true;
};
mach-nix = {
pkgs = import mach-nixpkgs {
system = prev.system;
config.allowUnfree = true;
};
inherit mach-nix;
};
})
2023-02-13 20:46:11 +01:00
];
in {
2023-01-13 20:12:54 +01:00
nixosConfigurations.falcon = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
2023-02-13 20:46:11 +01:00
({ config, pkgs, ... }: {
nixpkgs.overlays = overlays;
})
2023-01-13 20:12:54 +01:00
2023-01-16 14:49:16 +01:00
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.backupFileExtension = "bak";
}
2023-04-24 11:27:13 +02:00
./hosts/falcon
2023-01-16 14:49:16 +01:00
];
};
nixosConfigurations.eagle = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
2023-02-09 08:40:22 +01:00
({ config, pkgs, ... }: {
2023-02-13 20:46:11 +01:00
nixpkgs.overlays = overlays;
2023-02-09 08:40:22 +01:00
})
2023-01-16 14:49:16 +01:00
2023-01-13 20:12:54 +01:00
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.backupFileExtension = "bak";
home-manager.sharedModules = [
sops-nix.homeManagerModule
];
2023-01-13 20:12:54 +01:00
}
2023-04-24 11:27:13 +02:00
./hosts/eagle
];
};
nixosConfigurations.buzzard = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
({ config, pkgs, ... }: {
nixpkgs.overlays = overlays;
})
nixos-wsl.nixosModules.wsl
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.backupFileExtension = "bak";
}
./hosts/buzzard
2023-01-13 20:12:54 +01:00
];
};
2023-04-24 14:14:56 +02:00
nixosConfigurations.gitea = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
({ config, pkgs, ... }: {
nixpkgs.overlays = overlays;
})
sops-nix.nixosModules.sops
2023-04-24 14:14:56 +02:00
./hosts/gitea
];
};
2023-01-13 20:12:54 +01:00
};
}