diff --git a/.config/nix/flake.nix b/.config/nix/flake.nix index fd98649..6291d44 100644 --- a/.config/nix/flake.nix +++ b/.config/nix/flake.nix @@ -15,107 +15,13 @@ 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" - ]; - }; - }) + ./modules/darwin 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; - }) - ]; + users.tobi.imports = [ ./modules/home-manager ]; }; } ]; diff --git a/.config/nix/modules/darwin/default.nix b/.config/nix/modules/darwin/default.nix new file mode 100644 index 0000000..c2fd94a --- /dev/null +++ b/.config/nix/modules/darwin/default.nix @@ -0,0 +1,72 @@ +({ 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; + package = pkgs.yabai; + enableScriptingAddition = 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 - h : yabai -m window --focus west + alt - l : yabai -m window --focus east + alt - j : yabai -m window --focus south + alt - k : yabai -m window --focus north + alt - p : yabei -m display --focus west + alt - n : yabei -m display --focus east + alt - y : yabai -m space --mirror x-axis + alt - m : yabai -m window --toggle zoom-fullscreen + ''; + }; + 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; + system.defaults.finder.CreateDesktop = false; + users.users.tobi.home = "/Users/tobi"; + homebrew = { + enable = true; + brews = [ + "imagemagick" + "trippy" + ]; + }; +}) diff --git a/.config/nix/modules/home-manager/default.nix b/.config/nix/modules/home-manager/default.nix new file mode 100644 index 0000000..dfbb2e9 --- /dev/null +++ b/.config/nix/modules/home-manager/default.nix @@ -0,0 +1,34 @@ +{ pkgs, ... }: { + home.username = "tobi"; + home.homeDirectory = "/Users/tobi"; + home.stateVersion = "23.05"; + home.packages = [ + pkgs.raycast + pkgs.ripgrep + pkgs.fd + pkgs.curl + pkgs.less + ]; + home.sessionVariables = { + PAGER = "less"; + CLICOLOR = 1; + EDITOR = "emacs"; + }; + programs.home-manager.enable = true; + programs.bat.enable = true; + programs.git.enable = true; + programs.zsh.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; +}