linux init

This commit is contained in:
Harivansh Rathi 2026-03-22 14:44:00 -04:00
parent 8ed16afd7d
commit 24b16cba14
13 changed files with 338 additions and 209 deletions

View file

@ -1,8 +1,12 @@
{
inputs,
lib,
pkgs,
username,
...
}: {
}: let
packageSets = import ../lib/package-sets.nix {inherit inputs lib pkgs;};
in {
nix.enable = true;
nix.settings = {
@ -31,23 +35,7 @@
programs.zsh.enable = true;
environment.shells = [pkgs.zsh];
environment.systemPackages = with pkgs; [
curl
fd
fzf
gnupg
go_1_26
jq
just
nodejs_22
python3
ripgrep
rustup
tree
uv
wget
zoxide
];
environment.systemPackages = packageSets.core;
environment.variables = {
EDITOR = "nvim";

View file

@ -4,116 +4,8 @@
pkgs,
...
}: let
gwsPackage =
inputs.googleworkspace-cli.packages.${pkgs.stdenv.hostPlatform.system}.default;
claudePackage =
inputs.claudeCode.packages.${pkgs.stdenv.hostPlatform.system}.default;
memex = pkgs.stdenvNoCC.mkDerivation rec {
pname = "memex";
version = "0.3.1";
src = pkgs.fetchurl {
url = "https://github.com/nicosuave/memex/releases/download/v${version}/memex-${version}-macos-arm64.tar.gz";
hash = "sha256-OIqT0xS+8vc0dQNi+YdDXLmN8V/7AT4Q/cnvbbhZ+3s=";
};
dontUnpack = true;
installPhase = ''
tar -xzf "$src"
install -Dm755 memex "$out/bin/memex"
'';
meta = {
description = "Fast local history search for Claude and Codex logs";
homepage = "https://github.com/nicosuave/memex";
license = lib.licenses.mit;
mainProgram = "memex";
platforms = lib.platforms.darwin;
};
};
graphite = pkgs.stdenvNoCC.mkDerivation rec {
pname = "graphite";
version = "1.7.20";
src = pkgs.fetchurl {
url = "https://github.com/withgraphite/homebrew-tap/releases/download/v${version}/gt-macos-arm64";
hash = "sha256-ho9VQw1ic3jhG3yxNwUL0W1WvNFku9zw6DQnGehs7+8=";
};
dontUnpack = true;
installPhase = ''
install -Dm755 "$src" "$out/bin/gt"
'';
meta = {
description = "Manage stacked Git changes and submit them for review";
homepage = "https://graphite.dev/";
license = lib.licenses.agpl3Only;
mainProgram = "gt";
platforms = lib.platforms.darwin;
};
};
worktrunk = pkgs.rustPlatform.buildRustPackage rec {
pname = "worktrunk";
version = "0.23.1";
src = pkgs.fetchurl {
url = "https://github.com/max-sixty/worktrunk/archive/refs/tags/v${version}.tar.gz";
hash = "sha256-cdQDUz7to3JkriWE9i5iJ2RftJFZivw7CTwGxDZPAqw=";
};
cargoHash = "sha256-DHjwNqMiVkWqL3CuOCITvyqkdKe+GOZ2nlMSstDIcTg=";
doCheck = false;
meta = {
description = "CLI for Git worktree management";
homepage = "https://worktrunk.dev";
license = with lib.licenses; [asl20 mit];
mainProgram = "wt";
platforms = lib.platforms.darwin;
};
};
packageSets = import ../lib/package-sets.nix {inherit inputs lib pkgs;};
in {
environment.systemPackages = with pkgs; [
awscli2
claudePackage
coreutils-prefixed
delta
diff-so-fancy
git-filter-repo
git-lfs
goose
graphite
google-cloud-sdk
gwsPackage
kubernetes-helm
imagemagickBig
kind
kubectl
lazygit
libpq
librsvg
llmfit
memex
mise
minikube
ngrok
postgresql_17
redis
tailscale
terraform
texliveFull
worktrunk
yt-dlp
];
fonts.packages = with pkgs; [
jetbrains-mono
nerd-fonts.symbols-only
];
environment.systemPackages = packageSets.extras;
fonts.packages = packageSets.fonts;
}