config/flake.nix

132 lines
3.6 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-05-07 03:59:51 +02:00
nur.url = "github:nix-community/nur";
sanctureplicum-nur = {
url = "git+https://gitea.pid1.sh/sanctureplicum/nur.git";
inputs.nixpkgs.follows = "nixpkgs-unstable";
};
nekowinston-nur = {
url = "github:nekowinston/nur";
inputs.nixpkgs.follows = "nixpkgs-unstable";
};
home-manager = {
2023-05-10 05:18:43 +02:00
url = "github:nix-community/home-manager/release-22.11";
2023-05-07 03:59:51 +02:00
inputs.nixpkgs.follows = "nixpkgs";
};
sops-nix = {
url = "github:Mic92/sops-nix";
inputs = {
nixpkgs.follows = "nixpkgs-unstable";
nixpkgs-stable.follows = "nixpkgs";
};
};
nixos-wsl = {
url = "github:nix-community/nixos-wsl";
inputs.nixpkgs.follows = "nixpkgs";
};
emacs-overlay = {
url = "github:nix-community/emacs-overlay";
inputs.nixpkgs.follows = "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
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)
2023-05-10 05:18:43 +02:00
(final: prev: let unstable = import nixpkgs-unstable {
2023-04-12 13:45:45 +02:00
system = prev.system;
config.allowUnfree = true;
2023-05-10 05:18:43 +02:00
}; in {
nur = import nur {
nurpkgs = unstable;
pkgs = unstable;
repoOverrides = {
nekowinston = import nekowinston-nur { pkgs = unstable; };
sanctureplicum = import sanctureplicum-nur { pkgs = unstable; system = unstable.system; };
2023-04-12 13:45:45 +02:00
};
};
2023-05-10 05:18:43 +02:00
inherit unstable;
2023-04-12 13:45:45 +02:00
})
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
};
}