dotfiles/flake.nix

64 lines
2.0 KiB
Nix

{
description = "My NixOS and home-manager configs";
inputs = {
# Nixpkgs
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
# Home manager
home-manager.url = "github:nix-community/home-manager/master";
home-manager.inputs.nixpkgs.follows = "nixpkgs";
# Neovim plugins not in nixpkgs
plugin-rainbow-delimiters-nvim.url = "gitlab:HiPhish/rainbow-delimiters.nvim";
plugin-rainbow-delimiters-nvim.flake = false;
plugin-undotree-nvim.url = "github:jiaoshijie/undotree";
plugin-undotree-nvim.flake = false;
plugin-harpoon1.url = "github:ThePrimeagen/harpoon";
plugin-harpoon1.flake = false;
# Track hyprland xdg desktop portal master until screenshots get released again
xdg-desktop-portal-hyprland.url = "github:hyprwm/xdg-desktop-portal-hyprland";
xdg-desktop-portal-hyprland.inputs.nixpkgs.follows = "nixpkgs";
};
outputs =
{ self
, nixpkgs
, home-manager
, ...
} @ inputs:
let
inherit (self) outputs;
in
{
overlays = import ./overlays { inherit inputs; };
nixosConfigurations = {
"kalle-pc" = nixpkgs.lib.nixosSystem {
specialArgs = { inherit inputs outputs; };
modules = [ ./nixos/kalle-pc/configuration.nix ];
};
"kalle-laptop" = nixpkgs.lib.nixosSystem {
specialArgs = { inherit inputs outputs; };
modules = [ ./nixos/kalle-laptop/configuration.nix ];
};
};
homeConfigurations = {
"kalle@kalle-pc" = home-manager.lib.homeManagerConfiguration {
pkgs = nixpkgs.legacyPackages.x86_64-linux;
extraSpecialArgs = { inherit inputs outputs; };
modules = [ ./home-manager/kalle-pc/kalle.nix ];
};
"kalle@kalle-laptop" = home-manager.lib.homeManagerConfiguration {
pkgs = nixpkgs.legacyPackages.x86_64-linux;
extraSpecialArgs = { inherit inputs outputs; };
modules = [ ./home-manager/kalle-laptop/kalle.nix ];
};
};
};
}