dotfiles/nixos/flake.nix
DannyDannyDanny ea8fb243c3 fix(darwin+HM): align nixpkgs↔nix-darwin, force HM home path, dedupe nvim/tmux 🔧
- track nixpkgs at `github:NixOS/nixpkgs/nixpkgs-unstable` to pair with
  `nix-darwin/master`
- update lockfile inputs: flake-compat, home-manager, NixOS-WSL,
  nixpkgs, nixos-vscode-server
- darwin: wrap HM module in a function to access `lib` and
  `mkForce` `home.homeDirectory = "/Users/danny"` (and set username) to
  satisfy HM’s absolute-path requirement under root activation
- HM: comment out duplicated `home.username` / `home.homeDirectory` in
  `home/danny/home.nix`
- HM: remove `neovim` and `tmux` from `home.packages` (managed via
  `programs.*`), fixing conflicting `nvim` subpath error
2025-09-09 21:57:04 +02:00

78 lines
2 KiB
Nix

{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
nixos-wsl.url = "github:nix-community/NixOS-WSL/main";
vscode-server.url = "github:nix-community/nixos-vscode-server";
nix-darwin.url = "github:nix-darwin/nix-darwin/master";
nix-darwin.inputs.nixpkgs.follows = "nixpkgs";
home-manager.url = "github:nix-community/home-manager";
home-manager.inputs.nixpkgs.follows = "nixpkgs";
};
outputs = {
nixpkgs,
nixos-wsl,
vscode-server,
nix-darwin,
self,
home-manager,
...
}: {
nixosConfigurations = {
wsl = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
nixos-wsl.nixosModules.default
vscode-server.nixosModules.default
./hosts/wsl.nix
./tmux.nix
./neovim.nix
./fish.nix
# home-manager.nixosModules.default
];
};
macbookair = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
nixos-wsl.nixosModules.default
vscode-server.nixosModules.default
vscode-server.nixosModules.default
./hosts/macbookair.nix
./hardware-configuration.nix
./tmux.nix
./neovim.nix
./fish.nix
# home-manager.nixosModules.default
];
};
};
# macOS (nix-darwin) configuration
darwinConfigurations."Daniel-Macbook-Air" = nix-darwin.lib.darwinSystem {
modules = [
./hosts/macos.nix
./fish.nix
# Home Manager on macOS
home-manager.darwinModules.home-manager
({ lib, ... }: {
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.danny = { ... }: {
# Force an absolute path even if another module sets a bad value.
home.username = "danny";
home.homeDirectory = lib.mkForce "/Users/danny";
imports = [ ./home/danny/home.nix ];
};
})
];
};
};
}