This commit is contained in:
Charles Sirois 2025-04-11 11:55:19 -04:00
parent 0afd1fe82d
commit 8108ea8197

View file

@ -1,108 +1,115 @@
{pkgs, inputs, system, config, ...}: {
let pkgs,
my-emacs = pkgs.emacsNativeComp; inputs,
in{ system,
config,
...
}: let
my-emacs = pkgs.emacsNativeComp;
in {
nixpkgs.config.allowUnfree = true; nixpkgs.config.allowUnfree = true;
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
# terminal # terminal
ranger ranger
(inputs.vimix.packages.${system}.default) (inputs.vimix.packages.${system}.default)
# nix # nix
home-manager home-manager
nix-output-monitor nix-output-monitor
# work tool # work tool
git doppler
gnupg docker
git
gnupg
(pass.withExtensions (exts: [exts.pass-otp])) (pass.withExtensions (exts: [exts.pass-otp]))
# emacs # emacs
my-emacs my-emacs
fd fd
ripgrep ripgrep
(writeShellScriptBin "drs" '' (writeShellScriptBin "drs" ''
darwin-rebuild switch --flake ~/.config/nixos darwin-rebuild switch --flake ~/.config/nixos
'') '')
]; ];
homebrew = { homebrew = {
enable = true; enable = true;
onActivation = { onActivation = {
autoUpdate = true; autoUpdate = true;
cleanup = "zap"; cleanup = "zap";
}; };
brews = [ brews = [
# doom emacs # doom emacs
"fontconfig" "fontconfig"
]; ];
casks = [ casks = [
# internet # internet
"spotify" "spotify"
"brave-browser" "brave-browser"
# work # work
"slack" "slack"
# doom emacs # doom emacs
"font-symbols-only-nerd-font" "font-symbols-only-nerd-font"
]; ];
}; };
# Necessary for using flakes on this system. # Necessary for using flakes on this system.
nix.settings.experimental-features = "nix-command flakes"; nix.settings.experimental-features = "nix-command flakes";
# Create /etc/zshrc that loads the nix-darwin environment. # Create /etc/zshrc that loads the nix-darwin environment.
programs.zsh.enable = true; # default shell on catalina programs.zsh.enable = true; # default shell on catalina
programs.direnv.enable = true; programs.direnv.enable = true;
programs.gnupg.agent.enable = true; programs.gnupg.agent.enable = true;
services.yabai = { services.yabai = {
enable = true; enable = true;
}; };
services.skhd.enable = true; services.skhd.enable = true;
services.emacs = { services.emacs = {
enable = true; enable = true;
package = my-emacs; package = my-emacs;
}; };
# Used for backwards compatibility, please read the changelog before changing. # Used for backwards compatibility, please read the changelog before changing.
# $ darwin-rebuild changelog # $ darwin-rebuild changelog
system.stateVersion = 4; system.stateVersion = 4;
ids.gids.nixbld = 350; ids.gids.nixbld = 350;
system.defaults.dock = { system.defaults.dock = {
autohide = true; autohide = true;
persistent-apps = []; persistent-apps = [];
show-recents = false; show-recents = false;
static-only = true; static-only = true;
tilesize = 32; tilesize = 32;
}; };
system.defaults.menuExtraClock = { system.defaults.menuExtraClock = {
Show24Hour = true; Show24Hour = true;
}; };
launchd.user.agents.remap-keys = { launchd.user.agents.remap-keys = {
serviceConfig = { serviceConfig = {
ProgramArguments = [ ProgramArguments = [
"/usr/bin/hidutil" "/usr/bin/hidutil"
"property" "property"
"--set" "--set"
''{ '' {
"UserKeyMapping":[ "UserKeyMapping":[
{"HIDKeyboardModifierMappingSrc":0x700000039,"HIDKeyboardModifierMappingDst":0x7000000E7} {"HIDKeyboardModifierMappingSrc":0x700000039,"HIDKeyboardModifierMappingDst":0x7000000E7}
] ]
}'' }''
]; ];
RunAtLoad = true; RunAtLoad = true;
}; };
}; };
# The platform the configuration will be used on. # The platform the configuration will be used on.
nixpkgs.hostPlatform = system; nixpkgs.hostPlatform = system;