{ pkgs, inputs, lib, ... }: with lib; with lib.my; { users.users.xyno = { name = "xyno"; home = "/Users/xyno"; }; homebrew = { enable = true; taps = [ "cormacrelf/tap" # dark-notify "leoafarias/fvm" # flutter version manager ]; brews = [ "cormacrelf/tap/dark-notify" "lima" "docker" # docker cli "docker-compose" "leoafarias/fvm/fvm" # flutter version manager "cocoapods" # flutter/other ios shit ]; casks = [ "hammerspoon" "android-platform-tools" "raycast" "ukelele" # "homebrew/cask-drivers/zsa-wally" "thunderbird" "openlens" "ferdium" "discord" "finicky" "vlc" "rectangle" "floorp" "space-capsule" "iterm2" "signal" "eqmac" "syncthing" "android-studio" "temurin" "whisky" "dbeaver-community" ]; #masApps = { # # Install Mac App Store apps (install them manually and then do `mas list` to get the id) # "AdGuard for Safari" = 1440147259; # "Xcode" = 497799835; # "Home as Assistant" = 1099568401; # "WireGuard" = 1451685025; # "UTM" = 1538878817; # "Bitwarden" = 1352778147; # "Shareful" = 1522267256; # "app.seashore" = 1448648921; # "Tailscale" = 1475387142; #}; }; environment.pathsToLink = [ "/share/fish" ]; #ragon.services.borgmatic = # let # tmMountPath = "/tmp/timeMachineSnapshotForBorg"; # in # { # enable = false; # configurations."daedalus-ds9" = { # source_directories = [ # # tmMountPath # "/Users/ragon" # ]; # exclude_if_present = [ ".nobackup" ]; # repositories = [ # { path = "ssh://ragon@ds9/backups/daedalus/borgmatic"; label = "ds9"; } # { path = "ssh://root@gatebridge/media/backup/daedalus"; label = "gatebridge"; } # ]; # encryption_passcommand = pkgs.writeShellScript "getBorgmaticPw" ''security find-generic-password -a daedalus -s borgmaticKey -g 2>&1 | grep -E 'password' | sed 's/^.*"\(.*\)"$/\1/g' ''; # compression = "auto,zstd,10"; # #ssh_command = "ssh -o GlobalKnownHostsFile=${config.age.secrets.gatebridgeHostKeys.path} -i ${config.age.secrets.picardResticSSHKey.path}"; # keep_hourly = 24; # keep_daily = 7; # keep_weekly = 4; # keep_monthly = 12; # keep_yearly = 10; # # before_backup = [ # # (pkgs.writeShellScript # # "apfsSnapshot" # # '' # # tmutil localsnapshot # # SNAPSHOT=$(tmutil listlocalsnapshots / | grep TimeMachine | tail -n 1) # # mkdir -p "${tmMountPath}" # # mount_apfs -s $SNAPSHOT /System/Volumes/Data "${tmMountPath}" # # '') # # ]; # # after_backup = [ # # (pkgs.writeShellScript # # "apfsSnapshotUnmount" # # '' # # diskutil unmount "${tmMountPath}" # # SNAPSHOT=$(tmutil listlocalsnapshots / | grep TimeMachine | tail -n 1) # # tmutil deletelocalsnapshots $(echo $SNAPSHOT | sed 's/com\.apple\.TimeMachine\.\(.*\)\.local/\1/g') # # '') # # ]; # # on_error = [ # # # # (pkgs.writeShellScript # # "apfsSnapshotUnmountError" # # '' # # diskutil unmount "${tmMountPath}" # # '') # # ]; # }; # }; home-manager.users.xyno = { pkgs, lib, inputs, config, ... }: { imports = [ ../../hm-modules/nvim ../../hm-modules/tmux ../../hm-modules/vscode ../../hm-modules/xonsh ../../hm-modules/cli.nix ../../hm-modules/files.nix ]; home.file.".hammerspoon/init.lua".source = let notmuchMails = pkgs.writeScript "notmuch-get-mail-count" '' #!/usr/bin/env zsh printf "I%s F%s W%s" $(notmuch search tag:inbox | wc -l) $(notmuch search tag:follow-up | wc -l) $(notmuch search tag:waiting | wc -l) ''; in pkgs.substituteAll { src = ./hammerspoon.lua; inherit notmuchMails; }; home.file.".hammerspoon/Spoons/MiroWindowsManager.spoon".source = "${inputs.miro}/MiroWindowsManager.spoon"; ragon.vscode.enable = true; ragon.xonsh.enable = true; programs.home-manager.enable = true; home.stateVersion = "23.11"; #home.shellAliases = { # v = lib.mkForce "emacsclient -t"; # vv = lib.mkForce "emacsclient -c"; #}; home.sessionVariables = { EDITOR = "nvim"; VISUAL = "nvim"; COLORTERM = "truecolor"; # emacs tty fix }; home.packages = with pkgs; [ mosh pandoc micromamba ]; }; }