nixos-config/flake.nix

100 lines
2.6 KiB
Nix
Raw Normal View History

2023-11-05 11:40:44 +01:00
{
2023-11-05 17:56:55 +01:00
description = "FrostPhoenix's nixos configuration";
2023-11-05 11:40:44 +01:00
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
2024-02-07 16:57:15 +01:00
nur.url = "github:nix-community/NUR";
2023-11-05 17:56:55 +01:00
2023-11-05 11:40:44 +01:00
hypr-contrib.url = "github:hyprwm/contrib";
hyprpicker.url = "github:hyprwm/hyprpicker";
2023-11-05 17:56:55 +01:00
2023-11-05 11:40:44 +01:00
alejandra.url = "github:kamadorueda/alejandra/3.0.0";
2023-11-05 17:56:55 +01:00
2023-11-05 18:13:57 +01:00
nix-gaming.url = "github:fufexan/nix-gaming";
2023-11-05 17:56:55 +01:00
2023-11-05 11:40:44 +01:00
hyprland = {
2024-06-21 16:32:11 +02:00
url = "git+https://github.com/hyprwm/Hyprland?submodules=1";
2023-11-05 11:40:44 +01:00
inputs.nixpkgs.follows = "nixpkgs";
};
2023-11-05 17:56:55 +01:00
2023-11-05 11:40:44 +01:00
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
2023-11-06 16:05:37 +01:00
2024-06-22 13:45:12 +02:00
catppuccin.url = "github:catppuccin/nix";
2023-11-06 16:05:37 +01:00
catppuccin-bat = {
url = "github:catppuccin/bat";
flake = false;
};
2024-06-21 12:15:15 +02:00
agenix.url = "github:ryantm/agenix";
agenix.inputs.nixpkgs.follows = "nixpkgs";
iceshrimp = {
url = "git+https://iceshrimp.dev/iceshrimp/packaging";
};
2023-11-05 11:40:44 +01:00
};
outputs = { nixpkgs, self, agenix, iceshrimp, catppuccin, ...} @ inputs:
2024-04-13 13:43:59 +02:00
let
selfPkgs = import ./pkgs;
2024-06-21 09:33:29 +02:00
username = "liv";
2024-04-13 13:43:59 +02:00
system = "x86_64-linux";
pkgs = import nixpkgs {
inherit system;
config.allowUnfree = true;
};
lib = nixpkgs.lib;
in
{
overlays.default = selfPkgs.overlay;
nixosConfigurations = {
desktop = nixpkgs.lib.nixosSystem {
inherit system;
2024-06-21 12:15:15 +02:00
modules = [(
import ./hosts/desktop
agenix.nixosModules.default
)];
2024-04-13 13:43:59 +02:00
specialArgs = { host="desktop"; inherit self inputs username ; };
};
2024-06-21 12:34:00 +02:00
sakura = nixpkgs.lib.nixosSystem {
2024-04-13 13:43:59 +02:00
inherit system;
2024-06-21 12:15:15 +02:00
modules = [(
2024-06-21 12:34:00 +02:00
import ./hosts/sakura
2024-06-23 23:11:30 +02:00
#agenix.nixosModules.default # TODO: Should use this for en/decrypting secret values.
2024-06-21 12:15:15 +02:00
)];
2024-06-21 12:34:00 +02:00
specialArgs = { host="sakura"; inherit self inputs username ; };
2023-11-05 11:40:44 +01:00
};
2024-07-15 07:44:16 +02:00
violet = nixpkgs.lib.nixosSystem {
inherit system;
modules = [(
import ./hosts/violet
iceshrimp.nixosModules.default
2024-07-15 07:44:16 +02:00
# agenix.nixosModules.default
)];
specialArgs = { host="violet"; inherit self inputs username ; };
};
2024-06-21 12:15:15 +02:00
vm = nixpkgs.lib.nixosSystem {
2024-05-19 18:28:51 +02:00
inherit system;
2024-06-21 12:15:15 +02:00
modules = [(
import ./hosts/vm
agenix.nixosModules.default
)];
2024-05-19 18:28:51 +02:00
specialArgs = { host="vm"; inherit self inputs username ; };
};
2024-06-21 12:15:15 +02:00
server = nixpkgs.lib.nixosSystem {
inherit system;
modules = [(
import ./hosts/server
# agenix.nixosModules.default
2024-06-21 12:15:15 +02:00
)];
specialArgs = { host="server"; inherit self inputs username ; };
};
2023-11-05 11:40:44 +01:00
};
2024-04-13 13:43:59 +02:00
};
2023-11-05 11:40:44 +01:00
}