mirror of
https://github.com/ryan4yin/nix-config.git
synced 2026-03-22 17:09:02 +01:00
feat: new aarch64-darwin host - fern
This commit is contained in:
17
Makefile
17
Makefile
@@ -56,18 +56,25 @@ darwin-set-proxy:
|
||||
sudo python3 scripts/darwin_set_proxy.py
|
||||
sleep 1
|
||||
|
||||
darwin-rollback:
|
||||
./result/sw/bin/darwin-rebuild rollback
|
||||
|
||||
ha: darwin-set-proxy
|
||||
nix build .#darwinConfigurations.harmonica.system
|
||||
./result/sw/bin/darwin-rebuild switch --flake .#harmonica
|
||||
sleep 1
|
||||
|
||||
ha-rollback:
|
||||
./result/sw/bin/darwin-rebuild rollback
|
||||
|
||||
ha-debug: darwin-set-proxy
|
||||
nom build .#darwinConfigurations.harmonica.system --show-trace --verbose
|
||||
./result/sw/bin/darwin-rebuild switch --flake .#harmonica --show-trace --verbose
|
||||
sleep 1
|
||||
|
||||
fe: darwin-set-proxy
|
||||
nix build .#darwinConfigurations.fern.system
|
||||
./result/sw/bin/darwin-rebuild switch --flake .#fern
|
||||
|
||||
fe-debug: darwin-set-proxy
|
||||
nom build .#darwinConfigurations.fern.system --show-trace --verbose
|
||||
./result/sw/bin/darwin-rebuild switch --flake .#fern --show-trace --verbose
|
||||
|
||||
|
||||
############################################################################
|
||||
#
|
||||
|
||||
191
flake.lock
generated
191
flake.lock
generated
@@ -1,49 +1,25 @@
|
||||
{
|
||||
"nodes": {
|
||||
"agenix": {
|
||||
"inputs": {
|
||||
"agenix": "agenix_2",
|
||||
"crane": "crane",
|
||||
"flake-utils": "flake-utils",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"rust-overlay": "rust-overlay"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1682237245,
|
||||
"narHash": "sha256-xbBR7LNK+d5Yi/D6FXQGc1R6u2VV2nwr/Df5iaEbOEQ=",
|
||||
"owner": "ryan4yin",
|
||||
"repo": "ragenix",
|
||||
"rev": "281f68c3d477904f79ff1cd5807a8c226cd80a50",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "ryan4yin",
|
||||
"repo": "ragenix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"agenix_2": {
|
||||
"inputs": {
|
||||
"darwin": "darwin",
|
||||
"home-manager": "home-manager",
|
||||
"nixpkgs": [
|
||||
"agenix",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1701216516,
|
||||
"narHash": "sha256-jKSeJn+7hZ1dZdiH1L+NWUGT2i/BGomKAJ54B9kT06Q=",
|
||||
"lastModified": 1694733633,
|
||||
"narHash": "sha256-/o/OubAsPMbxqru59tLlWzUI7LBNDaoW4rFwQ2Smxcg=",
|
||||
"owner": "ryantm",
|
||||
"repo": "agenix",
|
||||
"rev": "13ac9ac6d68b9a0896e3d43a082947233189e247",
|
||||
"rev": "54693c91d923fecb4cf04c4535e3d84f8dec7919",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "ryantm",
|
||||
"repo": "agenix",
|
||||
"rev": "54693c91d923fecb4cf04c4535e3d84f8dec7919",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
@@ -86,27 +62,6 @@
|
||||
}
|
||||
},
|
||||
"crane": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"agenix",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1702956644,
|
||||
"narHash": "sha256-6XxZSkhb/OkxIx705RHTTLYZ2qemmEC7tODD8f21gKw=",
|
||||
"owner": "ipetkov",
|
||||
"repo": "crane",
|
||||
"rev": "537ebb11db883f9076e37d83e3c7ee69a4abb48c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "ipetkov",
|
||||
"repo": "crane",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"crane_2": {
|
||||
"inputs": {
|
||||
"flake-compat": [
|
||||
"lanzaboote",
|
||||
@@ -142,17 +97,16 @@
|
||||
"darwin": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"agenix",
|
||||
"agenix",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1673295039,
|
||||
"narHash": "sha256-AsdYgE8/GPwcelGgrntlijMg4t3hLFJFCRF3tL5WVjA=",
|
||||
"lastModified": 1700795494,
|
||||
"narHash": "sha256-gzGLZSiOhf155FW7262kdHo2YDeugp3VuIFb4/GGng0=",
|
||||
"owner": "lnl7",
|
||||
"repo": "nix-darwin",
|
||||
"rev": "87b9d090ad39b25b2400029c64825fc2a8868943",
|
||||
"rev": "4b9b83d5a92e8c1fbfd8eb27eda375908c11ec4d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -238,25 +192,7 @@
|
||||
},
|
||||
"flake-utils": {
|
||||
"inputs": {
|
||||
"systems": "systems"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1701680307,
|
||||
"narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "4022d587cbbfd70fe950c1e2083a02621806a725",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils_2": {
|
||||
"inputs": {
|
||||
"systems": "systems_3"
|
||||
"systems": "systems_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1681202837,
|
||||
@@ -272,9 +208,9 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils_3": {
|
||||
"flake-utils_2": {
|
||||
"inputs": {
|
||||
"systems": "systems_4"
|
||||
"systems": "systems_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1701680307,
|
||||
@@ -290,9 +226,9 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils_4": {
|
||||
"flake-utils_3": {
|
||||
"inputs": {
|
||||
"systems": "systems_5"
|
||||
"systems": "systems_4"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1685518550,
|
||||
@@ -376,17 +312,16 @@
|
||||
"home-manager": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"agenix",
|
||||
"agenix",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1682203081,
|
||||
"narHash": "sha256-kRL4ejWDhi0zph/FpebFYhzqlOBrk0Pl3dzGEKSAlEw=",
|
||||
"lastModified": 1703026685,
|
||||
"narHash": "sha256-AkualfMbc40HkDR2AZc6u71pcap50wDQOXFCY1ULDUA=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "32d3e39c491e2f91152c84f8ad8b003420eab0a1",
|
||||
"rev": "efc177c15f2a8bb063aeb250fe3c7c21e1de265e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -422,7 +357,7 @@
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": "systems_2",
|
||||
"systems": "systems",
|
||||
"wlroots": "wlroots",
|
||||
"xdph": "xdph"
|
||||
},
|
||||
@@ -483,15 +418,15 @@
|
||||
},
|
||||
"lanzaboote": {
|
||||
"inputs": {
|
||||
"crane": "crane_2",
|
||||
"crane": "crane",
|
||||
"flake-compat": "flake-compat",
|
||||
"flake-parts": "flake-parts_2",
|
||||
"flake-utils": "flake-utils_2",
|
||||
"flake-utils": "flake-utils",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"pre-commit-hooks-nix": "pre-commit-hooks-nix",
|
||||
"rust-overlay": "rust-overlay_2"
|
||||
"rust-overlay": "rust-overlay"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1682802423,
|
||||
@@ -619,7 +554,7 @@
|
||||
},
|
||||
"nixos-rk3588": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils_3",
|
||||
"flake-utils": "flake-utils_2",
|
||||
"mesa-panfork": "mesa-panfork",
|
||||
"nixpkgs": "nixpkgs_2",
|
||||
"pre-commit-hooks": "pre-commit-hooks"
|
||||
@@ -752,16 +687,16 @@
|
||||
},
|
||||
"nixpkgs_4": {
|
||||
"locked": {
|
||||
"lastModified": 1692221125,
|
||||
"narHash": "sha256-nKUDlbLL8/WW3Fpx9Y0sY+LliTqU3/GexvHU9BdA8Qk=",
|
||||
"lastModified": 1702921762,
|
||||
"narHash": "sha256-O/rP7gulApQAB47u6szEd8Pn8Biw0d84j5iuP2tcxzY=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "214c9de8159b25f3cdc8374a80794d4d5787b4cf",
|
||||
"rev": "d02ffbbe834b5599fc5f134e644e49397eb07188",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixpkgs-unstable",
|
||||
"ref": "nixos-23.11",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
@@ -771,11 +706,11 @@
|
||||
"nixpkgs": "nixpkgs_4"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1703048844,
|
||||
"narHash": "sha256-uDF4s2Oz0eO53C7o6TcHtkm5w3QnnA7ImmaFpe9xYes=",
|
||||
"lastModified": 1703077061,
|
||||
"narHash": "sha256-6jmjEXJe9mXLiGj/KpuyWp3AIxIh7uM/bIwmm9BHKEU=",
|
||||
"owner": "ryan4yin",
|
||||
"repo": "nur-packages",
|
||||
"rev": "5f13060c3ad4439d7700aa21b498d9192d6ef1b4",
|
||||
"rev": "ad8927476f57f35db0e18ef0d80a4e6589582e0c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -868,7 +803,7 @@
|
||||
"pre-commit-hooks_2": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat_2",
|
||||
"flake-utils": "flake-utils_4",
|
||||
"flake-utils": "flake-utils_3",
|
||||
"gitignore": "gitignore_3",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
@@ -913,31 +848,6 @@
|
||||
}
|
||||
},
|
||||
"rust-overlay": {
|
||||
"inputs": {
|
||||
"flake-utils": [
|
||||
"agenix",
|
||||
"flake-utils"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"agenix",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1703037971,
|
||||
"narHash": "sha256-HzfW5MLt+I0DlfPM9sL+Vd1XrywoWiW0LSAez3wp23E=",
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"rev": "16ab5af8f23b63f34dd7a48a68ab3b50dc3dd2b6",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"rust-overlay_2": {
|
||||
"inputs": {
|
||||
"flake-utils": [
|
||||
"lanzaboote",
|
||||
@@ -963,21 +873,6 @@
|
||||
}
|
||||
},
|
||||
"systems": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_2": {
|
||||
"locked": {
|
||||
"lastModified": 1689347949,
|
||||
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
|
||||
@@ -992,6 +887,21 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_2": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_3": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
@@ -1022,21 +932,6 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_5": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"thead-kernel": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
|
||||
@@ -143,9 +143,9 @@
|
||||
# secrets management
|
||||
agenix = {
|
||||
# lock with git commit at 0.14.0
|
||||
# url = "github:ryantm/agenix/54693c91d923fecb4cf04c4535e3d84f8dec7919";
|
||||
url = "github:ryantm/agenix/54693c91d923fecb4cf04c4535e3d84f8dec7919";
|
||||
# replaced with a type-safe reimplementation to get a better error message and less bugs.
|
||||
url = "github:ryan4yin/ragenix";
|
||||
# url = "github:ryan4yin/ragenix";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
|
||||
@@ -47,7 +47,6 @@
|
||||
checkmake
|
||||
gcc # c/c++ compiler, required by nvim-treesitter!
|
||||
llvmPackages.clang-unwrapped # c/c++ tools with clang-tools such as clangd
|
||||
gdb
|
||||
lldb
|
||||
|
||||
#-- python
|
||||
@@ -149,6 +148,7 @@
|
||||
else [
|
||||
#-- verilog / systemverilog
|
||||
verible
|
||||
gdb
|
||||
]
|
||||
);
|
||||
};
|
||||
|
||||
24
hosts/fern/default.nix
Normal file
24
hosts/fern/default.nix
Normal file
@@ -0,0 +1,24 @@
|
||||
{username, ...} @ args:
|
||||
#############################################################
|
||||
#
|
||||
# Fern - MacBook Pro 2022 13-inch M2 16G, mainly for business.
|
||||
#
|
||||
#############################################################
|
||||
let
|
||||
hostname = "fern";
|
||||
in {
|
||||
networking.hostName = hostname;
|
||||
networking.computerName = hostname;
|
||||
system.defaults.smb.NetBIOSName = hostname;
|
||||
|
||||
# Define a user account. Don't forget to set a password with ‘passwd’.
|
||||
users.users."${username}" = {
|
||||
home = "/Users/${username}";
|
||||
description = username;
|
||||
|
||||
# set user's default shell back to zsh
|
||||
# `chsh -s /bin/zsh`
|
||||
# DO NOT change the system's default shell to nushell! it will break some apps!
|
||||
# It's better to change only starship/alacritty/vscode's shell to nushell!
|
||||
};
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
{username, ...} @ args:
|
||||
#############################################################
|
||||
#
|
||||
# Harmonica - my MacBook Pro 2020 13-inch, mainly for business.
|
||||
# Harmonica - my MacBook Pro 2020 13-inch, mainly for personal use
|
||||
#
|
||||
#############################################################
|
||||
let
|
||||
|
||||
@@ -133,7 +133,7 @@
|
||||
"microsoft-remote-desktop"
|
||||
|
||||
# "anki"
|
||||
"clashx" # proxy tool
|
||||
"shadowsocksx-ng" # proxy tool
|
||||
"iina" # video player
|
||||
"openinterminal-lite" # open current folder in terminal
|
||||
"syncthing" # file sync
|
||||
|
||||
@@ -11,13 +11,20 @@
|
||||
# Fix: https://github.com/LnL7/nix-darwin/issues/149#issuecomment-1741720259
|
||||
# nix is installed via DeterminateSystems's nix-installer.
|
||||
environment.etc."zshrc".knownSha256Hashes = [
|
||||
"b9902f2020c636aeda956a74b5ae11882d53e206d1aa50b3abe591a8144fa710"
|
||||
"b9902f2020c636aeda956a74b5ae11882d53e206d1aa50b3abe591a8144fa710" # nix-installer on harmonica
|
||||
];
|
||||
environment.etc."bashrc".knownSha256Hashes = [
|
||||
"204d2a960b3ab80e51748d3db0b63d940347ba71119ae6f14cccfec35da56cce"
|
||||
];
|
||||
"204d2a960b3ab80e51748d3db0b63d940347ba71119ae6f14cccfec35da56cce" # nix-installer on harmonica
|
||||
"6ffdf5a198ffe73fbcd17def767f52093b42b29149d4a3e911b49ebcb9785101" # nix-installer on fern
|
||||
];
|
||||
environment.etc."zshenv".knownSha256Hashes = [
|
||||
"383a89c1f79c3bcfd2ff39a2b73b5103d0303161b3be9eac88fce83e0789f0b7"
|
||||
"383a89c1f79c3bcfd2ff39a2b73b5103d0303161b3be9eac88fce83e0789f0b7" # nix-installer on harmonica
|
||||
"0c544e42afe7836de9ba933d93f46043b12f58ae484ff8cfb02716353f1dba5f" # nix-installer on fern
|
||||
];
|
||||
|
||||
|
||||
environment.etc."shells".knownSha256Hashes = [
|
||||
"9d5aa72f807091b481820d12e693093293ba33c73854909ad7b0fb192c2db193" # nix-installer on fern
|
||||
];
|
||||
|
||||
# Allow unfree packages
|
||||
|
||||
@@ -1,17 +1,28 @@
|
||||
args:
|
||||
with args; let
|
||||
macosSystem = import ../lib/macosSystem.nix;
|
||||
system = x64_darwin;
|
||||
base_args = {
|
||||
inherit nix-darwin home-manager system;
|
||||
x64_args = {
|
||||
inherit nix-darwin home-manager;
|
||||
system = x64_darwin;
|
||||
specialArgs = x64_darwin_specialArgs;
|
||||
nixpkgs = nixpkgs-darwin;
|
||||
};
|
||||
aarch64_args = {
|
||||
inherit nix-darwin home-manager;
|
||||
system = aarch64_darwin;
|
||||
specialArgs = aarch64_darwin_specialArgs;
|
||||
nixpkgs = nixpkgs-darwin;
|
||||
};
|
||||
|
||||
in {
|
||||
# macOS's configuration, for work.
|
||||
darwinConfigurations = {
|
||||
harmonica =
|
||||
macosSystem (base_args
|
||||
macosSystem (x64_args
|
||||
// darwin_harmonica_modules);
|
||||
|
||||
fern =
|
||||
macosSystem (aarch64_args
|
||||
// darwin_fern_modules);
|
||||
};
|
||||
}
|
||||
|
||||
@@ -99,4 +99,14 @@
|
||||
];
|
||||
home-module = import ../home/darwin;
|
||||
};
|
||||
darwin_fern_modules = {
|
||||
darwin-modules = [
|
||||
../hosts/fern
|
||||
|
||||
../modules/darwin
|
||||
../secrets/darwin.nix
|
||||
];
|
||||
home-module = import ../home/darwin;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user