nix/flake.nix

115 lines
3.1 KiB
Nix

{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.05";
nixpkgs-unstable.url = "nixpkgs/nixos-unstable";
home-manager = {
url = "github:nix-community/home-manager/release-24.05";
inputs.nixpkgs.follows = "nixpkgs";
};
stylix = {
url = "github:danth/stylix/release-24.05";
inputs.nixpkgs.follows = "nixpkgs";
};
nixvim = {
url = "git+ssh://gitsrht@git.sourcehut.005540.xyz/~logistic-bot/nixvim";
};
river-shifttags = {
url = "git+ssh://gitsrht@git.sourcehut.005540.xyz/~logistic-bot/river-shifttags";
inputs.nixpkgs.follows = "nixpkgs";
};
breezex-cursor = {
url = "git+ssh://gitsrht@git.sourcehut.005540.xyz/~logistic-bot/breezex-cursor";
inputs.nixpkgs.follows = "nixpkgs";
};
other-transcode = {
url = "github:logistic-bot/other_video_transcoding_nix";
inputs.nixpkgs.follows = "nixpkgs";
};
nix-doom-emacs-unstraightened = {
url = "github:marienz/nix-doom-emacs-unstraightened";
inputs.nixpkgs.follows = "nixpkgs";
};
nixos-06cb-009a-fingerprint-sensor = {
url = "github:ahbnr/nixos-06cb-009a-fingerprint-sensor";
};
};
outputs = {
nixpkgs,
nixpkgs-unstable,
home-manager,
stylix,
nixvim,
river-shifttags,
breezex-cursor,
other-transcode,
nix-doom-emacs-unstraightened,
nixos-06cb-009a-fingerprint-sensor,
...
}: let
system = "x86_64-linux";
home-manager-args = {
nixvim = nixvim.packages.${system}.default;
river-shifttags = river-shifttags.packages.${system}.default;
breezex-cursor = breezex-cursor.packages.${system}.default;
kitty-unstable = nixpkgs-unstable.legacyPackages.${system}.kitty;
other-transcode = other-transcode.packages.${system}.default;
nix-doom-emacs-unstraightened = nix-doom-emacs-unstraightened.hmModule;
};
in {
nixosConfigurations.void = nixpkgs.lib.nixosSystem {
inherit system;
modules = [
./void.nix
home-manager.nixosModules.home-manager
{
home-manager = {
useGlobalPkgs = true;
useUserPackages = true;
users.khais = ./home.nix;
extraSpecialArgs = home-manager-args;
};
}
stylix.nixosModules.stylix
./stylix.nix
];
specialArgs = {
pkgs-unstable = nixpkgs-unstable.legacyPackages.${system};
};
};
nixosConfigurations.t470 = nixpkgs.lib.nixosSystem {
inherit system;
modules = [
./t470.nix
home-manager.nixosModules.home-manager
{
home-manager = {
useGlobalPkgs = true;
useUserPackages = true;
users.khais = ./home.nix;
extraSpecialArgs = home-manager-args;
};
}
stylix.nixosModules.stylix
./stylix.nix
nixos-06cb-009a-fingerprint-sensor.nixosModules.open-fprintd
nixos-06cb-009a-fingerprint-sensor.nixosModules.python-validity
];
specialArgs = {
pkgs-unstable = nixpkgs-unstable.legacyPackages.${system};
};
};
};
}