Files
nix-thinkcentre/flake.nix

51 lines
1.6 KiB
Nix
Raw Normal View History

2025-10-11 19:10:48 +05:00
{
description = "furry flake";
# Вход.
# Т.е указание к тем флейкам,
# которые необходимы.
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
disko = {
url = "github:nix-community/disko";
inputs.nixpkgs.follows = "nixpkgs";
};
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
# Другие флейки
zen-browser = {
url = "github:0xc000022070/zen-browser-flake";
inputs.nixpkgs.follows = "nixpkgs";
};
};
# Выход
# Т.е применение функций флейков на
# конфигурацию NixOS.
outputs = { self, nixpkgs, disko, home-manager, ... }@inputs:
# Переменные для быстрой смены параметра,
# И уборка повторяющиехся значений.
let
system = "x86_64-linux";
host = "lenovo";
nick = "fox";
in {
# Применение входных флейков на системную конфигурацию.
nixosConfigurations.${host} = inputs.nixpkgs.lib.nixosSystem {
specialArgs = { inherit inputs; };
modules = [ /home/fox/conf/configuration.nix disko.nixosModules.disko ];
};
# Указание флейку home-manager, где что выполнять.
homeConfigurations.${nick} = inputs.home-manager.lib.homeManagerConfiguration {
pkgs = inputs.nixpkgs.legacyPackages.${system};
extraSpecialArgs = { inherit inputs; };
modules = [ /home/fox/conf/home/configuration.nix ];
};
};
}