FrameworkNix/flake.nix

75 lines
1.7 KiB
Nix

{
description = "The Nix flake for whatever the fuck it is that Hertog is doing";
inputs = {
nixos-hardware.url = "github:NixOS/nixos-hardware/master";
nixpkgs.url = "nixpkgs/nixos-unstable";
nix-flatpak.url = "github:gmodena/nix-flatpak";
nix-colors.url = "github:misterio77/nix-colors";
nixvim = {
url = "github:nix-community/nixvim";
inputs.nixpkgs.follows = "nixpkgs";
};
home-manager = {
url = "github:nix-community/home-manager/master";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = {
self,
nixos-hardware,
nixpkgs,
nix-flatpak,
nix-colors,
nixvim,
home-manager,
...
}@inputs:
let
system = "x86_64-linux";
currentSystem = system;
pkgs = import nixpkgs {
inherit system;
};
lib = nixpkgs.lib;
in {
# Laptop NixOS configuration
nixosConfigurations = {
sam = lib.nixosSystem {
inherit system;
modules = [
nixos-hardware.nixosModules.framework-11th-gen-intel
./system
./programs
./hertog/user.nix
nix-flatpak.nixosModules.nix-flatpak
home-manager.nixosModules.home-manager {
home-manager = {
useGlobalPkgs = true;
useUserPackages = true;
users = {
hertog = import hertog/home.nix;
};
extraSpecialArgs = {
inherit inputs;
};
};
}
];
specialArgs = {
inputs = inputs;
inherit nix-colors;
inherit system;
};
};
};
packages."${system}" = {
vim = nixvim.legacyPackages."${system}".makeNixvimWithModule {
module = import ./programs/vim;
};
};
};
}