spotlights-mac-pro: Initialize
This commit is contained in:
parent
cefc1bed92
commit
19bee8fd27
3 changed files with 87 additions and 3 deletions
6
flake.lock
generated
6
flake.lock
generated
|
@ -93,11 +93,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1744833442,
|
||||
"narHash": "sha256-BBMWW2m64Grcc5FlXz74+vdkUyCJOfUGnl+VcS/4x44=",
|
||||
"lastModified": 1744919155,
|
||||
"narHash": "sha256-IJksPW32V9gid9vDxoloJMRk+YGjxq5drFHBFeBkKU8=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "c6b75d69b6994ba68ec281bd36faebcc56097800",
|
||||
"rev": "72526a5f7cde2ef9075637802a1e2a8d2d658f70",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
18
flake.nix
18
flake.nix
|
@ -215,6 +215,24 @@
|
|||
];
|
||||
};
|
||||
|
||||
darwinConfigurations."spotlights-mac-pro" = nix-darwin.lib.darwinSystem {
|
||||
modules = [
|
||||
# System-wide configuration
|
||||
./hosts/darwin/spotlights-mac-pro/configuration.nix
|
||||
# Our provided home-manager configuration
|
||||
home-manager.darwinModules.home-manager
|
||||
{
|
||||
nixpkgs.overlays = [ self.overlays.default ];
|
||||
home-manager = {
|
||||
useGlobalPkgs = true;
|
||||
useUserPackages = true;
|
||||
users.spot = import ./home/home.nix;
|
||||
extraSpecialArgs = { desktop = true; gpg = true; };
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
darwinConfigurations."sequoia" = nix-darwin.lib.darwinSystem {
|
||||
modules = [
|
||||
# System-wide configuration
|
||||
|
|
66
hosts/darwin/spotlights-mac-pro/configuration.nix
Normal file
66
hosts/darwin/spotlights-mac-pro/configuration.nix
Normal file
|
@ -0,0 +1,66 @@
|
|||
{ lib, pkgs, system, ... }: {
|
||||
environment = {
|
||||
# We'll use Vim globally.
|
||||
systemPackages = [
|
||||
pkgs.vim
|
||||
];
|
||||
variables.EDITOR = "${pkgs.vim}/bin/vim";
|
||||
};
|
||||
|
||||
# Per https://github.com/LnL7/nix-darwin/issues/663,
|
||||
# nix-darwin only supports a few specific named activation scripts.
|
||||
# We'll leverage `extraActivation` to symlink our JDKs.
|
||||
system.activationScripts.extraActivation.text = ''
|
||||
##############
|
||||
# Latest JDK #
|
||||
##############
|
||||
# Regardless of version, we'd like the latest JDK available.
|
||||
|
||||
# Remove the symlink if it doesn't already exist.
|
||||
rm -f /Library/Java/JavaVirtualMachines/zulu-latest.jdk
|
||||
|
||||
# We should only have a single JDK present within our package,
|
||||
# but let's limit `find` regardless.
|
||||
JDK_LOCATION="$(find "${pkgs.jdk23}" -name "*.jdk" | head -n1)"
|
||||
|
||||
# Symlink!
|
||||
ln -sf "$JDK_LOCATION" "/Library/Java/JavaVirtualMachines/zulu-latest.jdk"
|
||||
|
||||
##########
|
||||
# JDK 21 #
|
||||
##########
|
||||
# We'd also like the latest LTS version of the JDK available.
|
||||
rm -f /Library/Java/JavaVirtualMachines/zulu-21.jdk
|
||||
ln -sf "${pkgs.jdk21}/zulu-21.jdk" "/Library/Java/JavaVirtualMachines/zulu-21.jdk"
|
||||
'';
|
||||
|
||||
# Auto upgrade the nix package.
|
||||
nix = {
|
||||
# Keep the latest version of Nix.
|
||||
package = pkgs.nix;
|
||||
settings = {
|
||||
# Necessary for using flakes on this system.
|
||||
experimental-features = "nix-command flakes";
|
||||
|
||||
# Include Garnix
|
||||
substituters = [ "https://cache.garnix.io" ];
|
||||
trusted-public-keys = [ "cache.garnix.io:CTFPyKSLcx5RMJKfLo5EEPUObbA78b0YQ2DTCJXqr9g=" ];
|
||||
};
|
||||
};
|
||||
|
||||
# Create /etc/zshrc that loads the nix-darwin environment.
|
||||
programs.zsh.enable = true;
|
||||
|
||||
# Used for backwards compatibility, please read the changelog before changing.
|
||||
# $ darwin-rebuild changelog
|
||||
system.stateVersion = 6;
|
||||
|
||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-darwin";
|
||||
|
||||
# Our singular user!
|
||||
users.users.spot = {
|
||||
description = "Spotlight Deveaux";
|
||||
home = "/Users/spot";
|
||||
shell = pkgs.zsh;
|
||||
};
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue