Non-NixOS
It’s entirely possible to use all the Home Manager modules that are defined in NixDots as long as you have Nix installed of course.
{ description = "Standalone Home Manager config on Non-NixOS machine that uses NixDots"; inputs = { NixDots = { url = "github:Voxi0/NixDots";
# If you define your own Nixpkgs, this also applies to all other NixDots inputs e.g. Home Manager # inputs.nixpkgs.follows = "nixpkgs"; }; }; outputs = _: let system = "x86_64-linux";
# We're using the Nixpkgs defined in NixDots but you can use your own Nixpkgs if you wish pkgs = import inputs.NixDots.inputs.nixpkgs { inherit system; config.allowUnfree = true; };
# Just for convenience nixdotsHomeModules = inputs.NixDots.homeManagerModules;
# REQUIRED FOR NIXDOTS TO WORK username = "your-username"; kbLayout = "us"; in { homeConfigurations.${username} = inputs.NixDots.inputs.home-manager.lib.homeManagerConfiguration { inherit pkgs; extraSpecialArgs = { # REQUIRED FOR NIXDOTS TO WORK # Merge the inputs of NixDots with your own to avoid having to redefine any inputs that NixDots requires inputs = inputs // inputs.NixDots.inputs; inherit system username kbLayout; }; modules = [ # Your Home Manager config ./home.nix
# Choose whatever modules you desire # Anything ending with `.default` imports everything related # For example, `nixdotsHomeModules.cli.default` imports all CLI related modules e.g. `nixdotsHomeModules.cli.git`
# Every single module nixdotsHomeModules.default
# Window manager / Desktop environments and theming/styling nixdotsHomeModules.desktops nixdotsHomeModules.stylix
# My wallpaper collection nixdotsHomeModules.wallpapers
# CLI stuff nixdotsHomeModules.fish nixdotsHomeModules.cli.default nixdotsHomeModules.cli.git nixdotsHomeModules.cli.fastfetch nixdotsHomeModules.cli.ncmpcpp nixdotsHomeModules.cli.yazi
# Apps nixdotsHomeModules.apps.default nixdotsHomeModules.apps.kitty nixdotsHomeModules.apps.browser nixdotsHomeModules.apps.spotify nixdotsHomeModules.apps.discord ]; }; };}
{username, ...}: { # Tell Home Manager that we aren't on Non NixOS targets.genericLinux.enable = true;
# User home home = { inherit username; homeDirectory = "/usr/home/${username}"; stateVersion = "25.05"; };
# Enable/Disable NixDots modules enableStylix = false;
# NOT RECOMMENDED desktops.enableHyprland = false;
# CLI cli = { enableNixHelper = false; enableGit = false; enableFastfetch = false; enableBtop = false; enableYazi = false; enableNcmpcpp = false; };
# Apps apps = { enableKitty = false; enableFirefox = false; enableSpotify = false; enableDiscord = false; enableOBS = false; };
# Let Home-Manager install and manage itself programs.home-manager.enable = true;}
Using WMs / DEs
Section titled “Using WMs / DEs”I haven’t tested any other Window Manager (WM) / Desktop Environment (DE) other than Hyprland thus far. But I’m sure the things you need to do will be the same or very similar to what you have to do to run Hyprland.
Hyprland
Section titled “Hyprland”Install UWSM and nixGL
and then run uwsm start $(nixGL hyprland)
.