Compare

6c2bdcffebb4a0851d0f0288aa8cbe9c443b6860main · 8 commits

merge base 6c2bdcffebb4…

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
592f73c2 Window title needs to be on left 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 446da25..34238b2 100755
--- a/users/ryan/modules/sketchybar/bar-config/sketchybarrc
+++ b/users/ryan/modules/sketchybar/bar-config/sketchybarrc
@@ -8,8 +8,6 @@ PLUGIN_DIR="$CONFIG_DIR/plugins"
source "$CONFIG_DIR/colors.sh"
source "$CONFIG_DIR/icons.sh"
-env
-
FONT="AnonymicePro Nerd Font"
# ---- bar --------------------------------------------------------------------
@@ -61,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 \
@@ -72,13 +70,13 @@ 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
# ============================================================================
# CENTER — hyprland/window -> front_app
# ============================================================================
-sketchybar --add item front_app center \
+sketchybar --add item front_app left \
--set front_app \
icon.drawing=off \
label.max_chars=80 \
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;