Various updates

work
mat ess 2023-12-22 20:49:53 -05:00
parent 890be0959b
commit 069b35ca0e
16 changed files with 204 additions and 172 deletions

7
darwin/copy-apps.nix Normal file
View File

@ -0,0 +1,7 @@
{ pkgs, lib, ... }:
let mac-app-util = lib.getExe' pkgs.mac-app-util "mac-app-util";
in {
system.activationScripts.postActivation.text = ''
${mac-app-util} sync-trampolines "/Applications/Nix Apps" "/Applications/Nix Trampolines"
'';
}

View File

@ -13,6 +13,7 @@
self.darwinModules_.home-manager self.darwinModules_.home-manager
self.darwinModules.home self.darwinModules.home
self.nixosModules.common self.nixosModules.common
./copy-apps.nix
./fish.nix ./fish.nix
./fonts.nix ./fonts.nix
./homebrew.nix ./homebrew.nix

View File

@ -2,7 +2,7 @@
fonts.fontDir.enable = true; fonts.fontDir.enable = true;
fonts.fonts = builtins.attrValues { fonts.fonts = builtins.attrValues {
inherit (pkgs) inherit (pkgs)
borg-sans-mono recursive recursive-patched borg-sans-mono recursive-patched
# code^ # code^
ia-writer-family ibm-plex ia-writer-family ibm-plex

View File

@ -1,11 +1,12 @@
{ flake, config, ... }: { { flake, config, ... }: {
# https://docs.brew.sh/Shell-Completion#configuring-completions-in-fish environment.variables.HOMEBREW_NO_ANALYTICS = "1";
# for some reason if the Fish completions are added at the end of `fish_complete_path` they don't
# seem to work, but they do work if added at the start.
programs.fish = { programs.fish = {
shellInit = '' shellInit = ''
eval "$(${config.homebrew.brewPrefix}/brew shellenv fish)" eval "$(${config.homebrew.brewPrefix}/brew shellenv fish)"
''; '';
# https://docs.brew.sh/Shell-Completion#configuring-completions-in-fish
# for some reason if the Fish completions are added at the end of `fish_complete_path` they don't
# seem to work, but they do work if added at the start.
interactiveShellInit = '' interactiveShellInit = ''
if test -d (brew --prefix)"/share/fish/completions" if test -d (brew --prefix)"/share/fish/completions"
set -p fish_complete_path (brew --prefix)/share/fish/completions set -p fish_complete_path (brew --prefix)/share/fish/completions
@ -25,14 +26,18 @@
}; };
global.brewfile = true; global.brewfile = true;
taps = [ "homebrew/cask-versions" "homebrew/services" ]; taps = [
"homebrew/cask-versions"
"homebrew/services"
"indirect/homebrew-tap" # ghostty formula
];
masApps = { masApps = {
Bitwarden = 1352778147;
"Draw Things" = 6444050820; "Draw Things" = 6444050820;
GrandPerspective = 1111570163; GrandPerspective = 1111570163;
Reeder = 1529448980; Reeder = 1529448980;
Tailscale = 1475387142; Tailscale = 1475387142;
TickTick = 966085870;
Xcode = 497799835; Xcode = 497799835;
}; };
@ -40,20 +45,13 @@
casks = [ casks = [
# system tools # system tools
"alfred" "alfred"
# "bartender" -> dozer
"dozer" "dozer"
"knockknock" "knockknock"
"lulu" "lulu"
"protonvpn" "protonvpn"
"rectangle"
"secretive" "secretive"
"shortcat" "shortcat"
"stay" "stay"
"utm"
# "tools for thought"
"anytype"
"obsidian"
# design # design
"krita" "krita"
@ -73,6 +71,7 @@
"zed" "zed"
# terminal emulators # terminal emulators
"ghostty"
"kitty" "kitty"
"warp" "warp"

View File

@ -1,27 +1,33 @@
{ {
"nodes": { "nodes": {
"cl-nix-lite": {
"locked": {
"lastModified": 1698901928,
"narHash": "sha256-gMHZybEVA3uMOBu1483gXfvUqpv4Qn7GJs3ZfCQYxpc=",
"owner": "hraban",
"repo": "cl-nix-lite",
"rev": "9ad861b45bda7f59eba5ad1b43565a03c7c58553",
"type": "github"
},
"original": {
"owner": "hraban",
"repo": "cl-nix-lite",
"type": "github"
}
},
"crane": { "crane": {
"inputs": { "inputs": {
"flake-compat": "flake-compat",
"flake-utils": [
"helix",
"flake-utils"
],
"nixpkgs": [ "nixpkgs": [
"helix", "helix",
"nixpkgs" "nixpkgs"
],
"rust-overlay": [
"helix",
"rust-overlay"
] ]
}, },
"locked": { "locked": {
"lastModified": 1688772518, "lastModified": 1701025348,
"narHash": "sha256-ol7gZxwvgLnxNSZwFTDJJ49xVY5teaSvF7lzlo3YQfM=", "narHash": "sha256-42GHmYH+GF7VjwGSt+fVT1CQuNpGanJbNgVHTAZppUM=",
"owner": "ipetkov", "owner": "ipetkov",
"repo": "crane", "repo": "crane",
"rev": "8b08e96c9af8c6e3a2b69af5a7fa168750fcf88e", "rev": "42afaeb1a0325194a7cdb526332d2cb92fddd07b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -37,11 +43,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1698422527, "lastModified": 1702479765,
"narHash": "sha256-SDu3Xg263t3oXIyTaH0buOvFnKIDeZsvKDBtOz+jRbs=", "narHash": "sha256-wjNYsFhciYoJkZ/FBKvFj55k+vkLbu6C2qYQ7K+s8pI=",
"owner": "nix-community", "owner": "nix-community",
"repo": "disko", "repo": "disko",
"rev": "944d338d24a9d043a3f7461c30ee6cfe4f9cca30", "rev": "bd8fbc3f274288ac905bcea66bc2a5428abde458",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -85,11 +91,11 @@
"fish-plugin-done": { "fish-plugin-done": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1698312794, "lastModified": 1700166884,
"narHash": "sha256-7aeSE88tvLx64EWvHqLSikRjOjTrZRXj2fdK5vygsqA=", "narHash": "sha256-BGHfwKoMfOZUsa05kEt8W2luc1aC3Su/OyaGmcb4UiI=",
"owner": "franciscolourenco", "owner": "franciscolourenco",
"repo": "done", "repo": "done",
"rev": "054347d2a4aa5e0e7920c850f5999651dc90219c", "rev": "fbea3f682f9f32d957946490436e9dde8a67c367",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -149,15 +155,16 @@
"flake-compat": { "flake-compat": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1673956053, "lastModified": 1697816753,
"narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=", "narHash": "sha256-40to80AEIyKCQI0xMKCeF5ePoIKTYgjVVCZeu4CnTxM=",
"owner": "edolstra", "owner": "hraban",
"repo": "flake-compat", "repo": "flake-compat",
"rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9", "rev": "6025bade1336a36014639bc3f67eacc853dab78f",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "edolstra", "owner": "hraban",
"ref": "fixed-output",
"repo": "flake-compat", "repo": "flake-compat",
"type": "github" "type": "github"
} }
@ -183,11 +190,11 @@
"nixpkgs-lib": "nixpkgs-lib" "nixpkgs-lib": "nixpkgs-lib"
}, },
"locked": { "locked": {
"lastModified": 1698882062, "lastModified": 1701473968,
"narHash": "sha256-HkhafUayIqxXyHH1X8d9RDl1M2CkFgZLjKD3MzabiEo=", "narHash": "sha256-YcVE5emp1qQ8ieHUnxt1wCZCC3ZfAS+SRRWZ2TMda7E=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "8c9fa2545007b49a5db5f650ae91f227672c3877", "rev": "34fed993f1674c8d06d58b37ce1e0fe5eebcb9f5",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -219,11 +226,11 @@
"systems": "systems" "systems": "systems"
}, },
"locked": { "locked": {
"lastModified": 1689068808, "lastModified": 1694529238,
"narHash": "sha256-6ixXo3wt24N/melDWjq70UuHQLxGV8jZvooRanIHXw0=", "narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=",
"owner": "numtide", "owner": "numtide",
"repo": "flake-utils", "repo": "flake-utils",
"rev": "919d646de7be200f3bf08cb76ae1f09402b6f9b4", "rev": "ff7b65b44d01cf9ba6a71320833626af21126384",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -245,15 +252,32 @@
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "numtide", "id": "flake-utils",
"repo": "flake-utils", "type": "indirect"
"type": "github"
} }
}, },
"flake-utils_3": { "flake-utils_3": {
"inputs": { "inputs": {
"systems": "systems_3" "systems": "systems_3"
}, },
"locked": {
"lastModified": 1694529238,
"narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "ff7b65b44d01cf9ba6a71320833626af21126384",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_4": {
"inputs": {
"systems": "systems_4"
},
"locked": { "locked": {
"lastModified": 1685518550, "lastModified": 1685518550,
"narHash": "sha256-o2d0KcvaXzTrPRIo0kOLV0/QXHhDQ5DTi+OxcjO8xqY=", "narHash": "sha256-o2d0KcvaXzTrPRIo0kOLV0/QXHhDQ5DTi+OxcjO8xqY=",
@ -270,11 +294,11 @@
}, },
"ghostty": { "ghostty": {
"locked": { "locked": {
"lastModified": 1695482156, "lastModified": 1702368251,
"narHash": "sha256-PFyViLT7eCi/jN6fZ9kFUZF4mYye9Mplm/SEwhUvCDM=", "narHash": "sha256-hafrDmzGplzm+vdIo+LkOjRfA4qRcy5JmpGGksnht5c=",
"owner": "clo4", "owner": "clo4",
"repo": "ghostty-hm-module", "repo": "ghostty-hm-module",
"rev": "3ccb4b02eb84316e7ccbf007a6e29495f7e6bee4", "rev": "887e13a6e7acf5ffaab0119d96e476d84db90904",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -314,11 +338,11 @@
"rust-overlay": "rust-overlay" "rust-overlay": "rust-overlay"
}, },
"locked": { "locked": {
"lastModified": 1698790188, "lastModified": 1702431423,
"narHash": "sha256-sAp4RIto3fDjb/HJ4NR3HlHo3J8R7tK4/qSGYkhudUA=", "narHash": "sha256-3wDOWe2bzRuoyY55y1HqbzMzy77pUIzDj9NVxm15K+M=",
"owner": "helix-editor", "owner": "helix-editor",
"repo": "helix", "repo": "helix",
"rev": "a069b928973aad99b85dffb9d5ade7dae4b58c43", "rev": "c2591445c90ae9c152cbc974122b77632de78e85",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -334,11 +358,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1698873617, "lastModified": 1702423270,
"narHash": "sha256-FfGFcfbULwbK1vD+H0rslIOfmy4g8f2hXiPkQG3ZCTk=", "narHash": "sha256-3ZA5E+b2XBP+c9qGhWpRApzPq/PZtIPgkeEDpTBV4g8=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "48b0a30202516e25d9885525fbb200a045f23f26", "rev": "d9297efd3a1c3ebb9027dc68f9da0ac002ae94db",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -378,20 +402,43 @@
"type": "github" "type": "github"
} }
}, },
"mac-app-util": {
"inputs": {
"cl-nix-lite": "cl-nix-lite",
"flake-compat": "flake-compat",
"flake-utils": "flake-utils_2",
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1701662961,
"narHash": "sha256-2xQSZvQ3S9Wim+6pJGweQjLueqJufKVREg/n7dmOCMw=",
"owner": "hraban",
"repo": "mac-app-util",
"rev": "3e967d0a6ec5ff53b7024053d154f9bc28aad489",
"type": "github"
},
"original": {
"owner": "hraban",
"repo": "mac-app-util",
"type": "github"
}
},
"nil": { "nil": {
"inputs": { "inputs": {
"flake-utils": "flake-utils_2", "flake-utils": "flake-utils_3",
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
], ],
"rust-overlay": "rust-overlay_2" "rust-overlay": "rust-overlay_2"
}, },
"locked": { "locked": {
"lastModified": 1697710615, "lastModified": 1701225372,
"narHash": "sha256-YL63eoy3C/WeDxwctbv9dJBjqBabx8cO7lVTlVn3FVI=", "narHash": "sha256-QSiFeEmTzAIIiCtUaMesu7wi7bvfHuFzPMQpOKMt4Lo=",
"owner": "oxalica", "owner": "oxalica",
"repo": "nil", "repo": "nil",
"rev": "bd93024db616a528473a7210d2756c7118155de9", "rev": "0031eb4343fd4672742fd6ff839da9b4f5120646",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -407,11 +454,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1698429334, "lastModified": 1700795494,
"narHash": "sha256-Gq3+QabboczSu7RMpcy79RSLMSqnySO3wsnHQk4DfbE=", "narHash": "sha256-gzGLZSiOhf155FW7262kdHo2YDeugp3VuIFb4/GGng0=",
"owner": "lnl7", "owner": "lnl7",
"repo": "nix-darwin", "repo": "nix-darwin",
"rev": "afe83cbc2e673b1f08d32dd0f70df599678ff1e7", "rev": "4b9b83d5a92e8c1fbfd8eb27eda375908c11ec4d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -429,11 +476,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1697038389, "lastModified": 1699966122,
"narHash": "sha256-hbzFPXyQQxJObRdb+CsylUXii29UfFV7866WWgWYs6Y=", "narHash": "sha256-zEN3ET7jfXpIKYeYh/z4xekOBOoaFS+n0q3oL3sVh+0=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixd", "repo": "nixd",
"rev": "29904e121cc775e7caaf4fffa6bc7da09376a43b", "rev": "b3bb9ea7cd3c2f07c89779a474d6468b2c11e303",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -444,11 +491,11 @@
}, },
"nixos-flake": { "nixos-flake": {
"locked": { "locked": {
"lastModified": 1698598244, "lastModified": 1702145288,
"narHash": "sha256-YbvPFt+9CbCiqnuS0dTx+P+W1YRCqzhLXen94sef3Kk=", "narHash": "sha256-apVeRT0kOnDejwwBwbwNccm+qq1l6+qUOiRKE0vK5qk=",
"owner": "srid", "owner": "srid",
"repo": "nixos-flake", "repo": "nixos-flake",
"rev": "f6b7757ad88483afca306c9f3bf387887fba7284", "rev": "4e422edf6b511f8e214b392cf1a0d4707a0399a4",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -459,11 +506,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1698890957, "lastModified": 1702272962,
"narHash": "sha256-DJ+SppjpPBoJr0Aro9TAcP3sxApCSieY6BYBCoWGUX8=", "narHash": "sha256-D+zHwkwPc6oYQ4G3A1HuadopqRwUY/JkMwHz1YF7j4Q=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "c082856b850ec60cda9f0a0db2bc7bd8900d708c", "rev": "e97b3e4186bcadf0ef1b6be22b8558eab1cdeb5d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -476,11 +523,11 @@
"nixpkgs-lib": { "nixpkgs-lib": {
"locked": { "locked": {
"dir": "lib", "dir": "lib",
"lastModified": 1698611440, "lastModified": 1701253981,
"narHash": "sha256-jPjHjrerhYDy3q9+s5EAsuhyhuknNfowY6yt6pjn9pc=", "narHash": "sha256-ztaDIyZ7HrTAfEEUt9AtTDNoCYxUdSd6NrRHaYOIxtk=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "0cbe9f69c234a7700596e943bfae7ef27a31b735", "rev": "e92039b55bcd58469325ded85d4f58dd5a4eaf58",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -528,7 +575,7 @@
"pre-commit": { "pre-commit": {
"inputs": { "inputs": {
"flake-compat": "flake-compat_2", "flake-compat": "flake-compat_2",
"flake-utils": "flake-utils_3", "flake-utils": "flake-utils_4",
"gitignore": "gitignore", "gitignore": "gitignore",
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
@ -536,11 +583,11 @@
"nixpkgs-stable": "nixpkgs-stable" "nixpkgs-stable": "nixpkgs-stable"
}, },
"locked": { "locked": {
"lastModified": 1698852633, "lastModified": 1702456155,
"narHash": "sha256-Hsc/cCHud8ZXLvmm8pxrXpuaPEeNaaUttaCvtdX/Wug=", "narHash": "sha256-I2XhXGAecdGlqi6hPWYT83AQtMgL+aa3ulA85RAEgOk=",
"owner": "cachix", "owner": "cachix",
"repo": "pre-commit-hooks.nix", "repo": "pre-commit-hooks.nix",
"rev": "dec10399e5b56aa95fcd530e0338be72ad6462a0", "rev": "007a45d064c1c32d04e1b8a0de5ef00984c419bc",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -564,6 +611,7 @@
"home-manager": "home-manager", "home-manager": "home-manager",
"homebrew-enabled": "homebrew-enabled", "homebrew-enabled": "homebrew-enabled",
"ia-writer-family-src": "ia-writer-family-src", "ia-writer-family-src": "ia-writer-family-src",
"mac-app-util": "mac-app-util",
"nil": "nil", "nil": "nil",
"nix-darwin": "nix-darwin", "nix-darwin": "nix-darwin",
"nixd": "nixd", "nixd": "nixd",
@ -586,11 +634,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1690424156, "lastModified": 1701137803,
"narHash": "sha256-Bpml+L280tHTQpwpC5/BJbU4HSvEzMvW8IZ4gAXimhE=", "narHash": "sha256-0LcPAdql5IhQSUXJx3Zna0dYTgdIoYO7zUrsKgiBd04=",
"owner": "oxalica", "owner": "oxalica",
"repo": "rust-overlay", "repo": "rust-overlay",
"rev": "f335a0213504c7e6481c359dc1009be9cf34432c", "rev": "9dd940c967502f844eacea52a61e9596268d4f70",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -627,11 +675,11 @@
"starship-src": { "starship-src": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1698919886, "lastModified": 1702177269,
"narHash": "sha256-rV1Sf5MbmHVn8sUEn07STsSdXoPZClTqGp3Tmkvp1+0=", "narHash": "sha256-jFWhMoMEGIx3wgGQneqc2pLtCXC+Yfdzy70BCVJS2h4=",
"owner": "starship", "owner": "starship",
"repo": "starship", "repo": "starship",
"rev": "6abc83decdf176842985b4daa5b09771c6b93415", "rev": "f7da09d2d1666a13cb8d3e773b1ba9b0b0fa8130",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -685,14 +733,29 @@
"type": "github" "type": "github"
} }
}, },
"systems_4": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"terminal-themes": { "terminal-themes": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1697035060, "lastModified": 1701144126,
"narHash": "sha256-Qctds28CIMeyIc6VbWj1jEAlx/HZyBEZJj7u3aZeBog=", "narHash": "sha256-0VBgcQmoxDeHduWXdaS3DpHkKOqjpNcvC0K58OmRBNg=",
"owner": "mbadolato", "owner": "mbadolato",
"repo": "iTerm2-Color-Schemes", "repo": "iTerm2-Color-Schemes",
"rev": "aed2a8f0565a51913e8ddc1731f25bc71978a1e0", "rev": "53acae071801e0de6ed160315869abb9bdaf20fa",
"type": "github" "type": "github"
}, },
"original": { "original": {

View File

@ -15,6 +15,8 @@
disko.url = "github:nix-community/disko"; disko.url = "github:nix-community/disko";
disko.inputs.nixpkgs.follows = "nixpkgs"; disko.inputs.nixpkgs.follows = "nixpkgs";
ghostty.url = "github:clo4/ghostty-hm-module"; ghostty.url = "github:clo4/ghostty-hm-module";
mac-app-util.url = "github:hraban/mac-app-util";
mac-app-util.inputs.nixpkgs.follows = "nixpkgs";
# "flag" for toggling homebrew operations # "flag" for toggling homebrew operations
# https://www.mat.services/posts/command-line-flake-arguments/ # https://www.mat.services/posts/command-line-flake-arguments/

10
home/copy-apps.nix Normal file
View File

@ -0,0 +1,10 @@
{ pkgs, lib, ... }:
let mac-app-util = lib.getExe' pkgs.mac-app-util "mac-app-util";
in {
home.activation.trampolineApps = lib.mkIf pkgs.stdenv.isDarwin
(lib.hm.dag.entryAfter [ "writeBoundary" ] ''
fromDir="$HOME/Applications/Home Manager Apps"
toDir="$HOME/Applications/Home Manager Trampolines"
${mac-app-util} sync-trampolines "$fromDir" "$toDir"
'');
}

View File

@ -4,6 +4,8 @@
home.enableNixpkgsReleaseCheck = true; home.enableNixpkgsReleaseCheck = true;
home.stateVersion = "22.05"; home.stateVersion = "22.05";
imports = [ imports = [
# fix app copying on darwin
./copy-apps.nix
# misc file configuration # misc file configuration
./files.nix ./files.nix
# misc program configuration # misc program configuration
@ -16,7 +18,6 @@
./kitty.nix ./kitty.nix
./pijul.nix ./pijul.nix
./ssh.nix ./ssh.nix
# ./starship-symbols.nix
./starship.nix ./starship.nix
]; ];
}; };

View File

@ -36,7 +36,7 @@ in {
colors-path = lib.mkOption { colors-path = lib.mkOption {
type = lib.types.path; type = lib.types.path;
default = "${pkgs.terminal-colors}/kitty"; default = "${pkgs.terminal-themes}/kitty";
description = "Path from which to load kitty colors."; description = "Path from which to load kitty colors.";
}; };

View File

@ -140,9 +140,15 @@ in {
nsh = "nix shell"; nsh = "nix shell";
nrp = "nix repl --expr '{ pkgs = (import <nixpkgs> { }); }'"; nrp = "nix repl --expr '{ pkgs = (import <nixpkgs> { }); }'";
g = "git"; g = "git";
ga = "git add";
gc = "git commit";
gd = "git diff";
gl = "git log";
gp = "git push";
stage = "git add ."; stage = "git add .";
commit = "git commit"; commit = "git commit";
push = "git push"; push = "git push";
pull = "git pull";
} // lib.optionalAttrs pkgs.stdenv.isDarwin { } // lib.optionalAttrs pkgs.stdenv.isDarwin {
tb = "toggle-background"; tb = "toggle-background";
sb = "set-background-to-macOS"; sb = "set-background-to-macOS";

View File

@ -1,29 +1,30 @@
{ flake, pkgs, lib, ... }: { flake, pkgs, lib, ... }: {
let font = "Rec Mono Duotone";
in {
imports = [ flake.inputs.ghostty.homeModules.default ]; imports = [ flake.inputs.ghostty.homeModules.default ];
programs.ghostty = { programs.ghostty = {
enable = true; enable = true;
# ghostty is externally managed for now # ghostty is externally managed for now
package = null; package = null;
settings = { settings = let font = "RecMonoDuotone Nerd Font";
in {
# TODO: auto-theme # TODO: auto-theme
config-file = [ "${pkgs.terminal-themes}/ghostty/rose-pine" ]; config-file = [ "${pkgs.terminal-themes}/ghostty/rose-pine" ];
# TODO: powerline replacements
font-family = font; font-family = font;
font-family-bold = "${font} Bold"; # font-family-bold = "${font} Bold";
font-family-italic = "${font} Italic"; # font-family-italic = "${font} Italic";
font-family-bold-italic = "${font} Bold Italic"; # font-family-bold-italic = "${font} Bold Italic";
# font-codepoint-map =
# "U+E5FA-U+E62B,U+E700-U+E7C5,U+F000-U+F2E0,U+E200-U+E2A9,U+F500-U+FD46,U+E300-U+E3EB,U+F400-U+F4A8,U+2665,U+26a1,U+F27C,U+E0A3,U+E0B4-U+E0C8,U+E0CA,U+E0CC-U+E0D2,U+E0D4,U+23FB-U+23FE,U+2B58,U+F300-U+F313,U+E000-U+E00D=RecMonoDuotone Nerd Font";
font-size = 15; font-size = 15;
background-opacity = 0.95; background-opacity = 0.95;
unfocused-split-opacity = 0.8; unfocused-split-opacity = 0.8;
window-decoration = true; window-decoration = true;
window-padding-x = 10; window-padding-x = 10;
window-padding-y = 10; window-padding-y = 10;
# use system clipboard on e.g. macOS window-inherit-working-directory = false;
copy-on-select = "clipboard"; working-directory = "home";
} // lib.optionalAttrs pkgs.stdenv.isDarwin { } // lib.optionalAttrs pkgs.stdenv.isDarwin {
copy-on-select = "clipboard";
background-blur-radius = 20; background-blur-radius = 20;
macos-non-native-fullscreen = "visible-menu"; macos-non-native-fullscreen = "visible-menu";
macos-option-as-alt = true; macos-option-as-alt = true;

View File

@ -13,7 +13,7 @@
render = true; render = true;
skip-levels = 1; skip-levels = 1;
}; };
line-number = "relative"; line-number = "absolute";
soft-wrap.enable = true; soft-wrap.enable = true;
whitespace.render = { whitespace.render = {
space = "none"; space = "none";

View File

@ -3,7 +3,7 @@
home.packages = builtins.attrValues ({ home.packages = builtins.attrValues ({
inherit (pkgs) inherit (pkgs)
# GUI apps # GUI apps
discord-ptb obsidian slack zoom-us discord-ptb obsidian rectangle slack utm zoom-us
# system tools # system tools
curl wget curl wget
@ -37,6 +37,8 @@
tarsnap tarsnap
# terminal color support testing # terminal color support testing
terminal-colors terminal-colors
# (La)TeX alternative
typst
# extract RAR archives # extract RAR archives
unrar unrar
# extract XZ archives # extract XZ archives
@ -82,6 +84,8 @@
enable = true; enable = true;
config = { style = "auto"; }; config = { style = "auto"; };
}; };
# multi-shell / multi-command argument completion daemon
carapace.enable = true;
# load and unload environment variables depending on the current directory # load and unload environment variables depending on the current directory
direnv = { direnv = {
enable = true; enable = true;

View File

@ -1,72 +0,0 @@
{ lib, ... }:
let inherit (lib) mkDefault;
in {
programs.starship.settings = {
aws.symbol = mkDefault " ";
battery = {
full_symbol = mkDefault "";
charging_symbol = mkDefault "";
discharging_symbol = mkDefault "";
unknown_symbol = mkDefault "";
empty_symbol = mkDefault "";
};
cmake.symbol = mkDefault " ";
conda.symbol = mkDefault " ";
crystal.symbol = mkDefault " ";
dart.symbol = mkDefault " ";
directory.read_only = mkDefault " ";
docker_context.symbol = mkDefault " ";
dotnet.symbol = mkDefault " ";
elixir.symbol = mkDefault " ";
elm.symbol = mkDefault " ";
erlang.symbol = mkDefault " ";
gcloud.symbol = mkDefault " ";
git_branch.symbol = mkDefault " ";
git_commit.tag_symbol = mkDefault " ";
git_status = {
format = mkDefault "([$all_status$ahead_behind]($style) )";
conflicted = mkDefault " ";
ahead = mkDefault " ";
behind = mkDefault " ";
diverged = mkDefault " ";
untracked = mkDefault " ";
stashed = mkDefault " ";
modified = mkDefault " ";
staged = mkDefault " ";
renamed = mkDefault " ";
deleted = mkDefault " ";
};
golang.symbol = mkDefault " ";
helm.symbol = mkDefault " ";
hg_branch.symbol = mkDefault " ";
java.symbol = mkDefault " ";
julia.symbol = mkDefault " ";
kotlin.symbol = mkDefault " ";
kubernetes.symbol = mkDefault " ";
lua.symbol = mkDefault " ";
memory_usage.symbol = mkDefault " ";
nim.symbol = mkDefault " ";
nix_shell.symbol = mkDefault " ";
nodejs.symbol = mkDefault " ";
openstack.symbol = mkDefault " ";
package.symbol = mkDefault " ";
perl.symbol = mkDefault " ";
php.symbol = mkDefault " ";
purescript.symbol = mkDefault "<> ";
python.symbol = mkDefault " ";
ruby.symbol = mkDefault " ";
rust.symbol = mkDefault " ";
shlvl.symbol = mkDefault " ";
status = {
symbol = mkDefault " ";
not_executable_symbol = mkDefault " ";
not_found_symbol = mkDefault " ";
sigint_symbol = mkDefault " ";
signal_symbol = mkDefault " ";
};
swift.symbol = mkDefault " ";
terraform.symbol = mkDefault "𝗧 ";
vagrant.symbol = mkDefault "𝗩 ";
zig.symbol = mkDefault " ";
};
}

View File

@ -14,6 +14,13 @@ inputs: self: super: {
ia-writer-family = self.callPackage ./ia-writer-family.nix { ia-writer-family = self.callPackage ./ia-writer-family.nix {
inherit (inputs) ia-writer-family-src; inherit (inputs) ia-writer-family-src;
}; };
mac-app-util =
inputs.mac-app-util.packages.${super.stdenv.system}.default.overrideAttrs
(old: {
postInstall = old.postInstall + ''
wrapProgram "$out/bin/mac-app-util" --suffix PATH : "${super.jq}/bin"
'';
});
recursive-patched = self.callPackage ./recursive-patched.nix { }; recursive-patched = self.callPackage ./recursive-patched.nix { };
yubiswitch = self.callPackage ./yubiswitch.nix { }; yubiswitch = self.callPackage ./yubiswitch.nix { };
} }

View File

@ -5,6 +5,9 @@ stdenv.mkDerivation {
nativeBuildInputs = [ nerd-font-patcher ]; nativeBuildInputs = [ nerd-font-patcher ];
buildPhase = '' buildPhase = ''
find -name RecMono\*.ttf -execdir nerd-font-patcher -c {} \; find -name RecMono\*.ttf -execdir nerd-font-patcher -c {} \;
find -name \*CslSt\* -delete
find -name \*LnrSt\* -delete
''; '';
installPhase = "cp -a . $out"; installPhase = "cp -a . $out";
inherit (recursive) meta;
} }