This commit is contained in:
2025-08-04 15:32:54 +02:00
parent 6e381f0b99
commit 3ae535f1b1
7 changed files with 103 additions and 114 deletions

View File

@@ -5,8 +5,6 @@
... ...
}: }:
# Original source: https://gist.github.com/antifuchs/10138c4d838a63c0a05e725ccd7bccdd
with lib; with lib;
let let
cfg = config.local.dock; cfg = config.local.dock;

View File

@@ -20,7 +20,8 @@ in
name = "${user}"; name = "${user}";
home = "/Users/${user}"; home = "/Users/${user}";
isHidden = false; isHidden = false;
shell = pkgs.zsh; shell = pkgs.fish;
ignoreShellProgramCheck = true;
}; };
homebrew = { homebrew = {

View File

@@ -8,4 +8,5 @@ shared-packages
_1password-gui _1password-gui
dockutil dockutil
raycast raycast
neovim
] ]

View File

@@ -13,33 +13,4 @@ in
age.identityPaths = [ age.identityPaths = [
"/Users/${user}/.ssh/id_ed25519" "/Users/${user}/.ssh/id_ed25519"
]; ];
# Your secrets go here
#
# Note: the installWithSecrets command you ran to boostrap the machine actually copies over
# a Github key pair. However, if you want to store the keypair in your nix-secrets repo
# instead, you can reference the age files and specify the symlink path here. Then add your
# public key in shared/files.nix.
#
# If you change the key name, you'll need to update the SSH configuration in shared/home-manager.nix
# so Github reads it correctly.
#
# age.secrets."github-ssh-key" = {
# symlink = true;
# path = "/Users/${user}/.ssh/id_github";
# file = "${secrets}/github-ssh-key.age";
# mode = "600";
# owner = "${user}";
# group = "staff";
# };
# age.secrets."github-signing-key" = {
# symlink = false;
# path = "/Users/${user}/.ssh/pgp_github.key";
# file = "${secrets}/github-signing-key.age";
# mode = "600";
# owner = "${user}";
# };
} }

View File

@@ -1,7 +1,8 @@
$env.PATH = [ $env.PATH = [
($env.HOME | path join ".local" "bin"), ($env.HOME | path join ".local" "bin"),
($env.HOME | path join ".scripts"), ($env.HOME | path join ".scripts"),
"/opt/homebrew/bin" "/run/current-system/sw/bin",
"/nix/var/nix/profiles/default/bin"
] ++ $env.PATH ] ++ $env.PATH
$env.EDITOR = "nvim" $env.EDITOR = "nvim"

View File

@@ -11,69 +11,54 @@ let
email = "christoph@schmatzler.com"; email = "christoph@schmatzler.com";
in in
{ {
ghostty = { ssh = {
enable = true; enable = true;
package = pkgs.ghostty-bin; includes = [
settings = { (lib.mkIf pkgs.stdenv.hostPlatform.isLinux "/home/${user}/.ssh/config_external")
command = "${pkgs.nushell}/bin/nu"; (lib.mkIf pkgs.stdenv.hostPlatform.isDarwin "/Users/${user}/.ssh/config_external")
theme = "catppuccin-latte";
window-padding-x = 8;
window-padding-y = 2;
window-padding-balance = true;
font-family = "Iosevka";
font-size = 15.5;
font-feature = [
"-calt"
"-dlig"
]; ];
cursor-style = "block"; matchBlocks = {
mouse-hide-while-typing = true; "github.com" = {
mouse-scroll-multiplier = 1.25; identitiesOnly = true;
shell-integration = "detect"; identityFile = [
shell-integration-features = "no-cursor"; (lib.mkIf pkgs.stdenv.hostPlatform.isLinux "/home/${user}/.ssh/id_github")
(lib.mkIf pkgs.stdenv.hostPlatform.isDarwin "/Users/${user}/.ssh/id_github")
keybind = [
"global:ctrl+shift+space=toggle_quick_terminal"
"shift+enter=text:\\n"
"ctrl+one=goto_tab:1"
"ctrl+two=goto_tab:2"
"ctrl+three=goto_tab:3"
"ctrl+four=goto_tab:4"
"ctrl+five=goto_tab:5"
"ctrl+six=goto_tab:6"
"ctrl+seven=goto_tab:7"
"ctrl+eight=goto_tab:8"
"ctrl+nine=goto_tab:9"
"ctrl+left=previous_tab"
"ctrl+right=next_tab"
"ctrl+h=previous_tab"
"ctrl+l=next_tab"
"ctrl+shift+left=goto_split:left"
"ctrl+shift+right=goto_split:right"
"ctrl+shift+h=goto_split:left"
"ctrl+shift+j=goto_split:down"
"ctrl+shift+k=goto_split:up"
"ctrl+shift+l=goto_split:right"
"ctrl+shift+enter=new_split:right"
"ctrl+t=new_tab"
"ctrl+w=close_tab"
"ctrl+shift+w=close_surface"
]; ];
}; };
}; };
};
git = {
enable = true;
ignores = [ "*.swp" ];
userName = name;
userEmail = email;
lfs = {
enable = true;
};
extraConfig = {
init.defaultBranch = "main";
core = {
editor = "vim";
autocrlf = "input";
};
# commit.gpgsign = true;
pull.rebase = true;
rebase.autoStash = true;
};
};
fish = {
enable = true;
};
zsh = { zsh = {
enable = true; enable = true;
}; };
nushell = {
enable = true;
configFile.source = ./.../config/config.nu;
};
starship = { starship = {
enable = true; enable = true;
enableNushellIntegration = true; enableFishIntegration = true;
settings = { settings = {
add_newline = true; add_newline = true;
command_timeout = 750; command_timeout = 750;
@@ -131,40 +116,67 @@ in
}; };
}; };
git = { zoxide = {
enable = true; enable = true;
ignores = [ "*.swp" ]; enableFishIntegration = true;
userName = name; };
userEmail = email;
lfs = { atuin = {
enable = true;
enableFishIntegration = true;
daemon = {
enable = true; enable = true;
};
extraConfig = {
init.defaultBranch = "main";
core = {
editor = "vim";
autocrlf = "input";
};
commit.gpgsign = true;
pull.rebase = true;
rebase.autoStash = true;
}; };
}; };
ssh = { ghostty = {
enable = true; enable = true;
includes = [ package = pkgs.ghostty-bin;
(lib.mkIf pkgs.stdenv.hostPlatform.isLinux "/home/${user}/.ssh/config_external") settings = {
(lib.mkIf pkgs.stdenv.hostPlatform.isDarwin "/Users/${user}/.ssh/config_external") command = "${pkgs.fish}/bin/fish";
theme = "catppuccin-latte";
window-padding-x = 8;
window-padding-y = 2;
window-padding-balance = true;
font-family = "Iosevka";
font-size = 15.5;
font-feature = [
"-calt"
"-dlig"
]; ];
matchBlocks = { cursor-style = "block";
"github.com" = { mouse-hide-while-typing = true;
identitiesOnly = true; mouse-scroll-multiplier = 1.25;
identityFile = [ shell-integration = "detect";
(lib.mkIf pkgs.stdenv.hostPlatform.isLinux "/home/${user}/.ssh/id_github") shell-integration-features = "no-cursor";
(lib.mkIf pkgs.stdenv.hostPlatform.isDarwin "/Users/${user}/.ssh/id_github")
keybind = [
"global:ctrl+shift+space=toggle_quick_terminal"
"shift+enter=text:\\n"
"ctrl+one=goto_tab:1"
"ctrl+two=goto_tab:2"
"ctrl+three=goto_tab:3"
"ctrl+four=goto_tab:4"
"ctrl+five=goto_tab:5"
"ctrl+six=goto_tab:6"
"ctrl+seven=goto_tab:7"
"ctrl+eight=goto_tab:8"
"ctrl+nine=goto_tab:9"
"ctrl+left=previous_tab"
"ctrl+right=next_tab"
"ctrl+h=previous_tab"
"ctrl+l=next_tab"
"ctrl+shift+left=goto_split:left"
"ctrl+shift+right=goto_split:right"
"ctrl+shift+h=goto_split:left"
"ctrl+shift+j=goto_split:down"
"ctrl+shift+k=goto_split:up"
"ctrl+shift+l=goto_split:right"
"ctrl+shift+enter=new_split:right"
"ctrl+t=new_tab"
"ctrl+w=close_tab"
"ctrl+shift+w=close_surface"
]; ];
}; };
}; };
};
} }

View File

@@ -4,9 +4,11 @@ with pkgs;
[ [
age age
age-plugin-yubikey age-plugin-yubikey
atuin
bat bat
docker docker
docker-compose docker-compose
fish
gnupg gnupg
iosevka iosevka
jjui jjui
@@ -14,6 +16,7 @@ with pkgs;
jujutsu jujutsu
killall killall
libfido2 libfido2
neovim
nixfmt nixfmt
nodejs_24 nodejs_24
openssh openssh
@@ -22,6 +25,8 @@ with pkgs;
tree tree
unrar unrar
unzip unzip
vivid
wget wget
zip zip
zoxide
] ]