66 lines
1.6 KiB
Nix
66 lines
1.6 KiB
Nix
{
|
|
inputs,
|
|
pkgs,
|
|
config,
|
|
lib,
|
|
...
|
|
}: {
|
|
### Options
|
|
home-manager.users.guanranwang = import ./home;
|
|
|
|
imports = [
|
|
./nix
|
|
./anti-features.nix
|
|
./networking.nix
|
|
|
|
inputs.self.darwinModules.default
|
|
inputs.home-manager.darwinModules.home-manager
|
|
inputs.nur.nixosModules.nur # doesn't sound very smart
|
|
];
|
|
|
|
users = {
|
|
knownUsers = ["guanranwang"];
|
|
users."guanranwang" = {
|
|
createHome = true;
|
|
description = "Guanran Wang";
|
|
home = "/Users/guanranwang";
|
|
shell = pkgs.fish;
|
|
uid = 501;
|
|
};
|
|
};
|
|
|
|
home-manager = {
|
|
useGlobalPkgs = true;
|
|
useUserPackages = true;
|
|
extraSpecialArgs = {inherit inputs;}; # ??? isnt specialArgs imported by default ???
|
|
};
|
|
|
|
# Create /etc/zshrc that loads the nix-darwin environment.
|
|
programs.zsh.enable = true; # default shell on catalina
|
|
programs.fish.enable = true;
|
|
|
|
# WORKAROUND: Fix $PATH orders when using Fish shell
|
|
# https://github.com/LnL7/nix-darwin/issues/122#issuecomment-1659465635
|
|
programs.fish.loginShellInit = let
|
|
# ["$HOME/.local" "/usr/local"] -> "'$HOME/.local/bin' '/usr/local/bin'"
|
|
makePath = path: lib.concatMapStringsSep " " (path: lib.escapeShellArg "${path}/bin") path;
|
|
in ''
|
|
fish_add_path --move --prepend --path ${makePath config.environment.profiles}
|
|
set fish_user_paths $fish_user_paths
|
|
'';
|
|
|
|
# Install more recent versions of some macOS tools.
|
|
# https://github.com/mathiasbynens/dotfiles/blob/master/brew.sh
|
|
environment.systemPackages = with pkgs; [
|
|
bashInteractive
|
|
coreutils
|
|
findutils
|
|
git
|
|
gnugrep
|
|
gnused
|
|
openssh
|
|
screen
|
|
tree
|
|
vim
|
|
];
|
|
}
|