dotfiles/flake.nix

67 lines
2.2 KiB
Nix

# Entrypoint for home-manager flake
{
description = "my dotfiles";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/release-26.05";
home-manager = {
url = "github:nix-community/home-manager/release-26.05";
# Make home-manager use our nixpkgs
inputs.nixpkgs.follows = "nixpkgs";
};
nirimon = {
url = "github:stepbrobd/nirimon";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = { nixpkgs, home-manager, nirimon, ... }:
let
system = "x86_64-linux";
pkgs = import nixpkgs {
inherit system;
};
pkgsUnfree = import nixpkgs {
inherit system;
config.allowUnfree = true;
};
aw-watcher-afk-input = import ./nix/aw-watcher-afk-input.nix {
inherit pkgs;
};
config = import ./config.nix;
esa = {
inherit nirimon;
inherit aw-watcher-afk-input;
identity = config.identity;
dotfilesPath = config.dotfilesPath;
};
in {
# === ENVIRONMENTS ===
# bare - Bare essentials for servers. Installs .bashrc + a few packages for debugging a host
homeConfigurations."bare" = home-manager.lib.homeManagerConfiguration {
inherit pkgs;
extraSpecialArgs = esa;
modules = [ ./bare.nix ];
};
# desktop-x11-generic (previously "home") - Requires an X11 desktop environment underneath.
# Was running it on Debian Cinnamon
homeConfigurations."desktop-x11-generic" = home-manager.lib.homeManagerConfiguration {
inherit pkgs;
extraSpecialArgs = esa;
modules = [ ./bare.nix ./desktop-x11-generic.nix ];
};
# desktop-niri - Fully configured niri desktop.
# Was running with "nixGL niri-session" on Debian Cinnamon after disabling display-manager
homeConfigurations."desktop-niri" = home-manager.lib.homeManagerConfiguration {
pkgs = pkgsUnfree;
extraSpecialArgs = esa;
modules = [ ./bare.nix ./desktop-niri.nix ];
};
# claude - For claude-enabled containers
homeConfigurations."claude" = home-manager.lib.homeManagerConfiguration {
pkgs = pkgsUnfree;
extraSpecialArgs = esa;
modules = [ ./bare.nix ./claude.nix ];
};
};
}