Initial commit

This commit is contained in:
2026-02-16 12:39:09 -07:00
commit f91b055857
2 changed files with 234 additions and 0 deletions

69
flake.lock generated Normal file
View File

@@ -0,0 +1,69 @@
{
"nodes": {
"nix-darwin": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1770922915,
"narHash": "sha256-6J/JoK9iL7sHvKJcGW2KId2agaKv1OGypsa7kN+ZBD4=",
"owner": "LnL7",
"repo": "nix-darwin",
"rev": "6c5a56295d2a24e43bcd8af838def1b9a95746b2",
"type": "github"
},
"original": {
"owner": "LnL7",
"repo": "nix-darwin",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1771177547,
"narHash": "sha256-trTtk3WTOHz7hSw89xIIvahkgoFJYQ0G43IlqprFoMA=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "ac055f38c798b0d87695240c7b761b82fc7e5bc2",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"root": {
"inputs": {
"nix-darwin": "nix-darwin",
"nixpkgs": "nixpkgs",
"rust-overlay": "rust-overlay"
}
},
"rust-overlay": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1771211437,
"narHash": "sha256-lcNK438i4DGtyA+bPXXyVLHVmJjYpVKmpux9WASa3ro=",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "c62195b3d6e1bb11e0c2fb2a494117d3b55d410f",
"type": "github"
},
"original": {
"owner": "oxalica",
"repo": "rust-overlay",
"type": "github"
}
}
},
"root": "root",
"version": 7
}

165
flake.nix Normal file
View File

@@ -0,0 +1,165 @@
{
description = "dart system configuration via nix-darwin";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
nix-darwin = {
url = "github:LnL7/nix-darwin";
inputs.nixpkgs.follows = "nixpkgs";
};
rust-overlay = {
url = "github:oxalica/rust-overlay";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = { self, nixpkgs, nix-darwin, rust-overlay }:
let
system = "aarch64-darwin";
pkgs = import nixpkgs {
inherit system;
overlays = [ rust-overlay.overlays.default ];
config.allowUnfree = true;
};
rustToolchain = pkgs.rust-bin.stable.latest.default.override {
extensions = [ "rust-src" "rust-analyzer" ];
targets = [ "aarch64-apple-darwin" ];
};
# CLI
cliTools = with pkgs; [
# Editors
helix
micro
lazygit
ripgrep
# Build/dev tools
fnm
cmake
ninja
gradle
# Network
netcat-gnu
# Misc
bitwarden-cli
pwgen
qrencode
sl
upx
wakeonlan
magic-wormhole
httpie
gh
doctl
qemu
];
# Languages
languages = with pkgs; [
rustToolchain
python313
openjdk
openjdk17
lua
luajit
perl
ruby
go
];
# Media
media = with pkgs; [
ffmpeg
tesseract
tectonic
];
# Security
security = with pkgs; [
nmap
nikto
thc-hydra
john
exploitdb
rustscan
recon-ng
vectorscan
];
# Networking
networking = with pkgs; [
freerdp
openmpi
];
allPackages =
cliTools
++ languages
++ media
++ security
++ networking;
in
{
darwinConfigurations."dart" = nix-darwin.lib.darwinSystem {
inherit system;
modules = [
{
nix.settings = {
experimental-features = [ "nix-command" "flakes" ];
};
nixpkgs = {
hostPlatform = system;
config.allowUnfree = true;
overlays = [ rust-overlay.overlays.default ];
};
environment.systemPackages = allPackages;
homebrew = {
enable = true;
onActivation = {
autoUpdate = true;
cleanup = "none";
};
brews = [
"gamdl"
"knock"
"snort"
];
casks = [
"android-platform-tools"
"claude-code"
"flutter"
"ghostty"
"librewolf"
"ngrok"
"pearcleaner"
"zulu@17"
];
};
programs.zsh.enable = true;
system.stateVersion = 6;
}
];
};
devShells.${system} = {
default = pkgs.mkShell {
packages = allPackages;
};
};
};
}