2024-07-28 21:52:06 -04:00
|
|
|
{
|
|
|
|
pkgs,
|
|
|
|
inputs,
|
|
|
|
lib,
|
|
|
|
...
|
|
|
|
}: {
|
|
|
|
environment.variables.FLAKE = "/Users/marshall/nix-config";
|
|
|
|
|
|
|
|
fonts.packages = with pkgs; [
|
|
|
|
font-awesome
|
|
|
|
inter
|
|
|
|
maple-mono
|
|
|
|
nerdfonts
|
|
|
|
];
|
|
|
|
|
|
|
|
networking = {
|
|
|
|
computerName = "MacBook Air";
|
|
|
|
hostName = "canis";
|
|
|
|
};
|
|
|
|
|
|
|
|
nix = {
|
|
|
|
gc = {
|
|
|
|
automatic = true;
|
|
|
|
interval.Day = 7;
|
|
|
|
};
|
|
|
|
|
|
|
|
daemonIOLowPriority = true;
|
|
|
|
daemonProcessType = "Adaptive";
|
|
|
|
distributedBuilds = true;
|
|
|
|
nixPath = ["nixpkgs=${inputs.nixpkgs}"];
|
|
|
|
registry = lib.mapAttrs (_: v: {flake = v;}) inputs;
|
|
|
|
|
|
|
|
settings = {
|
|
|
|
auto-optimise-store = true;
|
|
|
|
builders-use-substitutes = true;
|
|
|
|
extra-experimental-features = "nix-command flakes";
|
|
|
|
flake-registry = "/etc/nix/registry.json";
|
|
|
|
keep-derivations = true;
|
|
|
|
keep-outputs = true;
|
|
|
|
max-jobs = "auto";
|
|
|
|
warn-dirty = false;
|
|
|
|
extra-sandbox-paths = ["/nix/var/cache/ccache"];
|
|
|
|
|
|
|
|
substituters = [
|
|
|
|
"https://cache.nixos.org"
|
|
|
|
"https://nix-community.cachix.org"
|
|
|
|
];
|
|
|
|
|
|
|
|
trusted-substituters = [
|
|
|
|
"cache.nixos.org"
|
|
|
|
"nix-community.cachix.org"
|
|
|
|
];
|
|
|
|
|
|
|
|
trusted-public-keys = [
|
|
|
|
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
|
|
|
|
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
|
|
|
"hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ="
|
|
|
|
];
|
|
|
|
|
|
|
|
trusted-users = ["marshall"];
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
nixpkgs.config.allowUnfree = true;
|
|
|
|
|
2024-08-11 02:26:51 -04:00
|
|
|
programs.fish.enable = true;
|
|
|
|
programs.gnupg.agent = {
|
|
|
|
enable = true;
|
|
|
|
enableSSHSupport = true;
|
2024-07-28 21:52:06 -04:00
|
|
|
};
|
|
|
|
|
|
|
|
security.pam.enableSudoTouchIdAuth = true;
|
|
|
|
|
|
|
|
services = {
|
|
|
|
nix-daemon.enable = true;
|
2024-08-14 01:39:04 -04:00
|
|
|
|
|
|
|
emacs = {
|
|
|
|
enable = true;
|
|
|
|
package = inputs.emacs.packages.${pkgs.system}.default;
|
|
|
|
};
|
|
|
|
|
2024-07-28 21:52:06 -04:00
|
|
|
skhd = {
|
|
|
|
enable = true;
|
|
|
|
package = pkgs.skhd;
|
|
|
|
|
|
|
|
skhdConfig = ''
|
|
|
|
alt - return : wezterm
|
|
|
|
alt - w : open -na "Arc"
|
|
|
|
|
|
|
|
cmd - space : yabai -m window --toggle float
|
|
|
|
|
|
|
|
shift + cmd - q : yabai -m window --close
|
|
|
|
|
|
|
|
alt - h : yabai -m window --focus west
|
|
|
|
alt - j : yabai -m window --focus south
|
|
|
|
alt - k : yabai -m window --focus north
|
|
|
|
alt - l : yabai -m window --focus east
|
|
|
|
|
|
|
|
shift + cmd - h : yabai -m window --swap west
|
|
|
|
shift + cmd - j : yabai -m window --swap south
|
|
|
|
shift + cmd - k : yabai -m window --swap north
|
|
|
|
shift + cmd - l : yabai -m window --swap east
|
|
|
|
|
|
|
|
shift + cmd - 1 : yabai -m window --space 1
|
|
|
|
shift + cmd - 2 : yabai -m window --space 2
|
|
|
|
shift + cmd - 3 : yabai -m window --space 3
|
|
|
|
shift + cmd - 4 : yabai -m window --space 4
|
|
|
|
shift + cmd - 5 : yabai -m window --space 5
|
|
|
|
shift + cmd - 6 : yabai -m window --space 6
|
|
|
|
shift + cmd - 7 : yabai -m window --space 7
|
|
|
|
shift + cmd - 8 : yabai -m window --space 8
|
|
|
|
shift + cmd - 9 : yabai -m window --space 9
|
|
|
|
'';
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
users.users.marshall = {
|
|
|
|
name = "marshall";
|
|
|
|
home = "/Users/marshall";
|
|
|
|
};
|
|
|
|
|
|
|
|
system = {
|
|
|
|
keyboard.enableKeyMapping = true;
|
2024-09-26 23:34:21 -04:00
|
|
|
stateVersion = 5;
|
2024-07-28 21:52:06 -04:00
|
|
|
|
|
|
|
defaults = {
|
|
|
|
NSGlobalDomain = {
|
|
|
|
KeyRepeat = 1;
|
|
|
|
NSAutomaticCapitalizationEnabled = false;
|
|
|
|
NSAutomaticSpellingCorrectionEnabled = false;
|
|
|
|
};
|
|
|
|
|
|
|
|
dock = {
|
|
|
|
autohide = true;
|
|
|
|
autohide-delay = 1000.0;
|
|
|
|
expose-animation-duration = 0.0;
|
|
|
|
orientation = "bottom";
|
|
|
|
showhidden = true;
|
|
|
|
tilesize = 48;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|