Compare commits

...
66 Commits
Author SHA1 Message Date
wymiller b39ad458a5 mod: added env files to systemd services 2026-08-12 22:31:44 -04:00
wymiller 4159d6a724 mod: add caitsith bot to systemd services 2026-08-12 22:10:41 -04:00
wymiller d7a2d4cf38 mod: update flake 2026-08-11 00:21:04 -04:00
wymiller 04518129d5 mod: adjusted hildibrand 2026-08-10 23:38:39 -04:00
wymiller 0769fe1e0d mod: adjusted again 2026-08-10 23:01:53 -04:00
wymiller fee14618b8 mod: added input 2026-08-10 22:44:07 -04:00
wymiller 7bc8e821b5 mod: adjust flake to add new config 2026-08-10 22:36:24 -04:00
wymiller 9f61ec8200 add: add estinien configuration 2026-08-10 22:02:49 -04:00
wymiller 23999ee3a4 mod: added archon logs report tool 2026-07-19 12:05:28 -04:00
wymiller 593ab20414 mod: add thunar file manager plugins 2026-07-12 15:31:27 -04:00
wymiller e4614dbee5 mod: remove genshin impact, add wuwa, vlc, makemkv, tailscale service 2026-07-12 15:29:45 -04:00
wymiller 884999f719 added tailscale 2026-07-01 09:33:23 -04:00
wymiller d3dbf8583a mod: fixed valefor 2026-06-16 00:38:35 -04:00
wymiller cf2a710a79 Merge pull request 'Personal NUR' (#11) from nix-self-hosted into master
Reviewed-on: #11
2026-06-12 01:08:39 -05:00
wymiller 927628a576 Merge remote-tracking branch 'origin' into nix-self-hosted 2026-06-12 02:10:32 -04:00
wymiller 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
wymiller c89fc1366d mod: remove unmaintained packages 2026-06-10 19:47:05 -04:00
wymiller 4c29cc3bfc mod: update nixpkgs, nix-darwin, home-manager to 26.05 2026-06-08 22:01:09 -04:00
wymiller ad717d64b8 mod: add personal nix user repository
switched out all personal flakes, inputs
2026-06-08 21:55:50 -04:00
wymiller 4acbd22078 add: ai agent harnesses
currently copilot and opencode for starters, might be more
2026-05-27 22:27:50 -04:00
wymiller 75982f5f5e removed some memes 2026-05-21 20:13:29 -04:00
wymiller ce65a70de4 Merge branch 'master' of https://scm.wyattjmiller.com/wymiller/nix-config-v2 2026-05-21 13:16:41 -04:00
wymiller 8567e7b671 added git signing 2026-05-21 13:16:31 -04:00
wymiller a1f37f6b19 added yubico security module 2026-05-15 23:54:55 -04:00
wymiller 9fa85be412 flake update 2026-05-07 21:49:43 -04:00
wymiller 23500b07fa lazygit skip discard warning 2026-05-07 21:49:27 -04:00
wymiller fdf4e5e1b9 Merge pull request 'overlay-update' (#10) from overlay-update into master
Reviewed-on: #10
2026-04-14 19:11:09 -05:00
wymiller 67648eda89 Merge branch 'master' into overlay-update 2026-04-14 19:11:01 -05:00
wymiller 76ac41a965 update community packages 2026-04-14 16:04:17 -04:00
wymiller 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
wymiller c21066e810 added k9s skin, modified k9s settings 2026-04-10 17:02:30 -04:00
wymiller 93b15391ca feat: added k9s, gh-dash to nvim config 2026-04-10 16:36:47 -04:00
wymiller 317571499e update atuin, lazygit
there are overlays and are out of date
2026-04-09 10:29:20 -04:00
wymiller 971a263963 Merge branch 'master' of https://scm.wyattjmiller.com/wymiller/nix-config-v2 2026-04-09 09:44:52 -04:00
wymiller 2fb3e2867c added overlay packages, added go overlay
needed go overlay for diffnav
2026-04-09 09:44:50 -04:00
wymiller 4492dcdff5 added easyeffects 2026-04-08 19:53:03 -04:00
wymiller 7d8dcee57c Merge pull request 'Thancred (Game server)' (#8) from thancred into master
Reviewed-on: #8
2026-04-04 22:25:32 -05:00
wymiller 3bd43f72a2 Merge branch 'master' into thancred 2026-04-02 13:00:37 -05:00
wymiller 915ecc73e8 fixed new aliases 2026-03-25 11:33:20 -04:00
wymiller 43c5308feb added more git aliases 2026-03-25 02:11:06 -04:00
wymiller a1c0407f02 update flake lock 2026-03-24 20:13:51 -04:00
wymiller 33f590b214 added systemd service for vintagestory-server 2026-03-23 21:46:54 -04:00
wymiller 89cdef92a7 Merge remote-tracking branch 'origin' into thancred 2026-03-23 21:25:36 -04:00
wymiller 2f378ddc22 added some shell quotes 2026-03-23 21:15:36 -04:00
wymiller 937deb7079 added some git aliases 2026-03-23 20:39:02 -04:00
wymiller 4c462c21f3 Merge branch 'master' of ssh://scm.wyattjmiller.com:222/wymiller/nix-config-v2 2026-03-23 20:21:55 -04:00
wymiller eb26a93944 modified linux home packages
why did i ever get rid of this in the first place?
2026-03-23 20:21:52 -04:00
wymiller 098478fa0f added login quotes 2026-03-18 11:42:59 -04:00
wymiller 80fd89c5ac added groups 2026-02-25 21:52:36 -05:00
wymiller 1a8c910e3a group, extraGroups fix 2026-02-25 21:44:12 -05:00
wymiller 3992cab7c8 added user to thancred 2026-02-25 21:39:35 -05:00
wymiller f0eb5678c8 modifications 2026-02-25 20:09:06 -05:00
wymiller bd262d3fb6 wtf is that doing here?? 2026-02-25 20:00:40 -05:00
wymiller f1a426bd2e Merge branch 'master' of https://scm.wyattjmiller.com/wymiller/nix-config-v2 2026-02-24 01:00:44 -05:00
wymiller 9fe67f2b97 updated machine module readme 2026-02-24 01:00:06 -05:00
wymiller 245b5b1e08 Merge pull request 'Y'shtola (Matrix server)' (#7) from yshtola-build into master
Reviewed-on: #7
2026-02-23 23:45:39 -06:00
wymiller a3ef9fa59e changes to hardware config 2026-02-19 02:44:23 +00:00
wymiller f2ee981953 modifying thancred to match updated flake config 2026-02-16 20:39:20 -05:00
wymiller eb666f6a01 Merge remote-tracking branch 'origin' into thancred 2026-02-16 20:34:09 -05:00
wymiller ad7f01e41e commit 2026-02-15 19:10:58 -05:00
wymiller c452ebff3c real commit this time 2026-02-15 19:05:42 -05:00
wymiller a1e71488d8 Revert "modified gaming apps"
This reverts commit 67fda15ca9.
2026-02-15 18:52:30 -05:00
wymiller 45c8f7ec27 Revert "added hardware config"
This reverts commit 769ab6f72d.
2026-02-15 18:51:41 -05:00
wymiller 67fda15ca9 modified gaming apps 2026-02-15 18:31:15 -05:00
wymiller 769ab6f72d added hardware config 2026-02-15 22:49:56 +00:00
wymiller 1769e583d8 created vs vm 2026-02-14 19:21:25 -05:00
27 changed files with 1024 additions and 135 deletions
+100
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'
+3
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
} }
+56
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",
},
},
},
},
},
}
+2 -2
View File
@@ -198,8 +198,8 @@ bindsym XF86AudioMicMute exec pactl set-source-mute @DEFAULT_SOURCE@ toggle
bindsym XF86AudioPlay exec playerctl play-pause bindsym XF86AudioPlay exec playerctl play-pause
bindsym XF86AudioNext exec playerctl next bindsym XF86AudioNext exec playerctl next
bindsym XF86AudioPrev exec playerctl previous bindsym XF86AudioPrev exec playerctl previous
bindsym XF86MonBrightnessUp exec light -A 5 bindsym XF86MonBrightnessUp exec brightnessctl set +5%
bindsym XF86MonBrightnessDown exec light -U 5 bindsym XF86MonBrightnessDown exec brightnessctl set 5%-
### Lock the screen ### Lock the screen
bindsym $mod+Ctrl+q 'swaylock -f -i /home/wyatt/.wallpaper/.wallpaper_lock.png' bindsym $mod+Ctrl+q 'swaylock -f -i /home/wyatt/.wallpaper/.wallpaper_lock.png'
Generated
+314 -95
View File
@@ -9,11 +9,11 @@
"rust-overlay": "rust-overlay" "rust-overlay": "rust-overlay"
}, },
"locked": { "locked": {
"lastModified": 1771170334, "lastModified": 1783689476,
"narHash": "sha256-tCgoCWORfNHaRXTh2QS44LwxlV8q28jVvjN5ioMicv8=", "narHash": "sha256-Ac4EGPZr9e+mPUdmavJFSTft4vgoXml40+YOFYKTXPg=",
"owner": "ezKEa", "owner": "ezKEa",
"repo": "aagl-gtk-on-nix", "repo": "aagl-gtk-on-nix",
"rev": "821b4f92c2c0981ea5b571b03403df87d2b2e2ae", "rev": "af94408291ad477cae8eed964981ab41f90eb184",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -29,16 +29,37 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1767634391, "lastModified": 1783744694,
"narHash": "sha256-owcSz2ICqTSvhBbhPP+1eWzi88e54rRZtfCNE5E/wwg=", "narHash": "sha256-2cp6N3rrwnGYLTx9l6N+NI+kwrCWxvJUbj5WJhvB29A=",
"owner": "lnl7", "owner": "lnl7",
"repo": "nix-darwin", "repo": "nix-darwin",
"rev": "08585aacc3d6d6c280a02da195fdbd4b9cf083c2", "rev": "c3e90c89649b07d1a96e4b9dd6cd0d6e44b91a74",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "lnl7", "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", "repo": "nix-darwin",
"type": "github" "type": "github"
} }
@@ -59,32 +80,155 @@
"type": "github" "type": "github"
} }
}, },
"flake-compat_2": {
"flake": false,
"locked": {
"lastModified": 1767039857,
"narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=",
"owner": "NixOS",
"repo": "flake-compat",
"rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab",
"type": "github"
},
"original": {
"owner": "NixOS",
"repo": "flake-compat",
"type": "github"
}
},
"flake-schemas": { "flake-schemas": {
"locked": { "locked": {
"lastModified": 1761577921, "lastModified": 1780327564,
"narHash": "sha256-eK3/xbUOrxp9fFlei09XNjqcdiHXxndzrTXp7jFpOk8=", "narHash": "sha256-HiRPtA0spK+Dkgbhz/1zW9glXxNVB+L4Rj2VYmdawb8=",
"rev": "47849c7625e223d36766968cc6dc23ba0e135922", "rev": "6cc9bd98891b1fc6bb2b8cb3277df8bc72799ca6",
"revCount": 107, "revCount": 149,
"type": "tarball", "type": "tarball",
"url": "https://api.flakehub.com/f/pinned/DeterminateSystems/flake-schemas/0.2.0/019a4a84-544d-7c59-b26d-e334e320c932/source.tar.gz" "url": "https://api.flakehub.com/f/pinned/DeterminateSystems/flake-schemas/0.5.0/019e83cf-9af3-78b1-ac5b-70e68ad1efe1/source.tar.gz"
}, },
"original": { "original": {
"type": "tarball", "type": "tarball",
"url": "https://flakehub.com/f/DeterminateSystems/flake-schemas/%2A" "url": "https://flakehub.com/f/DeterminateSystems/flake-schemas/%2A"
} }
}, },
"flake-schemas_2": { "flake-utils": {
"inputs": {
"systems": "systems"
},
"locked": { "locked": {
"lastModified": 1761577921, "lastModified": 1731533236,
"narHash": "sha256-eK3/xbUOrxp9fFlei09XNjqcdiHXxndzrTXp7jFpOk8=", "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"rev": "47849c7625e223d36766968cc6dc23ba0e135922", "owner": "numtide",
"revCount": 107, "repo": "flake-utils",
"type": "tarball", "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"url": "https://api.flakehub.com/f/pinned/DeterminateSystems/flake-schemas/0.2.0/019a4a84-544d-7c59-b26d-e334e320c932/source.tar.gz" "type": "github"
}, },
"original": { "original": {
"type": "tarball", "owner": "numtide",
"url": "https://flakehub.com/f/DeterminateSystems/flake-schemas/%2A" "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": 1783668331,
"narHash": "sha256-mMfzU9jvq9XQyyssR9w0Rki8/Ec4Ez+bLkFWc7BaGGg=",
"owner": "purpleclay",
"repo": "go-overlay",
"rev": "423eed783363fa154fc7f0c049f7effa910d2440",
"type": "github"
},
"original": {
"owner": "purpleclay",
"repo": "go-overlay",
"type": "github"
}
},
"hildibrand": {
"inputs": {
"flake-schemas": "flake-schemas",
"nixpkgs": "nixpkgs_3",
"rust-overlay": "rust-overlay_2"
},
"locked": {
"lastModified": 1785717646,
"narHash": "sha256-j6MlkwaYOLa3bogK4SbOnVI5eMZ9j2GdExSiKMaELPo=",
"ref": "refs/heads/master",
"rev": "9588520925513ed0e47711a5798c6e9958143a0a",
"revCount": 5,
"type": "git",
"url": "https://scm.wyattjmiller.com/wymiller/hildibrand.git"
},
"original": {
"type": "git",
"url": "https://scm.wyattjmiller.com/wymiller/hildibrand.git"
} }
}, },
"home-manager": { "home-manager": {
@@ -94,16 +238,34 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1770260404, "lastModified": 1783740085,
"narHash": "sha256-3iVX1+7YUIt23hBx1WZsUllhbmP2EnXrV8tCRbLxHc8=", "narHash": "sha256-qajyHfZY29G2oEQk+uHxmsJcRoBUBXP9maTpFlwP/dI=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "0d782ee42c86b196acff08acfbf41bb7d13eed5b", "rev": "3cd22efe6471dc7365c822bd9ad73a21e55f38fb",
"type": "github"
},
"original": {
"owner": "nix-community",
"ref": "release-26.05",
"repo": "home-manager",
"type": "github"
}
},
"home-manager_2": {
"inputs": {
"nixpkgs": "nixpkgs_4"
},
"locked": {
"lastModified": 1779507042,
"narHash": "sha256-7wOwi8B6D0BYsieZCnHZZj2sNUzgJhLoIVSfkwB7lxQ=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "509ed3c603349a9d43de9e2ae6613baea6bd5b34",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nix-community", "owner": "nix-community",
"ref": "release-25.11",
"repo": "home-manager", "repo": "home-manager",
"type": "github" "type": "github"
} }
@@ -126,37 +288,83 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1744536153, "lastModified": 1778869304,
"narHash": "sha256-awS2zRgF4uTwrOKwwiJcByDzDOdo3Q1rPZbiHQg/N38=", "narHash": "sha256-30sZNZoA1cqF5JNO9fVX+wgiQYjB7HJqqJ4ztCDeBZE=",
"owner": "NixOS", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "18dd725c29603f582cf1900e0d25f9f1063dbf11", "rev": "d233902339c02a9c334e7e593de68855ad26c4cb",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "NixOS", "owner": "nixos",
"ref": "nixpkgs-unstable", "ref": "nixos-unstable",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
}, },
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1771043024, "lastModified": 1783703440,
"narHash": "sha256-O1XDr7EWbRp+kHrNNgLWgIrB0/US5wvw9K6RERWAj6I=", "narHash": "sha256-O3/YajjWo001VUIgD8BwaRdSNLUFe7nZ1qV5TwhRBcw=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "3aadb7ca9eac2891d52a9dec199d9580a6e2bf44", "rev": "8f0500b9660505dc3cb647775fe9a978a74b5283",
"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_3": { "nixpkgs_3": {
"locked": {
"lastModified": 1784280462,
"narHash": "sha256-DtoqIqM7VkR6NxAkcLpMwmi02USwWb3JdmNGLyhthc0=",
"rev": "293d6abedf0478e681a4dfcfcb35b30fc796a32f",
"revCount": 1009740,
"type": "tarball",
"url": "https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.2605.1009740%2Brev-293d6abedf0478e681a4dfcfcb35b30fc796a32f/019f73de-20f7-7ec2-98c8-65726640dbf9/source.tar.gz"
},
"original": {
"type": "tarball",
"url": "https://flakehub.com/f/NixOS/nixpkgs/%2A"
}
},
"nixpkgs_4": {
"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_5": {
"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_6": {
"locked": { "locked": {
"lastModified": 1744536153, "lastModified": 1744536153,
"narHash": "sha256-awS2zRgF4uTwrOKwwiJcByDzDOdo3Q1rPZbiHQg/N38=", "narHash": "sha256-awS2zRgF4uTwrOKwwiJcByDzDOdo3Q1rPZbiHQg/N38=",
@@ -172,56 +380,53 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_4": { "nur": {
"inputs": {
"darwin": "darwin_2",
"flake-utils": "flake-utils_2",
"hildibrand": "hildibrand",
"home-manager": "home-manager_2",
"nixpkgs": "nixpkgs_5"
},
"locked": { "locked": {
"lastModified": 1766201043, "lastModified": 1786304454,
"narHash": "sha256-eplAP+rorKKd0gNjV3rA6+0WMzb1X1i16F5m5pASnjA=", "narHash": "sha256-2ovOgwFWnKqUMoQfxbobtIWQ+TSN62llX9eJVb9hFoY=",
"rev": "b3aad468604d3e488d627c0b43984eb60e75e782", "ref": "refs/heads/master",
"revCount": 904049, "rev": "ea7094e4e33fbb030edf28383de37073fc8b84e0",
"type": "tarball", "revCount": 43,
"url": "https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.2511.904049%2Brev-b3aad468604d3e488d627c0b43984eb60e75e782/019b3f6c-8b33-7edb-b858-9979590f270b/source.tar.gz" "type": "git",
"url": "https://scm.wyattjmiller.com/wymiller/nur.git"
}, },
"original": { "original": {
"type": "tarball", "type": "git",
"url": "https://flakehub.com/f/NixOS/nixpkgs/%2A" "url": "https://scm.wyattjmiller.com/wymiller/nur.git"
}
},
"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"
},
"original": {
"type": "tarball",
"url": "https://flakehub.com/f/NixOS/nixpkgs/%2A"
} }
}, },
"root": { "root": {
"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_2",
"rust-overlay": "rust-overlay_2", "nur": "nur",
"swaytreesave": "swaytreesave", "rust-overlay": "rust-overlay_3"
"vintage-story": "vintage-story"
} }
}, },
"rust-overlay": { "rust-overlay": {
"inputs": { "inputs": {
"nixpkgs": "nixpkgs" "nixpkgs": [
"aagl",
"nixpkgs"
]
}, },
"locked": { "locked": {
"lastModified": 1770952264, "lastModified": 1782875958,
"narHash": "sha256-CjymNrJZWBtpavyuTkfPVPaZkwzIzGaf0E/3WgcwM14=", "narHash": "sha256-5eqDcnBjb1424HRQdnhuhNOBZguq1Z2tqSa2OMF/m2c=",
"owner": "oxalica", "owner": "oxalica",
"repo": "rust-overlay", "repo": "rust-overlay",
"rev": "ec6a3d5cdf14bb5a1dd03652bd3f6351004d2188", "rev": "13139aefa973f3d96c60c0fbab801de058ae25ca",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -232,14 +437,18 @@
}, },
"rust-overlay_2": { "rust-overlay_2": {
"inputs": { "inputs": {
"nixpkgs": "nixpkgs_3" "nixpkgs": [
"nur",
"hildibrand",
"nixpkgs"
]
}, },
"locked": { "locked": {
"lastModified": 1771211437, "lastModified": 1784438913,
"narHash": "sha256-lcNK438i4DGtyA+bPXXyVLHVmJjYpVKmpux9WASa3ro=", "narHash": "sha256-NYF7ZM5ip0u+w1pBFDpIGEbrbgN/wpnLFAmBkWkYMXw=",
"owner": "oxalica", "owner": "oxalica",
"repo": "rust-overlay", "repo": "rust-overlay",
"rev": "c62195b3d6e1bb11e0c2fb2a494117d3b55d410f", "rev": "afacd6819d3765a05814ee8e3de74c77d42ac799",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -248,42 +457,52 @@
"type": "github" "type": "github"
} }
}, },
"swaytreesave": { "rust-overlay_3": {
"inputs": { "inputs": {
"flake-schemas": "flake-schemas", "nixpkgs": "nixpkgs_6"
"nixpkgs": "nixpkgs_4"
}, },
"locked": { "locked": {
"lastModified": 1767148467, "lastModified": 1783834461,
"narHash": "sha256-W0O7SWq8ucokt4ctEAEvRvNoSM/oF7fBfb2kTN+lwTs=", "narHash": "sha256-FCmrs1StAghJDKfqy56KM96KZtxpYzgeq6zM3QO8wjA=",
"ref": "refs/heads/master", "owner": "oxalica",
"rev": "0f4bb9bb450b28aa4f29d5eb2062deac6c26687a", "repo": "rust-overlay",
"revCount": 4, "rev": "a286e5b998e852297a403786f063fb2c9fe7f57a",
"type": "git", "type": "github"
"url": "https://scm.wyattjmiller.com/wymiller/swaytreesave-nix.git"
}, },
"original": { "original": {
"type": "git", "owner": "oxalica",
"url": "https://scm.wyattjmiller.com/wymiller/swaytreesave-nix.git" "repo": "rust-overlay",
"type": "github"
} }
}, },
"vintage-story": { "systems": {
"inputs": {
"flake-schemas": "flake-schemas_2",
"nixpkgs": "nixpkgs_5"
},
"locked": { "locked": {
"lastModified": 1769397199, "lastModified": 1681028828,
"narHash": "sha256-MSajncUGZtlpl88rqFdj42eGGyWnk2jw84VbK3AgUBA=", "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"ref": "refs/heads/master", "owner": "nix-systems",
"rev": "4d2313c50933645040a0d12556016fc2916bfa65", "repo": "default",
"revCount": 1, "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "git", "type": "github"
"url": "https://scm.wyattjmiller.com/wymiller/vintage-story-nix.git"
}, },
"original": { "original": {
"type": "git", "owner": "nix-systems",
"url": "https://scm.wyattjmiller.com/wymiller/vintage-story-nix.git" "repo": "default",
"type": "github"
}
},
"systems_2": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
} }
} }
}, },
+65 -12
View File
@@ -1,25 +1,23 @@
{ {
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";
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";
}; };
nur.url = "git+https://scm.wyattjmiller.com/wymiller/nur.git";
# 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";
}; };
outputs = inputs @ { outputs = inputs @ {
@@ -29,20 +27,21 @@
darwin, darwin,
home-manager, home-manager,
rust-overlay, rust-overlay,
go-overlay,
aagl, aagl,
swaytreesave, nur,
vintage-story,
... ...
}: let }: let
userName = "wyatt"; userName = "wyatt";
userEmail = "wyatt@wyattjmiller.com"; userEmail = "wyatt@wyattjmiller.com";
extraSpecialArgs = { extraSpecialArgs = {
inherit userName userEmail swaytreesave; inherit userName userEmail nur;
}; };
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
]; ];
@@ -83,7 +82,7 @@
nixosConfigurations."cloud" = nixpkgs.lib.nixosSystem { nixosConfigurations."cloud" = nixpkgs.lib.nixosSystem {
system = "x86_64-linux"; system = "x86_64-linux";
specialArgs = { specialArgs = {
inherit userName userEmail aagl vintage-story; inherit userName userEmail aagl nur;
hostname = "cloud"; hostname = "cloud";
role = "workstation"; role = "workstation";
}; };
@@ -123,7 +122,7 @@
{ {
home-manager.useGlobalPkgs = true; home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true; home-manager.useUserPackages = true;
home-manager.extraSpecialArgs = extraSpecialArgs; home-manager.extraSpecialArgs = extraSpecialArgs // { isNixOS = true; role = "workstation"; };
home-manager.backupFileExtension = "bak"; home-manager.backupFileExtension = "bak";
home-manager.users.${userName}.imports = [ home-manager.users.${userName}.imports = [
./home ./home
@@ -162,6 +161,33 @@
# ]; # ];
}; };
# Vintage story server
nixosConfigurations."thancred" = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = {
inherit userName userEmail nur;
hostname = "thancred";
role = "server";
};
modules = [
myOverlays
./modules/common
./modules/machine/thancred
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.extraSpecialArgs = extraSpecialArgs // { isNixOS = true; role = "server"; };
home-manager.backupFileExtension = "bak";
home-manager.users.${userName}.imports = [
./home
];
}
];
};
# Matrix and Mastodon server
nixosConfigurations."yshtola" = nixpkgs.lib.nixosSystem { nixosConfigurations."yshtola" = nixpkgs.lib.nixosSystem {
system = "x86_64-linux"; system = "x86_64-linux";
specialArgs = { specialArgs = {
@@ -187,6 +213,32 @@
]; ];
}; };
# Discord bot server
nixosConfigurations."estinien" = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = {
inherit userName userEmail nur;
hostname = "estinien";
role = "server";
};
modules = [
myOverlays
./modules/common
./modules/machine/estinien
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.extraSpecialArgs = extraSpecialArgs // { isNixOS = true; role = "server"; };
home-manager.backupFileExtension = "bak";
home-manager.users.${userName}.imports = [
./home
];
}
];
};
# generic non-NixOS Linux machine # generic non-NixOS Linux machine
homeConfigurations."generic" = let homeConfigurations."generic" = let
hostname = builtins.getEnv "HOSTNAME"; hostname = builtins.getEnv "HOSTNAME";
@@ -203,6 +255,7 @@
{ {
nixpkgs.overlays = [ nixpkgs.overlays = [
rust-overlay.overlays.default rust-overlay.overlays.default
go-overlay.overlays.default
self.common.overlays self.common.overlays
]; ];
} }
-1
View File
@@ -1,7 +1,6 @@
{ lib { lib
, pkgs , pkgs
, userName , userName
, swaytreesave
, isNixOS ? true , isNixOS ? true
, ... , ...
}: let }: let
+12 -2
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 = [
@@ -31,6 +35,7 @@
a = "add"; a = "add";
ap = "add -p"; ap = "add -p";
br = "branch"; br = "branch";
cb = "checkout -b";
co = "checkout"; co = "checkout";
st = "status -sb"; st = "status -sb";
status = "status -sb"; status = "status -sb";
@@ -40,6 +45,11 @@
ca = "commit -am"; ca = "commit -am";
dc = "diff --cached"; dc = "diff --cached";
amend = "commit --amend -m"; amend = "commit --amend -m";
wipe = "reset --hard";
gg = "reset --hard";
ggs = "reset --hard";
sw = "switch";
r = "restore";
# aliases for submodules # aliases for submodules
update = "submodule update --init --recursive"; update = "submodule update --init --recursive";
+1 -1
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;
+1
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"];
+18 -1
View File
@@ -1,4 +1,21 @@
{ lib, pkgs, isNixOS ? true, ... }: { lib, pkgs, isNixOS ? true, ... }:
lib.mkIf pkgs.stdenv.isLinux { lib.mkIf pkgs.stdenv.isLinux {
home.packages = with pkgs; [
imv
xdg-utils
] ++ lib.optionals isNixOS [
vesktop
thunar
thunar-volman
thunar-shares-plugin
thunar-vcs-plugin
thunar-archive-plugin
thunar-media-tags-plugin
pavucontrol
zathura
gpu-screen-recorder
gpu-screen-recorder-gtk
inetutils
easyeffects
];
} }
+5 -1
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
]; ];
} }
+7 -3
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." \
@@ -62,7 +60,13 @@
"If youve brought your ivory standard, Ill be happy to tell you where you can stick it" \ "If youve brought your ivory standard, Ill be happy to tell you where you can stick it" \
"Speeches? Oh, yes, I love them. There's nothing like a good exposition when you're having trouble sleeping!" \ "Speeches? Oh, yes, I love them. There's nothing like a good exposition when you're having trouble sleeping!" \
"Somehow, the boy just isn't very buoyant" \ "Somehow, the boy just isn't very buoyant" \
"I am...not interested, little sun. Try again when you have become a man" "I am...not interested, little sun. Try again when you have become a man" \
"I am rightousness! And rightousness shall previal!" \
"Ahhh such bliss!" \
"The gods themselves will be my meal. Your dear companions my dessert. Upon this world I'll feast, and death shall follow in my wake. All your hate, all your rage, you will render unto me." \
"Boring, boring, boring" \
"Would you be 'happier' had I a 'good reason'?" \
"A test of your reflexes!"
set choose_meme (random)"%"(count $memes) set choose_meme (random)"%"(count $memes)
+2 -3
View File
@@ -1,7 +1,7 @@
{ {
lib, lib,
pkgs, pkgs,
swaytreesave, nur,
... ...
}: let }: let
dirs = { dirs = {
@@ -17,7 +17,7 @@
}; };
in { in {
imports = [ imports = [
swaytreesave.homeManagerModules.default nur.homeManagerModules.swaytreesave
]; ];
programs.swaytreesave.enable = if pkgs.stdenv.isLinux then true else false; programs.swaytreesave.enable = if pkgs.stdenv.isLinux then true else false;
@@ -155,5 +155,4 @@ in {
enable = pkgs.stdenv.isLinux; enable = pkgs.stdenv.isLinux;
systemd.enable = true; systemd.enable = true;
}; };
} }
+9 -3
View File
@@ -3,7 +3,7 @@
lib, lib,
pkgs, pkgs,
aagl, aagl,
vintage-story, nur,
... ...
}: let }: let
cfg = config.gaming; cfg = config.gaming;
@@ -149,10 +149,15 @@ in {
vintage-story = { vintage-story = {
enable = lib.mkEnableOption "Vintage Story client and server"; enable = lib.mkEnableOption "Vintage Story client and server";
}; };
archon = {
enable = lib.mkEnableOption "Archon from NUR";
};
}; };
config = let config = let
agl = cfg.aagl; agl = cfg.aagl;
nurPkgs = import "${nur.outPath}/pkgs" { inherit pkgs; };
in { in {
programs.steam = lib.mkIf cfg.steam.enable { programs.steam = lib.mkIf cfg.steam.enable {
enable = true; enable = true;
@@ -218,7 +223,8 @@ in {
)) ++ )) ++
(lib.optionals cfg.minecraft.enable [pkgs.prismlauncher]) ++ (lib.optionals cfg.minecraft.enable [pkgs.prismlauncher]) ++
(lib.optionals cfg.ffxiv.enable [pkgs.xivlauncher pkgs.fflogs]) ++ (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 [nurPkgs.vintage-story]) ++
(lib.optionals cfg.archon.enable [nurPkgs.archon]) ++
(lib.optionals cfg.vkbasalt.enable [pkgs.vkbasalt pkgs.vkbasalt-cli]) ++ (lib.optionals cfg.vkbasalt.enable [pkgs.vkbasalt pkgs.vkbasalt-cli]) ++
(lib.optionals cfg.mangohud.enable [pkgs.mangohud]) ++ (lib.optionals cfg.mangohud.enable [pkgs.mangohud]) ++
(lib.optionals (cfg.vkbasalt.enable || cfg.mangohud.enable) [pkgs.goverlay pkgs.mesa-demos pkgs.vulkan-tools]); (lib.optionals (cfg.vkbasalt.enable || cfg.mangohud.enable) [pkgs.goverlay pkgs.mesa-demos pkgs.vulkan-tools]);
@@ -226,7 +232,7 @@ in {
nix.settings = let nix.settings = let
inherit agl; inherit agl;
in (lib.mkIf in (lib.mkIf
(agl.anime-game-launcher.enable || agl.honkers-railway-laucher.enable || agl.honkers-launcher.enable || agl.wavey-launcher.enable || agl.sleepy-launcher.enable) (agl.anime-game-launcher.enable || agl.honkers-railway-launcher.enable || agl.honkers-launcher.enable || agl.wavey-launcher.enable || agl.sleepy-launcher.enable)
{ {
substituters = [ "https://ezkea.cachix.org" ]; substituters = [ "https://ezkea.cachix.org" ];
trusted-public-keys = [ "ezkea.cachix.org-1:ioBmUbJTZIKsHmWWXPe1FSFbeVe+afhfgqgTSNd34eI=" ]; trusted-public-keys = [ "ezkea.cachix.org-1:ioBmUbJTZIKsHmWWXPe1FSFbeVe+afhfgqgTSNd34eI=" ];
+69 -6
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"
];
});
} }
+5 -1
View File
@@ -10,6 +10,10 @@ I like Final Fantasy, alright? Isn't everyone supposed to have a hobby?
These are named after Final Fantasy VII characters. These are named after Final Fantasy VII characters.
### Servers/Network Infrastructure ### Servers/Network Infrastructure (bare metal)
These are named after Final Fantasy summons. There is some infrastructure missing here like my routers and switches that I also name after summons. These are named after Final Fantasy summons. There is some infrastructure missing here like my routers and switches that I also name after summons.
### Servers/Network Infrastructure (virtual machines)
These are named after Final Fantasy XIV Online characters (currently, these are named after the Scions of the Seventh Dawn).
+29 -3
View File
@@ -3,6 +3,7 @@
pkgs, pkgs,
userName, userName,
aagl, aagl,
nur,
... ...
}: let }: let
flatpakPackages = [ flatpakPackages = [
@@ -25,6 +26,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
@@ -33,7 +35,20 @@ in {
]; ];
# Enable flakes for NixOS # 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 # Custom kernel/boot stuff
boot = { boot = {
@@ -56,7 +71,7 @@ in {
grim grim
slurp slurp
playerctl playerctl
light # light - UNMAINTAINED, brightnessctl is the replacement
brightnessctl brightnessctl
wttrbar wttrbar
cliphist cliphist
@@ -67,6 +82,12 @@ in {
shared-mime-info shared-mime-info
wl-clipboard wl-clipboard
wl-clip-persist wl-clip-persist
ollama-rocm
newelle
vlc
mediainfo
makemkv
ffmpeg
]; ];
# Enable Polkit # Enable Polkit
@@ -105,11 +126,13 @@ in {
}; };
ffxiv.enable = true; ffxiv.enable = true;
archon.enable = true;
minecraft.enable = true; minecraft.enable = true;
aagl.anime-game-launcher.enable = true; aagl.wavey-launcher.enable = true;
vintage-story.enable = true; vintage-story.enable = true;
}; };
# Power management (see ../../pwrMgmt/default.nix) # Power management (see ../../pwrMgmt/default.nix)
pwrMgmt = { pwrMgmt = {
enable = true; enable = true;
@@ -209,5 +232,8 @@ in {
]; ];
}; };
# Tailscale service
services.tailscale.enable = true;
system.stateVersion = "24.11"; system.stateVersion = "24.11";
} }
+118
View File
@@ -0,0 +1,118 @@
{
pkgs,
userName,
nur,
...
}: let
hildibrand = nur.packages.${pkgs.stdenv.hostPlatform.system}.hildibrand;
caitsith = nur.packages.${pkgs.stdenv.hostPlatform.system}.caitsith;
in {
imports = [
../../pwrMgmt
../../networking/core.nix
];
# Enable flakes for NixOS
nix.settings.experimental-features = ["nix-command" "flakes"];
# Custom kernel/boot stuff
boot.kernelPackages = pkgs.linuxPackages_latest;
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
# Set your timezone
time.timeZone = "America/Detroit";
# Enable OpenSSH
services.openssh.enable = true;
# Enable keyring
services.gnome.gnome-keyring.enable = true;
# Enable GnuPG
programs.gnupg.agent = {
enable = true;
enableSSHSupport = true;
};
# Enable SUID wrappers (some programs need them)
programs.mtr.enable = true;
# Enable Polkit
security.polkit.enable = true;
# Power management (see ../../pwrMgmt/default.nix)
pwrMgmt = {
enable = true;
cpuFreqGovernor = "performance";
powertop.enable = false;
};
network = {
firewall = {
enable = true;
};
networkManager.enable = true;
};
environment.systemPackages = [
hildibrand
caitsith
];
systemd.services.hildibrand = {
description = "Hildibrand - trivia buzzer bot";
wantedBy = [ "multi-user.target" ];
after = [ "network.target" ];
serviceConfig = {
Type = "simple";
User = userName;
WorkingDirectory = "/home/${userName}";
ExecStart = "${hildibrand}/bin/hildebrand";
Restart = "on-failure";
RestartSec = "5s";
EnvironmentFile = "/etc/secrets/hildibrand.env";
};
};
systemd.services.caitsith = {
description = "Caitsith - a randomizer bot";
wantedBy = [ "multi-user.target" ];
after = [ "network.target" ];
serviceConfig = {
Type = "simple";
User = userName;
WorkingDirectory = "/home/${userName}";
ExecStart = "${caitsith}/bin/hildebrand";
Restart = "on-failure";
RestartSec = "5s";
EnvironmentFile = "/etc/secrets/caitsith.env";
};
};
# Add username to groups "wheel" and "video" - more may be added here later
users = {
users = {
${userName} = {
extraGroups = [ "wheel" "network" ];
openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFV9eSc9L+aJLoKoexq2f/jb5rpyZnhuGiyhS8YQAbaS wyatt@wyattjmiller.com"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIO4WKvKnnYpTbzZHFEslOKyfiiMqWxhW3AfX6E7ACmYU wyatt@wyattjmiller.com"
];
};
};
};
services.fail2ban = {
enable = true;
package = pkgs.fail2ban;
maxretry = 5;
bantime = "3h";
bantime-increment = {
enable = true;
rndtime = "10m";
};
};
system.stateVersion = "24.11";
}
+6
View File
@@ -0,0 +1,6 @@
{ ... }: {
imports = [
./configuration.nix
./hardware-configuration.nix
];
}
@@ -0,0 +1,32 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
imports =
[ (modulesPath + "/profiles/qemu-guest.nix")
];
boot.initrd.availableKernelModules = [ "ahci" "xhci_pci" "virtio_pci" "virtio_scsi" "sr_mod" "virtio_blk" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/498ce176-f090-46d8-96bf-9e6141cffa19";
fsType = "ext4";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/09A6-B803";
fsType = "vfat";
options = [ "fmask=0022" "dmask=0022" ];
};
swapDevices =
[ { device = "/dev/disk/by-uuid/4a64a2ee-2b32-4e53-b00f-7b1f127162aa"; }
];
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
}
+1
View File
@@ -2,6 +2,7 @@
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
neovim neovim
git git
tailscale
]; ];
environment.variables.EDITOR = "nvim"; environment.variables.EDITOR = "nvim";
+121
View File
@@ -0,0 +1,121 @@
{
pkgs,
userName,
nur,
...
}: {
imports = [
../../pwrMgmt
../../networking/core.nix
../../virtualization/podman.nix
];
# Enable flakes for NixOS
nix.settings.experimental-features = ["nix-command" "flakes"];
# Custom kernel/boot stuff
boot.kernelPackages = pkgs.linuxPackages_latest;
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
# Set your timezone
time.timeZone = "America/Detroit";
# Enable OpenSSH
services.openssh.enable = true;
# Enable keyring
services.gnome.gnome-keyring.enable = true;
# Enable GnuPG
programs.gnupg.agent = {
enable = true;
enableSSHSupport = true;
};
# Enable SUID wrappers (some programs need them)
programs.mtr.enable = true;
# Enable Polkit
security.polkit.enable = true;
# Power management (see ../../pwrMgmt/default.nix)
pwrMgmt = {
enable = true;
cpuFreqGovernor = "performance";
powertop.enable = false;
};
network = {
firewall = {
enable = true;
tcpPorts = {
allowedPorts = [ 42420 ];
};
udpPorts = {
allowedPorts = [ 42420 ];
};
};
networkManager.enable = true;
};
environment.systemPackages = [
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 = {};
users = {
${userName} = {
extraGroups = [ "wheel" "network" ];
openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFV9eSc9L+aJLoKoexq2f/jb5rpyZnhuGiyhS8YQAbaS wyatt@wyattjmiller.com"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIO4WKvKnnYpTbzZHFEslOKyfiiMqWxhW3AfX6E7ACmYU wyatt@wyattjmiller.com"
];
};
"hazel" = {
home = "/home/hazel";
group = "hazel";
extraGroups = [ "wheel" ];
description = "hazel";
isNormalUser = true;
openssh.authorizedKeys.keys = [
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDZnyiQx+k1ygX8E1lsUCB6aTdMc+OKzlZ4admlzknc5ulj0YrtUyqhbNhkNd6pP0QDBFMnXO/rzUvHp4TAyZXKFfpcBCa4zhK97ufymAfvzAjM4vRBqRNcr2n+2iRzxtolbklfjs3ocBQVxXW+pRT5wWxTgK2fcmP2xviDVldr7qte37x5YkQb5SAhYNH8tqJRnuGPe+Q0A3oN4HyHZFnrMq/HlbL5yg/0VKPTtF/IgHf+2dDz5OQQpBx3/N9u/QLwuIm9lkyOG03s0TGmE7up/i0jX2vIqp2BbGSnwdQEL/eSVZx73qQB/J62VFafg13P5yQWDJ33WSoiwhac6bg26HPmPOnCJp5R3c+7jM8N1F1ZbtsKicHSVsRg1RQSree4lchPy7FOPkCuUrB7LNE71mbpOzZNR767S6UAPaXxRw6QNYGBaDqQBwhlU8ZDF5F7EW6ahSUMOI6ECyoibzIMb56xs9osuNeUhB/BcL5sHSFpJjIbdcDLNkEKggrBl6s="
];
};
};
};
services.fail2ban = {
enable = true;
package = pkgs.fail2ban;
maxretry = 5;
bantime = "3h";
bantime-increment = {
enable = true;
rndtime = "10m";
};
};
services.tailscale = {
enable = true;
package = pkgs.tailscale;
};
system.stateVersion = "24.11";
}
+6
View File
@@ -0,0 +1,6 @@
{ ... }: {
imports = [
./configuration.nix
./hardware-configuration.nix
];
}
@@ -0,0 +1,32 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
imports =
[ (modulesPath + "/profiles/qemu-guest.nix")
];
boot.initrd.availableKernelModules = [ "ahci" "xhci_pci" "virtio_pci" "virtio_scsi" "sr_mod" "virtio_blk" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/e2e621c1-0090-472a-99d9-61c6a87bd068";
fsType = "ext4";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/663E-15C0";
fsType = "vfat";
options = [ "fmask=0022" "dmask=0022" ];
};
swapDevices =
[ { device = "/dev/disk/by-uuid/60104b1a-4285-4dd1-be5e-3c3dee24515a"; }
];
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
}
+8
View File
@@ -0,0 +1,8 @@
{
...
}: let in {
security.pam.services = {
login.u2fAuth = true;
sudo.u2fAuth = true;
};
}
+2 -1
View File
@@ -6,6 +6,7 @@
}; };
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
helvum # helvum - UNMAINTAINED
crosspipe
]; ];
} }