2.3 KiB
2.3 KiB
| marp | class | paginate | footer |
|---|---|---|---|
| true | invert | true | Albert Vala, Filip Kohout, Nix flakes & Nix command |
Nix flakes & Nix command
nix command
- Nove nix cli
Proc zmena?
- Protoze treba nix-shell se nemel pouzivat na nix-shell -p
- Flake support
Porovnani
nix-shell -p cowsay | nix shell nixpkgs#cowsay
nix eval nix why-depends
Flakes
Why tho?
- Lockfiles.
- Flake inputs
Na co flaku pouzit?
Jak pouzit flakes na system configuraci?
- Flake je jen cast zbytek je v normalnich nix filech
- Zbytek konfigurace bere inputy z flaky.
- Neprijdeme o nic jen mame lock file a moznost flake jako inputu
Flake example
{
description = "NixOS configuration";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
home-manager.url = "github:nix-community/home-manager";
home-manager.inputs.nixpkgs.follows = "nixpkgs";
zen-browser.url = "github:0xc000022070/zen-browser-flake";
};
outputs = inputs @ {
nixpkgs,
home-manager,
zen-browser,
...
}: {
nixosConfigurations = {
laptop = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
./laptop/configuration.nix
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = false;
home-manager.useUserPackages = true;
home-manager.extraSpecialArgs = {inherit zen-browser;};
home-manager.users.albert = import ./modules/home.nix;
}
];
};
};
};
}
{
zen-browser,
config,
pkgs,
...
}: {
home.username = "nixFreak";
home.homeDirectory = "/home/nixFreak";
home.stateVersion = "24.05";
home.packages = with pkgs;
[
cowsay
]
++ [
zen-browser.packages."${system}".default
];
programs.home-manager.enable = true;
}