99 lines
2.4 KiB
Nix
99 lines
2.4 KiB
Nix
{ config, pkgs, inputs, ... }: let
|
|
in
|
|
{
|
|
imports = [
|
|
./app-fix.nix
|
|
];
|
|
nix.registry.nixpkgs.flake = inputs.nixpkgs;
|
|
nixpkgs.config.allowUnfree = true;
|
|
# Auto upgrade nix package and the daemon service.
|
|
services.nix-daemon.enable = true;
|
|
nix.package = pkgs.nixUnstable;
|
|
nix.settings.auto-optimise-store = false;
|
|
|
|
users.users.universelaptop = {
|
|
name = "universelaptop";
|
|
home = "/Users/universelaptop";
|
|
};
|
|
home-manager = {
|
|
useGlobalPkgs = true;
|
|
useUserPackages = true;
|
|
users.universelaptop = { pkgs, ... }: {
|
|
programs.direnv.enable = true;
|
|
programs.direnv.nix-direnv.enable = true;
|
|
programs.bash.enable = true;
|
|
programs.zsh = {
|
|
enable = true;
|
|
initExtra = ''
|
|
if [[ $(uname -m) == 'arm64' ]]; then
|
|
eval "$(/opt/homebrew/bin/brew shellenv)"
|
|
fi
|
|
'';
|
|
shellAliases = {
|
|
ssh = "kitty +kitten ssh";
|
|
sshu = "ssh universe";
|
|
};
|
|
};
|
|
home.stateVersion = "22.05";
|
|
};
|
|
};
|
|
|
|
environment.variables = {
|
|
EDITOR = "emacs";
|
|
};
|
|
|
|
environment.systemPackages = (with pkgs; [
|
|
mac-emacs
|
|
(aspellWithDicts (p: with p;[
|
|
en
|
|
en-computers
|
|
en-science
|
|
]))
|
|
pandoc
|
|
texlive.combined.scheme-full
|
|
wget
|
|
|
|
kitty
|
|
|
|
btop
|
|
|
|
cbqn-replxx
|
|
|
|
# Graphical Apps:
|
|
rectangle
|
|
tailscale
|
|
discord
|
|
slack
|
|
# TODO: Consider using Yabai??
|
|
]);
|
|
|
|
homebrew = {
|
|
# It is not installed by nix, for now, so manually install:
|
|
# https://brew.sh/
|
|
enable = true;
|
|
onActivation = {
|
|
cleanup = "uninstall";
|
|
};
|
|
# Graphical apps to install through homebrew instead of nixpkgs
|
|
casks = [
|
|
"firefox"
|
|
"nextcloud"
|
|
"tidal"
|
|
];
|
|
# Apps to install outside of nix for when wanting to test/run
|
|
# things that... aren't used by other people who use nix, like
|
|
# python apps (which is why poetry is there)
|
|
brews = [
|
|
"poetry"
|
|
];
|
|
};
|
|
|
|
# Create /etc/zshrc that loads the nix-darwin environment.
|
|
programs.bash.enable = true; # default shell on catalina
|
|
programs.zsh.enable = true; # default shell on catalina
|
|
|
|
# Used for backwards compatibility, please read the changelog before changing.
|
|
# $ darwin-rebuild changelog
|
|
system.stateVersion = 4;
|
|
}
|