dotfiles/flake.nix
2025-02-18 23:28:13 +02:00

63 lines
1.8 KiB
Nix

{
description = "Home Manager configuration";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
flake-utils.url = "github:numtide/flake-utils";
devbox.url = "github:jetify-com/devbox/latest";
neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay";
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
lexical-flake = {
url = "github:ffloyd/lexical";
};
};
outputs =
{
nixpkgs,
home-manager,
flake-utils,
lexical-flake,
...
}@inputs:
flake-utils.lib.eachDefaultSystem (
system:
let
user = "nikos"; # change your user here
dotfilesHome = "/home/${user}/.dotfiles"; # specify your dotfiles path
pkgs = nixpkgs.legacyPackages.${system};
overlays = [
(self: super: {
devbox = inputs.devbox.packages.${system}.default;
lexical = (
(lexical-flake.lib.mkLexical { erlang = pkgs.beam.packages.erlang_26; }).override {
elixir = pkgs.beam.packages.erlang_26.elixir_1_17;
fodHash = "sha256-Ee8RbLkb7jkdK91G4TAUIlPthBP5OyeynHJGg87UvBI=";
}
);
})
inputs.neovim-nightly-overlay.overlays.default
];
in
{
formatter = pkgs.nixfmt-rfc-style;
packages.homeConfigurations.${user} = home-manager.lib.homeManagerConfiguration {
inherit pkgs;
# Specify your home configuration modules here, for example,
# the path to your home.nix.
modules = [
{ nixpkgs.overlays = overlays; }
./home.nix
];
extraSpecialArgs = {
extra = { inherit user dotfilesHome; };
};
};
}
);
}