Compare commits

...
2 Commits
Author SHA1 Message Date
blake 6be32f90c2 macos working like a charm 2026-04-23 19:04:14 -05:00
Blake Helderman a372c7fe64 first macos attempt 2026-04-23 17:30:42 -05:00
7 changed files with 101 additions and 71 deletions
+1 -1
View File
@@ -112,7 +112,7 @@
};
};
darwinConfigurations = {
CEN-IT-07 = nix-darwin.lib.darwinSystem {
cen-it-07 = nix-darwin.lib.darwinSystem {
system = systems.darwin;
specialArgs = {inherit inputs stable_pkgs unstable_pkgs nix-homebrew;};
modules = [
+31 -14
View File
@@ -23,17 +23,6 @@
};
# since darwin needs root now (will be removed in future)
system.primaryUser = "bhelderman"
power = {
sleep = {
computer = 30;
display = 5;
allowSleepByPowerButton = true;
};
};
# import home grown host specific home-manager modules
home-manager.users.bhelderman.imports = [
../../../users/blake/hosts/cen-it-07.nix
@@ -61,14 +50,18 @@
nix-homebrew = {
enable = true; # install homebrew
enableRosetta = true; # install homebrew for rosetta as well
autoMigrate = true;
# autoMigrate = true;
user = "bhelderman"; # user owning homebrew prefix
};
homebrew = {
enable = true;
# removes anything in homebrew not explicitly specified
#onActivation.cleanup = "uninstall";
onActivation = {
cleanup = "uninstall";
autoUpdate = true;
upgrade = false;
};
brews = [
"mas"
@@ -87,7 +80,31 @@
"testflight" = 899247664;
};
};
# for mas to not throw rebuild fit
system.activationScripts.masFix.text = ''
if command -v mas >/dev/null; then
for app in ${toString (map (id: builtins.toString id) (builtins.attrValues config.homebrew.masApps))}; do
if mas list | grep -q "$app"; then
echo "mas app $app already installed, skipping"
else
mas install "$app"
fi
done
fi
'';
# since darwin needs root now (will be removed in future)
system.primaryUser = "bhelderman";
power = {
sleep = {
computer = 30;
display = 5;
allowSleepByPowerButton = true;
};
};
system.stateVersion = 6;
}
+53 -43
View File
@@ -8,13 +8,66 @@
/*
instructions for first time setup for macos here
1. install the nix package manager with: `sh <(curl --proto '=https' --tlsv1.2 -L https://nixos.org/nix/install)`
2. install xcode tools with `xcode-select --install`
3. allow full disk access to terminal
4. xfer or git clone flake to ~/.nix
5. sign into icloud and by extension app store for mas
6. rename some shell rc files with `sudo mv /etc/bashrc /etc/bashrc.before-nix-darwin && sudo mv /etc/zshrc /etc/zshrc.before-nix-darwin`
7. install nix-darwin with: `nix run --extra-experimental-features "nix-command flakes" nix-darwin -- switch --flake ~/.nix#host`
8. nh should be installed now so enjoy and use `nh darwin switch`
*/
imports = [
];
# general macos system settings
# base system package install list
environment.systemPackages = with pkgs; [
wget
curl
rsync
git
age
fzf
usbutils
pciutils
python3
vim
lf
btop
rectangle
pinentry_mac
];
users.users.bhelderman = {
home = "/Users/bhelderman";
# optional extras, e.g. shell, uid, etc.
};
# define home-manager user
home-manager = {
extraSpecialArgs = {inherit inputs;};
backupFileExtension = "bak";
useUserPackages = true;
useGlobalPkgs = false;
users = {
"bhelderman" = import ../../users/blake/home_darwin.nix;
};
};
# set timezone
time.timeZone = "America/Chicago";
# allow proprietary packages
nixpkgs.config.allowUnfree = true;
# enable flakes
nix.settings.experimental-features = ["nix-command" "flakes"];
system = {
stateVersion = 6;
defaults = {
trackpad = {
Clicking = true;
@@ -89,48 +142,5 @@ instructions for first time setup for macos here
};
};
# base system package install list
environment.systemPackages = with pkgs; [
wget
curl
rsync
git
age
fzf
usbutils
pciutils
python3
vim
lf
btop
rectangle
pinentry_mac
];
users.users.bhelderman = {
home = "/Users/bhelderman";
# optional extras, e.g. shell, uid, etc.
};
# define home-manager user
home-manager = {
extraSpecialArgs = {inherit inputs;};
backupFileExtension = "bak";
useUserPackages = true;
useGlobalPkgs = false;
users = {
"bhelderman" = import ../../users/blake/home_darwin.nix;
};
};
# set timezone
time.timeZone = "America/Chicago";
# allow proprietary packages
nixpkgs.config.allowUnfree = true;
# enable flakes
nix.settings.experimental-features = ["nix-command" "flakes"];
}
+13 -12
View File
@@ -20,25 +20,26 @@ in {
homebrew = {
brews = [
];
casks = [
"gnucash"
"utm"
"libreoffice"
"iperf3"
"nmap"
"p7zip"
"sl"
"cowsay"
];
casks = [
"gnucash"
"utm"
"libreoffice"
"firefox"
];
masApps = {
"pages" = 409201541;
"numbers" = 409203825;
"keynote" = 409183694;
"bitwarden" = 1352778147;
"darkreader" = 1438243180;
"ghostery" = 6504861501;
"privacy" = 6449850851;
# "pages" = 409201541;
# "numbers" = 409203825;
# "keynote" = 409183694;
# "bitwarden" = 1352778147;
# "darkreader" = 1438243180;
# "ghostery" = 6504861501;
# "privacy" = 6449850851;
};
};
};
+1
View File
@@ -10,6 +10,7 @@
./syncthing
./yubikey
./work
./apps
# ./sops
];
+1 -1
View File
@@ -26,7 +26,7 @@ in {
"microsoft-office"
];
masApps = {
"configurator" = 1168254295;
# "configurator" = 1168254295;
};
};
+1
View File
@@ -26,6 +26,7 @@ in {
xdg.enable = true;
kitty.enable = true;
firefox.enable = true;
};