diff --git a/darwin/casks.nix b/darwin/casks.nix index 049eb75..382fb4e 100644 --- a/darwin/casks.nix +++ b/darwin/casks.nix @@ -10,11 +10,11 @@ # Communication Tools "beeper" + "microsoft-teams" "zoom" "zulip" # Utility Tools - "calibre" "google-drive" "skim" @@ -27,4 +27,7 @@ # Fonts "font-playfair-display" + + # Games + "battle-net" ] diff --git a/flake.lock b/flake.lock index 0abd8a8..80dcb0a 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1736820923, - "narHash": "sha256-SDuKLOWAh8VJRXlNWQn9QE99bjeEUAAbYXqrKGbsiyk=", + "lastModified": 1739553546, + "narHash": "sha256-L4ou3xfOr17EAe836djRoQ7auVkYOREMtiQa82wVGqU=", "owner": "LnL7", "repo": "nix-darwin", - "rev": "944c2b181792ae7ae6b20c0df3f44879c11706c9", + "rev": "353846417f985e74fdc060555f17939e4472ea2c", "type": "github" }, "original": { @@ -28,11 +28,11 @@ ] }, "locked": { - "lastModified": 1736373539, - "narHash": "sha256-dinzAqCjenWDxuy+MqUQq0I4zUSfaCvN9rzuCmgMZJY=", + "lastModified": 1739757849, + "narHash": "sha256-Gs076ot1YuAAsYVcyidLKUMIc4ooOaRGO0PqTY7sBzA=", "owner": "nix-community", "repo": "home-manager", - "rev": "bd65bc3cde04c16755955630b344bc9e35272c56", + "rev": "9d3d080aec2a35e05a15cedd281c2384767c2cfe", "type": "github" }, "original": { @@ -44,11 +44,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1736780541, - "narHash": "sha256-6AwU5WC45Ww5q5qVR/AzKS4CeZzgOhclBKi5H7zrCnI=", + "lastModified": 1740865531, + "narHash": "sha256-h00vGIh/jxcGl8aWdfnVRD74KuLpyY3mZgMFMy7iKIc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "31206f5a1d081808b14aef7b48f7c214d902b8c0", + "rev": "5ef6c425980847c78a80d759abc476e941a9bf42", "type": "github" }, "original": { diff --git a/shared/home-manager.nix b/shared/home-manager.nix index 72ab7cd..75a61f3 100644 --- a/shared/home-manager.nix +++ b/shared/home-manager.nix @@ -6,12 +6,6 @@ in bat.enable = true; - direnv = { - enable = true; - enableNushellIntegration = true; - nix-direnv.enable = true; - }; - eza = { enable = true; }; @@ -67,19 +61,6 @@ in }; }; - jujutsu = { - enable = true; - settings = { - signing = { - sign-all = true; - backend = "ssh"; - key = sshSignKey; - }; - user = { inherit email name; }; - ui.editor = "zed -w"; - }; - }; - kitty = { darwinLaunchOptions = [ "--single-instance" ]; enable = true; @@ -94,80 +75,6 @@ in themeFile = "Catppuccin-Latte"; }; - # Shared shell configuration - nushell = { - enable = true; - shellAliases = { - edit = "^($env.VISUAL)"; - start = "^open"; - less = "bat"; - set-light-theme = "kitty +kitten themes GitHub Dark"; - set-dark-theme = "kitty +kitten themes GitHub Light"; - brew-backup = "brew bundle dump --global --no-lock --formula --cask --mas --tap --force"; - brew-cleanup = "brew bundle cleanup --global --no-lock --force --zap"; - brew-restore = "brew bundle install --global --no-lock"; - }; - environmentVariables = { - # Set default editor - EDITOR = ''"nvim"''; - VISUAL = ''"codium"''; - # DISABLE VI INDICATORS - PROMPT_INDICATOR_VI_INSERT = ''""''; - PROMPT_INDICATOR_VI_NORMAL = ''""''; - # Alias for Monash compute cluster - OPTCLUSTER = ''"compute.optimisation-2020.cloud.edu.au"''; - # CMake settings - CMAKE_EXPORT_COMPILE_COMMANDS = ''"1"''; # output compile-commands.json for clangd - CMAKE_GENERATOR = ''"Ninja Multi-Config"''; # use Ninja generator by default - CMAKE_C_COMPILER_LAUNCHER = ''"ccache"''; - CMAKE_CXX_COMPILER_LAUNCHER = ''"ccache"''; - # Homebrew shell setup (brew shellenv) - HOMEBREW_PREFIX = ''"/opt/homebrew"''; - HOMEBREW_CELLAR = ''"/opt/homebrew/Cellar"''; - HOMEBREW_REPOSITORY = ''"/opt/homebrew"''; - INFOPATH = ''"/opt/homebrew/share/info"''; - # Set MANPATH - MANPATH = ''"/usr/share/man:/usr/local/share/man:/Library/TeX/Distributions/.DefaultTeX/Contents/Man:/opt/homebrew/share/man"''; - NIX_PROFILES = ''$"/nix/var/nix/profiles/default:($env.HOME)/.nix-profile"''; - }; - envFile.text = '' - if not 'config' in $env { - $env.config = ([] | into record) - } - $env.config = ($env.config | upsert show_banner false) - $env.config = ($env.config | upsert rm.always_trash true) - $env.config = ($env.config | upsert edit_mode vi) - $env.config = ($env.config | upsert history.max_size 100000) - $env.config = ($env.config | upsert footer_mode auto) - $env.config = ($env.config | upsert history.file_format "sqlite") - ''; - configFile.text = '' - # Specifies how environment variables are: - # - converted from a string to a value on Nushell startup (from_string) - # - converted from a value back to a string when running external commands (to_string) - # Note: The conversions happen *after* config.nu is loaded - $env.ENV_CONVERSIONS = { - "PATH": { - from_string: { |s| $s | split row (char esep) | path expand --no-symlink } - to_string: { |v| $v | path expand --no-symlink | str join (char esep) } - } - } - - # Add entries to PATH: - # From MacOS helper (/usr/libexec/path_helper) - $env.PATH = ($env.PATH | split row (char esep) | append $"($env.HOME)/.nix-profile/bin") - $env.PATH = ($env.PATH | split row (char esep) | append "/nix/var/nix/profiles/default/bin") - $env.PATH = ($env.PATH | split row (char esep) | append "/Library/TeX/texbin") - $env.PATH = ($env.PATH | split row (char esep) | append "/Library/Apple/usr/bin") - $env.PATH = ($env.PATH | split row (char esep) | append "/opt/homebrew/bin") - $env.PATH = ($env.PATH | split row (char esep) | append "/opt/homebrew/sbin") - $env.PATH = ($env.PATH | split row (char esep) | append "/usr/local/bin") - # Other package managers - $env.PATH = ($env.PATH | split row (char esep) | prepend $"($env.HOME)/.local/bin") - $env.PATH = ($env.PATH | split row (char esep) | prepend $"($env.HOME)/.cargo/bin") - ''; - }; - ssh = { enable = true; matchBlocks = { @@ -224,23 +131,28 @@ in zoxide = { enable = true; - enableNushellIntegration = true; }; zsh = { enable = true; autocd = true; defaultKeymap = "viins"; + completionInit = '' + autoload -Uz compinit && compinit + zstyle ':completion:*' matcher-list ''' 'm:{a-zA-Z}={A-Za-z}' + ''; shellAliases = { edit = "$VISUAL"; start = "open"; less = "bat"; ls = "eza"; + # set-light-theme = "kitty +kitten themes Catppuccin-Latte"; + # set-dark-theme = "kitty +kitten themes Catppuccin-Frappe"; }; sessionVariables = { # Set default editor EDITOR = "nvim"; - VISUAL = "codium"; + VISUAL = "zed"; # CMake settings CMAKE_EXPORT_COMPILE_COMMANDS = "1"; # output compile-commands.json for clangd CMAKE_GENERATOR = "Ninja Multi-Config"; # use Ninja generator by default diff --git a/shared/packages.nix b/shared/packages.nix index fb3cc47..48d5b0b 100644 --- a/shared/packages.nix +++ b/shared/packages.nix @@ -2,10 +2,10 @@ with pkgs; [ # General packages for development and system management hut - jujutsu ltex-ls mas mdbook + ouch pandoc tectonic texlab