10 Commits

9 changed files with 364 additions and 15 deletions

View File

@@ -0,0 +1,100 @@
k9s:
body:
fgColor: '#cdd6f4'
bgColor: '#1e1e2e'
logoColor: '#cba6f7'
prompt:
fgColor: '#cdd6f4'
bgColor: '#181825'
suggestColor: '#89b4fa'
help:
fgColor: '#cdd6f4'
bgColor: '#1e1e2e'
sectionColor: '#a6e3a1'
keyColor: '#89b4fa'
numKeyColor: '#eba0ac'
frame:
title:
fgColor: '#94e2d5'
bgColor: '#1e1e2e'
highlightColor: '#f5c2e7'
counterColor: '#f9e2af'
filterColor: '#a6e3a1'
border:
fgColor: '#cba6f7'
focusColor: '#b4befe'
menu:
fgColor: '#cdd6f4'
keyColor: '#89b4fa'
numKeyColor: '#eba0ac'
crumbs:
fgColor: '#1e1e2e'
bgColor: '#eba0ac'
activeColor: '#f2cdcd'
status:
newColor: '#89b4fa'
modifyColor: '#b4befe'
addColor: '#a6e3a1'
pendingColor: '#fab387'
errorColor: '#f38ba8'
highlightColor: '#89dceb'
killColor: '#cba6f7'
completedColor: '#6c7086'
info:
fgColor: '#fab387'
sectionColor: '#cdd6f4'
views:
table:
fgColor: '#cdd6f4'
bgColor: '#1e1e2e'
cursorFgColor: '#313244'
cursorBgColor: '#45475a'
markColor: '#f5e0dc'
header:
fgColor: '#f9e2af'
bgColor: '#1e1e2e'
sorterColor: '#89dceb'
xray:
fgColor: '#cdd6f4'
bgColor: '#1e1e2e'
cursorColor: '#45475a'
cursorTextColor: '#1e1e2e'
graphicColor: '#f5c2e7'
charts:
bgColor: '#1e1e2e'
chartBgColor: '#1e1e2e'
dialBgColor: '#1e1e2e'
defaultDialColors:
- '#a6e3a1'
- '#f38ba8'
defaultChartColors:
- '#a6e3a1'
- '#f38ba8'
resourceColors:
cpu:
- '#cba6f7'
- '#89b4fa'
mem:
- '#f9e2af'
- '#fab387'
yaml:
keyColor: '#89b4fa'
valueColor: '#cdd6f4'
colonColor: '#a6adc8'
logs:
fgColor: '#cdd6f4'
bgColor: '#1e1e2e'
indicator:
fgColor: '#b4befe'
bgColor: '#1e1e2e'
toggleOnColor: '#a6e3a1'
toggleOffColor: '#a6adc8'
dialog:
fgColor: '#f9e2af'
bgColor: '#9399b2'
buttonFgColor: '#1e1e2e'
buttonBgColor: '#7f849c'
buttonFocusFgColor: '#1e1e2e'
buttonFocusBgColor: '#f5c2e7'
labelFgColor: '#f5e0dc'
fieldFgColor: '#cdd6f4'

View File

@@ -12,6 +12,9 @@ return {
-- { import = "astrocommunity.pack.go "}, -- golang support -- { import = "astrocommunity.pack.go "}, -- golang support
{ import = "astrocommunity.pack.fish" }, -- fish support { import = "astrocommunity.pack.fish" }, -- fish support
-- { import = "astrocommunity.pack.cs" }, -- csharp/dotnet support -- { import = "astrocommunity.pack.cs" }, -- csharp/dotnet support
{ import = "astrocommunity.completion.copilot-lua" }, -- copilot
{ import = "astrocommunity.completion.copilot-lua-cmp" }, -- copilot
{ import = "astrocommunity.recipes.heirline-mode-text-statusline" }, -- statusline customization
-- import/override with your plugins folder -- import/override with your plugins folder
} }

View File

@@ -0,0 +1,43 @@
local function toggle_floating_tui(cmd)
local terminal
return function()
if not terminal then
local Terminal = require("toggleterm.terminal").Terminal
terminal = Terminal:new {
cmd = cmd,
hidden = true,
close_on_exit = true,
direction = "float",
on_open = function() vim.cmd "startinsert!" end,
}
end
terminal:toggle()
end
end
local toggle_k9s = toggle_floating_tui "k9s"
local toggle_ghdash = toggle_floating_tui "gh-dash"
return {
{
"AstroNvim/astrocore",
---@type AstroCoreOpts
opts = {
mappings = {
n = {
["<Leader>k"] = { desc = "Kubernetes" },
["<Leader>ki"] = {
toggle_k9s,
desc = "K9s",
},
["<Leader>gD"] = {
toggle_ghdash,
desc = "GitHub dashboard",
},
},
},
},
},
}

145
flake.lock generated
View File

@@ -59,6 +59,22 @@
"type": "github" "type": "github"
} }
}, },
"flake-compat_2": {
"flake": false,
"locked": {
"lastModified": 1761588595,
"narHash": "sha256-XKUZz9zewJNUj46b4AJdiRZJAvSZ0Dqj2BNfXvFlJC4=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "f387cd2afec9419c8ee37694406ca490c3f34ee5",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"flake-schemas": { "flake-schemas": {
"locked": { "locked": {
"lastModified": 1761577921, "lastModified": 1761577921,
@@ -87,6 +103,89 @@
"url": "https://flakehub.com/f/DeterminateSystems/flake-schemas/%2A" "url": "https://flakehub.com/f/DeterminateSystems/flake-schemas/%2A"
} }
}, },
"flake-utils": {
"inputs": {
"systems": "systems"
},
"locked": {
"lastModified": 1701680307,
"narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "4022d587cbbfd70fe950c1e2083a02621806a725",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"git-hooks": {
"inputs": {
"flake-compat": "flake-compat_2",
"gitignore": "gitignore",
"nixpkgs": [
"go-overlay",
"nixpkgs"
]
},
"locked": {
"lastModified": 1765016596,
"narHash": "sha256-rhSqPNxDVow7OQKi4qS5H8Au0P4S3AYbawBSmJNUtBQ=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "548fc44fca28a5e81c5d6b846e555e6b9c2a5a3c",
"type": "github"
},
"original": {
"owner": "cachix",
"repo": "git-hooks.nix",
"type": "github"
}
},
"gitignore": {
"inputs": {
"nixpkgs": [
"go-overlay",
"git-hooks",
"nixpkgs"
]
},
"locked": {
"lastModified": 1709087332,
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
"owner": "hercules-ci",
"repo": "gitignore.nix",
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "gitignore.nix",
"type": "github"
}
},
"go-overlay": {
"inputs": {
"flake-utils": "flake-utils",
"git-hooks": "git-hooks",
"nixpkgs": "nixpkgs_2"
},
"locked": {
"lastModified": 1775676807,
"narHash": "sha256-l7B5l6cGBZoW4bs+4Zq/FMgxaZWWJqdUDkCVuH98hMY=",
"owner": "purpleclay",
"repo": "go-overlay",
"rev": "c5bd812957211f42c207da6b1415f49de30e183f",
"type": "github"
},
"original": {
"owner": "purpleclay",
"repo": "go-overlay",
"type": "github"
}
},
"home-manager": { "home-manager": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@@ -141,6 +240,22 @@
} }
}, },
"nixpkgs_2": { "nixpkgs_2": {
"locked": {
"lastModified": 1765779637,
"narHash": "sha256-KJ2wa/BLSrTqDjbfyNx70ov/HdgNBCBBSQP3BIzKnv4=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "1306659b587dc277866c7b69eb97e5f07864d8c4",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_3": {
"locked": { "locked": {
"lastModified": 1774244481, "lastModified": 1774244481,
"narHash": "sha256-4XfMXU0DjN83o6HWZoKG9PegCvKvIhNUnRUI19vzTcQ=", "narHash": "sha256-4XfMXU0DjN83o6HWZoKG9PegCvKvIhNUnRUI19vzTcQ=",
@@ -156,7 +271,7 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_3": { "nixpkgs_4": {
"locked": { "locked": {
"lastModified": 1744536153, "lastModified": 1744536153,
"narHash": "sha256-awS2zRgF4uTwrOKwwiJcByDzDOdo3Q1rPZbiHQg/N38=", "narHash": "sha256-awS2zRgF4uTwrOKwwiJcByDzDOdo3Q1rPZbiHQg/N38=",
@@ -172,7 +287,7 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_4": { "nixpkgs_5": {
"locked": { "locked": {
"lastModified": 1766201043, "lastModified": 1766201043,
"narHash": "sha256-eplAP+rorKKd0gNjV3rA6+0WMzb1X1i16F5m5pASnjA=", "narHash": "sha256-eplAP+rorKKd0gNjV3rA6+0WMzb1X1i16F5m5pASnjA=",
@@ -186,7 +301,7 @@
"url": "https://flakehub.com/f/NixOS/nixpkgs/%2A" "url": "https://flakehub.com/f/NixOS/nixpkgs/%2A"
} }
}, },
"nixpkgs_5": { "nixpkgs_6": {
"locked": { "locked": {
"lastModified": 1769089682, "lastModified": 1769089682,
"narHash": "sha256-9yA/LIuAVQq0lXelrZPjLuLVuZdm03p8tfmHhnDIkms=", "narHash": "sha256-9yA/LIuAVQq0lXelrZPjLuLVuZdm03p8tfmHhnDIkms=",
@@ -204,9 +319,10 @@
"inputs": { "inputs": {
"aagl": "aagl", "aagl": "aagl",
"darwin": "darwin", "darwin": "darwin",
"go-overlay": "go-overlay",
"home-manager": "home-manager", "home-manager": "home-manager",
"nix-flatpak": "nix-flatpak", "nix-flatpak": "nix-flatpak",
"nixpkgs": "nixpkgs_2", "nixpkgs": "nixpkgs_3",
"rust-overlay": "rust-overlay_2", "rust-overlay": "rust-overlay_2",
"swaytreesave": "swaytreesave", "swaytreesave": "swaytreesave",
"vintage-story": "vintage-story" "vintage-story": "vintage-story"
@@ -232,7 +348,7 @@
}, },
"rust-overlay_2": { "rust-overlay_2": {
"inputs": { "inputs": {
"nixpkgs": "nixpkgs_3" "nixpkgs": "nixpkgs_4"
}, },
"locked": { "locked": {
"lastModified": 1774321696, "lastModified": 1774321696,
@@ -251,7 +367,7 @@
"swaytreesave": { "swaytreesave": {
"inputs": { "inputs": {
"flake-schemas": "flake-schemas", "flake-schemas": "flake-schemas",
"nixpkgs": "nixpkgs_4" "nixpkgs": "nixpkgs_5"
}, },
"locked": { "locked": {
"lastModified": 1767148467, "lastModified": 1767148467,
@@ -267,10 +383,25 @@
"url": "https://scm.wyattjmiller.com/wymiller/swaytreesave-nix.git" "url": "https://scm.wyattjmiller.com/wymiller/swaytreesave-nix.git"
} }
}, },
"systems": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"vintage-story": { "vintage-story": {
"inputs": { "inputs": {
"flake-schemas": "flake-schemas_2", "flake-schemas": "flake-schemas_2",
"nixpkgs": "nixpkgs_5" "nixpkgs": "nixpkgs_6"
}, },
"locked": { "locked": {
"lastModified": 1769397199, "lastModified": 1769397199,

View File

@@ -12,6 +12,7 @@
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
rust-overlay.url = "github:oxalica/rust-overlay"; rust-overlay.url = "github:oxalica/rust-overlay";
go-overlay.url = "github:purpleclay/go-overlay";
aagl = { aagl = {
url = "github:ezKEa/aagl-gtk-on-nix"; url = "github:ezKEa/aagl-gtk-on-nix";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
@@ -29,6 +30,7 @@
darwin, darwin,
home-manager, home-manager,
rust-overlay, rust-overlay,
go-overlay,
aagl, aagl,
swaytreesave, swaytreesave,
vintage-story, vintage-story,
@@ -43,6 +45,7 @@
myOverlays = { ... }: { myOverlays = { ... }: {
nixpkgs.overlays = [ nixpkgs.overlays = [
rust-overlay.overlays.default rust-overlay.overlays.default
go-overlay.overlays.default
aagl.overlays.default aagl.overlays.default
self.common.overlays self.common.overlays
]; ];
@@ -230,6 +233,7 @@
{ {
nixpkgs.overlays = [ nixpkgs.overlays = [
rust-overlay.overlays.default rust-overlay.overlays.default
go-overlay.overlays.default
self.common.overlays self.common.overlays
]; ];
} }

View File

@@ -7,7 +7,7 @@
liveViewAutoRefresh = false; liveViewAutoRefresh = false;
apiServerTimeout = "30s"; apiServerTimeout = "30s";
maxConnRetry = 5; maxConnRetry = 5;
readOnly = true; # readOnly = true;
noExitOnCtrlC = false; noExitOnCtrlC = false;
portForwardAddress = "localhost"; portForwardAddress = "localhost";
skipLatestRevCheck = false; skipLatestRevCheck = false;

View File

@@ -11,5 +11,6 @@ lib.mkIf pkgs.stdenv.isLinux {
gpu-screen-recorder gpu-screen-recorder
gpu-screen-recorder-gtk gpu-screen-recorder-gtk
inetutils inetutils
easyeffects
]; ];
} }

View File

@@ -18,7 +18,6 @@
fh fh
kubectl # kube config is deliberately not included kubectl # kube config is deliberately not included
kubectx kubectx
obsidian
vscode vscode
yt-dlp yt-dlp
weechat weechat
@@ -29,5 +28,10 @@
deadnix deadnix
alejandra alejandra
statix statix
gh
ghDashLatest
diffNavLatest
] ++ lib.optionals isNixOS [
obsidian
]; ];
} }

View File

@@ -1,19 +1,23 @@
final: prev: let final: prev: let
# Use latest rust from overlay which should work on non-NixOS
rust_latest = prev.rust-bin.stable.latest.default; rust_latest = prev.rust-bin.stable.latest.default;
golang_latest = prev.go-bin.latestStable;
buildGoModuleLatest = prev.buildGoModule.override {
go = golang_latest;
};
myRustPlatform = prev.makeRustPlatform { myRustPlatform = prev.makeRustPlatform {
cargo = rust_latest; cargo = rust_latest;
rustc = rust_latest; rustc = rust_latest;
}; };
in { in {
lazygitLatest = prev.lazygit.overrideAttrs (_: rec { lazygitLatest = prev.lazygit.overrideAttrs (_: rec {
version = "0.55.1"; version = "0.61.0";
src = prev.fetchFromGitHub { src = prev.fetchFromGitHub {
owner = "jesseduffield"; owner = "jesseduffield";
repo = "lazygit"; repo = "lazygit";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-UofhgILZhVXnYiGpb25m4Ct4sbu5pRmjVgj3oEf5Uyk="; hash = "sha256-G7JulCK9WUVWbp1V7lYuM3fehCdn1cNAJHYjr3aKDvQ=";
}; };
vendorHash = null; vendorHash = null;
subPackages = [ "." ]; subPackages = [ "." ];
ldflags = [ ldflags = [
@@ -25,21 +29,31 @@ in {
atuinLatest = (prev.atuin.override { atuinLatest = (prev.atuin.override {
rustPlatform = myRustPlatform; rustPlatform = myRustPlatform;
}).overrideAttrs (oldAttrs: rec { }).overrideAttrs (oldAttrs: rec {
version = "18.10.0"; version = "18.13.6";
src = prev.fetchFromGitHub { src = prev.fetchFromGitHub {
owner = "atuinsh"; owner = "atuinsh";
repo = "atuin"; repo = "atuin";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-bfSa3RtVXxHt3usDqqpE/oXKKDUZOrf+tD9uL59fr6M="; hash = "sha256-yAw+ty6FUnFbiRTdAe2QQHzj6uU24fZ/bEIXcHl/thg=";
}; };
cargoDeps = myRustPlatform.fetchCargoVendor { cargoDeps = myRustPlatform.fetchCargoVendor {
# name = "atuin-${version}-vendor.tar.gz"; # name = "atuin-${version}-vendor.tar.gz";
inherit src; inherit src;
hash = "sha256-67ffivZVCly1GWA3fJ9mT8nGv2EGd6eCthbaIu/IW3M="; hash = "sha256-jirVe0+N5+UHZWioj8AipUhawMBameqEJJpa8HPTnfw=";
}; };
cargoBuildFeatures = [
"ai"
"client"
"clipboard"
"daemon"
"hex"
"sync"
];
cargoCheckFeatures = cargoBuildFeatures;
preCheck = (oldAttrs.preCheck or "") + '' preCheck = (oldAttrs.preCheck or "") + ''
export HOME="$TMPDIR" export HOME="$TMPDIR"
export XDG_CONFIG_HOME="$TMPDIR/.config" export XDG_CONFIG_HOME="$TMPDIR/.config"
@@ -62,4 +76,53 @@ in {
# "-X github.com/derailed/k9s/version.BuildSource=nix" # "-X github.com/derailed/k9s/version.BuildSource=nix"
# ]; # ];
# }); # });
ghDashLatest = (prev.gh-dash.override {
buildGoModule = buildGoModuleLatest;
}).overrideAttrs (oldAttrs: rec {
version = "4.23.2";
src = prev.fetchFromGitHub {
owner = "dlvhdr";
repo = "gh-dash";
rev = "v${version}";
hash = "sha256-C06LPVoE23ITJpMG0x75Djgeup+eb5uYwA8wL7xxvWU=";
};
vendorHash = "sha256-4AbeoH0l7eIS7d0yyJxM7+woC7Q/FCh0BOJj3d1zyX4=";
doCheck = false;
checkFlags = [
"-skip=TestFullOutput"
];
ldflags = [
"-s"
"-w"
"-X github.com/dlvhdr/gh-dash/v4/cmd.Version=${version}"
];
passthru = (oldAttrs.passthru or {}) // {
tests = {
version = oldAttrs.testers.testVersion { package = final.ghDashLatest; };
};
};
});
diffNavLatest = (prev.diffnav.override {
buildGoModule = buildGoModuleLatest;
}).overrideAttrs (_: rec {
version = "0.10.0";
src = prev.fetchFromGitHub {
owner = "dlvhdr";
repo = "diffnav";
rev = "v${version}";
hash = "sha256-6VtAQzZNLQrf8QYVXxLUgb3F6xguFDbwaE9kahPhbSE=";
};
vendorHash = "sha256-gmmckzR0D1oFuTG5TAb6gLMoNbcZl9EsjbFjhPfJqnQ=";
ldflags = [
"-s"
"-w"
];
});
} }