17 Commits

Author SHA1 Message Date
John Lancaster b7f5474893 commented out my-neovim because it's in jsl-zsh 2026-06-10 08:56:50 -05:00
John Lancaster 1667e362aa gpu stuff for zed on x11 2026-06-10 08:56:04 -05:00
John Lancaster cd5a49c4a6 commented out mtls for john-pc 2026-06-10 08:54:08 -05:00
John Lancaster 244c60d9cd moved yazi to shell-tools 2026-06-10 08:53:21 -05:00
John Lancaster f2254e5dc7 added yazi 2026-06-10 08:53:21 -05:00
John Lancaster a337ce6f2c kde updates 2026-06-09 09:06:21 -05:00
John Lancaster 278796f47c again 2026-06-03 19:43:50 -05:00
John Lancaster 1ab00f286e obsolete 2026-06-03 19:43:39 -05:00
John Lancaster 771813a064 fixed double description 2026-06-03 19:43:21 -05:00
John Lancaster 722cb78737 gnome 50 update 2026-06-03 19:43:07 -05:00
John Lancaster 6bb73959c6 updated zsh with devenv 2026-06-03 08:50:02 -05:00
John Lancaster fcff43adb1 flake.lock update 2026-06-03 08:49:24 -05:00
John Lancaster 65751a14c5 format 2026-05-09 10:55:10 -05:00
John Lancaster 05f92d1f59 again 2026-05-08 17:07:32 -05:00
John Lancaster 7c4ce8a637 lazygit restructure 2026-05-08 17:05:54 -05:00
John Lancaster bb4fa7b82b more neovim submodules 2026-05-06 22:13:32 -05:00
John Lancaster dc4df3af29 flake.lock update 2026-05-06 22:13:02 -05:00
15 changed files with 673 additions and 231 deletions
+1
View File
@@ -1 +1,2 @@
result/ result/
.devenv/
Generated
+380 -59
View File
@@ -1,13 +1,106 @@
{ {
"nodes": { "nodes": {
"cachix": {
"inputs": {
"devenv": [
"devenv"
],
"flake-compat": [
"devenv",
"flake-compat"
],
"git-hooks": [
"devenv",
"git-hooks"
],
"nixpkgs": [
"devenv",
"nixpkgs"
]
},
"locked": {
"lastModified": 1777487137,
"narHash": "sha256-TuvKVBX60mqyMT6OB5JqVEh1YIWtFMR/igLCaCdC9tw=",
"owner": "cachix",
"repo": "cachix",
"rev": "a66a440c321d35f7193472c317f42a55ccd1cb93",
"type": "github"
},
"original": {
"owner": "cachix",
"ref": "latest",
"repo": "cachix",
"type": "github"
}
},
"crate2nix": {
"flake": false,
"locked": {
"lastModified": 1772186516,
"narHash": "sha256-8s28pzmQ6TOIUzznwFibtW1CMieMUl1rYJIxoQYor58=",
"owner": "rossng",
"repo": "crate2nix",
"rev": "ba5dd398e31ee422fbe021767eb83b0650303a6e",
"type": "github"
},
"original": {
"owner": "rossng",
"repo": "crate2nix",
"rev": "ba5dd398e31ee422fbe021767eb83b0650303a6e",
"type": "github"
}
},
"devenv": {
"inputs": {
"cachix": "cachix",
"crate2nix": "crate2nix",
"flake-compat": "flake-compat",
"flake-parts": "flake-parts",
"ghostty": "ghostty",
"git-hooks": "git-hooks",
"nix": "nix",
"nixd": "nixd",
"nixpkgs": "nixpkgs",
"rust-overlay": "rust-overlay"
},
"locked": {
"lastModified": 1780459148,
"narHash": "sha256-oIpiel88r8zV/WqTFwcGAjWXKOASHNzq7wjXQ6ORTvg=",
"owner": "cachix",
"repo": "devenv",
"rev": "493ed7ef062ba3972c06e60970fe5ebe014f5c33",
"type": "github"
},
"original": {
"owner": "cachix",
"repo": "devenv",
"type": "github"
}
},
"flake-compat": { "flake-compat": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1751685974, "lastModified": 1767039857,
"narHash": "sha256-NKw96t+BgHIYzHUjkTK95FqYRVKB8DHpVhefWSz/kTw=", "narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"flake-compat_2": {
"flake": false,
"locked": {
"lastModified": 1777699697,
"narHash": "sha256-Eg9b/rq/ECYwNwEXs5i9wHyhxNI0JrYx2srdI2uZMaQ=",
"ref": "refs/heads/main", "ref": "refs/heads/main",
"rev": "549f2762aebeff29a2e5ece7a7dc0f955281a1d1", "rev": "382052b74656a369c5408822af3f2501e9b1af81",
"revCount": 92, "revCount": 94,
"type": "git", "type": "git",
"url": "https://git.lix.systems/lix-project/flake-compat.git" "url": "https://git.lix.systems/lix-project/flake-compat.git"
}, },
@@ -18,11 +111,11 @@
}, },
"flake-file": { "flake-file": {
"locked": { "locked": {
"lastModified": 1776202746, "lastModified": 1779051720,
"narHash": "sha256-RZVtJefKKy3Z2UvKWSbtRF3cUxt/2fHga2adN6MZQ1U=", "narHash": "sha256-+jbXnODsR19pFKB0x/6kHhFgW6yV6N+CGClFr45eDU8=",
"owner": "vic", "owner": "vic",
"repo": "flake-file", "repo": "flake-file",
"rev": "7d16dfaeb912d5efdff0d0eda2aabc0c934168dd", "rev": "c58eb27d9434e5be0c8693f1eb18d47035bc21ba",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -34,15 +127,16 @@
"flake-parts": { "flake-parts": {
"inputs": { "inputs": {
"nixpkgs-lib": [ "nixpkgs-lib": [
"nixpkgs-lib" "devenv",
"nixpkgs"
] ]
}, },
"locked": { "locked": {
"lastModified": 1775087534, "lastModified": 1778716662,
"narHash": "sha256-91qqW8lhL7TLwgQWijoGBbiD4t7/q75KTi8NxjVmSmA=", "narHash": "sha256-m1Yf0wZ8j1OHjTc2UwHwyQRSnNeSgLJOd7q5Y45hzi4=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "3107b77cd68437b9a76194f0f7f9c55f2329ca5b", "rev": "f7c1a2d347e4c52d5fb8d10cb4d94b5884e546fb",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -52,6 +146,26 @@
} }
}, },
"flake-parts_2": { "flake-parts_2": {
"inputs": {
"nixpkgs-lib": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1778716662,
"narHash": "sha256-m1Yf0wZ8j1OHjTc2UwHwyQRSnNeSgLJOd7q5Y45hzi4=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "f7c1a2d347e4c52d5fb8d10cb4d94b5884e546fb",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"flake-parts_3": {
"inputs": { "inputs": {
"nixpkgs-lib": [ "nixpkgs-lib": [
"nvf", "nvf",
@@ -59,11 +173,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1769996383, "lastModified": 1778716662,
"narHash": "sha256-AnYjnFWgS49RlqX7LrC4uA+sCCDBj0Ry/WOJ5XWAsa0=", "narHash": "sha256-m1Yf0wZ8j1OHjTc2UwHwyQRSnNeSgLJOd7q5Y45hzi4=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "57928607ea566b5db3ad13af0e57e921e6b12381", "rev": "f7c1a2d347e4c52d5fb8d10cb4d94b5884e546fb",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -90,16 +204,80 @@
"type": "github" "type": "github"
} }
}, },
"home-manager": { "ghostty": {
"flake": false,
"locked": {
"lastModified": 1779069789,
"narHash": "sha256-ojo+gso45/6CVSuqfSVnlWpQ4d0QeLgwok+v/g3yu0E=",
"owner": "ghostty-org",
"repo": "ghostty",
"rev": "4b7bf0b20e3baf9c1ba10c63f2ad1fd853faea8f",
"type": "github"
},
"original": {
"owner": "ghostty-org",
"repo": "ghostty",
"type": "github"
}
},
"git-hooks": {
"inputs": { "inputs": {
"nixpkgs": "nixpkgs" "flake-compat": [
"devenv",
"flake-compat"
],
"gitignore": "gitignore",
"nixpkgs": [
"devenv",
"nixpkgs"
]
}, },
"locked": { "locked": {
"lastModified": 1776562531, "lastModified": 1778507602,
"narHash": "sha256-Lh5Ns9DI67E+lSMOCGK0S+mFPy0mz0yOGiJTUXiR9JI=", "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": [
"devenv",
"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"
}
},
"home-manager": {
"inputs": {
"nixpkgs": "nixpkgs_2"
},
"locked": {
"lastModified": 1780408569,
"narHash": "sha256-s7Tv6FUQThRAvW8En8XVC6HMb0uiikzVccCcCo9u/Bg=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "5b56ad02dc643808b8af6d5f3ff179e2ce9593f4", "rev": "f384af1bec6423a0d4ba1855917ab948f64e5808",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -110,11 +288,11 @@
}, },
"import-tree": { "import-tree": {
"locked": { "locked": {
"lastModified": 1773693634, "lastModified": 1778781969,
"narHash": "sha256-BtZ2dtkBdSUnFPPFc+n0kcMbgaTxzFNPv2iaO326Ffg=", "narHash": "sha256-Jjuz5CmSkur8KvLDoGa+vylEp+RkQtv4mt/qcMznpH0=",
"owner": "vic", "owner": "vic",
"repo": "import-tree", "repo": "import-tree",
"rev": "c41e7d58045f9057880b0d85e1152d6a4430dbf1", "rev": "d321337efd0f23a9eb14a42adb7b2c29313ab274",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -125,11 +303,11 @@
}, },
"mnw": { "mnw": {
"locked": { "locked": {
"lastModified": 1770419553, "lastModified": 1778541201,
"narHash": "sha256-b1XqsH7AtVf2dXmq2iyRr2NC1yG7skY7Z6N2MpWHlK4=", "narHash": "sha256-n0twkzWexzjsoDycOTvvQNuGEdg62UiNHYcFCduYpKI=",
"owner": "Gerg-L", "owner": "Gerg-L",
"repo": "mnw", "repo": "mnw",
"rev": "2aaffa8030d0b262176146adbb6b0e6374ce2957", "rev": "1a3573fc9d2486738fe0b2cacc5cd10dd5f3a445",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -146,20 +324,86 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1768214250, "lastModified": 1779233504,
"narHash": "sha256-hnBZDQWUxJV3KbtvyGW5BKLO/fAwydrxm5WHCWMQTbw=", "narHash": "sha256-YIKEyzh0NFQlD0O92LQQNMoVCDwV8yw1Xz0Iu+4ZC5U=",
"owner": "feel-co", "owner": "feel-co",
"repo": "ndg", "repo": "ndg",
"rev": "a6bd3c1ce2668d096e4fdaaa03ad7f03ba1fbca8", "rev": "86f6644411a64d5413711895b7cf6e0e1be465b6",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "feel-co", "owner": "feel-co",
"ref": "refs/tags/v2.6.0", "ref": "refs/tags/v2.8.0",
"repo": "ndg", "repo": "ndg",
"type": "github" "type": "github"
} }
}, },
"nix": {
"inputs": {
"flake-compat": [
"devenv",
"flake-compat"
],
"flake-parts": [
"devenv",
"flake-parts"
],
"git-hooks-nix": [
"devenv",
"git-hooks"
],
"nixpkgs": [
"devenv",
"nixpkgs"
],
"nixpkgs-23-11": [
"devenv"
],
"nixpkgs-regression": [
"devenv"
]
},
"locked": {
"lastModified": 1779748925,
"narHash": "sha256-meIhqGC04O5VXbKSFXSQoOKp+XCq5RMnwAk1Guo0VQo=",
"owner": "cachix",
"repo": "nix",
"rev": "0bc443c8ff235c3547d09327b48aaa2ab98b15f2",
"type": "github"
},
"original": {
"owner": "cachix",
"ref": "devenv-2.34",
"repo": "nix",
"type": "github"
}
},
"nixd": {
"inputs": {
"flake-parts": [
"devenv",
"flake-parts"
],
"nixpkgs": [
"devenv",
"nixpkgs"
],
"treefmt-nix": "treefmt-nix"
},
"locked": {
"lastModified": 1778381404,
"narHash": "sha256-FqhdOTA8vyoIpkHhbs2cCT7h6EWM7nsLeOYJc1ifQLE=",
"owner": "nix-community",
"repo": "nixd",
"rev": "e3e45eb76663f522e196b7f0cf34cab201db7779",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "nixd",
"type": "github"
}
},
"nixgl": { "nixgl": {
"inputs": { "inputs": {
"flake-utils": "flake-utils", "flake-utils": "flake-utils",
@@ -184,11 +428,11 @@
"nixos-hardware": { "nixos-hardware": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1775490113, "lastModified": 1780310866,
"narHash": "sha256-2ZBhDNZZwYkRmefK5XLOusCJHnoeKkoN95hoSGgMxWM=", "narHash": "sha256-fPBRVf6A5xlACYcOI59shGrjURuvwu0lRsDoSCEXt/I=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixos-hardware", "repo": "nixos-hardware",
"rev": "c775c2772ba56e906cbeb4e0b2db19079ef11ff7", "rev": "4ed851c979641e28597a05086332d75cdc9e395f",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -198,28 +442,64 @@
} }
}, },
"nixpkgs": { "nixpkgs": {
"inputs": {
"nixpkgs-src": "nixpkgs-src"
},
"locked": { "locked": {
"lastModified": 1775423009, "lastModified": 1778507786,
"narHash": "sha256-vPKLpjhIVWdDrfiUM8atW6YkIggCEKdSAlJPzzhkQlw=", "narHash": "sha256-HzSQCKMsMr8r55LwM1JuzIOB+8bzk0FEv6sItKvsfoY=",
"owner": "cachix",
"repo": "devenv-nixpkgs",
"rev": "8f24a228a782e24576b155d1e39f0d914b380691",
"type": "github"
},
"original": {
"owner": "cachix",
"ref": "rolling",
"repo": "devenv-nixpkgs",
"type": "github"
}
},
"nixpkgs-src": {
"flake": false,
"locked": {
"lastModified": 1778274207,
"narHash": "sha256-I4puXmX1iovcCHZlRmztO3vW0mAbbRvq4F8wgIMQ1MM=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "68d8aa3d661f0e6bd5862291b5bb263b2a6595c9", "rev": "b3da656039dc7a6240f27b2ef8cc6a3ef3bccae7",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "NixOS", "owner": "NixOS",
"ref": "nixos-unstable", "ref": "nixpkgs-unstable",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
}, },
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1776329215, "lastModified": 1779877693,
"narHash": "sha256-mBqzkn7oJti2hqeO8iTbDxKw+1ifxpP53feQ0CEXies=", "narHash": "sha256-NOF9NAREhxr50bbBfVcVOq+ArCMSoe8dP79Pk2uyARk=",
"rev": "b86751bc4085f48661017fa226dee99fab6c651b", "owner": "NixOS",
"repo": "nixpkgs",
"rev": "4100e830e085863741bc69b156ec4ccd53ab5be0",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_3": {
"locked": {
"lastModified": 1780336545,
"narHash": "sha256-bWVU1JP9hCYZzQjMLdMzr/FINF+UvpZGvCJcnNY616k=",
"rev": "4df1b885d76a54e1aa1a318f8d16fd6005b6401f",
"type": "tarball", "type": "tarball",
"url": "https://releases.nixos.org/nixpkgs/nixpkgs-26.05pre981196.b86751bc4085/nixexprs.tar.xz" "url": "https://releases.nixos.org/nixpkgs/nixpkgs-26.11pre1008784.4df1b885d76a/nixexprs.tar.xz"
}, },
"original": { "original": {
"type": "tarball", "type": "tarball",
@@ -228,8 +508,8 @@
}, },
"nvf": { "nvf": {
"inputs": { "inputs": {
"flake-compat": "flake-compat", "flake-compat": "flake-compat_2",
"flake-parts": "flake-parts_2", "flake-parts": "flake-parts_3",
"mnw": "mnw", "mnw": "mnw",
"ndg": "ndg", "ndg": "ndg",
"nixpkgs": [ "nixpkgs": [
@@ -238,11 +518,11 @@
"systems": "systems_2" "systems": "systems_2"
}, },
"locked": { "locked": {
"lastModified": 1776608870, "lastModified": 1780421419,
"narHash": "sha256-lBKrueFu15TdmtMF6GsiSVCifwdrUBYFoa3+zZjYTFM=", "narHash": "sha256-EkZYvhK9B9M9j9vuLNSexG1Uf51UshGkPy5iVpYORe8=",
"owner": "notashelf", "owner": "notashelf",
"repo": "nvf", "repo": "nvf",
"rev": "d9ba7f0a9ed6c016dc9e526cc606d1a2f7898cd4", "rev": "8265ea062b4c37dc1b9846ec83bb8c9615048ef1",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -253,22 +533,41 @@
}, },
"root": { "root": {
"inputs": { "inputs": {
"devenv": "devenv",
"flake-file": "flake-file", "flake-file": "flake-file",
"flake-parts": "flake-parts", "flake-parts": "flake-parts_2",
"home-manager": "home-manager", "home-manager": "home-manager",
"import-tree": "import-tree", "import-tree": "import-tree",
"nixgl": "nixgl", "nixgl": "nixgl",
"nixos-hardware": "nixos-hardware", "nixos-hardware": "nixos-hardware",
"nixpkgs": "nixpkgs_2", "nixpkgs": "nixpkgs_3",
"nixpkgs-lib": [
"nixpkgs"
],
"nvf": "nvf", "nvf": "nvf",
"sops-nix": "sops-nix", "sops-nix": "sops-nix",
"wrapper-modules": "wrapper-modules", "wrapper-modules": "wrapper-modules",
"wrappers": "wrappers" "wrappers": "wrappers"
} }
}, },
"rust-overlay": {
"inputs": {
"nixpkgs": [
"devenv",
"nixpkgs"
]
},
"locked": {
"lastModified": 1779074409,
"narHash": "sha256-6aXy8Ga41iLVM8ibddFU1O5+wYWcBGNEfZzZuL91eIc=",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "2a77b5b1dc952f214e8102acdef1622b68515560",
"type": "github"
},
"original": {
"owner": "oxalica",
"repo": "rust-overlay",
"type": "github"
}
},
"sops-nix": { "sops-nix": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@@ -276,11 +575,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1776119890, "lastModified": 1777944972,
"narHash": "sha256-Zm6bxLNnEOYuS/SzrAGsYuXSwk3cbkRQZY0fJnk8a5M=", "narHash": "sha256-VfGRo1qTBKOe3s2gOv8LSoA6Fk19PvBlwQ1ECN0Evn8=",
"owner": "Mic92", "owner": "Mic92",
"repo": "sops-nix", "repo": "sops-nix",
"rev": "d4971dd58c6627bfee52a1ad4237637c0a2fb0cd", "rev": "c591bf665727040c6cc5cb409079acb22dcce33c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -319,6 +618,28 @@
"type": "github" "type": "github"
} }
}, },
"treefmt-nix": {
"inputs": {
"nixpkgs": [
"devenv",
"nixd",
"nixpkgs"
]
},
"locked": {
"lastModified": 1775636079,
"narHash": "sha256-pc20NRoMdiar8oPQceQT47UUZMBTiMdUuWrYu2obUP0=",
"owner": "numtide",
"repo": "treefmt-nix",
"rev": "790751ff7fd3801feeaf96d7dc416a8d581265ba",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "treefmt-nix",
"type": "github"
}
},
"wrapper-modules": { "wrapper-modules": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@@ -326,11 +647,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1776464146, "lastModified": 1780449413,
"narHash": "sha256-XwLFfJDz71vIF7BAhnbLhrzQjmDC2uXdo7N0oHUrYzA=", "narHash": "sha256-ZsjnJ85CrTxI7+VaOWzkOB1u/+d4CM9AxBazXfsYXuA=",
"owner": "BirdeeHub", "owner": "BirdeeHub",
"repo": "nix-wrapper-modules", "repo": "nix-wrapper-modules",
"rev": "75febede14a0845f4ef429da692a0698bf433600", "rev": "e72bd9cf5fbc57e620912b773bed42b4e278bdc0",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -346,11 +667,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1776505856, "lastModified": 1780428045,
"narHash": "sha256-VbnOijrn4EdYYJwiNQFxQNXECKBa60U66UPxUQAGkBE=", "narHash": "sha256-pMJOun/oYhXqes+B3khzRDGWuiCNiWJ25+SVW0OwzNY=",
"owner": "lassulus", "owner": "lassulus",
"repo": "wrappers", "repo": "wrappers",
"rev": "738d4bf81cbf306f6917c540a5b798110e3cf1e8", "rev": "ce9122bf06697ade7c5087940e0c280b89dd0208",
"type": "github" "type": "github"
}, },
"original": { "original": {
+2 -2
View File
@@ -4,10 +4,11 @@
outputs = inputs: inputs.flake-parts.lib.mkFlake { inherit inputs; } (inputs.import-tree ./modules); outputs = inputs: inputs.flake-parts.lib.mkFlake { inherit inputs; } (inputs.import-tree ./modules);
inputs = { inputs = {
devenv.url = "github:cachix/devenv";
flake-file.url = "github:vic/flake-file"; flake-file.url = "github:vic/flake-file";
flake-parts = { flake-parts = {
url = "github:hercules-ci/flake-parts"; url = "github:hercules-ci/flake-parts";
inputs.nixpkgs-lib.follows = "nixpkgs-lib"; inputs.nixpkgs-lib.follows = "nixpkgs";
}; };
home-manager.url = "github:nix-community/home-manager"; home-manager.url = "github:nix-community/home-manager";
import-tree.url = "github:vic/import-tree"; import-tree.url = "github:vic/import-tree";
@@ -20,7 +21,6 @@
flake = false; flake = false;
}; };
nixpkgs.url = "https://channels.nixos.org/nixpkgs-unstable/nixexprs.tar.xz"; nixpkgs.url = "https://channels.nixos.org/nixpkgs-unstable/nixexprs.tar.xz";
nixpkgs-lib.follows = "nixpkgs";
nvf = { nvf = {
url = "github:notashelf/nvf"; url = "github:notashelf/nvf";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
-1
View File
@@ -4,7 +4,6 @@
desktopManager.gnome.enable = true; desktopManager.gnome.enable = true;
displayManager.gdm = { displayManager.gdm = {
enable = true; enable = true;
wayland = true;
banner = "Welcome to John's NixOS implementation"; banner = "Welcome to John's NixOS implementation";
}; };
udev.packages = [ udev.packages = [
+7 -4
View File
@@ -125,7 +125,6 @@ in
inherit (cfg) certDir keyFile certFile bundleFile; inherit (cfg) certDir keyFile certFile bundleFile;
inherit (cfg.renew) user group reloadUnits postCommands; inherit (cfg.renew) user group reloadUnits postCommands;
systemd = { systemd = {
description = "Renew the mTLS certificate when Smallstep marks it ready";
after = [ "network-online.target" ]; after = [ "network-online.target" ];
wants = [ "network-online.target" ]; wants = [ "network-online.target" ];
serviceConfig = { serviceConfig = {
@@ -233,7 +232,7 @@ in
]; ];
# Create the systemd service files for the user. # Create the systemd service files for the user.
xdg.dataFile = lib.mkIf cfg.renew.enable { xdg.configFile = lib.mkIf cfg.renew.enable {
"systemd/user/mtls-renew.service".source = "systemd/user/mtls-renew.service".source =
"${mtlsRenewWrapper.outputs.systemd-user}/systemd/user/mtls-renew.service"; "${mtlsRenewWrapper.outputs.systemd-user}/systemd/user/mtls-renew.service";
"systemd/user/mtls-renew.timer".source = "systemd/user/mtls-renew.timer".source =
@@ -251,7 +250,11 @@ in
if [ -n "$XDG_RUNTIME_DIR" ] && [ -S "$XDG_RUNTIME_DIR/systemd/private" ]; then if [ -n "$XDG_RUNTIME_DIR" ] && [ -S "$XDG_RUNTIME_DIR/systemd/private" ]; then
if [ "${lib.boolToString (cfg.enable && cfg.renew.enable)}" = "true" ]; then if [ "${lib.boolToString (cfg.enable && cfg.renew.enable)}" = "true" ]; then
run ${pkgs.systemd}/bin/systemctl --user daemon-reload run ${pkgs.systemd}/bin/systemctl --user daemon-reload
run ${pkgs.systemd}/bin/systemctl --user enable --now mtls-renew.timer if ${pkgs.systemd}/bin/systemctl --user cat mtls-renew.timer >/dev/null 2>&1; then
run ${pkgs.systemd}/bin/systemctl --user enable --now mtls-renew.timer
else
verboseEcho "mtls-renew.timer unit file is not available; skipping enable"
fi
else else
run ${pkgs.systemd}/bin/systemctl --user disable --now mtls-renew.timer || true run ${pkgs.systemd}/bin/systemctl --user disable --now mtls-renew.timer || true
run ${pkgs.systemd}/bin/systemctl --user daemon-reload || true run ${pkgs.systemd}/bin/systemctl --user daemon-reload || true
@@ -426,7 +429,7 @@ in
config.pkgs.step-cli config.pkgs.step-cli
]; ];
systemd = { systemd = {
description = "Automatic mTLS renewal service"; description = "Renew the mTLS certificate when Smallstep marks it ready";
documentation = [ documentation = [
"https://smallstep.com/docs/step-ca/certificate-authority-server-production" "https://smallstep.com/docs/step-ca/certificate-authority-server-production"
]; ];
+73 -53
View File
@@ -1,63 +1,83 @@
# This module provides all the shell options # This module provides all the shell options
{ self, inputs, ... }: { { self, inputs, ... }:
flake.modules.homeManager.shell-tools = { config, pkgs, ... }: { {
imports = with inputs.self.modules.homeManager; [ flake.modules.homeManager.shell-tools =
# bash { config, pkgs, ... }:
zsh {
files imports = with inputs.self.modules.homeManager; [
]; # bash
zsh
files
];
home.packages = with pkgs; [ home.packages = with pkgs; [
btop btop
uv uv
xclip xclip
inputs.self.packages.${pkgs.stdenv.hostPlatform.system}.shell-tools inputs.self.packages.${pkgs.stdenv.hostPlatform.system}.shell-tools
]; ];
home.shell.enableShellIntegration = true; home.shell.enableShellIntegration = true;
}; };
perSystem = { system, pkgs, self', ... }: { perSystem =
packages.shell-tools = inputs.wrappers.lib.wrapPackage { {
inherit pkgs; system,
# binName = "show-tools"; pkgs,
package = (pkgs.symlinkJoin { self',
name = "show-tools"; ...
meta.mainProgram = "show-tools"; }:
paths = with pkgs; [ {
nh packages.shell-tools = inputs.wrappers.lib.wrapPackage {
ripgrep inherit pkgs;
fd # binName = "show-tools";
jq package = (
wget pkgs.symlinkJoin {
curl
dig
self'.packages.gdu
self'.packages.my-eza
hostname
iproute2
direnv
(writeShellApplication {
name = "show-tools"; name = "show-tools";
text = '' meta.mainProgram = "show-tools";
IFS=':' read -r -a path_dirs <<< "''${PATH:-}" paths = with pkgs; [
nh
ripgrep
fd
jq
wget
curl
dig
bat
self'.packages.gdu
self'.packages.my-eza
self'.packages.yazi
hostname
iproute2
direnv
(writeShellApplication {
name = "show-tools";
text = ''
IFS=':' read -r -a path_dirs <<< "''${PATH:-}"
for dir in "''${path_dirs[@]}"; do for dir in "''${path_dirs[@]}"; do
[[ "$dir" == */bin ]] || continue [[ "$dir" == */bin ]] || continue
[[ -d "$dir" ]] || continue [[ -d "$dir" ]] || continue
printf '%s\n' "$dir"/* printf '%s\n' "$dir"/*
done done
''; '';
}) })
];
}
);
};
packages.gdu = inputs.wrappers.lib.wrapPackage {
inherit pkgs;
package = pkgs.gdu;
args = [
"-x"
"--si"
"--collapse-path"
"--mouse"
"$@"
]; ];
}); };
}; };
packages.gdu = inputs.wrappers.lib.wrapPackage {
inherit pkgs;
package = pkgs.gdu;
args = [ "-x" "--si" "--collapse-path" "--mouse" "$@" ];
};
};
} }
+70
View File
@@ -0,0 +1,70 @@
{ withSystem, self, inputs, ... }:
let
username = "john";
hostname = "omen";
in
{
flake.modules.homeManager."${hostname}" = { config, pkgs, lib, ... }:
let
selfPkgs = inputs.self.packages.${pkgs.stdenv.hostPlatform.system};
flakeDir = "${config.xdg.configHome}/home-manager";
in
{
imports = with inputs.self.modules.homeManager; [
rebuild
john
# mtls
# restic
docker
desktop
step-client
# mysops
# myPackage
# myStepClient
];
# TODO: make this more restrictive, rather than allowing all unfree packages
nixpkgs.config.allowUnfree = true;
nixpkgs.config.permittedInsecurePackages = [ "openssl-1.1.1w" ];
targets.genericLinux.enable = true;
home.username = "${username}";
home.homeDirectory = "/home/${username}";
home.packages = with pkgs; [
selfPkgs.jsl-zsh
selfPkgs.my-neovim
selfPkgs.ssh-certs
# selfPkgs.step-bootstrap
# selfPkgs.wg-platform
# self'.packages.myWrappedPackage
# (inputs.self.wrappers.test-push.apply {
# inherit pkgs flakeDir;
# host = testHost;
# target = testTarget;
# }).wrapper
];
homeManagerFlakeDir = flakeDir;
docker.enable = true;
ssh = {
certificates.enable = true;
knownHosts = [
"fded:fb16:653e:25da:be24:11ff:fea0:753f ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJ9ZqiWPrCwHjxFCiu0lT4rlQs7KyMapxKJQQ5PJP1eh"
];
matchSets = {
certs = true;
appdaemon = true;
homelab = true;
dev = true;
tailscale = true;
};
};
};
flake.homeConfigurations."john@omen" = withSystem "x86_64-linux" (ctx@{ system, inputs', ... }:
inputs.home-manager.lib.homeManagerConfiguration {
pkgs = inputs'.nixpkgs.legacyPackages;
modules = [ inputs.self.modules.homeManager."${hostname}" ]; # Uses the module defined above
});
}
@@ -123,7 +123,6 @@
my-vscode.enable = true; my-vscode.enable = true;
mysops.hostSecretFile = "${flakeDir}/modules/hosts/john-p14s/secrets.yaml"; mysops.hostSecretFile = "${flakeDir}/modules/hosts/john-p14s/secrets.yaml";
homeManagerFlakeDir = "${flakeDir}"; homeManagerFlakeDir = "${flakeDir}";
shell.program = "zsh";
home.packages = with pkgs; [ home.packages = with pkgs; [
bash bash
discord discord
+12 -12
View File
@@ -39,7 +39,7 @@ in
home.homeDirectory = "/home/${username}"; home.homeDirectory = "/home/${username}";
home.packages = with pkgs; [ home.packages = with pkgs; [
selfPkgs.jsl-zsh selfPkgs.jsl-zsh
selfPkgs.my-neovim # selfPkgs.my-neovim
selfPkgs.ssh-certs selfPkgs.ssh-certs
# selfPkgs.step-bootstrap # selfPkgs.step-bootstrap
# selfPkgs.wg-platform # selfPkgs.wg-platform
@@ -91,17 +91,17 @@ in
"/home/john/john-nas" "/home/john/john-nas"
]; ];
}; };
mtls = { # mtls = {
enable = true; # enable = true;
subject = hostname; # subject = hostname;
san = [ # san = [
"${hostname}" # "${hostname}"
"192.168.1.85" # "192.168.1.85"
"spiffe://john-stream.com/ubuntu" # "spiffe://john-stream.com/ubuntu"
]; # ];
lifetime = "1h"; # lifetime = "1h";
renew.onCalendar = "*:1/10"; # renew.onCalendar = "*:1/10";
}; # };
}; };
flake.homeConfigurations."john@john-pc-ubuntu" = withSystem "x86_64-linux" (ctx@{ system, inputs', ... }: flake.homeConfigurations."john@john-pc-ubuntu" = withSystem "x86_64-linux" (ctx@{ system, inputs', ... }:
+79 -72
View File
@@ -32,12 +32,15 @@
# git.neogit.enable = true; # git.neogit.enable = true;
# https://github.com/akinsho/toggleterm.nvim # https://github.com/akinsho/toggleterm.nvim
terminal.toggleterm.enable = true; terminal.toggleterm = {
terminal.toggleterm.lazygit.enable = true; enable = true;
terminal.toggleterm.lazygit.direction = "float"; lazygit = {
terminal.toggleterm.lazygit.mappings.open = "<C-g>"; enable = true;
package = pkgs.lazygit;
lsp.enable = true; direction = "float";
mappings.open = "<C-g>";
};
};
languages = { languages = {
enableTreesitter = true; enableTreesitter = true;
@@ -49,11 +52,74 @@
}; };
}; };
}; };
telescopeModule = {
config.vim = {
telescope = {
enable = true;
extensions = [
{
name = "fzf";
packages = [ pkgs.vimPlugins.telescope-fzf-native-nvim ];
setup = {
fzf.fuzzy = true;
};
}
];
};
keymaps = [
{
desc = "Key Maps [Telescope]";
key = "<leader>fkm";
mode = "n";
silent = false;
action = "<cmd>:Telescope keymaps<CR>";
}
{
desc = "Toggle Filesystem Tree [NeoTree]";
key = "<C-b>";
mode = [ "n" "v" "t" ];
silent = false;
action = "<cmd>:Neotree toggle filesystem left action=show<CR>";
}
];
};
};
keymapsModule = {
config.vim = {
keymaps = [
{
desc = "Edit key mappings";
key = "<leader>ekm";
mode = [ "n" ];
silent = false;
action = "<cmd>:edit +/keymaps /home/john/.config/home-manager/jsl-dendritic/modules/programs/neovim.nix<CR>";
}
{
desc = "Home Manager Switch";
key = "<leader>nhms";
mode = [ "n" ];
silent = false;
action = "<cmd>:TermExec cmd='clear && nhms && exit' name='Nix Home Manager Switch' direction=float<CR>";
}
{
key = "<C-`>";
mode = [ "n" "v" "t" ];
silent = false;
action = "<cmd>:ToggleTerm<CR>";
}
];
};
};
in { in {
packages.my-neovim = ((inputs.nvf.lib.neovimConfiguration { packages.my-neovim = ((inputs.nvf.lib.neovimConfiguration {
inherit pkgs; inherit pkgs;
modules = [ modules = [
commonNeovimModule commonNeovimModule
telescopeModule
keymapsModule
{ {
# https://nvf.notashelf.dev/search.html # https://nvf.notashelf.dev/search.html
config.vim = { config.vim = {
@@ -66,40 +132,14 @@
enable = true; enable = true;
}; };
# lazy = {
# enable = true;
# };
# globals = {
# SimpylFold_docstring_preview = 1;
# SimpylFold_fold_blank = 0;
# };
# extraPlugins = with pkgs.vimPlugins; {
# SimpylFold.package = SimpylFold;
# };
telescope = {
enable = true;
extensions = [
{
name = "fzf";
packages = [ pkgs.vimPlugins.telescope-fzf-native-nvim ];
setup = {
fzf = {
fuzzy = true;
};
};
}
];
};
# Enable Treesitter # Enable Treesitter
treesitter = { treesitter = {
enable = true; enable = true;
grammars = with pkgs.vimPlugins.nvim-treesitter-parsers; [ python ]; grammars = with pkgs.vimPlugins.nvim-treesitter-parsers; [ python ];
}; };
lsp.enable = true;
languages = { languages = {
markdown = { markdown = {
enable = true; enable = true;
@@ -120,43 +160,6 @@
format.type = [ "ruff" ]; format.type = [ "ruff" ];
}; };
}; };
keymaps = [
{
desc = "Edit key mappings";
key = "<leader>ekm";
mode = [ "n" ];
silent = false;
action = "<cmd>:edit +/keymaps /home/john/.config/home-manager/jsl-dendritic/modules/programs/neovim.nix<CR>";
}
{
desc = "Home Manager Switch";
key = "<leader>nhms";
mode = [ "n" ];
silent = false;
action = "<cmd>:TermExec cmd='clear && nhms && exit' name='Nix Home Manager Switch' direction=float<CR>";
}
{
desc = "Key Maps [Telescope]";
key = "<leader>fkm";
mode = "n";
silent = false;
action = "<cmd>:Telescope keymaps<CR>";
}
{
desc = "Toggle Filesystem Tree [NeoTree]";
key = "<C-b>";
mode = [ "n" "v" "t" ];
silent = false;
action = "<cmd>:Neotree toggle filesystem left action=show<CR>";
}
{
key = "<C-`>";
mode = [ "n" "v" "t" ];
silent = false;
action = "<cmd>:ToggleTerm<CR>";
}
];
}; };
} }
]; ];
@@ -167,7 +170,11 @@
packages.neovim-min = ((inputs.nvf.lib.neovimConfiguration { packages.neovim-min = ((inputs.nvf.lib.neovimConfiguration {
inherit pkgs; inherit pkgs;
modules = [ commonNeovimModule ]; modules = [
commonNeovimModule
telescopeModule
keymapsModule
];
}).neovim).overrideAttrs (old: { }).neovim).overrideAttrs (old: {
pname = "neovim-min"; pname = "neovim-min";
version = "1.0.0"; version = "1.0.0";
-1
View File
@@ -5,6 +5,5 @@
[[ssh-keys]] [[ssh-keys]]
vault = "Private" vault = "Private"
''; '';
programs.ssh.matchBlocks."*".identityAgent = "${config.home.homeDirectory}/.1password/agent.sock";
}; };
} }
+11
View File
@@ -0,0 +1,11 @@
{ self, inputs, ... }: {
# https://github.com/Lassulus/wrappers/blob/main/modules/yazi/module.nix
perSystem = { system, pkgs, lib, ... }: {
packages.yazi = (inputs.wrappers.wrapperModules.yazi.apply {
inherit pkgs;
settings = {
mgr.ratio = [ 1 4 3 ];
};
}).wrapper;
};
}
+31 -25
View File
@@ -1,33 +1,39 @@
{ self, inputs, ... }: { self, ... }:
let let
packageName = "zed-editor"; packageName = "zed-editor";
vulkanIcd = "/usr/share/vulkan/icd.d/nvidia_icd.json";
zedWrapper = inputs.wrappers.lib.wrapModule ({ config, lib, wlib, ... }: { eglVendor = "/usr/share/glvnd/egl_vendor.d/10_nvidia.json";
options = {
text-to-say = lib.mkOption {
type = lib.types.str;
description = "Text for the ascii cow to say.";
};
};
config = {
binName = "my-pkg";
package = config.pkgs.cowsay;
args = [ config.text-to-say ];
};
});
in in
{ {
perSystem = { system, pkgs, lib, ... }: { perSystem = { pkgs, ... }: {
packages."${packageName}" = (zedWrapper.apply { packages."${packageName}" = pkgs.symlinkJoin {
inherit pkgs; name = "zed-editor-host-gpu";
text-to-say = "Hello from wrapped module!"; paths = [ pkgs.zed-editor ];
}).wrapper; nativeBuildInputs = [ pkgs.makeWrapper ];
meta = pkgs.zed-editor.meta // {
mainProgram = "zeditor";
};
postBuild = ''
for exe in $out/bin/*; do
wrapProgram "$exe" \
--unset WAYLAND_DISPLAY \
--unset GDK_BACKEND \
--set VK_DRIVER_FILES ${vulkanIcd} \
--set VK_ICD_FILENAMES ${vulkanIcd} \
--set __EGL_VENDOR_LIBRARY_FILENAMES ${eglVendor} \
--set __GLX_VENDOR_LIBRARY_NAME nvidia
done
'';
};
}; };
flake.modules.homeManager."${packageName}" = { config, pkgs, lib, ... }: { flake.modules.homeManager.zed-editor = { pkgs, ... }: {
home.packages = [ home.packages = [ pkgs.vulkan-tools ];
inputs.self.packages.${pkgs.stdenv.hostPlatform.system}."${packageName}"
]; programs.zed-editor = {
enable = true;
package = self.packages.${pkgs.stdenv.hostPlatform.system}."${packageName}";
installRemoteServer = true;
};
}; };
} }
+5
View File
@@ -96,6 +96,7 @@ in
env = { env = {
LANG = "en_US.UTF-8"; LANG = "en_US.UTF-8";
COLORTERM = "truecolor"; COLORTERM = "truecolor";
DEVENV_SHELL_TYPE = "zsh";
}; };
settings = { settings = {
completion = { completion = {
@@ -133,9 +134,13 @@ in
HOSTNAME=$(hostname -s) HOSTNAME=$(hostname -s)
${aliasStr} ${aliasStr}
eval "$(devenv hook zsh)"
''; '';
extraPackages = with pkgs; [ extraPackages = with pkgs; [
lazygit
lazydocker lazydocker
devenv
self'.packages.shell-tools self'.packages.shell-tools
self'.packages.neovim-min self'.packages.neovim-min
]; ];
+1
View File
@@ -135,6 +135,7 @@ in
"*" = lib.mkMerge [ "*" = lib.mkMerge [
{ {
user = "john"; user = "john";
identityAgent = "${config.home.homeDirectory}/.1password/agent.sock";
compression = false; compression = false;
serverAliveInterval = 0; serverAliveInterval = 0;