updates again
Signed-off-by: Michael Thomson <michael@michaelthomson.dev>
This commit is contained in:
parent
a2ab0fce66
commit
239fba826b
@ -16,6 +16,7 @@
|
|||||||
../../modules/home-manager/syncthing
|
../../modules/home-manager/syncthing
|
||||||
../../modules/home-manager/email
|
../../modules/home-manager/email
|
||||||
../../modules/home-manager/password-store
|
../../modules/home-manager/password-store
|
||||||
|
../../modules/home-manager/kubernetes.nix
|
||||||
];
|
];
|
||||||
home.username = "mthomson";
|
home.username = "mthomson";
|
||||||
home.homeDirectory = "/home/mthomson";
|
home.homeDirectory = "/home/mthomson";
|
||||||
@ -44,11 +45,6 @@
|
|||||||
pasystray
|
pasystray
|
||||||
networkmanagerapplet
|
networkmanagerapplet
|
||||||
mangohud
|
mangohud
|
||||||
kubectl
|
|
||||||
k9s
|
|
||||||
kubeseal
|
|
||||||
velero
|
|
||||||
fluxcd
|
|
||||||
zoom-us
|
zoom-us
|
||||||
crawl
|
crawl
|
||||||
obsidian
|
obsidian
|
||||||
|
@ -6,6 +6,7 @@
|
|||||||
}: {
|
}: {
|
||||||
imports = [
|
imports = [
|
||||||
inputs.home-manager.darwinModules.default
|
inputs.home-manager.darwinModules.default
|
||||||
|
../../modules/nix-darwin/system.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
nixpkgs.hostPlatform = "aarch64-darwin";
|
nixpkgs.hostPlatform = "aarch64-darwin";
|
||||||
@ -53,6 +54,7 @@
|
|||||||
extraSpecialArgs = {inherit inputs;};
|
extraSpecialArgs = {inherit inputs;};
|
||||||
useGlobalPkgs = true;
|
useGlobalPkgs = true;
|
||||||
useUserPackages = true;
|
useUserPackages = true;
|
||||||
|
backupFileExtension = "backup";
|
||||||
users = {
|
users = {
|
||||||
mthomson = import ./home.nix;
|
mthomson = import ./home.nix;
|
||||||
};
|
};
|
||||||
|
@ -9,10 +9,10 @@
|
|||||||
../../modules/home-manager/kitty
|
../../modules/home-manager/kitty
|
||||||
../../modules/home-manager/zsh
|
../../modules/home-manager/zsh
|
||||||
../../modules/home-manager/tmux
|
../../modules/home-manager/tmux
|
||||||
../../modules/home-manager/zoxide
|
|
||||||
../../modules/home-manager/email
|
../../modules/home-manager/email
|
||||||
../../modules/home-manager/password-store
|
../../modules/home-manager/password-store
|
||||||
../../modules/home-manager/taskwarrior
|
../../modules/home-manager/taskwarrior
|
||||||
|
../../modules/home-manager/kubernetes.nix
|
||||||
];
|
];
|
||||||
home.username = "mthomson";
|
home.username = "mthomson";
|
||||||
home.homeDirectory = "/Users/mthomson";
|
home.homeDirectory = "/Users/mthomson";
|
||||||
@ -37,35 +37,16 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
go = {
|
jq = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
lazygit = {
|
||||||
enable = true;
|
enable = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
btop
|
|
||||||
neofetch
|
|
||||||
jq
|
|
||||||
tldr
|
tldr
|
||||||
cowsay
|
|
||||||
lazygit
|
|
||||||
k9s
|
|
||||||
nb
|
|
||||||
w3m
|
|
||||||
kubectl
|
|
||||||
k9s
|
|
||||||
kubeseal
|
|
||||||
velero
|
|
||||||
fluxcd
|
|
||||||
wireguard-tools
|
|
||||||
kompose
|
|
||||||
inetutils
|
|
||||||
_1password-cli
|
|
||||||
calcurse
|
|
||||||
glow
|
|
||||||
gcc
|
|
||||||
nchat
|
|
||||||
emanote
|
|
||||||
];
|
];
|
||||||
|
|
||||||
programs.home-manager.enable = true;
|
programs.home-manager.enable = true;
|
||||||
|
@ -6,8 +6,9 @@
|
|||||||
programs.kitty = {
|
programs.kitty = {
|
||||||
enable = true;
|
enable = true;
|
||||||
font = {
|
font = {
|
||||||
name = "JetBrainsMono Nerd Font";
|
name = "JetBrainsMono Nerd Font Mono";
|
||||||
size = 12;
|
size = 12;
|
||||||
|
package = pkgs.nerdfonts.override {fonts = ["JetBrainsMono"];};
|
||||||
};
|
};
|
||||||
shellIntegration = {
|
shellIntegration = {
|
||||||
enableZshIntegration = true;
|
enableZshIntegration = true;
|
||||||
|
19
modules/home-manager/kubernetes.nix
Normal file
19
modules/home-manager/kubernetes.nix
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
kubectl
|
||||||
|
kubeseal
|
||||||
|
velero
|
||||||
|
fluxcd
|
||||||
|
kompose
|
||||||
|
];
|
||||||
|
|
||||||
|
programs = {
|
||||||
|
k9s = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
@ -90,6 +90,196 @@
|
|||||||
key = "<leader>zn";
|
key = "<leader>zn";
|
||||||
action = "<cmd>ZkNew<CR>";
|
action = "<cmd>ZkNew<CR>";
|
||||||
}
|
}
|
||||||
|
# gitsigns
|
||||||
|
{
|
||||||
|
mode = "n";
|
||||||
|
key = "]c";
|
||||||
|
action.__raw = ''
|
||||||
|
function()
|
||||||
|
if vim.wo.diff then
|
||||||
|
vim.cmd.normal { ']c', bang = true }
|
||||||
|
else
|
||||||
|
require('gitsigns').nav_hunk 'next'
|
||||||
|
end
|
||||||
|
end
|
||||||
|
'';
|
||||||
|
options = {
|
||||||
|
desc = "Jump to next git [C]hange";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = "n";
|
||||||
|
key = "[c";
|
||||||
|
action.__raw = ''
|
||||||
|
function()
|
||||||
|
if vim.wo.diff then
|
||||||
|
vim.cmd.normal { '[c', bang = true }
|
||||||
|
else
|
||||||
|
require('gitsigns').nav_hunk 'prev'
|
||||||
|
end
|
||||||
|
end
|
||||||
|
'';
|
||||||
|
options = {
|
||||||
|
desc = "Jump to previous git [C]hange";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = "v";
|
||||||
|
key = "<leader>hs";
|
||||||
|
action.__raw = ''
|
||||||
|
function()
|
||||||
|
require('gitsigns').stage_hunk { vim.fn.line '.', vim.fn.line 'v' }
|
||||||
|
end
|
||||||
|
'';
|
||||||
|
options = {
|
||||||
|
desc = "stage git hunk";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = "v";
|
||||||
|
key = "<leader>hr";
|
||||||
|
action.__raw = ''
|
||||||
|
function()
|
||||||
|
require('gitsigns').reset_hunk { vim.fn.line '.', vim.fn.line 'v' }
|
||||||
|
end
|
||||||
|
'';
|
||||||
|
options = {
|
||||||
|
desc = "reset git hunk";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = "n";
|
||||||
|
key = "<leader>hs";
|
||||||
|
action.__raw = ''
|
||||||
|
function()
|
||||||
|
require('gitsigns').stage_hunk()
|
||||||
|
end
|
||||||
|
'';
|
||||||
|
options = {
|
||||||
|
desc = "git [s]tage hunk";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = "n";
|
||||||
|
key = "<leader>hr";
|
||||||
|
action.__raw = ''
|
||||||
|
function()
|
||||||
|
require('gitsigns').reset_hunk()
|
||||||
|
end
|
||||||
|
'';
|
||||||
|
options = {
|
||||||
|
desc = "git [r]eset hunk";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = "n";
|
||||||
|
key = "<leader>hS";
|
||||||
|
action.__raw = ''
|
||||||
|
function()
|
||||||
|
require('gitsigns').stage_buffer()
|
||||||
|
end
|
||||||
|
'';
|
||||||
|
options = {
|
||||||
|
desc = "git [S]tage buffer";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = "n";
|
||||||
|
key = "<leader>hu";
|
||||||
|
action.__raw = ''
|
||||||
|
function()
|
||||||
|
require('gitsigns').undo_stage_hunk()
|
||||||
|
end
|
||||||
|
'';
|
||||||
|
options = {
|
||||||
|
desc = "git [u]ndo stage hunk";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = "n";
|
||||||
|
key = "<leader>hR";
|
||||||
|
action.__raw = ''
|
||||||
|
function()
|
||||||
|
require('gitsigns').reset_buffer()
|
||||||
|
end
|
||||||
|
'';
|
||||||
|
options = {
|
||||||
|
desc = "git [R]eset buffer";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = "n";
|
||||||
|
key = "<leader>hp";
|
||||||
|
action.__raw = ''
|
||||||
|
function()
|
||||||
|
require('gitsigns').preview_hunk()
|
||||||
|
end
|
||||||
|
'';
|
||||||
|
options = {
|
||||||
|
desc = "git [p]review hunk";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = "n";
|
||||||
|
key = "<leader>hb";
|
||||||
|
action.__raw = ''
|
||||||
|
function()
|
||||||
|
require('gitsigns').blame_line()
|
||||||
|
end
|
||||||
|
'';
|
||||||
|
options = {
|
||||||
|
desc = "git [b]lame line";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = "n";
|
||||||
|
key = "<leader>hd";
|
||||||
|
action.__raw = ''
|
||||||
|
function()
|
||||||
|
require('gitsigns').diffthis()
|
||||||
|
end
|
||||||
|
'';
|
||||||
|
options = {
|
||||||
|
desc = "git [d]iff against index";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = "n";
|
||||||
|
key = "<leader>hD";
|
||||||
|
action.__raw = ''
|
||||||
|
function()
|
||||||
|
require('gitsigns').diffthis '@'
|
||||||
|
end
|
||||||
|
'';
|
||||||
|
options = {
|
||||||
|
desc = "git [D]iff against last commit";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
# Toggles
|
||||||
|
{
|
||||||
|
mode = "n";
|
||||||
|
key = "<leader>tb";
|
||||||
|
action.__raw = ''
|
||||||
|
function()
|
||||||
|
require('gitsigns').toggle_current_line_blame()
|
||||||
|
end
|
||||||
|
'';
|
||||||
|
options = {
|
||||||
|
desc = "[T]oggle git show [b]lame line";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = "n";
|
||||||
|
key = "<leader>tD";
|
||||||
|
action.__raw = ''
|
||||||
|
function()
|
||||||
|
require('gitsigns').toggle_deleted()
|
||||||
|
end
|
||||||
|
'';
|
||||||
|
options = {
|
||||||
|
desc = "[T]oggle git show [D]eleted";
|
||||||
|
};
|
||||||
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
plugins = {
|
plugins = {
|
||||||
|
21
modules/home-manager/nushell.nix
Normal file
21
modules/home-manager/nushell.nix
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
programs = {
|
||||||
|
fzf = {
|
||||||
|
enable = true;
|
||||||
|
tmux = {
|
||||||
|
enableShellIntegration = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
nushell = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
zoxide = {
|
||||||
|
enable = true;
|
||||||
|
enableNushellIntegration = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
@ -1,12 +0,0 @@
|
|||||||
{
|
|
||||||
pkgs,
|
|
||||||
config,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
programs = {
|
|
||||||
zoxide = {
|
|
||||||
enable = true;
|
|
||||||
enableZshIntegration = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
@ -1,6 +1,7 @@
|
|||||||
{
|
{
|
||||||
pkgs,
|
pkgs,
|
||||||
config,
|
config,
|
||||||
|
lib,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
programs = {
|
programs = {
|
||||||
@ -44,6 +45,66 @@
|
|||||||
starship = {
|
starship = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enableZshIntegration = true;
|
enableZshIntegration = true;
|
||||||
|
settings = {
|
||||||
|
format = lib.concatStrings [
|
||||||
|
"$username"
|
||||||
|
"$hostname"
|
||||||
|
"$directory"
|
||||||
|
"$git_branch"
|
||||||
|
"$git_state"
|
||||||
|
"$git_status"
|
||||||
|
"$cmd_duration"
|
||||||
|
"$line_break"
|
||||||
|
"$python"
|
||||||
|
"$character"
|
||||||
|
];
|
||||||
|
|
||||||
|
directory = {
|
||||||
|
style = "blue";
|
||||||
|
};
|
||||||
|
|
||||||
|
character = {
|
||||||
|
success_symbol = "[❯](purple)";
|
||||||
|
error_symbol = "[❯](red)";
|
||||||
|
vimcmd_symbol = "[❮](green)";
|
||||||
|
};
|
||||||
|
|
||||||
|
git_branch = {
|
||||||
|
format = "[$branch]($style)";
|
||||||
|
style = "bright-black";
|
||||||
|
};
|
||||||
|
|
||||||
|
git_status = {
|
||||||
|
format = "[[(*$conflicted$untracked$modified$staged$renamed$deleted)](218) ($ahead_behind$stashed)]($style)";
|
||||||
|
style = "cyan";
|
||||||
|
conflicted = "";
|
||||||
|
untracked = "";
|
||||||
|
modified = "";
|
||||||
|
staged = "";
|
||||||
|
renamed = "";
|
||||||
|
deleted = "";
|
||||||
|
stashed = "≡";
|
||||||
|
};
|
||||||
|
|
||||||
|
git_state = {
|
||||||
|
format = "\([$state( $progress_current/$progress_total)]($style)\) ";
|
||||||
|
style = "bright-black";
|
||||||
|
};
|
||||||
|
|
||||||
|
cmd_duration = {
|
||||||
|
format = "[$duration]($style) ";
|
||||||
|
style = "yellow";
|
||||||
|
};
|
||||||
|
|
||||||
|
python = {
|
||||||
|
format = "[$virtualenv]($style) ";
|
||||||
|
style = "bright-black";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
zoxide = {
|
||||||
|
enable = true;
|
||||||
|
enableZshIntegration = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
20
modules/nix-darwin/system.nix
Normal file
20
modules/nix-darwin/system.nix
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
{
|
||||||
|
system.defaults = {
|
||||||
|
finder = {
|
||||||
|
AppleShowAllExtensions = true;
|
||||||
|
AppleShowAllFiles = true;
|
||||||
|
CreateDesktop = false;
|
||||||
|
NewWindowTarget = "Home";
|
||||||
|
QuitMenuItem = true;
|
||||||
|
ShowExternalHardDrivesOnDesktop = false;
|
||||||
|
ShowHardDrivesOnDesktop = false;
|
||||||
|
ShowMountedServersOnDesktop = false;
|
||||||
|
ShowPathbar = true;
|
||||||
|
ShowRemovableMediaOnDesktop = false;
|
||||||
|
};
|
||||||
|
dock = {
|
||||||
|
autohide = true;
|
||||||
|
autohide-delay = 0.0;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user