nix/flake.nix

135 lines
3.7 KiB
Nix

{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.05";
nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable";
home-manager = {
url = "github:nix-community/home-manager/release-25.05";
inputs.nixpkgs.follows = "nixpkgs";
};
stylix = {
url = "github:danth/stylix/release-25.05";
inputs.nixpkgs.follows = "nixpkgs";
};
nixvim = {
url = "git+ssh://forgejo@forgejo.005540.xyz/logistic-bot/nixvim";
};
river-shifttags = {
url = "git+ssh://forgejo@forgejo.005540.xyz/logistic-bot/river-shifttags";
inputs.nixpkgs.follows = "nixpkgs";
};
breezex-cursor = {
url = "git+ssh://forgejo@forgejo.005540.xyz/logistic-bot/breezex-cursor";
inputs.nixpkgs.follows = "nixpkgs";
};
cassowary = {
url = "git+ssh://forgejo@forgejo.005540.xyz/logistic-bot/cassowary";
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";
};
copyparty.url = "github:9001/copyparty";
optnix.url = "github:water-sucks/optnix";
starship-jj.url = "gitlab:lanastara_foss/starship-jj";
};
outputs = {
nixpkgs,
nixpkgs-unstable,
home-manager,
stylix,
nixvim,
river-shifttags,
breezex-cursor,
other-transcode,
nix-doom-emacs-unstraightened,
cassowary,
copyparty,
optnix,
starship-jj,
...
}: 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;
cassowary = cassowary.packages.${system}.default;
pkgs-unstable = nixpkgs-unstable.legacyPackages.${system};
starship-jj = starship-jj.packages.${system}.default;
};
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
copyparty.nixosModules.default
({ ... }: {
# add the copyparty overlay to expose the package to the module
nixpkgs.overlays = [ copyparty.overlays.default ];
})
];
specialArgs = {
pkgs-unstable = nixpkgs-unstable.legacyPackages.${system};
breezex-cursor = breezex-cursor.packages.${system}.default;
inherit optnix home-manager;
};
};
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
];
specialArgs = {
pkgs-unstable = nixpkgs-unstable.legacyPackages.${system};
breezex-cursor = breezex-cursor.packages.${system}.default;
inherit optnix home-manager;
};
};
};
}