forest/flake.nix

265 lines
6.9 KiB
Nix
Raw Normal View History

2023-10-02 17:47:47 +00:00
{
inputs = {
nixpkgs-stable = {
2024-06-29 13:21:07 +00:00
url = "github:NixOS/nixpkgs/nixos-24.05";
2023-10-02 17:47:47 +00:00
};
nixpkgs-unstable = {
url = "github:NixOS/nixpkgs/nixos-unstable";
};
2024-08-05 19:19:48 +00:00
lix-module-stable = {
2024-11-01 13:15:08 +00:00
url = "https://git.lix.systems/lix-project/nixos-module/archive/2.91.1-1.tar.gz";
2024-08-05 19:19:48 +00:00
inputs.nixpkgs.follows = "nixpkgs-stable";
};
lix-module-unstable = {
2024-11-01 13:15:08 +00:00
url = "https://git.lix.systems/lix-project/nixos-module/archive/2.91.1-1.tar.gz";
2024-08-05 19:19:48 +00:00
inputs.nixpkgs.follows = "nixpkgs-unstable";
2024-07-13 23:33:27 +00:00
};
2024-05-26 12:51:51 +00:00
home-manager-stable = {
2024-06-29 13:21:07 +00:00
url = "github:nix-community/home-manager/release-24.05";
2024-05-26 12:51:51 +00:00
inputs.nixpkgs.follows = "nixpkgs-stable";
};
2023-10-02 17:47:47 +00:00
home-manager-unstable = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs-unstable";
};
nixos-generators = {
url = "github:nix-community/nixos-generators";
inputs.nixpkgs.follows = "nixpkgs-unstable";
};
fsh = {
url = "github:ashhhleyyy/fsh";
inputs.nixpkgs.follows = "nixpkgs-stable";
};
vscode-extensions = {
url = "github:nix-community/nix-vscode-extensions";
inputs.nixpkgs.follows = "nixpkgs-unstable";
2023-10-13 16:23:08 +00:00
};
2024-07-03 13:54:20 +00:00
agenix.url = "github:ryantm/agenix";
2024-08-06 12:39:18 +00:00
niri-flake = {
url = "github:sodiboo/niri-flake";
inputs.nixpkgs.follows = "nixpkgs-unstable";
inputs.nixpkgs-stable.follows = "nixpkgs-stable";
};
2023-10-02 17:47:47 +00:00
};
2024-08-06 12:39:18 +00:00
outputs = {
self,
nixpkgs-stable, nixpkgs-unstable,
lix-module-stable, lix-module-unstable,
home-manager-stable, home-manager-unstable,
nixos-generators,
fsh,
vscode-extensions,
agenix,
niri-flake,
...
}:
2023-10-02 17:47:47 +00:00
let
home-manager = home-manager-unstable;
overlays = [
fsh.overlays.default
vscode-extensions.overlays.default
2023-10-02 17:47:47 +00:00
];
overlays-module = ({ nixpkgs, ... }: {
nixpkgs.overlays = overlays;
});
in
{
nixosConfigurations.fern = nixpkgs-unstable.lib.nixosSystem {
system = "x86_64-linux";
modules = [
overlays-module
./hosts/fern/configuration.nix
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.ash = { ... }: {
imports = [
fsh.homeModules.fsh
./home/ash
./home/ash/desktop.nix
];
};
}
];
};
nixosConfigurations.alex = nixpkgs-unstable.lib.nixosSystem {
system = "x86_64-linux";
modules = [
overlays-module
2024-08-06 16:13:44 +00:00
niri-flake.nixosModules.niri
2023-10-02 17:47:47 +00:00
./hosts/alex/configuration.nix
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.ash = { ... }: {
imports = [
fsh.homeModules.fsh
./home/ash
./home/ash/alex.nix
2023-10-02 17:47:47 +00:00
./home/ash/desktop.nix
2024-01-19 12:37:44 +00:00
./home/ash/emacs.nix
2023-11-12 19:19:43 +00:00
# ./home/ash/obs.nix
2024-08-06 16:13:44 +00:00
./home/ash/niri.nix
2024-10-07 23:47:43 +00:00
./home/ash/syncthing.nix
2023-10-08 21:15:40 +00:00
./home/ash/tpm-fido.nix
2023-10-03 00:11:37 +00:00
./home/ash/vscodium.nix
2023-11-18 18:29:04 +00:00
./home/ash/zoom.nix
2023-10-02 17:47:47 +00:00
];
};
}
];
};
2024-06-28 15:09:05 +00:00
nixosConfigurations.loona = nixpkgs-unstable.lib.nixosSystem {
system = "x86_64-linux";
modules = [
overlays-module
2024-08-06 12:39:18 +00:00
niri-flake.nixosModules.niri
2024-06-28 15:09:05 +00:00
./hosts/loona/configuration.nix
2024-08-05 19:19:48 +00:00
home-manager.nixosModules.home-manager
lix-module-unstable.nixosModules.default
2024-06-28 15:09:05 +00:00
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.ash = { ... }: {
imports = [
fsh.homeModules.fsh
./home/ash
./home/ash/alex.nix
./home/ash/desktop.nix
./home/ash/emacs.nix
2024-08-14 19:39:37 +00:00
./home/ash/niri.nix
2024-07-23 07:04:49 +00:00
./home/ash/obs.nix
2024-06-29 13:14:33 +00:00
./home/ash/intellij.nix
2024-07-13 23:33:27 +00:00
./home/ash/lutris.nix
2024-10-07 23:47:43 +00:00
./home/ash/syncthing.nix
2024-08-06 16:13:44 +00:00
2024-06-28 15:09:05 +00:00
./home/ash/vscodium.nix
./home/ash/zoom.nix
];
};
}
];
};
2024-05-26 12:51:51 +00:00
nixosConfigurations.lea = nixpkgs-stable.lib.nixosSystem {
system = "x86_64-linux";
modules = [
overlays-module
./hosts/lea/configuration.nix
./roles/coredns
./roles/postgres.nix
home-manager-stable.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.ash = { ... }: {
imports = [
fsh.homeModules.fsh
./home/ash
];
};
}
];
};
2024-06-04 22:26:25 +00:00
nixosConfigurations.amy = nixpkgs-stable.lib.nixosSystem {
system = "x86_64-linux";
modules = [
overlays-module
2024-07-03 13:54:20 +00:00
agenix.nixosModules.default
2024-06-04 22:26:25 +00:00
./hosts/amy/configuration.nix
2024-06-29 13:14:47 +00:00
./roles/conduit.nix
./roles/coredns
./roles/gts-sandbox.nix
./roles/iceshrimp.nix
2024-07-03 13:54:20 +00:00
./roles/keycloak.nix
2024-08-19 11:33:45 +00:00
./roles/mc-proxy.nix
./roles/podman.nix
2024-06-04 22:26:25 +00:00
./roles/postgres.nix
2024-10-07 23:47:43 +00:00
./roles/youtrack.nix
2024-07-07 23:11:06 +00:00
./roles/zulip.nix
2024-06-04 22:26:25 +00:00
home-manager-stable.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.ash = { ... }: {
imports = [
fsh.homeModules.fsh
./home/ash
];
};
}
];
};
2023-10-02 17:47:47 +00:00
nixosConfigurations.emira = nixpkgs-unstable.lib.nixosSystem {
system = "x86_64-linux";
modules = [
overlays-module
./hosts/emira/configuration.nix
2024-07-03 13:54:20 +00:00
agenix.nixosModules.default
2023-10-02 17:47:47 +00:00
./common/generic-qemu.nix
];
};
2024-08-06 16:13:44 +00:00
nixosConfigurations.em = nixpkgs-unstable.lib.nixosSystem {
system = "x86_64-linux";
modules = [
overlays-module
niri-flake.nixosModules.niri
./hosts/em/configuration.nix
home-manager-unstable.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.ash = { ... }: {
imports = [
fsh.homeModules.fsh
./home/ash
./home/ash/niri.nix
./home/ash/desktop.nix
];
};
}
];
};
2023-10-02 17:47:47 +00:00
packages.x86_64-linux = {
emira = nixos-generators.nixosGenerate {
system = "x86_64-linux";
modules = [
overlays-module
./hosts/emira/configuration.nix
];
format = "qcow";
};
};
2024-07-03 13:54:20 +00:00
devShells.x86_64-linux.default = let
pkgs = import nixpkgs-unstable {
system = "x86_64-linux";
};
in
pkgs.mkShell {
nativeBuildInputs = with pkgs; [
agenix.packages.${system}.default
];
};
2023-10-02 17:47:47 +00:00
};
}