dotfiles/flake.nix

55 lines
1.5 KiB
Nix

{
description = "Home Manager configuration of julian";
inputs = {
nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-23.11";
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
home-manager = {
url = "github:nix-community/home-manager/release-23.11";
inputs.nixpkgs.follows = "nixpkgs-stable";
};
alacritty-theme = {
url = "github:alacritty/alacritty-theme";
flake = false;
};
};
outputs = { nixpkgs-stable, nixpkgs-unstable, home-manager, ... }@inputs:
let
system = "x86_64-linux";
unstable-overlay = final: prev: {
unstable = import nixpkgs-unstable {
inherit system;
config.allowUnfree = true;
};
};
pkgs = import nixpkgs-stable {
inherit system;
config.allowUnfree = true;
overlays = [ unstable-overlay ];
};
in {
homeConfigurations."julian" = home-manager.lib.homeManagerConfiguration {
inherit pkgs;
# Specify your home configuration modules here, for example,
# the path to your home.nix.
modules = [
./home-manager/home.nix
./home-manager/modules/shell/zsh/default.nix
./home-manager/modules/shell/direnv.nix
./home-manager/modules/topgrade.nix
./home-manager/modules/neovim.nix
];
# Optionally use extraSpecialArgs
# to pass through arguments to home.nix
extraSpecialArgs = { inherit inputs; };
};
};
}