32 Commits

Author SHA1 Message Date
1070f65c6e mod: start neovim refactoring 2026-07-12 15:27:37 -04:00
884999f719 added tailscale 2026-07-01 09:33:23 -04:00
d3dbf8583a mod: fixed valefor 2026-06-16 00:38:35 -04:00
cf2a710a79 Merge pull request 'Personal NUR' (#11) from nix-self-hosted into master
Reviewed-on: #11
2026-06-12 01:08:39 -05:00
927628a576 Merge remote-tracking branch 'origin' into nix-self-hosted 2026-06-12 02:10:32 -04:00
0b16eaf3b0 Merge pull request '📦 Nixpkgs 26.05' (#12) from 26.05-move into master
Reviewed-on: #12
2026-06-12 00:29:05 -05:00
c89fc1366d mod: remove unmaintained packages 2026-06-10 19:47:05 -04:00
4c29cc3bfc mod: update nixpkgs, nix-darwin, home-manager to 26.05 2026-06-08 22:01:09 -04:00
ad717d64b8 mod: add personal nix user repository
switched out all personal flakes, inputs
2026-06-08 21:55:50 -04:00
4acbd22078 add: ai agent harnesses
currently copilot and opencode for starters, might be more
2026-05-27 22:27:50 -04:00
75982f5f5e removed some memes 2026-05-21 20:13:29 -04:00
ce65a70de4 Merge branch 'master' of https://scm.wyattjmiller.com/wymiller/nix-config-v2 2026-05-21 13:16:41 -04:00
8567e7b671 added git signing 2026-05-21 13:16:31 -04:00
a1f37f6b19 added yubico security module 2026-05-15 23:54:55 -04:00
9fa85be412 flake update 2026-05-07 21:49:43 -04:00
23500b07fa lazygit skip discard warning 2026-05-07 21:49:27 -04:00
fdf4e5e1b9 Merge pull request 'overlay-update' (#10) from overlay-update into master
Reviewed-on: #10
2026-04-14 19:11:09 -05:00
67648eda89 Merge branch 'master' into overlay-update 2026-04-14 19:11:01 -05:00
76ac41a965 update community packages 2026-04-14 16:04:17 -04:00
5c70cdc20f Merge pull request 'Neovim editor updates' (#9) from wm/term-editor-updates into master
Reviewed-on: #9
2026-04-10 20:37:34 -05:00
c21066e810 added k9s skin, modified k9s settings 2026-04-10 17:02:30 -04:00
93b15391ca feat: added k9s, gh-dash to nvim config 2026-04-10 16:36:47 -04:00
317571499e update atuin, lazygit
there are overlays and are out of date
2026-04-09 10:29:20 -04:00
971a263963 Merge branch 'master' of https://scm.wyattjmiller.com/wymiller/nix-config-v2 2026-04-09 09:44:52 -04:00
2fb3e2867c added overlay packages, added go overlay
needed go overlay for diffnav
2026-04-09 09:44:50 -04:00
4492dcdff5 added easyeffects 2026-04-08 19:53:03 -04:00
7d8dcee57c Merge pull request 'Thancred (Game server)' (#8) from thancred into master
Reviewed-on: #8
2026-04-04 22:25:32 -05:00
3bd43f72a2 Merge branch 'master' into thancred 2026-04-02 13:00:37 -05:00
915ecc73e8 fixed new aliases 2026-03-25 11:33:20 -04:00
43c5308feb added more git aliases 2026-03-25 02:11:06 -04:00
a1c0407f02 update flake lock 2026-03-24 20:13:51 -04:00
33f590b214 added systemd service for vintagestory-server 2026-03-23 21:46:54 -04:00
22 changed files with 731 additions and 154 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.fish" }, -- fish 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
}

View File

@@ -0,0 +1,56 @@
local function toggle_tui(cmd, direction, size)
local terminal
local dir = direction or "float"
local term_size = size
return function()
if not terminal then
local Terminal = require("toggleterm.terminal").Terminal
terminal = Terminal:new {
cmd = cmd,
hidden = true,
close_on_exit = true,
direction = dir,
on_open = function() vim.cmd "startinsert!" end,
}
end
terminal:toggle(term_size, dir)
end
end
local toggle_k9s = toggle_tui "k9s"
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 {
{
"AstroNvim/astrocore",
---@type AstroCoreOpts
opts = {
mappings = {
n = {
["<Leader>k"] = { desc = "Kubernetes" },
["<Leader>ki"] = {
toggle_k9s,
desc = "K9s",
},
["<Leader>gD"] = {
toggle_ghdash,
desc = "GitHub dashboard",
},
["<Leader>a"] = { desc = "AI" },
["<Leader>ao"] = {
toggle_ai_opencode,
desc = "opencode",
},
["<Leader>ag"] = {
toggle_ai_copilot,
desc = "GH Copilot",
},
},
},
},
},
}

View File

@@ -198,8 +198,8 @@ bindsym XF86AudioMicMute exec pactl set-source-mute @DEFAULT_SOURCE@ toggle
bindsym XF86AudioPlay exec playerctl play-pause
bindsym XF86AudioNext exec playerctl next
bindsym XF86AudioPrev exec playerctl previous
bindsym XF86MonBrightnessUp exec light -A 5
bindsym XF86MonBrightnessDown exec light -U 5
bindsym XF86MonBrightnessUp exec brightnessctl set +5%
bindsym XF86MonBrightnessDown exec brightnessctl set 5%-
### Lock the screen
bindsym $mod+Ctrl+q 'swaylock -f -i /home/wyatt/.wallpaper/.wallpaper_lock.png'

405
flake.lock generated
View File

@@ -9,11 +9,11 @@
"rust-overlay": "rust-overlay"
},
"locked": {
"lastModified": 1771170334,
"narHash": "sha256-tCgoCWORfNHaRXTh2QS44LwxlV8q28jVvjN5ioMicv8=",
"lastModified": 1780372639,
"narHash": "sha256-VFzXYHlIGwO4h4ovtnpZj9sX/Qu6+dlI00sXjHdwi2w=",
"owner": "ezKEa",
"repo": "aagl-gtk-on-nix",
"rev": "821b4f92c2c0981ea5b571b03403df87d2b2e2ae",
"rev": "1ee1e8864a1fcfcc21a5fb5af4bd328b3c829f42",
"type": "github"
},
"original": {
@@ -29,16 +29,37 @@
]
},
"locked": {
"lastModified": 1767634391,
"narHash": "sha256-owcSz2ICqTSvhBbhPP+1eWzi88e54rRZtfCNE5E/wwg=",
"lastModified": 1781190061,
"narHash": "sha256-QRMpLbsmlciMGv4yx75FUoIl54K02JbIX1tgdPHPw1s=",
"owner": "lnl7",
"repo": "nix-darwin",
"rev": "08585aacc3d6d6c280a02da195fdbd4b9cf083c2",
"rev": "f2b3fdb347f91dfd344ad196666a0b0fe8aad05c",
"type": "github"
},
"original": {
"owner": "lnl7",
"ref": "nix-darwin-25.11",
"ref": "nix-darwin-26.05",
"repo": "nix-darwin",
"type": "github"
}
},
"darwin_2": {
"inputs": {
"nixpkgs": [
"nur",
"nixpkgs"
]
},
"locked": {
"lastModified": 1779036909,
"narHash": "sha256-zXcwYQGCT6pzinK+1dBB2ekTVtfxGZAapb3Evdcu4fY=",
"owner": "LnL7",
"repo": "nix-darwin",
"rev": "56c666e108467d87d13508936aade6d567f2a501",
"type": "github"
},
"original": {
"owner": "LnL7",
"repo": "nix-darwin",
"type": "github"
}
@@ -59,32 +80,137 @@
"type": "github"
}
},
"flake-schemas": {
"flake-compat_2": {
"flake": false,
"locked": {
"lastModified": 1761577921,
"narHash": "sha256-eK3/xbUOrxp9fFlei09XNjqcdiHXxndzrTXp7jFpOk8=",
"rev": "47849c7625e223d36766968cc6dc23ba0e135922",
"revCount": 107,
"type": "tarball",
"url": "https://api.flakehub.com/f/pinned/DeterminateSystems/flake-schemas/0.2.0/019a4a84-544d-7c59-b26d-e334e320c932/source.tar.gz"
"lastModified": 1767039857,
"narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=",
"owner": "NixOS",
"repo": "flake-compat",
"rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab",
"type": "github"
},
"original": {
"type": "tarball",
"url": "https://flakehub.com/f/DeterminateSystems/flake-schemas/%2A"
"owner": "NixOS",
"repo": "flake-compat",
"type": "github"
}
},
"flake-schemas_2": {
"flake-compat_3": {
"flake": false,
"locked": {
"lastModified": 1761577921,
"narHash": "sha256-eK3/xbUOrxp9fFlei09XNjqcdiHXxndzrTXp7jFpOk8=",
"rev": "47849c7625e223d36766968cc6dc23ba0e135922",
"revCount": 107,
"type": "tarball",
"url": "https://api.flakehub.com/f/pinned/DeterminateSystems/flake-schemas/0.2.0/019a4a84-544d-7c59-b26d-e334e320c932/source.tar.gz"
"lastModified": 1777699697,
"narHash": "sha256-Eg9b/rq/ECYwNwEXs5i9wHyhxNI0JrYx2srdI2uZMaQ=",
"ref": "refs/heads/main",
"rev": "382052b74656a369c5408822af3f2501e9b1af81",
"revCount": 94,
"type": "git",
"url": "https://git.lix.systems/lix-project/flake-compat.git"
},
"original": {
"type": "tarball",
"url": "https://flakehub.com/f/DeterminateSystems/flake-schemas/%2A"
"type": "git",
"url": "https://git.lix.systems/lix-project/flake-compat.git"
}
},
"flake-utils": {
"inputs": {
"systems": "systems"
},
"locked": {
"lastModified": 1731533236,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_2": {
"inputs": {
"systems": "systems_2"
},
"locked": {
"lastModified": 1731533236,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"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": 1778507602,
"narHash": "sha256-kTwur1wV+01SdqskVMSo6JMEpg71ps3HpbFY2GsflKs=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "61ab0e80d9c7ab14c256b5b453d8b3fb0189ba0a",
"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"
},
"locked": {
"lastModified": 1781239934,
"narHash": "sha256-bK84gDc7MgPdoQfr4k1oSIsdA9pSXVjEc3QPpVFGRPs=",
"owner": "purpleclay",
"repo": "go-overlay",
"rev": "efc8ba6788ff0736cc2098d7c588d58819a927e7",
"type": "github"
},
"original": {
"owner": "purpleclay",
"repo": "go-overlay",
"type": "github"
}
},
"home-manager": {
@@ -94,20 +220,53 @@
]
},
"locked": {
"lastModified": 1770260404,
"narHash": "sha256-3iVX1+7YUIt23hBx1WZsUllhbmP2EnXrV8tCRbLxHc8=",
"lastModified": 1781184346,
"narHash": "sha256-cZRlW47U6A2nWvAmnZeeO6Xvq23gxYbVLel4KxqOrcQ=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "0d782ee42c86b196acff08acfbf41bb7d13eed5b",
"rev": "ea6d221d7aa85652d014b6f719dddf036037515b",
"type": "github"
},
"original": {
"owner": "nix-community",
"ref": "release-25.11",
"ref": "release-26.05",
"repo": "home-manager",
"type": "github"
}
},
"home-manager_2": {
"inputs": {
"nixpkgs": "nixpkgs_3"
},
"locked": {
"lastModified": 1779507042,
"narHash": "sha256-7wOwi8B6D0BYsieZCnHZZj2sNUzgJhLoIVSfkwB7lxQ=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "509ed3c603349a9d43de9e2ae6613baea6bd5b34",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "home-manager",
"type": "github"
}
},
"mnw": {
"locked": {
"lastModified": 1780772958,
"narHash": "sha256-VKKe8r4pwCGWZ3Yr9CPN129R4S3CKLSrlYqdYz3vKpM=",
"owner": "Gerg-L",
"repo": "mnw",
"rev": "0871dbf63a53610c95db04439ed8ea4d6ec9c160",
"type": "github"
},
"original": {
"owner": "Gerg-L",
"repo": "mnw",
"type": "github"
}
},
"nix-flatpak": {
"locked": {
"lastModified": 1739444422,
@@ -126,37 +285,82 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1744536153,
"narHash": "sha256-awS2zRgF4uTwrOKwwiJcByDzDOdo3Q1rPZbiHQg/N38=",
"owner": "NixOS",
"lastModified": 1778869304,
"narHash": "sha256-30sZNZoA1cqF5JNO9fVX+wgiQYjB7HJqqJ4ztCDeBZE=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "18dd725c29603f582cf1900e0d25f9f1063dbf11",
"rev": "d233902339c02a9c334e7e593de68855ad26c4cb",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1771043024,
"narHash": "sha256-O1XDr7EWbRp+kHrNNgLWgIrB0/US5wvw9K6RERWAj6I=",
"lastModified": 1780902259,
"narHash": "sha256-q8yYEC5f1mFlQO9RGna4LTc9QrcvWunX6FYp83munkQ=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "3aadb7ca9eac2891d52a9dec199d9580a6e2bf44",
"rev": "bd0ff2d3eac24699c3664d5966b9ef36f388e2ca",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-25.11",
"ref": "nixos-26.05",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_3": {
"locked": {
"lastModified": 1778443072,
"narHash": "sha256-zi7/fsqM/kFdNuED//4WOCUtezGtKKqRNORjMvfwjnA=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "da5ad661ba4e5ef59ba743f0d112cbc30e474f32",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_4": {
"locked": {
"lastModified": 1780902259,
"narHash": "sha256-q8yYEC5f1mFlQO9RGna4LTc9QrcvWunX6FYp83munkQ=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "bd0ff2d3eac24699c3664d5966b9ef36f388e2ca",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-26.05",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_5": {
"locked": {
"lastModified": 1783148766,
"narHash": "sha256-H9+N+GFtsbVC8ZniHliChM7ndizxtqVZs6bnGOLM3WQ=",
"rev": "a50de1b7d8a586adc18d2395c19de7d6058e6030",
"type": "tarball",
"url": "https://releases.nixos.org/nixos/26.05/nixos-26.05.4193.a50de1b7d8a5/nixexprs.tar.xz?lastModified=1783148766&rev=a50de1b7d8a586adc18d2395c19de7d6058e6030"
},
"original": {
"type": "tarball",
"url": "https://channels.nixos.org/nixos-26.05/nixexprs.tar.xz"
}
},
"nixpkgs_6": {
"locked": {
"lastModified": 1744536153,
"narHash": "sha256-awS2zRgF4uTwrOKwwiJcByDzDOdo3Q1rPZbiHQg/N38=",
@@ -172,56 +376,73 @@
"type": "github"
}
},
"nixpkgs_4": {
"nur": {
"inputs": {
"darwin": "darwin_2",
"flake-utils": "flake-utils_2",
"home-manager": "home-manager_2",
"nixpkgs": "nixpkgs_4"
},
"locked": {
"lastModified": 1766201043,
"narHash": "sha256-eplAP+rorKKd0gNjV3rA6+0WMzb1X1i16F5m5pASnjA=",
"rev": "b3aad468604d3e488d627c0b43984eb60e75e782",
"revCount": 904049,
"type": "tarball",
"url": "https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.2511.904049%2Brev-b3aad468604d3e488d627c0b43984eb60e75e782/019b3f6c-8b33-7edb-b858-9979590f270b/source.tar.gz"
"lastModified": 1781241353,
"narHash": "sha256-lY3e7d5bA48qnTWGBSH6SK5jfINRlCQEv+zx1eGl1zU=",
"ref": "refs/heads/master",
"rev": "90afe7c81a068fb1f160d68acd0ad06fa1bf7553",
"revCount": 30,
"type": "git",
"url": "https://scm.wyattjmiller.com/wymiller/nur.git"
},
"original": {
"type": "tarball",
"url": "https://flakehub.com/f/NixOS/nixpkgs/%2A"
"type": "git",
"url": "https://scm.wyattjmiller.com/wymiller/nur.git"
}
},
"nixpkgs_5": {
"nvf": {
"inputs": {
"flake-compat": "flake-compat_3",
"mnw": "mnw",
"nixpkgs": "nixpkgs_5"
},
"locked": {
"lastModified": 1769089682,
"narHash": "sha256-9yA/LIuAVQq0lXelrZPjLuLVuZdm03p8tfmHhnDIkms=",
"rev": "078d69f03934859a181e81ba987c2bb033eebfc5",
"revCount": 906333,
"type": "tarball",
"url": "https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.2511.906333%2Brev-078d69f03934859a181e81ba987c2bb033eebfc5/019bebf2-031c-7119-8fdc-ce9d29d005fa/source.tar.gz"
"lastModified": 1783767627,
"narHash": "sha256-UgQuKee2d5VhXaqectc23i2rarIufUpAVSTA6R8XloY=",
"owner": "notashelf",
"repo": "nvf",
"rev": "c55a3a783e6e1ecbbaad607b15a9b7b23d42236f",
"type": "github"
},
"original": {
"type": "tarball",
"url": "https://flakehub.com/f/NixOS/nixpkgs/%2A"
"owner": "notashelf",
"repo": "nvf",
"type": "github"
}
},
"root": {
"inputs": {
"aagl": "aagl",
"darwin": "darwin",
"go-overlay": "go-overlay",
"home-manager": "home-manager",
"nix-flatpak": "nix-flatpak",
"nixpkgs": "nixpkgs_2",
"rust-overlay": "rust-overlay_2",
"swaytreesave": "swaytreesave",
"vintage-story": "vintage-story"
"nur": "nur",
"nvf": "nvf",
"rust-overlay": "rust-overlay_2"
}
},
"rust-overlay": {
"inputs": {
"nixpkgs": "nixpkgs"
"nixpkgs": [
"aagl",
"nixpkgs"
]
},
"locked": {
"lastModified": 1770952264,
"narHash": "sha256-CjymNrJZWBtpavyuTkfPVPaZkwzIzGaf0E/3WgcwM14=",
"lastModified": 1780197589,
"narHash": "sha256-FVCr2Ij/jKf59a4LW481eeOF6rJRreOBrVgW/aUBTrw=",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "ec6a3d5cdf14bb5a1dd03652bd3f6351004d2188",
"rev": "21632e942d89bf1cce4e5a63d7e58a215a0cbfcc",
"type": "github"
},
"original": {
@@ -232,14 +453,14 @@
},
"rust-overlay_2": {
"inputs": {
"nixpkgs": "nixpkgs_3"
"nixpkgs": "nixpkgs_6"
},
"locked": {
"lastModified": 1771211437,
"narHash": "sha256-lcNK438i4DGtyA+bPXXyVLHVmJjYpVKmpux9WASa3ro=",
"lastModified": 1781234414,
"narHash": "sha256-HdA+P4fKRGOomkewnI/Tww5Wz4xK1O7+hDO90YAsPB4=",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "c62195b3d6e1bb11e0c2fb2a494117d3b55d410f",
"rev": "1d18bfe3de6244c641ca4e8011186d0981b81d76",
"type": "github"
},
"original": {
@@ -248,42 +469,34 @@
"type": "github"
}
},
"swaytreesave": {
"inputs": {
"flake-schemas": "flake-schemas",
"nixpkgs": "nixpkgs_4"
},
"systems": {
"locked": {
"lastModified": 1767148467,
"narHash": "sha256-W0O7SWq8ucokt4ctEAEvRvNoSM/oF7fBfb2kTN+lwTs=",
"ref": "refs/heads/master",
"rev": "0f4bb9bb450b28aa4f29d5eb2062deac6c26687a",
"revCount": 4,
"type": "git",
"url": "https://scm.wyattjmiller.com/wymiller/swaytreesave-nix.git"
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"type": "git",
"url": "https://scm.wyattjmiller.com/wymiller/swaytreesave-nix.git"
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"vintage-story": {
"inputs": {
"flake-schemas": "flake-schemas_2",
"nixpkgs": "nixpkgs_5"
},
"systems_2": {
"locked": {
"lastModified": 1769397199,
"narHash": "sha256-MSajncUGZtlpl88rqFdj42eGGyWnk2jw84VbK3AgUBA=",
"ref": "refs/heads/master",
"rev": "4d2313c50933645040a0d12556016fc2916bfa65",
"revCount": 1,
"type": "git",
"url": "https://scm.wyattjmiller.com/wymiller/vintage-story-nix.git"
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"type": "git",
"url": "https://scm.wyattjmiller.com/wymiller/vintage-story-nix.git"
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
}
},

View File

@@ -1,25 +1,24 @@
{
description = "Wyatt's nix configuration suite";
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";
home-manager = {
url = "github:nix-community/home-manager/release-25.11";
url = "github:nix-community/home-manager/release-26.05";
inputs.nixpkgs.follows = "nixpkgs";
};
darwin = {
url = "github:lnl7/nix-darwin/nix-darwin-25.11";
url = "github:lnl7/nix-darwin/nix-darwin-26.05";
inputs.nixpkgs.follows = "nixpkgs";
};
rust-overlay.url = "github:oxalica/rust-overlay";
go-overlay.url = "github:purpleclay/go-overlay";
aagl = {
url = "github:ezKEa/aagl-gtk-on-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
# My personal flakes
swaytreesave.url = "git+https://scm.wyattjmiller.com/wymiller/swaytreesave-nix.git";
vintage-story.url = "git+https://scm.wyattjmiller.com/wymiller/vintage-story-nix.git";
nvf.url = "github:notashelf/nvf";
nur.url = "git+https://scm.wyattjmiller.com/wymiller/nur.git";
};
outputs = inputs @ {
@@ -29,20 +28,22 @@
darwin,
home-manager,
rust-overlay,
go-overlay,
aagl,
swaytreesave,
vintage-story,
nur,
nvf,
...
}: let
userName = "wyatt";
userEmail = "wyatt@wyattjmiller.com";
extraSpecialArgs = {
inherit userName userEmail swaytreesave;
inherit userName userEmail nur nvf;
};
myOverlays = { ... }: {
nixpkgs.overlays = [
rust-overlay.overlays.default
go-overlay.overlays.default
aagl.overlays.default
self.common.overlays
];
@@ -83,7 +84,7 @@
nixosConfigurations."cloud" = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = {
inherit userName userEmail aagl vintage-story;
inherit userName userEmail aagl nur;
hostname = "cloud";
role = "workstation";
};
@@ -123,7 +124,7 @@
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.extraSpecialArgs = extraSpecialArgs;
home-manager.extraSpecialArgs = extraSpecialArgs // { isNixOS = true; role = "workstation"; };
home-manager.backupFileExtension = "bak";
home-manager.users.${userName}.imports = [
./home
@@ -166,7 +167,7 @@
nixosConfigurations."thancred" = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = {
inherit userName userEmail vintage-story;
inherit userName userEmail nur;
hostname = "thancred";
role = "server";
};
@@ -222,7 +223,7 @@
pkgs = nixpkgs.legacyPackages.${system};
extraSpecialArgs = {
inherit userName userEmail hostname;
inherit userName userEmail hostname nvf;
isNixOS = false;
role = "workstation";
};
@@ -230,6 +231,7 @@
{
nixpkgs.overlays = [
rust-overlay.overlays.default
go-overlay.overlays.default
self.common.overlays
];
}

View File

@@ -1,7 +1,6 @@
{ lib
, pkgs
, userName
, swaytreesave
, isNixOS ? true
, ...
}: let

View File

@@ -13,11 +13,15 @@
userEmail = userEmail;
extraConfig = {
commit.gpgsign = true;
gpg.format = "ssh";
gpg.ssh.allowedSignersFile = "~/.config/git/allowed_signers";
init.defaultBranch = "master";
push.autoSetupRemote = true;
pull.rebase = false;
merge.tool = "nvimdiff";
mergetool.keepBackup = false;
push.autoSetupRemote = true;
pull.rebase = false;
user.signingkey = "~/.ssh/id_ed25519_sk.pub";
};
ignores = [
@@ -31,6 +35,7 @@
a = "add";
ap = "add -p";
br = "branch";
cb = "checkout -b";
co = "checkout";
st = "status -sb";
status = "status -sb";
@@ -40,11 +45,11 @@
ca = "commit -am";
dc = "diff --cached";
amend = "commit --amend -m";
wipe = "git reset --hard";
gg = "git reset --hard";
ggs = "git reset --hard";
sw = "git switch";
r = "git restore";
wipe = "reset --hard";
gg = "reset --hard";
ggs = "reset --hard";
sw = "switch";
r = "restore";
# aliases for submodules
update = "submodule update --init --recursive";

View File

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

View File

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

View File

@@ -1,18 +1,108 @@
{...}: let
dirs = {
defaults = ../defaults;
};
in {
programs.neovim = {
{ nvf, ... }: {
imports = [
nvf.homeManagerModules.default
];
programs.nvf = {
enable = true;
defaultEditor = true;
settings = {
vim = {
viAlias = true;
vimAlias = true;
lsp.enable = true;
treesitter.enable = true;
autocomplete.nvim-cmp.enable = true;
languages = {
rust.enable = true;
go.enable = true;
python.enable = true;
markdown.enable = true;
css.enable = true;
scss.enable = true;
tsx.enable = true;
typescript = {
enable = true;
lsp.servers = [ "typescript-language-server" "deno" ];
};
};
xdg.configFile = {
nvim = {
onChange = "nvim --headless -c 'if exists(\":LuaCacheClear\") | :LuaCacheClear' +quitall";
source = dirs.defaults + /nvim;
utility.surround.enable = true;
telescope.enable = true;
mini.icons.enable = true;
notes.obsidian = {
enable = true;
setupOpts.workspaces = [
{
name = "personal";
path = "~/Documents/Obsidian/notes";
}
];
};
terminal.toggleterm = {
enable = true;
lazygit = {
enable = true;
mappings.open = "<leader>gg";
};
};
filetree.neo-tree.enable = true;
binds.whichKey.enable = true;
clipboard = {
enable = true;
registers = "unnamedplus";
providers = {
wl-copy.enable = true;
xclip.enable = true;
};
};
lsp.null-ls = {
enable = true;
setupOpts = {};
};
lsp.trouble.enable = true;
theme = {
enable = true;
name = "catppuccin";
style = "mocha";
transparent = false;
};
dashboard.alpha.enable = true;
statusline.lualine.enable = true;
keymaps = [
{
key = "<C-s>";
mode = "n";
action = "<cmd>w<CR>";
silent = true;
noremap = true;
}
{ key = "<leader>o"; mode = "n"; action = "<cmd>Neotree toggle<CR>"; silent = true; noremap = true; }
{ key = "<leader>tf"; mode = "n"; action = "<cmd>ToggleTerm direction=float<CR>"; silent = true; noremap = true; }
{ key = "<leader>th"; mode = "n"; action = "<cmd>ToggleTerm direction=horizontal<CR>"; silent = true; noremap = true; }
{ key = "<leader>tv"; mode = "n"; action = "<cmd>ToggleTerm direction=vertical<CR>"; silent = true; noremap = true; }
{ key = "<leader>n"; mode = "n"; action = "<nop>"; desc = "Notes"; silent = true; noremap = true; }
{ key = "<leader>nd"; mode = "n"; action = "<cmd>Obsidian today<CR>"; desc = "Obsidian daily note"; silent = true; noremap = true; }
{ key = "<leader>nf"; mode = "n"; action = "<cmd>Obsidian quick_switch<CR>"; desc = "Obsidian find note"; silent = true; noremap = true; }
{ key = "<leader>ns"; mode = "n"; action = "<cmd>Obsidian search<CR>"; desc = "Obsidian search notes"; silent = true; noremap = true; }
{ key = "<leader>nn"; mode = "n"; action = "<cmd>Obsidian new<CR>"; desc = "Obsidian new note"; silent = true; noremap = true; }
{ key = "<leader>ff"; mode = "n"; action = "<cmd>Telescope find_files<CR>"; silent = true; noremap = true; }
{ key = "<leader>fD"; mode = "n"; action = "<cmd>lua require('telescope.builtin').find_files({ cwd = vim.fn.input('Dir: ', vim.loop.cwd() .. '/', 'dir') })<CR>"; silent = true; noremap = true; }
{ key = "<leader>fg"; mode = "n"; action = "<cmd>Telescope live_grep<CR>"; silent = true; noremap = true; }
{ key = "<leader>/"; mode = "n"; action = "<cmd>Telescope current_buffer_fuzzy_find<CR>"; silent = true; noremap = true; }
{ key = "<leader>gb"; mode = "n"; action = "<cmd>Telescope git_branches<CR>"; silent = true; noremap = true; }
{ key = "<leader>gc"; mode = "n"; action = "<cmd>Telescope git_commits<CR>"; silent = true; noremap = true; }
{ key = "<leader>gl"; mode = "n"; action = "<cmd>Telescope git_bcommits<CR>"; silent = true; noremap = true; }
{ key = "<leader>gr"; mode = "n"; action = "<cmd>Telescope git_status<CR>"; silent = true; noremap = true; }
];
};
};
};
}

View File

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

View File

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

View File

@@ -31,7 +31,6 @@
body = ''
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." \
"Daddy, chill!" \
"What the hell is even that?!" \
"Road work ahead? Yeah, I sure hope it does!" \
"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!" \
"This is the dollar store, how good can it be?" \
"That was legitness" \
"Deez nuts" \
"I wanna be a cowboy baby" \
"Can I get a waffle? Can I please get a waffle?" \
"I'm lesbian. I thought you were American." \

View File

@@ -1,7 +1,7 @@
{
lib,
pkgs,
swaytreesave,
nur,
...
}: let
dirs = {
@@ -17,7 +17,7 @@
};
in {
imports = [
swaytreesave.homeManagerModules.default
nur.homeManagerModules.swaytreesave
];
programs.swaytreesave.enable = if pkgs.stdenv.isLinux then true else false;
@@ -155,5 +155,4 @@ in {
enable = pkgs.stdenv.isLinux;
systemd.enable = true;
};
}

View File

@@ -3,7 +3,7 @@
lib,
pkgs,
aagl,
vintage-story,
nur,
...
}: let
cfg = config.gaming;
@@ -218,7 +218,7 @@ in {
)) ++
(lib.optionals cfg.minecraft.enable [pkgs.prismlauncher]) ++
(lib.optionals cfg.ffxiv.enable [pkgs.xivlauncher pkgs.fflogs]) ++
(lib.optionals cfg.vintage-story.enable [vintage-story.packages.${pkgs.system}.default]) ++
(lib.optionals cfg.vintage-story.enable [nur.packages.${pkgs.system}.vintage-story]) ++
(lib.optionals cfg.vkbasalt.enable [pkgs.vkbasalt pkgs.vkbasalt-cli]) ++
(lib.optionals cfg.mangohud.enable [pkgs.mangohud]) ++
(lib.optionals (cfg.vkbasalt.enable || cfg.mangohud.enable) [pkgs.goverlay pkgs.mesa-demos pkgs.vulkan-tools]);

View File

@@ -1,19 +1,23 @@
final: prev: let
# Use latest rust from overlay which should work on non-NixOS
rust_latest = prev.rust-bin.stable.latest.default;
golang_latest = prev.go-bin.latestStable;
buildGoModuleLatest = prev.buildGoModule.override {
go = golang_latest;
};
myRustPlatform = prev.makeRustPlatform {
cargo = rust_latest;
rustc = rust_latest;
};
in {
lazygitLatest = prev.lazygit.overrideAttrs (_: rec {
version = "0.55.1";
version = "0.61.0";
src = prev.fetchFromGitHub {
owner = "jesseduffield";
repo = "lazygit";
rev = "v${version}";
hash = "sha256-UofhgILZhVXnYiGpb25m4Ct4sbu5pRmjVgj3oEf5Uyk=";
hash = "sha256-G7JulCK9WUVWbp1V7lYuM3fehCdn1cNAJHYjr3aKDvQ=";
};
vendorHash = null;
subPackages = [ "." ];
ldflags = [
@@ -25,21 +29,31 @@ in {
atuinLatest = (prev.atuin.override {
rustPlatform = myRustPlatform;
}).overrideAttrs (oldAttrs: rec {
version = "18.10.0";
version = "18.13.6";
src = prev.fetchFromGitHub {
owner = "atuinsh";
repo = "atuin";
rev = "v${version}";
hash = "sha256-bfSa3RtVXxHt3usDqqpE/oXKKDUZOrf+tD9uL59fr6M=";
hash = "sha256-yAw+ty6FUnFbiRTdAe2QQHzj6uU24fZ/bEIXcHl/thg=";
};
cargoDeps = myRustPlatform.fetchCargoVendor {
# name = "atuin-${version}-vendor.tar.gz";
inherit src;
hash = "sha256-67ffivZVCly1GWA3fJ9mT8nGv2EGd6eCthbaIu/IW3M=";
hash = "sha256-jirVe0+N5+UHZWioj8AipUhawMBameqEJJpa8HPTnfw=";
};
cargoBuildFeatures = [
"ai"
"client"
"clipboard"
"daemon"
"hex"
"sync"
];
cargoCheckFeatures = cargoBuildFeatures;
preCheck = (oldAttrs.preCheck or "") + ''
export HOME="$TMPDIR"
export XDG_CONFIG_HOME="$TMPDIR/.config"
@@ -62,4 +76,53 @@ in {
# "-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"
];
});
}

View File

@@ -25,6 +25,7 @@ in {
../../graphics
../../pwrMgmt
../../networking/core.nix
../../security/yubico.nix
../../sound/pipewire.nix
../../sound/shairport.nix
../../sound/focusrite.nix
@@ -33,7 +34,22 @@ in {
];
# Enable flakes for NixOS
nix.settings.experimental-features = ["nix-command" "flakes"];
nix.settings = {
experimental-features = ["nix-command" "flakes"];
substituters = [
"https://attic.home.wyattjmiller.com/wyatt"
];
trusted-substituters = [
"https://attic.home.wyattjmiller.com/wyatt"
];
trusted-public-keys = [
"wyatt:KBM2U2fVUomYUdMsxeNp0MDrUrCU5BECZHLF72o8TOI="
];
};
# Custom kernel/boot stuff
boot = {
@@ -56,7 +72,7 @@ in {
grim
slurp
playerctl
light
# light - UNMAINTAINED, brightnessctl is the replacement
brightnessctl
wttrbar
cliphist
@@ -67,6 +83,9 @@ in {
shared-mime-info
wl-clipboard
wl-clip-persist
ollama-rocm
newelle
tailscale
];
# Enable Polkit

View File

@@ -2,6 +2,7 @@
environment.systemPackages = with pkgs; [
neovim
git
tailscale
];
environment.variables.EDITOR = "nvim";

View File

@@ -1,7 +1,7 @@
{
pkgs,
userName,
vintage-story,
nur,
...
}: {
imports = [
@@ -60,9 +60,23 @@
};
environment.systemPackages = [
vintage-story.packages.${pkgs.system}.default
nur.packages.${pkgs.system}.vintage-story
];
systemd.services.vintagestory-server = {
description = "Vintage Story Server";
wantedBy = [ "multi-user.target" ];
after = [ "network.target" ];
serviceConfig = {
Type = "simple";
User = userName;
WorkingDirectory = "/home/${userName}";
ExecStart = "${nur.packages.${pkgs.system}.vintage-story}/bin/vintagestory-server";
Restart = "on-failure";
RestartSec = "5s";
};
};
# Add username to groups "wheel" and "video" - more may be added here later
users = {
groups.hazel = {};

View File

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

View File

@@ -6,6 +6,7 @@
};
environment.systemPackages = with pkgs; [
helvum
# helvum - UNMAINTAINED
crosspipe
];
}