refactor: split poppy config into homebrew.nix, system.nix, default.nix
This commit is contained in:
parent
cecb47ceb9
commit
e358c2cb15
3 changed files with 170 additions and 184 deletions
|
|
@ -1,200 +1,22 @@
|
||||||
{ pkgs, ... }: {
|
{ pkgs, ... }: {
|
||||||
|
imports = [ ./homebrew.nix ./system.nix ];
|
||||||
|
|
||||||
networking.hostName = "poppy";
|
networking.hostName = "poppy";
|
||||||
|
|
||||||
# Allow unfree packages (some macOS-ported tools need it)
|
|
||||||
nixpkgs.config.allowUnfree = true;
|
|
||||||
|
|
||||||
system.primaryUser = "michaotic";
|
system.primaryUser = "michaotic";
|
||||||
|
system.stateVersion = 7;
|
||||||
|
|
||||||
# nix settings
|
nixpkgs.config.allowUnfree = true;
|
||||||
nix.settings.experimental-features = [
|
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
||||||
"nix-command"
|
|
||||||
"flakes"
|
|
||||||
];
|
|
||||||
|
|
||||||
users.users.michaotic = {
|
users.users.michaotic = {
|
||||||
home = "/Users/michaotic";
|
home = "/Users/michaotic";
|
||||||
shell = pkgs.zsh;
|
shell = pkgs.zsh;
|
||||||
};
|
};
|
||||||
|
|
||||||
environment.systemPackages = [
|
environment.systemPackages = [ pkgs.vim ];
|
||||||
pkgs.vim
|
|
||||||
];
|
|
||||||
|
|
||||||
# Homebrew - CRITICAL: cleanup = "zap" means unused casks get removed!
|
|
||||||
homebrew.enable = true;
|
|
||||||
homebrew.onActivation.cleanup = "zap";
|
|
||||||
|
|
||||||
homebrew.taps = [
|
|
||||||
"tw93/tap"
|
|
||||||
"typewhisper/tap"
|
|
||||||
];
|
|
||||||
|
|
||||||
homebrew.brews = [
|
|
||||||
"kew"
|
|
||||||
"mole"
|
|
||||||
];
|
|
||||||
|
|
||||||
homebrew.casks = [
|
|
||||||
"google-chrome"
|
|
||||||
"google-drive"
|
|
||||||
"krishkrosh/apps/trackweight"
|
|
||||||
"bitwarden"
|
|
||||||
"marta"
|
|
||||||
"vscodium"
|
|
||||||
"github"
|
|
||||||
"docker-desktop"
|
|
||||||
"ollama-app"
|
|
||||||
"opencode-desktop"
|
|
||||||
"microsoft-word"
|
|
||||||
"microsoft-excel"
|
|
||||||
"microsoft-powerpoint"
|
|
||||||
"obsidian"
|
|
||||||
"anki"
|
|
||||||
"calibre"
|
|
||||||
"telegram"
|
|
||||||
"maccy"
|
|
||||||
"mos"
|
|
||||||
"caffeine"
|
|
||||||
"typewhisper/tap/typewhisper"
|
|
||||||
"lunacy"
|
|
||||||
"skim"
|
|
||||||
];
|
|
||||||
|
|
||||||
# System defaults
|
|
||||||
system.defaults = {
|
|
||||||
NSGlobalDomain.AppleInterfaceStyle = "Dark";
|
|
||||||
NSGlobalDomain._HIHideMenuBar = false;
|
|
||||||
|
|
||||||
CustomUserPreferences = {
|
|
||||||
"com.apple.HIToolbox" = {
|
|
||||||
AppleEnabledInputSources = [
|
|
||||||
{
|
|
||||||
InputSourceKind = "Keyboard Layout";
|
|
||||||
"KeyboardLayout ID" = 0;
|
|
||||||
"KeyboardLayout Name" = "U.S.";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
"Bundle ID" = "com.apple.CharacterPaletteIM";
|
|
||||||
InputSourceKind = "Non Keyboard Input Method";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
InputSourceKind = "Keyboard Layout";
|
|
||||||
"KeyboardLayout ID" = 19456;
|
|
||||||
"KeyboardLayout Name" = "Russian";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
AppleSelectedInputSources = [
|
|
||||||
{
|
|
||||||
InputSourceKind = "Keyboard Layout";
|
|
||||||
"KeyboardLayout ID" = 0;
|
|
||||||
"KeyboardLayout Name" = "U.S.";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
"com.apple.symbolichotkeys".AppleSymbolicHotKeys = {
|
|
||||||
"28" = {
|
|
||||||
enabled = 1;
|
|
||||||
value = {
|
|
||||||
type = "standard";
|
|
||||||
parameters = [ 51 20 1441792 ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
"29" = {
|
|
||||||
enabled = 1;
|
|
||||||
value = {
|
|
||||||
type = "standard";
|
|
||||||
parameters = [ 51 20 1179648 ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
"30" = {
|
|
||||||
enabled = 1;
|
|
||||||
value = {
|
|
||||||
type = "standard";
|
|
||||||
parameters = [ 52 21 1441792 ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
"31" = {
|
|
||||||
enabled = 1;
|
|
||||||
value = {
|
|
||||||
type = "standard";
|
|
||||||
parameters = [ 52 21 1179648 ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
"NSGlobalDomain" = {
|
|
||||||
"AppleMenuBarVisibleInFullscreen" = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
controlcenter = {
|
|
||||||
BatteryShowPercentage = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
trackpad = {
|
|
||||||
Clicking = true;
|
|
||||||
TrackpadThreeFingerDrag = false;
|
|
||||||
TrackpadRightClick = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
finder = {
|
|
||||||
AppleShowAllExtensions = true;
|
|
||||||
ShowPathbar = true;
|
|
||||||
ShowStatusBar = true;
|
|
||||||
FXPreferredViewStyle = "clmv";
|
|
||||||
NewWindowTarget = "Home";
|
|
||||||
ShowExternalHardDrivesOnDesktop = false;
|
|
||||||
ShowHardDrivesOnDesktop = false;
|
|
||||||
FXEnableExtensionChangeWarning = false;
|
|
||||||
_FXShowPosixPathInTitle = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
dock = {
|
|
||||||
tilesize = 48;
|
|
||||||
largesize = 64;
|
|
||||||
magnification = true;
|
|
||||||
orientation = "bottom";
|
|
||||||
mineffect = "scale";
|
|
||||||
autohide = true;
|
|
||||||
autohide-time-modifier = 0.8;
|
|
||||||
show-recents = false;
|
|
||||||
show-process-indicators = true;
|
|
||||||
static-only = false;
|
|
||||||
wvous-tl-corner = 1;
|
|
||||||
wvous-tr-corner = 4;
|
|
||||||
wvous-bl-corner = 1;
|
|
||||||
wvous-br-corner = 1;
|
|
||||||
persistent-apps = [
|
|
||||||
"/System/Applications/System Settings.app"
|
|
||||||
"/Applications/Google Chrome.app"
|
|
||||||
"/System/Applications/Mail.app"
|
|
||||||
"/Applications/Telegram.app"
|
|
||||||
"/System/Applications/Calendar.app"
|
|
||||||
"/Applications/Obsidian.app"
|
|
||||||
"/Applications/VSCodium.app"
|
|
||||||
"/Users/michaotic/Applications/Home Manager Apps/kitty.app"
|
|
||||||
"/System/Applications/Books.app"
|
|
||||||
"/System/Applications/QuickTime Player.app"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
system.activationScripts.postActivation.text = ''
|
|
||||||
echo "Restarting Dock..."
|
|
||||||
sudo -u michaotic /usr/bin/killall Dock
|
|
||||||
'';
|
|
||||||
|
|
||||||
# Touch ID for sudo
|
|
||||||
security.pam.services.sudo_local.touchIdAuth = true;
|
|
||||||
|
|
||||||
system.stateVersion = 7;
|
|
||||||
|
|
||||||
# Home-manager configuration specific to poppy
|
|
||||||
home-manager.users.michaotic = {
|
home-manager.users.michaotic = {
|
||||||
imports = [ ../../home/kitty.nix ];
|
imports = [ ../../home/kitty.nix ];
|
||||||
|
|
||||||
programs.zsh.shellAliases = {
|
programs.zsh.shellAliases = {
|
||||||
switch = "darwin-rebuild switch --flake .#poppy";
|
switch = "darwin-rebuild switch --flake .#poppy";
|
||||||
update = "nix flake update && darwin-rebuild switch --flake .#poppy";
|
update = "nix flake update && darwin-rebuild switch --flake .#poppy";
|
||||||
|
|
|
||||||
37
hosts/poppy/homebrew.nix
Normal file
37
hosts/poppy/homebrew.nix
Normal file
|
|
@ -0,0 +1,37 @@
|
||||||
|
{
|
||||||
|
homebrew.enable = true;
|
||||||
|
homebrew.onActivation.cleanup = "zap";
|
||||||
|
|
||||||
|
homebrew.taps = [
|
||||||
|
"tw93/tap"
|
||||||
|
"typewhisper/tap"
|
||||||
|
];
|
||||||
|
|
||||||
|
homebrew.brews = [
|
||||||
|
"kew"
|
||||||
|
"mole"
|
||||||
|
];
|
||||||
|
|
||||||
|
homebrew.casks = [
|
||||||
|
"google-chrome"
|
||||||
|
"google-drive"
|
||||||
|
"bitwarden"
|
||||||
|
"marta"
|
||||||
|
"vscodium"
|
||||||
|
"github"
|
||||||
|
"docker-desktop"
|
||||||
|
"ollama-app"
|
||||||
|
"microsoft-word"
|
||||||
|
"microsoft-excel"
|
||||||
|
"microsoft-powerpoint"
|
||||||
|
"obsidian"
|
||||||
|
"anki"
|
||||||
|
"calibre"
|
||||||
|
"telegram"
|
||||||
|
"maccy"
|
||||||
|
"mos"
|
||||||
|
"caffeine"
|
||||||
|
"lunacy"
|
||||||
|
"skim"
|
||||||
|
];
|
||||||
|
}
|
||||||
127
hosts/poppy/system.nix
Normal file
127
hosts/poppy/system.nix
Normal file
|
|
@ -0,0 +1,127 @@
|
||||||
|
{ pkgs, ... }: {
|
||||||
|
system.defaults = {
|
||||||
|
NSGlobalDomain.AppleInterfaceStyle = "Dark";
|
||||||
|
NSGlobalDomain._HIHideMenuBar = false;
|
||||||
|
|
||||||
|
CustomUserPreferences = {
|
||||||
|
"com.apple.HIToolbox" = {
|
||||||
|
AppleEnabledInputSources = [
|
||||||
|
{
|
||||||
|
InputSourceKind = "Keyboard Layout";
|
||||||
|
"KeyboardLayout ID" = 0;
|
||||||
|
"KeyboardLayout Name" = "U.S.";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"Bundle ID" = "com.apple.CharacterPaletteIM";
|
||||||
|
InputSourceKind = "Non Keyboard Input Method";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
InputSourceKind = "Keyboard Layout";
|
||||||
|
"KeyboardLayout ID" = 19456;
|
||||||
|
"KeyboardLayout Name" = "Russian";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
AppleSelectedInputSources = [
|
||||||
|
{
|
||||||
|
InputSourceKind = "Keyboard Layout";
|
||||||
|
"KeyboardLayout ID" = 0;
|
||||||
|
"KeyboardLayout Name" = "U.S.";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
"com.apple.symbolichotkeys".AppleSymbolicHotKeys = {
|
||||||
|
"28" = {
|
||||||
|
enabled = 1;
|
||||||
|
value = {
|
||||||
|
type = "standard";
|
||||||
|
parameters = [ 51 20 1441792 ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
"29" = {
|
||||||
|
enabled = 1;
|
||||||
|
value = {
|
||||||
|
type = "standard";
|
||||||
|
parameters = [ 51 20 1179648 ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
"30" = {
|
||||||
|
enabled = 1;
|
||||||
|
value = {
|
||||||
|
type = "standard";
|
||||||
|
parameters = [ 52 21 1441792 ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
"31" = {
|
||||||
|
enabled = 1;
|
||||||
|
value = {
|
||||||
|
type = "standard";
|
||||||
|
parameters = [ 52 21 1179648 ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
"NSGlobalDomain" = {
|
||||||
|
"AppleMenuBarVisibleInFullscreen" = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
controlcenter = {
|
||||||
|
BatteryShowPercentage = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
trackpad = {
|
||||||
|
Clicking = true;
|
||||||
|
TrackpadThreeFingerDrag = false;
|
||||||
|
TrackpadRightClick = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
finder = {
|
||||||
|
AppleShowAllExtensions = true;
|
||||||
|
ShowPathbar = true;
|
||||||
|
ShowStatusBar = true;
|
||||||
|
FXPreferredViewStyle = "clmv";
|
||||||
|
NewWindowTarget = "Home";
|
||||||
|
ShowExternalHardDrivesOnDesktop = false;
|
||||||
|
ShowHardDrivesOnDesktop = false;
|
||||||
|
FXEnableExtensionChangeWarning = false;
|
||||||
|
_FXShowPosixPathInTitle = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
dock = {
|
||||||
|
tilesize = 48;
|
||||||
|
largesize = 64;
|
||||||
|
magnification = true;
|
||||||
|
orientation = "bottom";
|
||||||
|
mineffect = "scale";
|
||||||
|
autohide = true;
|
||||||
|
autohide-time-modifier = 0.8;
|
||||||
|
show-recents = false;
|
||||||
|
show-process-indicators = true;
|
||||||
|
static-only = false;
|
||||||
|
wvous-tl-corner = 1;
|
||||||
|
wvous-tr-corner = 4;
|
||||||
|
wvous-bl-corner = 1;
|
||||||
|
wvous-br-corner = 1;
|
||||||
|
persistent-apps = [
|
||||||
|
"/System/Applications/System Settings.app"
|
||||||
|
"/Applications/Google Chrome.app"
|
||||||
|
"/System/Applications/Mail.app"
|
||||||
|
"/Applications/Telegram.app"
|
||||||
|
"/System/Applications/Calendar.app"
|
||||||
|
"/Applications/Obsidian.app"
|
||||||
|
"/Applications/VSCodium.app"
|
||||||
|
"/Users/michaotic/Applications/Home Manager Apps/kitty.app"
|
||||||
|
"/System/Applications/Books.app"
|
||||||
|
"/System/Applications/QuickTime Player.app"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
system.activationScripts.postActivation.text = ''
|
||||||
|
echo "Restarting Dock..."
|
||||||
|
sudo -u michaotic /usr/bin/killall Dock
|
||||||
|
'';
|
||||||
|
|
||||||
|
security.pam.services.sudo_local.touchIdAuth = true;
|
||||||
|
}
|
||||||
Loading…
Reference in a new issue