feat: add initial flake

This commit is contained in:
2026-02-20 15:11:30 +01:00
parent f6df01667a
commit 183e948d40
2 changed files with 751 additions and 0 deletions

104
flake.nix Normal file
View File

@@ -0,0 +1,104 @@
{
description = "matej's nix setup";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.11";
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixpkgs-unstable";
nixpkgs-master.url = "github:nixos/nixpkgs/master";
# dotfiles = {
# url = "git+https://git.janezic.dev/janezicmatej/.dotfiles.git";
# flake = false;
# };
# nvim = {
# url = "git+https://git.janezic.dev/janezicmatej/nvim.git?ref=rewrite";
# flake = false;
# };
flake-utils.url = "github:numtide/flake-utils";
nixos-generators = {
url = "github:nix-community/nixos-generators";
inputs.nixpkgs.follows = "nixpkgs";
};
home-manager = {
url = "github:nix-community/home-manager/release-25.11";
inputs.nixpkgs.follows = "nixpkgs";
};
stylix = {
url = "github:danth/stylix/release-25.11";
inputs.nixpkgs.follows = "nixpkgs";
};
neovim-nightly-overlay = {
url = "github:nix-community/neovim-nightly-overlay";
};
lanzaboote = {
url = "github:nix-community/lanzaboote/v1.0.0";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs =
inputs@{
nixpkgs,
flake-utils,
nixos-generators,
...
}:
let
my-lib = import ./lib { lib = nixpkgs.lib; };
overlays = [ ];
mkHost = my-lib.mkHost {
inherit
nixpkgs
overlays
inputs
;
};
in
{
lib = my-lib;
# nix build .#iso
# dd bs=4M if=result/iso/my-nixos-live.iso of=/dev/sdX status=progress oflag=sync
live-iso = nixos-generators.nixosGenerate {
system = "x86_64-linux";
format = "install-iso";
specialArgs = { inherit inputs; };
modules = [ ./iso.nix ];
};
nixosConfigurations = {
matej-nixos = mkHost "matej-nixos" {
system = "x86_64-linux";
users = [ "matej" ];
};
matej-tower = mkHost "matej-tower" {
system = "x86_64-linux";
users = [ "matej" ];
};
};
nixosModules = import ./modules/nixos {
inherit my-lib;
lib = nixpkgs.lib;
} { };
}
// flake-utils.lib.eachDefaultSystem (system: {
packages = import ./packages {
inherit my-lib;
lib = nixpkgs.lib;
} (inputs // { inherit system; });
formatter = nixpkgs.legacyPackages.${system}.nixfmt-rfc-style;
});
}