124 lines
4 KiB
Nix
124 lines
4 KiB
Nix
{
|
|
inputs = {
|
|
nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
|
|
home-manager.url = "github:nix-community/home-manager/master";
|
|
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
|
darwin.url = "github:lnl7/nix-darwin";
|
|
darwin.inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
|
|
outputs = inputs: {
|
|
darwinConfigurations.TobAir = inputs.darwin.lib.darwinSystem {
|
|
system = "aarch64-darwin";
|
|
pkgs = import inputs.nixpkgs {
|
|
system = "aarch64-darwin";
|
|
config.allowUnfree = true;
|
|
};
|
|
modules = [
|
|
({ pkgs, ... }: {
|
|
programs.zsh.enable = true;
|
|
environment.shells = [ pkgs.bash pkgs.zsh pkgs.fish ];
|
|
environment.loginShell = pkgs.zsh;
|
|
environment.systemPath = [ "/opt/homebrew/bin" ];
|
|
fonts.fonts = [
|
|
(pkgs.nerdfonts.override {
|
|
fonts = [
|
|
"FiraCode"
|
|
"Iosevka"
|
|
"IosevkaTerm"
|
|
"JetBrainsMono"
|
|
"SourceCodePro"
|
|
];
|
|
})
|
|
];
|
|
nix.extraOptions = ''
|
|
experimental-features = nix-command flakes
|
|
'';
|
|
services.nix-daemon.enable = true;
|
|
services.yabai = {
|
|
enable = true;
|
|
config = {
|
|
layout = "bsp";
|
|
window_placement = "second_child";
|
|
top_padding = 8;
|
|
bottom_padding = 8;
|
|
left_padding = 8;
|
|
right_padding = 8;
|
|
window_gap = 8;
|
|
mouse_follows_focus = "on";
|
|
mouse_modifier = "alt";
|
|
mouse_action1 = "move";
|
|
mouse_action2 = "resize";
|
|
mouse_drop_action = "swap";
|
|
};
|
|
extraConfig = ''
|
|
yabai -m rule --add app="^System Settings$" manage=off
|
|
'';
|
|
};
|
|
services.skhd = {
|
|
enable = true;
|
|
skhdConfig = ''
|
|
alt - right : yabai -m window --focus east
|
|
alt - left : yabai -m window --focus west
|
|
'';
|
|
};
|
|
system.defaults.dock.autohide = true;
|
|
system.defaults.dock.mru-spaces = false;
|
|
system.defaults.dock.orientation = "right";
|
|
system.defaults.NSGlobalDomain.InitialKeyRepeat = 14;
|
|
system.defaults.NSGlobalDomain.KeyRepeat = 1;
|
|
system.defaults.finder.AppleShowAllExtensions = true;
|
|
system.defaults.finder.AppleShowAllFiles = true;
|
|
users.users.tobi.home = "/Users/tobi";
|
|
homebrew = {
|
|
enable = true;
|
|
brews = [
|
|
"imagemagick"
|
|
"trippy"
|
|
];
|
|
};
|
|
})
|
|
inputs.home-manager.darwinModules.home-manager
|
|
{
|
|
home-manager = {
|
|
useGlobalPkgs = true;
|
|
useUserPackages = true;
|
|
users.tobi.imports = [
|
|
({ pkgs, ... }: {
|
|
home.stateVersion = "23.11";
|
|
home.packages = [
|
|
pkgs.raycast
|
|
pkgs.ripgrep
|
|
pkgs.fd
|
|
pkgs.curl
|
|
pkgs.less
|
|
];
|
|
home.sessionVariables = {
|
|
PAGER = "less";
|
|
CLICOLOR = 1;
|
|
EDITOR = "emacs";
|
|
NIXPKGS_ALLOW_UNFREE = 1;
|
|
};
|
|
programs.bat.enable = true;
|
|
programs.git.enable = true;
|
|
programs.starship = {
|
|
enable = true;
|
|
enableZshIntegration = true;
|
|
settings.gcloud.disabled = true;
|
|
settings.aws.disabled = true;
|
|
settings.hostname.style = "bold green";
|
|
};
|
|
programs.alacritty = {
|
|
enable = true;
|
|
settings.font.size = 14;
|
|
settings.font.normal.family = "Iosevka Comfy";
|
|
};
|
|
programs.kitty.enable = true;
|
|
})
|
|
];
|
|
};
|
|
}
|
|
];
|
|
};
|
|
};
|
|
}
|