Files
my_nixos/flake.nix
T
2026-04-29 13:17:44 +03:00

158 lines
5.6 KiB
Nix

{
nixConfig = {
experimental-features = [
"flakes"
"nix-command"
];
};
inputs = {
nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable";
nixpkgs-stable.url = "github:NixOS/nixpkgs/nixos-25.05";
impermanence.url = "github:nix-community/impermanence";
millennium = {
url = "github:SteamClientHomebrew/Millennium?dir=packages/nix";
inputs.nixpkgs.follows = "nixpkgs-unstable";
};
home-manager = {
url = "github:nix-community/home-manager/master";
inputs.nixpkgs.follows = "nixpkgs-unstable";
};
hm-stable = {
url = "github:nix-community/home-manager/release-25.05";
inputs.nixpkgs.follows = "nixpkgs-stable";
};
lanzaboote = {
url = "github:nix-community/lanzaboote/v1.0.0";
# Optional but recommended to limit the size of your system closure.
inputs.nixpkgs.follows = "nixpkgs-unstable";
};
asus-numberpad-driver = {
url = "github:asus-linux-drivers/asus-numberpad-driver";
inputs.nixpkgs.follows = "nixpkgs-unstable";
};
lix-module = {
url = "git+https://git.lix.systems/lix-project/nixos-module";
inputs.nixpkgs.follows = "nixpkgs-unstable";
};
zapret-discord-youtube.url = "github:kartavkun/zapret-discord-youtube";
# chaotic.url = "github:chaotic-cx/nyx/nyxpkgs-unstable";
};
outputs = { self, nixpkgs-unstable, impermanence, home-manager, nixpkgs-stable, hm-stable, lanzaboote, millennium, lix-module, asus-numberpad-driver, zapret-discord-youtube, ...}@inputs: {
nixosConfigurations = {
Ratchet = nixpkgs-unstable.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = { inherit inputs; };
modules = [
impermanence.nixosModules.impermanence
asus-numberpad-driver.nixosModules.default
./hosts/generic/configuration_generic.nix
./hosts/generic/users.nix
./hosts/Ratchet/hardware-Ratchet.nix
./hosts/Ratchet/fingerprint.nix
./hosts/Ratchet/misc_Ratchet.nix
./hosts/generic/persistence.nix
./hosts/generic/cups.nix
./hosts/generic/security_quirks.nix
./desktop/kde.nix
./hosts/generic/unfree_allow.nix
./hosts/generic/virtualization.nix
./hosts/generic/plymouth.nix
./home/yaroslav/steam.nix
lanzaboote.nixosModules.lanzaboote
({ pkgs, lib, ... }: {
# Lanzaboote currently replaces the systemd-boot module.
# This setting is usually set to true in configuration.nix
# generated at installation time. So we force it to false
# for now.
boot.loader.systemd-boot.enable = lib.mkForce false;
boot.lanzaboote = {
enable = true;
pkiBundle = "/var/lib/sbctl";
};
})
home-manager.nixosModules.home-manager
{
home-manager.useUserPackages = true;
home-manager.users.yaroslav = {
imports = [
./home/yaroslav/home.nix
./home/yaroslav/home_gui.nix
./home/yaroslav/kitty.nix
];
};
}
];
};
Aphelion = nixpkgs-unstable.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = { inherit inputs; };
modules = [
#lix-module.nixosModules.default
impermanence.nixosModules.impermanence
./hosts/generic/persistence.nix
./hosts/generic/configuration_generic.nix
./hosts/generic/users.nix
./hosts/generic/virtualization.nix
./hosts/generic/unfree_allow.nix
./hosts/Aphelion/hardware-Aphelion.nix
./hosts/Aphelion/sunshine.nix
./desktop/kde.nix
./home/yaroslav/steam.nix
./hosts/generic/teamspeak.nix
./hosts/Aphelion/nfs.nix
./hosts/generic/cups.nix
# ./hosts/generic/zapret.nix
./hosts/Aphelion/dlna.nix
./hosts/Aphelion/Aphelion_misc.nix
lanzaboote.nixosModules.lanzaboote
({ pkgs, lib, ... }: {
# Lanzaboote currently replaces the systemd-boot module.
# This setting is usually set to true in configuration.nix
# generated at installation time. So we force it to false
# for now.
boot.loader.systemd-boot.enable = lib.mkForce false;
boot.lanzaboote = {
enable = true;
pkiBundle = "/var/lib/sbctl";
};
})
home-manager.nixosModules.home-manager
{
home-manager.useUserPackages = true;
home-manager.users.yaroslav = {
imports = [
./home/yaroslav/Aphelion/Aphelion.nix
./home/yaroslav/home_gui.nix
./home/yaroslav/kitty.nix
];
};
}
];
};
Qwark = nixpkgs-stable.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = { inherit inputs; };
modules = [
impermanence.nixosModules.impermanence
./hosts/generic/configuration_generic.nix
./hosts/generic/users.nix
./hosts/Quark/Quark-hardware.nix
./hosts/Quark/smb.nix
./hosts/Quark/sound.nix
./hosts/generic/virtualization.nix
./desktop/cinnamon.nix
hm-stable.nixosModules.home-manager {
home-manager.useUserPackages = true;
home-manager.users.yaroslav = {
imports = [
./home/yaroslav/home.nix
];
};
}
];
};
};
};
}