Initial commit
This commit is contained in:
69
flake.lock
generated
Normal file
69
flake.lock
generated
Normal 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
165
flake.nix
Normal 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;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user