9 Commits

8 changed files with 71 additions and 59 deletions

View File

@@ -1,5 +1,7 @@
local function toggle_floating_tui(cmd) local function toggle_tui(cmd, direction, size)
local terminal local terminal
local dir = direction or "float"
local term_size = size
return function() return function()
if not terminal then if not terminal then
@@ -8,17 +10,19 @@ local function toggle_floating_tui(cmd)
cmd = cmd, cmd = cmd,
hidden = true, hidden = true,
close_on_exit = true, close_on_exit = true,
direction = "float", direction = dir,
on_open = function() vim.cmd "startinsert!" end, on_open = function() vim.cmd "startinsert!" end,
} }
end end
terminal:toggle() terminal:toggle(term_size, dir)
end end
end end
local toggle_k9s = toggle_floating_tui "k9s" local toggle_k9s = toggle_tui "k9s"
local toggle_ghdash = toggle_floating_tui "gh-dash" local toggle_ghdash = toggle_tui "gh-dash"
local toggle_ai_opencode = toggle_tui("opencode", "vertical", 80)
local toggle_ai_copilot = toggle_tui("copilot", "vertical", 80)
return { return {
{ {
@@ -36,6 +40,15 @@ return {
toggle_ghdash, toggle_ghdash,
desc = "GitHub dashboard", desc = "GitHub dashboard",
}, },
["<Leader>a"] = { desc = "AI" },
["<Leader>ao"] = {
toggle_ai_opencode,
desc = "opencode",
},
["<Leader>ag"] = {
toggle_ai_copilot,
desc = "GH Copilot",
},
}, },
}, },
}, },

81
flake.lock generated
View File

@@ -9,11 +9,11 @@
"rust-overlay": "rust-overlay" "rust-overlay": "rust-overlay"
}, },
"locked": { "locked": {
"lastModified": 1774186997, "lastModified": 1777475243,
"narHash": "sha256-hyNVlhAqmwcBPl7XRkxbGcMt1BfCOdvuEfBDUf0k8Oo=", "narHash": "sha256-EiCeDGJewyWq2Mtdt5m8qyo/W5PXVUCacLuZJ/diBQ8=",
"owner": "ezKEa", "owner": "ezKEa",
"repo": "aagl-gtk-on-nix", "repo": "aagl-gtk-on-nix",
"rev": "546e95f7ec74892a31f883a10b1723c35f2c2edd", "rev": "12e7b06163456e4c3685ee83b8fdc277fe03bdc8",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -29,16 +29,16 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1772129556, "lastModified": 1780789116,
"narHash": "sha256-Utk0zd8STPsUJPyjabhzPc5BpPodLTXrwkpXBHYnpeg=", "narHash": "sha256-+/LcDMJGYQVLp3ECZ1jBhj3GcQU+Yt+OTsDsQFz8cMs=",
"owner": "lnl7", "owner": "lnl7",
"repo": "nix-darwin", "repo": "nix-darwin",
"rev": "ebec37af18215214173c98cf6356d0aca24a2585", "rev": "731951a251ca96cbd12a8e1bde63737e21947644",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "lnl7", "owner": "lnl7",
"ref": "nix-darwin-25.11", "ref": "nix-darwin-26.05",
"repo": "nix-darwin", "repo": "nix-darwin",
"type": "github" "type": "github"
} }
@@ -170,14 +170,14 @@
"inputs": { "inputs": {
"flake-utils": "flake-utils", "flake-utils": "flake-utils",
"git-hooks": "git-hooks", "git-hooks": "git-hooks",
"nixpkgs": "nixpkgs_2" "nixpkgs": "nixpkgs"
}, },
"locked": { "locked": {
"lastModified": 1775676807, "lastModified": 1777487930,
"narHash": "sha256-l7B5l6cGBZoW4bs+4Zq/FMgxaZWWJqdUDkCVuH98hMY=", "narHash": "sha256-vdB1KmqUuUmzr0H1JI491jvuninmuSkeaARwBsTHM58=",
"owner": "purpleclay", "owner": "purpleclay",
"repo": "go-overlay", "repo": "go-overlay",
"rev": "c5bd812957211f42c207da6b1415f49de30e183f", "rev": "aa92d14492077f331898bd8ed671765ef5a5884e",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -193,16 +193,16 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1774274588, "lastModified": 1780883961,
"narHash": "sha256-dnHvv5EMUgTzGZmA+3diYjQU2O6BEpGLEOgJ1Qe9LaY=", "narHash": "sha256-WU6SUrESuPiEXEUvX4D51AgWrXRJty+sLJBwBaDBGqE=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "cf9686ba26f5ef788226843bc31fda4cf72e373b", "rev": "4eb4fec41674d5b059aa2eedf0f98453890546fa",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nix-community", "owner": "nix-community",
"ref": "release-25.11", "ref": "release-26.05",
"repo": "home-manager", "repo": "home-manager",
"type": "github" "type": "github"
} }
@@ -224,22 +224,6 @@
} }
}, },
"nixpkgs": { "nixpkgs": {
"locked": {
"lastModified": 1744536153,
"narHash": "sha256-awS2zRgF4uTwrOKwwiJcByDzDOdo3Q1rPZbiHQg/N38=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "18dd725c29603f582cf1900e0d25f9f1063dbf11",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1765779637, "lastModified": 1765779637,
"narHash": "sha256-KJ2wa/BLSrTqDjbfyNx70ov/HdgNBCBBSQP3BIzKnv4=", "narHash": "sha256-KJ2wa/BLSrTqDjbfyNx70ov/HdgNBCBBSQP3BIzKnv4=",
@@ -255,23 +239,23 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_3": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1774244481, "lastModified": 1780902259,
"narHash": "sha256-4XfMXU0DjN83o6HWZoKG9PegCvKvIhNUnRUI19vzTcQ=", "narHash": "sha256-q8yYEC5f1mFlQO9RGna4LTc9QrcvWunX6FYp83munkQ=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "4590696c8693fea477850fe379a01544293ca4e2", "rev": "bd0ff2d3eac24699c3664d5966b9ef36f388e2ca",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nixos", "owner": "nixos",
"ref": "nixos-25.11", "ref": "nixos-26.05",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
}, },
"nixpkgs_4": { "nixpkgs_3": {
"locked": { "locked": {
"lastModified": 1744536153, "lastModified": 1744536153,
"narHash": "sha256-awS2zRgF4uTwrOKwwiJcByDzDOdo3Q1rPZbiHQg/N38=", "narHash": "sha256-awS2zRgF4uTwrOKwwiJcByDzDOdo3Q1rPZbiHQg/N38=",
@@ -287,7 +271,7 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_5": { "nixpkgs_4": {
"locked": { "locked": {
"lastModified": 1766201043, "lastModified": 1766201043,
"narHash": "sha256-eplAP+rorKKd0gNjV3rA6+0WMzb1X1i16F5m5pASnjA=", "narHash": "sha256-eplAP+rorKKd0gNjV3rA6+0WMzb1X1i16F5m5pASnjA=",
@@ -301,7 +285,7 @@
"url": "https://flakehub.com/f/NixOS/nixpkgs/%2A" "url": "https://flakehub.com/f/NixOS/nixpkgs/%2A"
} }
}, },
"nixpkgs_6": { "nixpkgs_5": {
"locked": { "locked": {
"lastModified": 1769089682, "lastModified": 1769089682,
"narHash": "sha256-9yA/LIuAVQq0lXelrZPjLuLVuZdm03p8tfmHhnDIkms=", "narHash": "sha256-9yA/LIuAVQq0lXelrZPjLuLVuZdm03p8tfmHhnDIkms=",
@@ -322,7 +306,7 @@
"go-overlay": "go-overlay", "go-overlay": "go-overlay",
"home-manager": "home-manager", "home-manager": "home-manager",
"nix-flatpak": "nix-flatpak", "nix-flatpak": "nix-flatpak",
"nixpkgs": "nixpkgs_3", "nixpkgs": "nixpkgs_2",
"rust-overlay": "rust-overlay_2", "rust-overlay": "rust-overlay_2",
"swaytreesave": "swaytreesave", "swaytreesave": "swaytreesave",
"vintage-story": "vintage-story" "vintage-story": "vintage-story"
@@ -330,7 +314,10 @@
}, },
"rust-overlay": { "rust-overlay": {
"inputs": { "inputs": {
"nixpkgs": "nixpkgs" "nixpkgs": [
"aagl",
"nixpkgs"
]
}, },
"locked": { "locked": {
"lastModified": 1770952264, "lastModified": 1770952264,
@@ -348,14 +335,14 @@
}, },
"rust-overlay_2": { "rust-overlay_2": {
"inputs": { "inputs": {
"nixpkgs": "nixpkgs_4" "nixpkgs": "nixpkgs_3"
}, },
"locked": { "locked": {
"lastModified": 1774321696, "lastModified": 1777432579,
"narHash": "sha256-g18xMjMNla/nsF5XyQCNyWmtb2UlZpkY0XE8KinIXAA=", "narHash": "sha256-Ce11TStDsqCge2vAAfLKe2+4lDI5cSX5ZYZOuKJBKKQ=",
"owner": "oxalica", "owner": "oxalica",
"repo": "rust-overlay", "repo": "rust-overlay",
"rev": "49a67e6894d4cb782842ee6faa466aa90c92812d", "rev": "3ecb5e6ab380ced3272ef7fcfe398bffbcc0f152",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -367,7 +354,7 @@
"swaytreesave": { "swaytreesave": {
"inputs": { "inputs": {
"flake-schemas": "flake-schemas", "flake-schemas": "flake-schemas",
"nixpkgs": "nixpkgs_5" "nixpkgs": "nixpkgs_4"
}, },
"locked": { "locked": {
"lastModified": 1767148467, "lastModified": 1767148467,
@@ -401,7 +388,7 @@
"vintage-story": { "vintage-story": {
"inputs": { "inputs": {
"flake-schemas": "flake-schemas_2", "flake-schemas": "flake-schemas_2",
"nixpkgs": "nixpkgs_6" "nixpkgs": "nixpkgs_5"
}, },
"locked": { "locked": {
"lastModified": 1769397199, "lastModified": 1769397199,

View File

@@ -1,14 +1,14 @@
{ {
description = "Wyatt's nix configuration suite"; description = "Wyatt's nix configuration suite";
inputs = { inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.11"; nixpkgs.url = "github:nixos/nixpkgs/nixos-26.05";
nix-flatpak.url = "github:gmodena/nix-flatpak/?ref=v0.6.0"; nix-flatpak.url = "github:gmodena/nix-flatpak/?ref=v0.6.0";
home-manager = { home-manager = {
url = "github:nix-community/home-manager/release-25.11"; url = "github:nix-community/home-manager/release-26.05";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
darwin = { darwin = {
url = "github:lnl7/nix-darwin/nix-darwin-25.11"; url = "github:lnl7/nix-darwin/nix-darwin-26.05";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
rust-overlay.url = "github:oxalica/rust-overlay"; rust-overlay.url = "github:oxalica/rust-overlay";

View File

@@ -13,11 +13,15 @@
userEmail = userEmail; userEmail = userEmail;
extraConfig = { extraConfig = {
commit.gpgsign = true;
gpg.format = "ssh";
gpg.ssh.allowedSignersFile = "~/.config/git/allowed_signers";
init.defaultBranch = "master"; init.defaultBranch = "master";
push.autoSetupRemote = true;
pull.rebase = false;
merge.tool = "nvimdiff"; merge.tool = "nvimdiff";
mergetool.keepBackup = false; mergetool.keepBackup = false;
push.autoSetupRemote = true;
pull.rebase = false;
user.signingkey = "~/.ssh/id_ed25519_sk.pub";
}; };
ignores = [ ignores = [

View File

@@ -4,6 +4,7 @@
package = pkgs.lazygitLatest; package = pkgs.lazygitLatest;
settings = { settings = {
gui.skipDiscardChangeWarning = true;
gui.theme = { gui.theme = {
activeBorderColor = ["#a6e3a1" "bold"]; activeBorderColor = ["#a6e3a1" "bold"];
inactiveBorderColor = ["#a6adc8"]; inactiveBorderColor = ["#a6adc8"];

View File

@@ -31,7 +31,6 @@
body = '' body = ''
set memes \ set memes \
"Crazy? I was crazy once. They locked me in a room. A rubber room. A rubber room with rats. And rats make me crazy." \ "Crazy? I was crazy once. They locked me in a room. A rubber room. A rubber room with rats. And rats make me crazy." \
"Daddy, chill!" \
"What the hell is even that?!" \ "What the hell is even that?!" \
"Road work ahead? Yeah, I sure hope it does!" \ "Road work ahead? Yeah, I sure hope it does!" \
"Look at all those chickens!" \ "Look at all those chickens!" \
@@ -40,7 +39,6 @@
"I didn't get no sleep cause of y'all, y'all not gone get any sleep cause of me!" \ "I didn't get no sleep cause of y'all, y'all not gone get any sleep cause of me!" \
"This is the dollar store, how good can it be?" \ "This is the dollar store, how good can it be?" \
"That was legitness" \ "That was legitness" \
"Deez nuts" \
"I wanna be a cowboy baby" \ "I wanna be a cowboy baby" \
"Can I get a waffle? Can I please get a waffle?" \ "Can I get a waffle? Can I please get a waffle?" \
"I'm lesbian. I thought you were American." \ "I'm lesbian. I thought you were American." \

View File

@@ -25,6 +25,7 @@ in {
../../graphics ../../graphics
../../pwrMgmt ../../pwrMgmt
../../networking/core.nix ../../networking/core.nix
../../security/yubico.nix
../../sound/pipewire.nix ../../sound/pipewire.nix
../../sound/shairport.nix ../../sound/shairport.nix
../../sound/focusrite.nix ../../sound/focusrite.nix

View File

@@ -0,0 +1,8 @@
{
...
}: let in {
security.pam.services = {
login.u2fAuth = true;
sudo.u2fAuth = true;
};
}