Compare

592f73c2672474c09dedc5cac8e6fa857a7df92bmain · 7 commits

merge base 592f73c26724…

Changed files

Commits

HashSubjectAuthorDate
2070b29a Don't follow system settings for reduced motion Ryan Schanzenbacher
6ad98695 add minceraft Ryan Schanzenbacher
b43dfa30 system update Ryan Schanzenbacher
8d7aa6e0 Change to fully be flakes (for homebrew) and install netbird-tui Ryan Schanzenbacher
9cb45d05 keyrepeat parity with linux Ryan Schanzenbacher
2bead7ef add virby and adjust yabai Ryan Schanzenbacher
a6ca159f Add jujutsu and other changes Ryan Schanzenbacher
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..25cd24e
--- /dev/null
+++ b/README.md
@@ -0,0 +1,7 @@
+# Bootstrap
+
+```
+sudo nix run --extra-experimental-features "nix-command flakes" github:nix-darwin/nix-darwin -- switch --flake .#<hostname> \
+ --option "extra-substituters" "https://virby-nix-darwin.cachix.org" \
+ --option "extra-trusted-public-keys" "virby-nix-darwin.cachix.org-1:z9GiEZeBU5bEeoDQjyfHPMGPBaIQJOOvYOOjGMKIlLo="
+```
diff --git a/flake.lock b/flake.lock
index 09985fe..c225dc2 100644
--- a/flake.lock
+++ b/flake.lock
@@ -3,16 +3,16 @@
"brew-src": {
"flake": false,
"locked": {
- "lastModified": 1781226006,
- "narHash": "sha256-w4ZTuOnhYiDxjaynrMTASzp802QblBWmo3wpB8wVN4Y=",
+ "lastModified": 1785146564,
+ "narHash": "sha256-Sa7/HrfB04H32OJ7/ofxXjiZEbkWtCNOriONYYTL1OA=",
"owner": "Homebrew",
"repo": "brew",
- "rev": "109191be4988470b51a60a5ef1998520aa24c01b",
+ "rev": "b2cfc03346d482f79886de108fee5dc49a6efc10",
"type": "github"
},
"original": {
"owner": "Homebrew",
- "ref": "6.0.1",
+ "ref": "6.0.13",
"repo": "brew",
"type": "github"
}
@@ -24,11 +24,11 @@
]
},
"locked": {
- "lastModified": 1781242433,
- "narHash": "sha256-bchLZZ3sRn740zyvD2icZSnNoTaanN0nw7l6fjVXO+E=",
+ "lastModified": 1785389976,
+ "narHash": "sha256-0tLW8Ff5yt8AH97jw4ZpFJ0OCJ122zIlgWGDmOfU/VU=",
"owner": "nix-darwin",
"repo": "nix-darwin",
- "rev": "aabb2037edfc0f210723b72cd5f528aab5dd3f0b",
+ "rev": "15abb8c98f336cd8bd840d71059adebabe60bf04",
"type": "github"
},
"original": {
@@ -45,11 +45,11 @@
]
},
"locked": {
- "lastModified": 1781189114,
- "narHash": "sha256-5inaamLgUMWy+MOBE9ChF9QAF1o/74LFuHkI0W/9rqc=",
+ "lastModified": 1785531816,
+ "narHash": "sha256-vkMnV0JIyw+g/NmcfoajlGaAO+9a0ezia+FZohQJrik=",
"owner": "nix-community",
"repo": "home-manager",
- "rev": "486595d2cf49cfcd649b58a284fa11ac0e34da22",
+ "rev": "bf9ce9fec78f95f374e8dd3b503863a3ec128ebe",
"type": "github"
},
"original": {
@@ -61,11 +61,11 @@
"homebrew-cask": {
"flake": false,
"locked": {
- "lastModified": 1782355557,
- "narHash": "sha256-LjoFTRTn/SxBKSPLX5c1FPJrh0fcR6CPRa2OoRDx6dA=",
+ "lastModified": 1785635183,
+ "narHash": "sha256-m5oRXbzWWRmdr1hwfzRcK6vvvT5qiaDG3M4blTWdCRQ=",
"owner": "homebrew",
"repo": "homebrew-cask",
- "rev": "dabdc97cde3fc9b28db4864dc94697670aab42c3",
+ "rev": "dae004070bf51388a7f9a5160ff5e7da78feeae5",
"type": "github"
},
"original": {
@@ -77,11 +77,11 @@
"homebrew-core": {
"flake": false,
"locked": {
- "lastModified": 1782356982,
- "narHash": "sha256-yhSKSuq4qlcrgxxtRqvdNYJaS5PiLS11Sj+rYrcz134=",
+ "lastModified": 1785632252,
+ "narHash": "sha256-cPRVTvfzohGsJqrytd6QSDn10O00q1NxMajK7pkqPbI=",
"owner": "homebrew",
"repo": "homebrew-core",
- "rev": "3c02d2ed3e52772e24ec557142d3a575e574ab5b",
+ "rev": "bb71705fd502d9d1b6b20be0febe5d4984077336",
"type": "github"
},
"original": {
@@ -90,16 +90,68 @@
"type": "github"
}
},
+ "homebrew-felixkratz": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1780547371,
+ "narHash": "sha256-QGCVV5N1QC56GQK3ck2YJ6J6/S8SQ6rTElz69y58078=",
+ "owner": "FelixKratz",
+ "repo": "homebrew-formulae",
+ "rev": "70b2071488b61c14f773ce9e1bf6626ee851981a",
+ "type": "github"
+ },
+ "original": {
+ "owner": "FelixKratz",
+ "repo": "homebrew-formulae",
+ "type": "github"
+ }
+ },
+ "homebrew-netbird": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1785527306,
+ "narHash": "sha256-EODXrWyUFqBmWJn0tFJ9AmRmqYPfA8eveuBuLW+/6Ds=",
+ "owner": "netbirdio",
+ "repo": "homebrew-tap",
+ "rev": "9ad629107a808a37e5770854ab96574d1e96a8f0",
+ "type": "github"
+ },
+ "original": {
+ "owner": "netbirdio",
+ "repo": "homebrew-tap",
+ "type": "github"
+ }
+ },
+ "netbird-tui": {
+ "inputs": {
+ "nixpkgs": [
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1784513029,
+ "narHash": "sha256-m9sIguYjsuHz3IWwmNOlvuVTT0Cspe61Y9UyjM3pRVk=",
+ "ref": "refs/heads/main",
+ "rev": "efa74d02ad42ee7aeaf5c97240929063118c6252",
+ "revCount": 1,
+ "type": "git",
+ "url": "https://git.rschanz.org/netbird-tui-flake"
+ },
+ "original": {
+ "type": "git",
+ "url": "https://git.rschanz.org/netbird-tui-flake"
+ }
+ },
"nix-homebrew": {
"inputs": {
"brew-src": "brew-src"
},
"locked": {
- "lastModified": 1781389246,
- "narHash": "sha256-ORqLAo/hoJdsZC7UPAuEHev6S0+XIqKEC7vjo5prz1k=",
+ "lastModified": 1785544760,
+ "narHash": "sha256-qV6OoNuly4ntqpCg7esIeJjUboxSnQNlLPxz+y5h9/o=",
"owner": "zhaofengli",
"repo": "nix-homebrew",
- "rev": "de7953a08ed4bb9245be043e468561c17b89130d",
+ "rev": "937ce52c7d046310571f3a070713804ead496843",
"type": "github"
},
"original": {
@@ -110,11 +162,27 @@
},
"nixpkgs": {
"locked": {
- "lastModified": 1781229721,
- "narHash": "sha256-ORvqDbb/LYxiJljGIejapjkc/kJbVote2N1WSb9W45I=",
+ "lastModified": 1785542685,
+ "narHash": "sha256-sjfvXMbG5pCFgpvw2OZAFcZiTvrppCWvnB6cuGrSY08=",
"owner": "nixos",
"repo": "nixpkgs",
- "rev": "173d0ad7a974f8543a9ab01d2271b2e290341b33",
+ "rev": "f8e81fc7eb063db454f563cdd596fb96a5ad1497",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nixos",
+ "ref": "nixpkgs-unstable",
+ "repo": "nixpkgs",
+ "type": "github"
+ }
+ },
+ "nixpkgs_2": {
+ "locked": {
+ "lastModified": 1782821651,
+ "narHash": "sha256-D5jO0ME1lA9bDHnd5kVawBwItG/N4oZr3FlXmMzLec8=",
+ "owner": "nixos",
+ "repo": "nixpkgs",
+ "rev": "e52c192be9d7b2c4bd4aed326c8731b35f8bb75c",
"type": "github"
},
"original": {
@@ -130,11 +198,33 @@
"home-manager": "home-manager",
"homebrew-cask": "homebrew-cask",
"homebrew-core": "homebrew-core",
+ "homebrew-felixkratz": "homebrew-felixkratz",
+ "homebrew-netbird": "homebrew-netbird",
+ "netbird-tui": "netbird-tui",
"nix-homebrew": "nix-homebrew",
"nixpkgs": "nixpkgs",
+ "virby": "virby",
"zen-browser": "zen-browser"
}
},
+ "virby": {
+ "inputs": {
+ "nixpkgs": "nixpkgs_2"
+ },
+ "locked": {
+ "lastModified": 1782970342,
+ "narHash": "sha256-5oVThXJjEFPiCTm6jzAmSCVRuDRi4AG3HgLLjpgLYXA=",
+ "owner": "quinneden",
+ "repo": "virby-nix-darwin",
+ "rev": "a52216470a97ef5970939acf697a00ec61beb0c6",
+ "type": "github"
+ },
+ "original": {
+ "owner": "quinneden",
+ "repo": "virby-nix-darwin",
+ "type": "github"
+ }
+ },
"zen-browser": {
"inputs": {
"home-manager": [
@@ -145,11 +235,11 @@
]
},
"locked": {
- "lastModified": 1781426426,
- "narHash": "sha256-yzxJMNgv/sLishhCT9G2lm7W9CjHSlXWkfbWC7vfjqc=",
+ "lastModified": 1785569296,
+ "narHash": "sha256-ux2+60xcjl4LloKPevqrkP+uY4DNZXhzVd+TYrfE2+w=",
"owner": "0xc000022070",
"repo": "zen-browser-flake",
- "rev": "df336067c1a8af3bfce3f0b88b66dc1c57411b4e",
+ "rev": "945e834a12a97a5e3b08869960e35c7ccfde6f69",
"type": "github"
},
"original": {
diff --git a/flake.nix b/flake.nix
index b48ab94..023a368 100644
--- a/flake.nix
+++ b/flake.nix
@@ -11,7 +11,13 @@
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
- zen-browser = { # Used exclusively for HM module, Zen is installed via cask
+ # My packages
+ netbird-tui = {
+ url = "git+https://git.rschanz.org/netbird-tui-flake";
+ inputs.nixpkgs.follows = "nixpkgs";
+ };
+ # End my packages
+ zen-browser = { # Used exclusively for HM module, Zen is installed via cask (on macos)
url = "github:0xc000022070/zen-browser-flake";
inputs = {
nixpkgs.follows = "nixpkgs";
@@ -27,6 +33,16 @@
url = "github:homebrew/homebrew-cask";
flake = false;
};
+ # Linux builder on macos
+ virby.url = "github:quinneden/virby-nix-darwin";
+ homebrew-netbird = {
+ url = "github:netbirdio/homebrew-tap";
+ flake = false;
+ };
+ homebrew-felixkratz = {
+ url = "github:FelixKratz/homebrew-formulae";
+ flake = false;
+ };
};
outputs = { nixpkgs, home-manager, ... }@inputs: {
@@ -34,7 +50,9 @@
system = "aarch64-darwin";
specialArgs = { inherit inputs; };
modules = [
- { nixpkgs.config.allowUnfree = true; }
+ { nixpkgs.config.allowUnfree = true;
+ nixpkgs.overlays = [ inputs.netbird-tui.overlays.default ]; }
+ inputs.virby.darwinModules.default
./hosts/RyanMac/configuration.nix
home-manager.darwinModules.home-manager
{
diff --git a/hosts/RyanMac/configuration.nix b/hosts/RyanMac/configuration.nix
index e5b38ca..e8339e6 100644
--- a/hosts/RyanMac/configuration.nix
+++ b/hosts/RyanMac/configuration.nix
@@ -4,7 +4,10 @@ let
defaultBrowser = "zen";
- thirdPartyTaps = import ./taps.nix;
+ thirdPartyTaps = {
+ "netbirdio/homebrew-tap" = inputs.homebrew-netbird;
+ "FelixKratz/homebrew-formulae" = inputs.homebrew-felixkratz;
+ };
pinnedNixpkgs = pkgs.writeText "flake-registry.json" (builtins.toJSON {
version = 2;
@@ -77,7 +80,7 @@ in {
bottom_padding = "10";
left_padding = "10";
right_padding = "10";
- window_gap = "5";
+ window_gap = "10";
mouse_modifier = "alt";
mouse_drop_action = "swap";
mouse_action1 = "move";
@@ -124,15 +127,28 @@ in {
../../files/CACerts/RyanCA.crt
];
- nix = {
+ # Virby linux builder
+ services.virby = {
enable = true;
- linux-builder = {
- enable = false; # mkfs.erofs seems to be looping
- ephemeral = true;
+ cores = 4;
+ diskSize = "50GiB";
+ onDemand = {
+ enable = true;
+ ttl = 30;
};
+ rosetta = true;
+ };
+
+ nix = {
+ enable = true;
settings = {
flake-registry = "/etc/nix/flake-registry.json";
- trusted-users = [ "@admin" ];
+ extra-substituters = [
+ "https://virby-nix-darwin.cachix.org"
+ ];
+ extra-trusted-public-keys = [
+ "virby-nix-darwin.cachix.org-1:z9GiEZeBU5bEeoDQjyfHPMGPBaIQJOOvYOOjGMKIlLo="
+ ];
"extra-experimental-features" = [ "nix-command" "flakes" ];
};
};
@@ -151,7 +167,10 @@ in {
enableRosetta = true;
user = "${username}";
mutableTaps = false;
- taps = thirdPartyTaps;
+ taps = {
+ "homebrew/homebrew-core" = inputs.homebrew-core;
+ "homebrew/homebrew-cask" = inputs.homebrew-cask;
+ } // thirdPartyTaps;
trust.taps = builtins.attrNames thirdPartyTaps;
};
@@ -160,16 +179,14 @@ in {
enable = true;
onActivation = {
- cleanup = "zap";
+ #extraFlags = [ "--force-cleanup" ];
};
global.brewfile = true;
- taps = builtins.attrNames thirdPartyTaps;
+ taps = builtins.attrNames config.nix-homebrew.taps;
- brews = [
- "mqttx-cli"
- ];
+ brews = [ ];
casks = [
"utm"
@@ -180,6 +197,9 @@ in {
"netbird-ui"
"ubersicht"
"hammerspoon"
+ "gimp"
+ "kdenlive"
+ "rustdesk"
];
};
@@ -241,8 +261,8 @@ in {
AppleInterfaceStyle = "Dark";
# Key repeat rate
- KeyRepeat = 4;
- InitialKeyRepeat = 30;
+ KeyRepeat = 2;
+ InitialKeyRepeat = 35;
# Swap F1-12 to be default
"com.apple.keyboard.fnState" = true;
@@ -402,7 +422,7 @@ in {
# this is fragile so it goes at the bottom
echo "Reloading skhd..."
- sudo -iu ${username} ${pkgs.skhd}/bin/skhd -r
+ sudo -iu ${username} ${pkgs.skhd}/bin/skhd -r || echo "Failed to reload skhd; continuing anyway..."
# Notes if we are running for the first time and writes a message for actions that may need to be done on macOS or linux
MARK="/opt/.nix-complete"
diff --git a/hosts/RyanMac/taps.nix b/hosts/RyanMac/taps.nix
deleted file mode 100644
index 12235d8..0000000
--- a/hosts/RyanMac/taps.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "netbirdio/homebrew-tap" = builtins.fetchGit {
- url = "https://github.com/netbirdio/homebrew-tap";
- rev = "98a5d193c8d2c03b639aad03159004c64496c3e7";
- };
-
- "FelixKratz/homebrew-formulae" = builtins.fetchGit {
- url = "https://github.com/FelixKratz/homebrew-formulae";
- rev = "70b2071488b61c14f773ce9e1bf6626ee851981a";
- };
-
- "emqx/homebrew-mqttx" = builtins.fetchGit {
- url = "https://github.com/emqx/homebrew-mqttx";
- rev = "9889d741ba44940340d12dcad31fe867f62e7ea8";
- };
-}
diff --git a/users/ryan/home.nix b/users/ryan/home.nix
index 1c77723..ec3fd1e 100644
--- a/users/ryan/home.nix
+++ b/users/ryan/home.nix
@@ -123,6 +123,7 @@
shellAliases = {
cat = "bat --paging=never";
diff = "delta";
+ brew = "env -u XDG_CONFIG_HOME brew";
rebuild = "sudo darwin-rebuild switch --flake ~/.config/nix/.";
};
};
@@ -147,6 +148,9 @@
ffmpeg
blender
nerd-fonts.anonymice
+ jujutsu
+ netbird-tui
+ prismlauncher
];
# Home Manager is pretty good at managing dotfiles. The primary way to manage
@@ -162,6 +166,10 @@
# org.gradle.console=verbose
# org.gradle.daemon.idletimeout=3600000
# '';
+ ".config/homebrew" = {
+ enable = pkgs.stdenv.isDarwin;
+ source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/.homebrew";
+ };
};
# Install User apps to subdir for dock stuff
diff --git a/users/ryan/modules/sketchybar/bar-config/sketchybarrc b/users/ryan/modules/sketchybar/bar-config/sketchybarrc
index 5d4e161..34238b2 100755
--- a/users/ryan/modules/sketchybar/bar-config/sketchybarrc
+++ b/users/ryan/modules/sketchybar/bar-config/sketchybarrc
@@ -59,7 +59,7 @@ add_popup() {
# LEFT — hyprland/workspaces -> yabai spaces
# (hyprland/submap has no yabai/macOS analog -> omitted)
# ============================================================================
-for sid in 1 2 3 4 5 6 7 8 9 10; do
+for sid in 1 2 3 4 5 6 7 8 9; do
sketchybar --add space space.$sid left \
--set space.$sid \
space=$sid \
@@ -70,7 +70,7 @@ for sid in 1 2 3 4 5 6 7 8 9 10; do
background.drawing=off \
padding_left=5 padding_right=5 \
script="$PLUGIN_DIR/space.sh" \
- click_script="yabai -m space --focus $sid 2>/dev/null"
+ click_script="osascript -e 'tell application \"System Events\" to key code ${sid} using option down'"
done
# ============================================================================
diff --git a/users/ryan/zen/zenPolicies.nix b/users/ryan/zen/zenPolicies.nix
index 1fbb5e1..8d39689 100644
--- a/users/ryan/zen/zenPolicies.nix
+++ b/users/ryan/zen/zenPolicies.nix
@@ -117,6 +117,7 @@ in
"xpinstall.whitelist.required" = lock-true;
"dom.webgpu.enabled" = lock-true;
"media.eme.enabled" = lock-true;
+ "ui.preferReducedMotion" = lock-false;
"general.autoScroll" = lock-true;
"general.smoothScroll" = lock-true;
"browser.crashReports.unsubmittedCheck.autoSubmit2" = lock-false;