Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
50 changes: 25 additions & 25 deletions flake.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 3 additions & 4 deletions flake.nix
Original file line number Diff line number Diff line change
Expand Up @@ -20,16 +20,16 @@
};

inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-25.05-darwin";
nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-25.11-darwin";

nixpkgs-master.url = "github:nixos/nixpkgs";

flake-parts.url = "github:hercules-ci/flake-parts";

nix-darwin.url = "github:nix-darwin/nix-darwin/nix-darwin-25.05";
nix-darwin.url = "github:nix-darwin/nix-darwin/nix-darwin-25.11";
nix-darwin.inputs.nixpkgs.follows = "nixpkgs";

home-manager.url = "github:nix-community/home-manager/release-25.05";
home-manager.url = "github:nix-community/home-manager/release-25.11";
home-manager.inputs.nixpkgs.follows = "nixpkgs";

flake-root.url = "github:srid/flake-root";
Expand All @@ -41,7 +41,6 @@
treefmt.inputs.nixpkgs.follows = "nixpkgs";

tilde-secrets.url = "git+ssh://git@github.com/ethnt/tilde-secrets";
# tilde-secrets.url = "git+file:///Users/et/Workspace/personal/tilde-secrets";

emacs-overlay.url = "github:nix-community/emacs-overlay";
emacs-overlay.inputs.nixpkgs.follows = "nixpkgs";
Expand Down
2 changes: 1 addition & 1 deletion modules/development/treefmt.nix
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{ inputs, ... }: {
imports = [ inputs.treefmt.flakeModule ];

perSystem = { config, pkgs, lib, ... }:
perSystem = { config, pkgs, ... }:
let
treefmtConfig = {
inherit (config.flake-root) projectRootFile;
Expand Down
1 change: 0 additions & 1 deletion modules/overlays/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@
config.allowUnfree = true;
};
in {
inherit (nixpkgs-master) claude-code;
nixpkgs-master-darwin-linux-builder = nixpkgs-master.darwin.linux-builder;
};
};
Expand Down
51 changes: 28 additions & 23 deletions modules/profiles/home/git/common.nix
Original file line number Diff line number Diff line change
Expand Up @@ -4,50 +4,55 @@
programs.git = {
enable = true;

userName = "Ethan Turkeltaub";

aliases = let
gitCommand = lib.getExe config.programs.git.package;
fzfCommand = lib.getExe pkgs.fzf;
ghCommand = lib.getExe pkgs.gh;
settings = let
delta = lib.getExe pkgs.delta;
git = lib.getExe config.programs.git.package;
fzf = lib.getExe pkgs.fzf;
gh = lib.getExe pkgs.gh;
superprune = pkgs.writeShellScript "git-alias-superprune" ''
echo 'Fetching remote then deleting branches that are gone. This may take a moment'

${gitCommand} fetch -p
${git} fetch -p

gone=$(git for-each-ref --format '%(refname) %(upstream:track)' refs/heads | awk '$2 == "[gone]" {sub("refs/heads/", "", $1); print $1}')
for branch in $gone; do
${gitCommand} branch -D $branch;
${git} branch -D $branch;
done;
'';
co = pkgs.writeShellScript "git-alias-co" ''
${gitCommand} checkout "$(${gitCommand} branch --sort="-committerdate" | ${fzfCommand} | tr -d '[:space:]')";
${git} checkout "$(${git} branch --sort="-committerdate" | ${fzf} | tr -d '[:space:]')";
'';
wipe = pkgs.writeShellScript "git-alias-wipe" ''
${gitCommand} add .
${gitCommand} stash
${git} add .
${git} stash
'';
in {
s = "status";
superprune = "!sh ${superprune}";
co = "!sh ${co}";
wipe = "!sh ${wipe}";
sync = "!${ghCommand} repo sync";
};
user.name = "Ethan Turkeltaub";

alias = {
s = "status";
superprune = "!sh ${superprune}";
co = "!sh ${co}";
wipe = "!sh ${wipe}";
sync = "!${gh} repo sync";
};

ignores = [ "*~" "#*#" ".elc" ".#*" "flycheck_*.el" ".projectile" ];
core.pager = delta;

signing.signByDefault = config.programs.git.signing.key != null;
interactive.diffFilter = "${delta} --color-only";

extraConfig = let deltaCommand = lib.getExe pkgs.delta;
in {
core.pager = deltaCommand;
interactive.diffFilter = "${deltaCommand} --color-only";
http = { sslCAinfo = "/etc/ssl/certs/ca-certificates.crt"; };

color = {
status = "always";
diff = "always";
};

init.defaultBranch = "main";
};

ignores = [ "*~" "#*#" ".elc" ".#*" "flycheck_*.el" ".projectile" ];

signing.signByDefault = config.programs.git.signing.key != null;
};
}
2 changes: 2 additions & 0 deletions modules/profiles/home/haskell.nix
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,6 @@
:seti -XTypeApplications
:seti -XOverloadedStrings
'';

home.sessionPath = [ "$HOME/.cabal/bin" ];
}
4 changes: 4 additions & 0 deletions modules/profiles/home/zed-editor.nix
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,10 @@
dark = "Nord Dark";
};

# Ergonomics
tab_size = 2;
hard_tabs = false;

# Git
git.inline_blame.enabled = false;

Expand Down
2 changes: 1 addition & 1 deletion modules/profiles/system/core/nix-config.nix
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{ flake, pkgs, ... }: {
{ pkgs, ... }: {
nixpkgs = {
# NOTE: This relies on all hosts having the same `system`. If a system comes along that is different, this cannot
# be set to the flake-wide `pkgs`, as it is here: https://nix-darwin.github.io/nix-darwin/manual/index.html#opt-nixpkgs.pkgs
Expand Down
3 changes: 3 additions & 0 deletions modules/profiles/system/darwin/brew.nix
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,16 @@

brews = [ "pinentry-mac" ];

taps = [ "railwaycat/emacsmacport" ];

casks = [
"1password"
"arc"
"cleanshot"
"dash"
"docker-desktop"
"elgato-stream-deck"
"emacs-mac-spacemacs-icon"
"ghostty"
"fantastical"
"firefox"
Expand Down
2 changes: 1 addition & 1 deletion modules/profiles/system/darwin/common.nix
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
settings = {
trusted-users = [ config.system.primaryUser ];
extra-nix-path = [ "darwin-config=${flake}/lib/compat/darwin" ];
extra-experimental-features = [ "nix-command" "flakes" "ca-derivations" ];
extra-experimental-features = [ "nix-command" "flakes" ];
};
};

Expand Down
2 changes: 1 addition & 1 deletion modules/profiles/system/home-manager/common.nix
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{ flake, lib, ... }: {
{ flake, ... }: {
home-manager = {
inherit (flake.lib.hm) sharedModules extraSpecialArgs;

Expand Down
3 changes: 1 addition & 2 deletions users/et/profiles/git.nix
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
{
programs.git = {
userEmail = "et@mercury.com";
userName = "Ethan Turkeltaub";
settings = { user.email = "et@mercury.com"; };
signing.key = "F8E4DBB3201AFD1E";
};
}
36 changes: 25 additions & 11 deletions users/et/profiles/tmuxp.nix
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,32 @@
programs.tmuxp.workspaces = {
tilde = {
session_name = "tilde";
windows = [{
focus = true;
layout = "c5e0,212x37,0,0,3";
options = { };
panes = [{
windows = [
{
focus = true;
shell_command = "direnv reload";
}];
start_directory =
"${config.home.homeDirectory}/Workspace/personal/tilde";
window_name = "fish";
}];
layout = "c5e0,212x37,0,0,3";
options = { };
panes = [{
focus = true;
shell_command = "direnv reload";
}];
start_directory =
"${config.home.homeDirectory}/Workspace/personal/tilde";
window_name = "tilde";
}
{
focus = false;
layout = "c5e0,212x37,0,0,3";
options = { };
panes = [{
focus = true;
shell_command = "direnv reload";
}];
start_directory =
"${config.home.homeDirectory}/Workspace/personal/tilde-secrets";
window_name = "tilde-secrets";
}
];
};
};
}
2 changes: 1 addition & 1 deletion users/et/profiles/tools.nix
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{ pkgs, ... }: {
home.packages = with pkgs; [ claude-code graphite-cli fnm mkcert ];
home.packages = with pkgs; [ graphite-cli fnm mkcert ];

programs.fish.interactiveShellInit = let fnm = pkgs.lib.getExe pkgs.fnm;
in ''
Expand Down
3 changes: 1 addition & 2 deletions users/ethan/profiles/git.nix
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
{
programs.git = {
userEmail = "ethan@turkeltaub.dev";
userName = "Ethan Turkeltaub";
settings = { user.email = "ethan@turkeltaub.dev"; };
signing.key = "0x690FEBBF6380166A";
};
}