dotfiles/flake.nix

104 lines
2.6 KiB
Nix
Executable file

{
description = "Strix nix flake";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.11"; # current supported
nixpkgs-unstable.url = "nixpkgs/nixos-unstable"; # unstable branch for newer packages
nixpkgs-last.url = "nixpkgs/nixos-24.05"; # one branch before the current one
home-manager = {
url = "github:nix-community/home-manager/release-24.11";
inputs.nixpkgs.follows = "nixpkgs";
};
nvidia-patch = {
url = "github:icewind1991/nvidia-patch-nixos";
inputs.nixpkgs.follows = "nixpkgs";
};
dttyper.url = "git+https://git.4o1x5.dev/4o1x5/dttyper";
romodoro.url = "git+https://git.4o1x5.dev/4o1x5/romodoro";
neo2005.url = "git+https://git.4o1x5.dev/4o1x5/neo2005";
};
outputs =
{
self,
nixpkgs,
home-manager,
nixpkgs-unstable,
nixpkgs-last,
nvidia-patch,
dttyper,
romodoro,
neo2005,
...
}@inputs:
let
system = "x86_64-linux";
overlay-unstable = final: prev: {
unstable = nixpkgs-unstable.legacyPackages.${prev.system};
last = nixpkgs-last.legacyPackages.${prev.system};
};
in
{
nixosConfigurations.strix = nixpkgs.lib.nixosSystem {
inherit system;
specialArgs = {
inputs = inputs;
user = "grape";
# Must be absolute path with no / at the end
dotfilepath = "/home/grape/dotfiles";
};
modules = [
# adding unstable overlay
(
{ config, pkgs, ... }:
{
nixpkgs.overlays = [
overlay-unstable
nvidia-patch.overlays.default
];
}
)
./hosts/strix/configuration.nix
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
}
];
};
nixosConfigurations.thinkpad = nixpkgs.lib.nixosSystem {
inherit system;
specialArgs = {
inputs = inputs;
user = "peach";
dotfilepath = "/home/peach/dotfiles";
};
modules = [
(
{ config, pkgs, ... }:
{
nixpkgs.overlays = [
overlay-unstable
];
}
)
./hosts/thinkpad/configuration.nix
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
}
];
};
};
}