67 lines
2.2 KiB
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 ];
|
|
};
|
|
};
|
|
}
|