nixos-config/flake.nix

103 lines
3.1 KiB
Nix
Raw Normal View History

2024-03-08 22:46:38 +01:00
{
description = "NixOS configuration flake";
inputs = {
2024-12-04 21:54:04 +01:00
nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.11";
2024-12-22 23:11:45 +01:00
deploy-rs.url = "github:serokell/deploy-rs";
deploy-rs.inputs.nixpkgs.follows = "nixpkgs";
2024-12-21 01:30:34 +01:00
disko.url = "github:nix-community/disko";
disko.inputs.nixpkgs.follows = "nixpkgs";
2024-12-04 21:54:04 +01:00
home-manager.url = "github:nix-community/home-manager/release-24.11";
2024-03-09 22:37:11 +01:00
home-manager.inputs.nixpkgs.follows = "nixpkgs";
2024-12-28 21:50:39 +01:00
ghostty.url = "github:ghostty-org/ghostty";
2024-12-21 01:30:34 +01:00
nixvim = {
url = "github:nix-community/nixvim/nixos-24.11";
inputs = {
nixpkgs.follows = "nixpkgs";
devshell.follows = "";
flake-compat.follows = "";
git-hooks.follows = "";
home-manager.follows = "";
nix-darwin.follows = "";
treefmt-nix.follows = "";
};
};
2024-03-08 22:46:38 +01:00
};
2024-12-28 21:50:39 +01:00
outputs = { self, nixpkgs, home-manager, deploy-rs, disko, nixvim, ghostty, ...}:
2024-03-08 22:46:38 +01:00
let
2024-03-09 22:37:11 +01:00
system = "x86_64-linux";
pkgs = nixpkgs.legacyPackages.${system};
2024-03-08 22:46:38 +01:00
in {
nixosConfigurations = {
2024-03-09 22:37:11 +01:00
lift = nixpkgs.lib.nixosSystem {
2024-07-07 21:56:12 +02:00
inherit system;
2024-03-09 22:37:11 +01:00
modules = [
2025-01-01 21:40:43 +01:00
./hosts/lift
2024-03-09 22:37:11 +01:00
];
};
2025-01-01 22:02:12 +01:00
veil = nixpkgs.lib.nixosSystem {
inherit system;
modules = [
./hosts/veil
];
};
2024-11-13 22:10:09 +01:00
tien = nixpkgs.lib.nixosSystem {
2024-12-21 01:30:34 +01:00
inherit system;
2024-11-13 22:10:09 +01:00
modules = [
disko.nixosModules.disko
2024-12-22 23:49:58 +01:00
./hosts/tien/configuration.nix
./hosts/tien/hardware-configuration.nix
2024-11-13 22:10:09 +01:00
];
};
2024-03-09 22:37:11 +01:00
};
homeConfigurations = {
"rothe@lift" = home-manager.lib.homeManagerConfiguration {
2024-03-09 22:37:11 +01:00
inherit pkgs;
2024-12-21 01:30:34 +01:00
modules = [
./home/terminal
./home/wayland
2024-12-21 01:30:34 +01:00
nixvim.homeManagerModules.nixvim
];
extraSpecialArgs = {
2024-11-15 10:25:33 +01:00
mail = nixpkgs.lib.strings.concatStrings ["mail" "@" "johannes-rothe.de"];
2024-12-28 21:50:39 +01:00
inherit ghostty;
};
};
2025-01-01 22:02:12 +01:00
"rothe@veil" = home-manager.lib.homeManagerConfiguration {
inherit pkgs;
2024-12-21 01:30:34 +01:00
modules = [
./home/terminal
2025-01-01 22:02:12 +01:00
./home/wayland
2024-12-21 01:30:34 +01:00
nixvim.homeManagerModules.nixvim
];
extraSpecialArgs = {
2024-11-15 10:25:33 +01:00
mail = nixpkgs.lib.strings.concatStrings ["mail" "@" "johannes-rothe.de"];
2025-01-01 22:02:12 +01:00
inherit ghostty;
};
2024-03-08 22:46:38 +01:00
};
2024-09-29 22:21:13 +02:00
"rothe@pdemu1cml000301" = home-manager.lib.homeManagerConfiguration {
inherit pkgs;
2024-12-21 01:30:34 +01:00
modules = [
./home/terminal
nixvim.homeManagerModules.nixvim
2024-09-29 22:21:13 +02:00
];
extraSpecialArgs = {
2024-11-15 10:25:33 +01:00
mail = nixpkgs.lib.strings.concatStrings ["rothe" "@" "magazino.eu"];
};
2024-09-29 22:21:13 +02:00
};
2024-03-08 22:46:38 +01:00
};
2024-12-22 23:11:45 +01:00
deploy.nodes.tien = let
hostname = "tien";
in {
hostname = hostname;
profiles.system = {
sshUser = "root";
path = deploy-rs.lib.x86_64-linux.activate.nixos self.nixosConfigurations.${hostname};
};
};
checks = builtins.mapAttrs (system: deployLib: deployLib.deployChecks self.deploy) deploy-rs.lib;
2024-03-08 22:46:38 +01:00
};
}