nixos-config/flake.nix

89 lines
2.6 KiB
Nix
Raw Normal View History

2023-11-05 11:40:44 +01:00
{
description = "liv's NixOS configuration";
2023-11-05 17:56:55 +01:00
2023-11-05 11:40:44 +01:00
inputs = {
2024-11-27 11:23:41 +01:00
agenix.url = "github:ryantm/agenix";
2023-11-05 11:40:44 +01:00
alejandra.url = "github:kamadorueda/alejandra/3.0.0";
2024-11-27 11:23:41 +01:00
catppuccin.url = "github:catppuccin/nix";
2024-10-17 11:12:37 +02:00
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
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";
};
2024-10-17 11:12:37 +02:00
hypr-contrib.url = "github:hyprwm/contrib";
hyprpicker.url = "github:hyprwm/hyprpicker";
2024-10-11 20:28:08 +02:00
Hyprspace = {
url = "github:KZDKM/Hyprspace";
inputs.hyprland.follows = "hyprland"; # Hyprspace uses latest Hyprland. We declare this to keep them in sync.
};
2024-10-12 13:07:44 +02:00
Hyswipe = {
url = "github:KZDKM/Hyswipe";
inputs.hyprland.follows = "hyprland"; # Hyswipe uses latest Hyprland. We declare this to keep them in sync.
};
2024-11-27 11:23:41 +01:00
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
nur.url = "github:nix-community/NUR";
nixos-hardware.url = "github:nixos/nixos-hardware";
nixvim.url = "github:ahwxorg/nixvim-config";
nix-gaming.url = "github:fufexan/nix-gaming";
2023-11-05 11:40:44 +01:00
};
2024-11-27 11:23:41 +01:00
outputs = { self, nixpkgs, catppuccin, agenix, ...} @ inputs:
2024-04-13 13:43:59 +02:00
let
overlays = import ./overlays/default.nix;
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;
};
lib = nixpkgs.lib;
in
{
overlays.default = overlays.addition;
2024-04-13 13:43:59 +02:00
nixosConfigurations = {
desktop = nixpkgs.lib.nixosSystem {
inherit system;
2024-06-21 12:15:15 +02:00
modules = [(
import ./hosts/desktop
)];
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-11-27 11:34:11 +01:00
modules = [
(import ./hosts/sakura)
2024-11-27 11:23:41 +01:00
agenix.nixosModules.default
2024-11-27 11:34:11 +01:00
];
2024-06-21 12:34:00 +02:00
specialArgs = { host="sakura"; inherit self inputs username ; };
2023-11-05 11:40:44 +01:00
};
yoshino = nixpkgs.lib.nixosSystem {
inherit system;
modules = [
(import ./hosts/yoshino)
agenix.nixosModules.default
];
specialArgs = { host="yoshino"; inherit self inputs username ; };
};
2024-07-15 07:44:16 +02:00
violet = nixpkgs.lib.nixosSystem {
inherit system;
2024-11-27 11:34:11 +01:00
modules = [
(import ./hosts/violet)
agenix.nixosModules.default
];
2024-08-20 18:17:12 +02:00
specialArgs = { host="violet"; inherit self inputs username; };
2024-07-15 07:44:16 +02:00
};
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
)];
2024-05-19 18:28:51 +02:00
specialArgs = { host="vm"; 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
}