# 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 ]; }; }; }