refactor: 简化仓库路径,移除硬编码的 rebuild/update 命令和安装脚本
This commit is contained in:
@@ -59,7 +59,7 @@ Fish abbreviations `rebuild` and `update` are also available in the shell (defin
|
||||
- **catppuccin module name**: Uses `catppuccin.homeModules.catppuccin` (not the old `homeManagerModules`). NixOS uses `catppuccin.nixosModules.catppuccin`.
|
||||
- **Homebrew tap casks**: Casks from taps need full path (e.g. `"goooler/repo/fl-clash"`), not just the short name.
|
||||
- **`onActivation.cleanup = "zap"`**: Any brew formula/cask NOT declared in `modules/darwin/default.nix` WILL be removed on rebuild. Be comprehensive.
|
||||
- **Repo location**: Must be at `~/Developer/nix-config`. Fish abbreviations and `rebuild` reference this path.
|
||||
- **Repo location**: Default `~/nix-config`. Configurable via `nix_config_dir` fish variable in `home/shell/fish.nix`.
|
||||
- **First-time bootstrap requires sudo**: `sudo nix run nix-darwin -- switch --flake .#mac-mini` (not `darwin-rebuild` which doesn't exist yet).
|
||||
|
||||
## Secrets (sops-nix)
|
||||
|
||||
@@ -23,8 +23,8 @@ curl -sSf -L https://install.lix.systems/lix | sh -s -- install
|
||||
2. 克隆仓库并首次构建:
|
||||
|
||||
```bash
|
||||
git clone <repo-url> ~/Developer/nix-config
|
||||
cd ~/Developer/nix-config
|
||||
git clone <repo-url> ~/nix-config
|
||||
cd ~/nix-config
|
||||
# 首次(nix-darwin 尚未安装):
|
||||
sudo nix run nix-darwin -- switch --flake .#mac-mini
|
||||
# 之后日常重建:
|
||||
@@ -43,8 +43,8 @@ wsl -d NixOS
|
||||
2. 克隆仓库并构建:
|
||||
|
||||
```bash
|
||||
git clone <repo-url> ~/Developer/nix-config
|
||||
cd ~/Developer/nix-config
|
||||
git clone <repo-url> ~/nix-config
|
||||
cd ~/nix-config
|
||||
sudo nixos-rebuild switch --flake .#wsl
|
||||
```
|
||||
|
||||
|
||||
@@ -24,8 +24,6 @@
|
||||
# Network
|
||||
http = "xh";
|
||||
|
||||
# Nix
|
||||
update = "nix flake update --flake ~/Developer/nix-config";
|
||||
};
|
||||
|
||||
interactiveShellInit = ''
|
||||
@@ -41,14 +39,6 @@
|
||||
# Sudo: double Escape to prepend sudo
|
||||
bind \e\e 'fish_commandline_prepend sudo'
|
||||
|
||||
# Platform-specific rebuild command (derive flake attr from hostname)
|
||||
if test (uname) = Darwin
|
||||
set -l attr (scutil --get LocalHostName | string lower | string replace 'awesome-' "")
|
||||
abbr --add rebuild "sudo darwin-rebuild switch --flake ~/Developer/nix-config#$attr"
|
||||
else
|
||||
abbr --add rebuild "sudo nixos-rebuild switch --flake ~/Developer/nix-config#wsl"
|
||||
end
|
||||
|
||||
# WSL clipboard
|
||||
if set -q WSL_DISTRO_NAME
|
||||
alias pbcopy clip.exe
|
||||
|
||||
@@ -1,28 +0,0 @@
|
||||
#!/bin/bash
|
||||
set -euo pipefail
|
||||
|
||||
REPO_URL="https://git.furtherverse.com/imbytecat/nix-config.git"
|
||||
CONFIG_DIR="$HOME/Developer/nix-config"
|
||||
|
||||
if [[ -d "$CONFIG_DIR/.git" ]]; then
|
||||
git -C "$CONFIG_DIR" pull
|
||||
else
|
||||
mkdir -p "$HOME/Developer"
|
||||
git clone "$REPO_URL" "$CONFIG_DIR"
|
||||
fi
|
||||
|
||||
case "$(uname)" in
|
||||
Darwin)
|
||||
TARGET="${1:?Usage: $0 <mac-mini|macbook-air>}"
|
||||
if command -v darwin-rebuild &>/dev/null; then
|
||||
sudo darwin-rebuild switch --flake "$CONFIG_DIR#$TARGET"
|
||||
else
|
||||
sudo nix run nix-darwin -- switch --flake "$CONFIG_DIR#$TARGET"
|
||||
fi
|
||||
;;
|
||||
Linux)
|
||||
sudo nixos-rebuild switch --flake "$CONFIG_DIR#wsl"
|
||||
;;
|
||||
esac
|
||||
|
||||
echo "Done! Restart your shell."
|
||||
Reference in New Issue
Block a user