1
0
Fork 0
nix-homemanager-laptop/flake.nix

87 lines
2.2 KiB
Nix

# TODO: Add flake-utils, flake-parts, git-pre-hook
{
description = "My Home Manager configuration";
inputs = {
home-manager = {
url = "github:nix-community/home-manager/master";
inputs.nixpkgs.follows = "nixpkgs";
};
lix-module = {
url = "https://git.lix.systems/lix-project/nixos-module/archive/2.93.1.tar.gz";
inputs.nixpkgs.follows = "nixpkgs";
};
nixgl = {
url = "github:nix-community/nixGL";
inputs.nixpkgs.follows = "nixpkgs";
};
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
nur.url = "github:nix-community/NUR";
sops-nix = {
url = "github:Mic92/sops-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
treefmt-nix.url = "github:numtide/treefmt-nix";
};
outputs =
{
self,
home-manager,
lix-module,
nixgl,
nixpkgs,
nur,
sops-nix,
treefmt-nix,
...
}:
let
system = "aarch64-linux";
pkgs = import nixpkgs {
inherit system;
overlays = [
nur.overlays.default
nixgl.overlays.default
];
};
treefmtEval = treefmt-nix.lib.evalModule pkgs ./treefmt.nix;
in
{
homeConfigurations = {
sudoer777 = home-manager.lib.homeManagerConfiguration {
inherit pkgs;
extraSpecialArgs = { inherit nixgl; };
modules = [
./home.nix
lix-module.nixosModules.default
sops-nix.homeManagerModules.sops
(
{ ... }:
{
nixpkgs.overlays = [ nur.overlays.default ];
}
)
];
};
};
devShells.${system}.default = pkgs.mkShell {
buildInputs = [
pkgs.age
pkgs.forgejo-cli
pkgs.helix
pkgs.just
pkgs.marksman
pkgs.nil
pkgs.sops
pkgs.taplo
pkgs.uutils-coreutils
pkgs.yaml-language-server
treefmtEval.config.build.wrapper
];
};
formatter.${system} = treefmtEval.config.build.wrapper;
checks.${system} = {
formatting = treefmtEval.config.build.check self;
};
};
}