64 lines
1.8 KiB
Nix
64 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; };
|
||
|
};
|
||
|
};
|
||
|
}
|
||
|
);
|
||
|
}
|