flake/darwin/profiles/common/core/default.nix
2024-02-27 15:47:00 +08:00

67 lines
1.5 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;
# fucking horrible
# https://github.com/LnL7/nix-darwin/issues/122#issuecomment-1659465635
programs.fish.loginShellInit = let
dquote = str: "\"" + str + "\"";
makeBinPathList = map (path: path + "/bin");
in ''
fish_add_path --move --prepend --path ${lib.concatMapStringsSep " " dquote (makeBinPathList 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
];
}