This commit is contained in:
Finn Linck Ryan 2026-01-11 01:42:54 +00:00
commit aae151cee6
33 changed files with 1351 additions and 0 deletions

90
flake.nix Executable file
View file

@ -0,0 +1,90 @@
{
description = "Personal system configurations";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
flake-parts.url = "github:hercules-ci/flake-parts";
impermanence.url = "github:nix-community/impermanence";
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
disko = {
url = "github:nix-community/disko";
inputs.nixpkgs.follows = "nixpkgs";
};
sops-nix = {
url = "github:Mic92/sops-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = { self, flake-parts, ... } @ inputs: let
inherit (self) outputs;
in
flake-parts.lib.mkFlake { inherit inputs; } {
imports = [
inputs.home-manager.flakeModules.home-manager
];
# Systems the "perSystem" option will target.
systems = [
"x86_64-linux"
"x86_64-darwin"
"aarch64-linux"
"aarch64-darwin"
"i686-linux"
];
# Outputs for each above defined system.
perSystem = { pkgs, ... }: {
devShells.default = pkgs.mkShell {
packages = with pkgs; [
just
];
};
};
# Flake configuration attributes.
flake = {
# Reusable nixos modules one might want to export.
# Usually bundled pre-configured configuration toggles for my systems.
nixosModules = import ./modules/nixos;
# Reusable home-manager modules one might want to export.
# Usually bundled pre-configured configuration toggles for my homes.
homeManagerModules = import ./modules/home-manager;
nixosConfigurations = {
makise = inputs.nixpkgs.lib.nixosSystem {
specialArgs = { inherit inputs outputs; };
modules = [
./hosts/makise/system/system.nix
];
};
};
homeConfigurations = {
"kurisu@makise" = inputs.home-manager.lib.homeManagerConfiguration {
pkgs = inputs.nixpkgs.legacyPackages.x86_64-linux;
extraSpecialArgs = { inherit inputs outputs; };
modules = [
./hosts/makise/homes/kurisu/home.nix
];
};
"admin@makise" = inputs.home-manager.lib.homeManagerConfiguration {
pkgs = inputs.nixpkgs.legacyPackages.x86_64-linux;
extraSpecialArgs = { inherit inputs outputs; };
modules = [
./hosts/makise/homes/admin/default.nix
];
};
};
};
};
}