Merge branch 'm4'

This commit is contained in:
Charles Sirois 2025-06-05 09:43:07 -04:00
commit 4e7661a4c9
2 changed files with 99 additions and 53 deletions

View file

@ -1,32 +1,38 @@
{pkgs, inputs, system, ...}: { {
pkgs,
inputs,
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
alacritty
ranger ranger
(inputs.nixvim.packages.x86_64-darwin.default) (inputs.vimix.packages.${system}.default)
# nix # nix
home-manager home-manager
alejandra
nix-output-monitor nix-output-monitor
# work tool # work tool
git
terraform
doppler doppler
ngrok docker
awscli2 colima
pgcli git
gnupg
(pass.withExtensions (exts: [exts.pass-otp]))
# misc # emacs
ollama my-emacs
sl fd
newsboat ripgrep
(writeShellScriptBin "drs" '' (writeShellScriptBin "drs" ''
darwin-rebuild switch --flake ~/.config/nix-darwin darwin-rebuild switch --flake ~/.config/nixos
'') '')
]; ];
@ -38,46 +44,83 @@
}; };
brews = [ brews = [
"emacs-plus@29" # doom emacs
"fontconfig"
]; ];
casks = [ casks = [
# internet # internet
"qutebrowser"
"firefox"
"spotify" "spotify"
"brave-browser"
"qutebrowser"
"stremio"
# work # work
"slack" "slack"
"tunnelblick" "tunnelblick"
"dbeaver-community" "dbeaver-community"
"insomnia" "claude"
# 3D # doom emacs
"orcaslicer" "font-symbols-only-nerd-font"
"openscad"
# Utilities
"flameshot"
"pika"
]; ];
}; };
nix = {
# Necessary for using flakes on this system. # Necessary for using flakes on this system.
nix.settings.experimental-features = "nix-command flakes"; settings.experimental-features = "nix-command flakes";
extraOptions = ''
extra-platforms = x86_64-darwin aarm64-darwin
'';
};
# 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;
services.yabai = { services.yabai = {
enable = true; enable = true;
}; };
services.skhd.enable = true; services.skhd.enable = true;
services.emacs = {
enable = true;
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;
system.defaults.dock = {
autohide = true;
persistent-apps = [];
show-recents = false;
static-only = true;
tilesize = 32;
};
system.defaults.menuExtraClock = {
Show24Hour = true;
};
launchd.user.agents.remap-keys = {
serviceConfig = {
ProgramArguments = [
"/usr/bin/hidutil"
"property"
"--set"
'' {
"UserKeyMapping":[
{"HIDKeyboardModifierMappingSrc":0x700000039,"HIDKeyboardModifierMappingDst":0x7000000E7}
]
}''
];
RunAtLoad = true;
};
};
# The platform the configuration will be used on. # The platform the configuration will be used on.
nixpkgs.hostPlatform = system; nixpkgs.hostPlatform = system;

View file

@ -5,6 +5,7 @@
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
nix-darwin.url = "github:LnL7/nix-darwin"; nix-darwin.url = "github:LnL7/nix-darwin";
nixvim.url = "github:Polensky/nixvim"; nixvim.url = "github:Polensky/nixvim";
vimix.url = "github:Polensky/vimix";
sops-nix.url = "github:Mic92/sops-nix"; sops-nix.url = "github:Mic92/sops-nix";
}; };
@ -60,9 +61,11 @@
}; };
"mbp-m4" = nix-darwin.lib.darwinSystem { "mbp-m4" = nix-darwin.lib.darwinSystem {
modules = [./devices/macbook/configuration.nix]; modules = [./devices/macbook/configuration.nix];
specialArgs = {inherit inputs;}; specialArgs = {
inherit inputs;
system = "aarch64-darwin"; system = "aarch64-darwin";
}; };
}; };
}; };
};
} }