mirror of
https://github.com/nmasur/dotfiles
synced 2025-07-08 03:40:13 +00:00
Compare commits
42 Commits
48b1d41aff
...
microcode
Author | SHA1 | Date | |
---|---|---|---|
1105bc8fed | |||
1022a3998f | |||
67727954ec | |||
cf8fc2ac56 | |||
4c38ae86a9 | |||
4b3bc8a216 | |||
e9a2ce6df3 | |||
875054aa2c | |||
4b9eea276b | |||
fc5ed5e892 | |||
1d01ddbbbc | |||
8cba026f10 | |||
a6e4b3130d | |||
33868c1add | |||
d806bd7f56 | |||
120b97f970 | |||
5f71437e57 | |||
e8e65ba4d1 | |||
c594a0b161 | |||
57c3719600 | |||
98c9c85e95 | |||
3ef36c4873 | |||
1d1d5014a0 | |||
1f64ed0bb8 | |||
2bfb8ea8b5 | |||
e91d6665fb | |||
7e3ab279af | |||
cdb9da9c50 | |||
46bbd2c967 | |||
51bee71faf | |||
a7adc18463 | |||
25a959f404 | |||
9f31d775c7 | |||
5306070bc5 | |||
b729eff679 | |||
4883532c65 | |||
982d3ce2d8 | |||
64311e6e1c | |||
83c9393837 | |||
e72d4eb548 | |||
b51df2f3a3 | |||
f47f397e1f |
2
.github/workflows/update.yml
vendored
2
.github/workflows/update.yml
vendored
@ -3,7 +3,7 @@ name: Update Flake
|
|||||||
on:
|
on:
|
||||||
workflow_dispatch: # allows manual triggering
|
workflow_dispatch: # allows manual triggering
|
||||||
schedule:
|
schedule:
|
||||||
- cron: '33 3 * * 0' # runs weekly on Sunday at 03:33
|
- cron: '33 3 * * 6' # runs weekly on Saturday at 03:33
|
||||||
|
|
||||||
permissions:
|
permissions:
|
||||||
contents: write
|
contents: write
|
||||||
|
278
flake.lock
generated
278
flake.lock
generated
@ -87,11 +87,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1724994893,
|
"lastModified": 1731032247,
|
||||||
"narHash": "sha256-yutISDGg6HUaZqCaa54EcsfTwew3vhNtt/FNXBBo44g=",
|
"narHash": "sha256-OjLft7fwkmiRLXQsGAudGFZxEYXOT0nHwrQ9GbsBqJ4=",
|
||||||
"owner": "lnl7",
|
"owner": "lnl7",
|
||||||
"repo": "nix-darwin",
|
"repo": "nix-darwin",
|
||||||
"rev": "c8d3157d1f768e382de5526bb38e74d2245cad04",
|
"rev": "2fbf4a8417c28cf45bae6e6e97248cbbd9b78632",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -108,11 +108,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1724895876,
|
"lastModified": 1731060864,
|
||||||
"narHash": "sha256-GSqAwa00+vRuHbq9O/yRv7Ov7W/pcMLis3HmeHv8a+Q=",
|
"narHash": "sha256-aYE7oAYZ+gPU1mPNhM0JwLAQNgjf0/JK1BF1ln2KBgk=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "disko",
|
"repo": "disko",
|
||||||
"rev": "511388d837178979de66d14ca4a2ebd5f7991cd3",
|
"rev": "5e40e02978e3bd63c2a6a9fa6fa8ba0e310e747f",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -145,11 +145,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1725152465,
|
"lastModified": 1731113649,
|
||||||
"narHash": "sha256-6oM7r2iu0pIGbhiitFyM1zNn2mScrYhQqZw1p8JV2Ss=",
|
"narHash": "sha256-U6FMghMpHTk2Pb5VsjNk8tBgCiiyB+bebmfOuNtMisA=",
|
||||||
"owner": "bandithedoge",
|
"owner": "bandithedoge",
|
||||||
"repo": "nixpkgs-firefox-darwin",
|
"repo": "nixpkgs-firefox-darwin",
|
||||||
"rev": "d6fb0bcaf97c356862baf1c90724314f36eebb72",
|
"rev": "22a53e2cae4d37fb24e9326c6f72a54cb4f269d5",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -231,11 +231,11 @@
|
|||||||
"systems": "systems_3"
|
"systems": "systems_3"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1710146030,
|
"lastModified": 1726560853,
|
||||||
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
|
"narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=",
|
||||||
"owner": "numtide",
|
"owner": "numtide",
|
||||||
"repo": "flake-utils",
|
"repo": "flake-utils",
|
||||||
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
|
"rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -244,14 +244,30 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"gh-collaborators": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1717117275,
|
||||||
|
"narHash": "sha256-x3p2bHL6U8gWanXnTTJGgA9x4Ixy9AOZiBbfcfn5VVw=",
|
||||||
|
"owner": "katiem0",
|
||||||
|
"repo": "gh-collaborators",
|
||||||
|
"rev": "4dfcd0b5c2e31f2d0fbfd4b83fdfae787a5e6ff8",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "katiem0",
|
||||||
|
"repo": "gh-collaborators",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"hmts-nvim-src": {
|
"hmts-nvim-src": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1715076655,
|
"lastModified": 1729786258,
|
||||||
"narHash": "sha256-vDTqJQzLyg0nmlC+CrLnPkYti1rPxmvRW8eQq/9Zg+M=",
|
"narHash": "sha256-V5dwIJdxBulFVKk1iSlf4H5NRz1UH7uYQeMvwtgkpIs=",
|
||||||
"owner": "calops",
|
"owner": "calops",
|
||||||
"repo": "hmts.nvim",
|
"repo": "hmts.nvim",
|
||||||
"rev": "19a91816c123173a4551a6a04f2882338f20db1d",
|
"rev": "c7ff4c3ad96cd05664b18fb5bbbe2abbd7682dd2",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -267,11 +283,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1724435763,
|
"lastModified": 1730837930,
|
||||||
"narHash": "sha256-UNky3lJNGQtUEXT2OY8gMxejakSWPTfWKvpFkpFlAfM=",
|
"narHash": "sha256-0kZL4m+bKBJUBQse0HanewWO0g8hDdCvBhudzxgehqc=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "c2cd2a52e02f1dfa1c88f95abeb89298d46023be",
|
"rev": "2f607e07f3ac7e53541120536708e824acccfaa8",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -291,11 +307,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1719942949,
|
"lastModified": 1727470707,
|
||||||
"narHash": "sha256-srSQac7dhXtisqu4XwPGrK8qcmT2rflJJ1mRIV9j0Qk=",
|
"narHash": "sha256-BqkwZ2mvzn+COdfIuzllSzWmiaBwQktt4sw9slfwM70=",
|
||||||
"owner": "hraban",
|
"owner": "hraban",
|
||||||
"repo": "mac-app-util",
|
"repo": "mac-app-util",
|
||||||
"rev": "63f269f737cafb2219ba38780c1ecb1dc24bc4a2",
|
"rev": "9c6bbe2a6a7ec647d03f64f0fadb874284f59eac",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -304,72 +320,56 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"markview-nvim-src": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1725132498,
|
|
||||||
"narHash": "sha256-R2QowdqGT5rIAvFjzUDyNpqfGz9y+oGitbnkmVnzsPc=",
|
|
||||||
"owner": "OXY2DEV",
|
|
||||||
"repo": "markview.nvim",
|
|
||||||
"rev": "ea71a5bc6e0a0b28af62e2f21d264ddcc466bd51",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "OXY2DEV",
|
|
||||||
"repo": "markview.nvim",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nextcloud-cookbook": {
|
"nextcloud-cookbook": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1719431638,
|
"lastModified": 1726214817,
|
||||||
"narHash": "sha256-a8ekMnEzudHGiqHF53jPtgsVTOTc2QLuPg6YtTw5h68=",
|
"narHash": "sha256-Pfa+Xbopg20os+pnGgg+wpEX1MI5fz5JMb0K4a8rBhs=",
|
||||||
"type": "tarball",
|
"type": "tarball",
|
||||||
"url": "https://github.com/christianlupus-nextcloud/cookbook-releases/releases/download/v0.11.1/cookbook-0.11.1.tar.gz"
|
"url": "https://github.com/christianlupus-nextcloud/cookbook-releases/releases/download/v0.11.2/cookbook-0.11.2.tar.gz"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"type": "tarball",
|
"type": "tarball",
|
||||||
"url": "https://github.com/christianlupus-nextcloud/cookbook-releases/releases/download/v0.11.1/cookbook-0.11.1.tar.gz"
|
"url": "https://github.com/christianlupus-nextcloud/cookbook-releases/releases/download/v0.11.2/cookbook-0.11.2.tar.gz"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nextcloud-external": {
|
"nextcloud-external": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1710338675,
|
"lastModified": 1729501349,
|
||||||
"narHash": "sha256-bJJ/dVmE1o04QCyrxD0sko0okRsnxJmT6sOTOmBiifs=",
|
"narHash": "sha256-OV6HhFBzmnQBO5btGEnqmKlaUMY7/t2Qm3XebclpBlM=",
|
||||||
"type": "tarball",
|
"type": "tarball",
|
||||||
"url": "https://github.com/nextcloud-releases/external/releases/download/v5.4.0/external-v5.4.0.tar.gz"
|
"url": "https://github.com/nextcloud-releases/external/releases/download/v5.5.2/external-v5.5.2.tar.gz"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"type": "tarball",
|
"type": "tarball",
|
||||||
"url": "https://github.com/nextcloud-releases/external/releases/download/v5.4.0/external-v5.4.0.tar.gz"
|
"url": "https://github.com/nextcloud-releases/external/releases/download/v5.5.2/external-v5.5.2.tar.gz"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nextcloud-news": {
|
"nextcloud-news": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1718102703,
|
"lastModified": 1729667621,
|
||||||
"narHash": "sha256-XNGjf7SWgJYFdVNOh3ED0jxSG0GJwWImVQq4cJT1Lo4=",
|
"narHash": "sha256-pnvyMZQ+NYMgH0Unfh5S19HdZSjnghgoUDAoi2KIXNI=",
|
||||||
"type": "tarball",
|
"type": "tarball",
|
||||||
"url": "https://github.com/nextcloud/news/releases/download/25.0.0-alpha7/news.tar.gz"
|
"url": "https://github.com/nextcloud/news/releases/download/25.0.0-alpha12/news.tar.gz"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"type": "tarball",
|
"type": "tarball",
|
||||||
"url": "https://github.com/nextcloud/news/releases/download/25.0.0-alpha7/news.tar.gz"
|
"url": "https://github.com/nextcloud/news/releases/download/25.0.0-alpha12/news.tar.gz"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nextcloud-snappymail": {
|
"nextcloud-snappymail": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1725162283,
|
"lastModified": 1731123727,
|
||||||
"narHash": "sha256-WwCRAZzxYWUpOy6iVTDpVIr/DrkJkQGjgIdVWNfCH3Q=",
|
"narHash": "sha256-oCw6Brs85rINBHvz3UJXheyLVqvA3RgPXG03b30Fx7E=",
|
||||||
"type": "tarball",
|
"type": "tarball",
|
||||||
"url": "https://snappymail.eu/repository/nextcloud/snappymail-2.37.2-nextcloud.tar.gz"
|
"url": "https://snappymail.eu/repository/nextcloud/snappymail-2.38.2-nextcloud.tar.gz"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"type": "tarball",
|
"type": "tarball",
|
||||||
"url": "https://snappymail.eu/repository/nextcloud/snappymail-2.37.2-nextcloud.tar.gz"
|
"url": "https://snappymail.eu/repository/nextcloud/snappymail-2.38.2-nextcloud.tar.gz"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nix2vim": {
|
"nix2vim": {
|
||||||
@ -380,11 +380,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1718621825,
|
"lastModified": 1729103549,
|
||||||
"narHash": "sha256-bSfjwRgKKpLyjEDPRAF1hlJKc7QDoqopalHwNCB/eAA=",
|
"narHash": "sha256-9caCn1wB0bD39bwwjnTsHoDveCUKs06nBe212fs5TKU=",
|
||||||
"owner": "gytis-ivaskevicius",
|
"owner": "gytis-ivaskevicius",
|
||||||
"repo": "nix2vim",
|
"repo": "nix2vim",
|
||||||
"rev": "1db11dbf8a4d124e02244fa5c4ff219b672a8e5b",
|
"rev": "b3900e6d79233573f318006505d9ad3fb7170b92",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -395,11 +395,11 @@
|
|||||||
},
|
},
|
||||||
"nixlib": {
|
"nixlib": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1724547350,
|
"lastModified": 1729386149,
|
||||||
"narHash": "sha256-WKkGeNpenNMKD1gOF0Xuqi3VsKX/QCAiwz9qe5PDvzA=",
|
"narHash": "sha256-hUP9oxmnOmNnKcDOf5Y55HQ+NnoT0+bLWHLQWLLw9Ks=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nixpkgs.lib",
|
"repo": "nixpkgs.lib",
|
||||||
"rev": "b741d900fecd2f0c32d90f853b24be9f5f098b7d",
|
"rev": "cce4521b6df014e79a7b7afc58c703ed683c916e",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -416,11 +416,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1724893087,
|
"lastModified": 1729472750,
|
||||||
"narHash": "sha256-M3+Z8SSpzKPQ+/vw9a99G9HfqKWbVGzhFz4p3KAX0NI=",
|
"narHash": "sha256-s93LPHi5BN7I2xSGNAFWiYb8WRsPvT1LE9ZjZBrpFlg=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nixos-generators",
|
"repo": "nixos-generators",
|
||||||
"rev": "0dd0205bc3f6d602ddb62aaece5f62a8715a9e85",
|
"rev": "7c60ba4bc8d6aa2ba3e5b0f6ceb9fc07bc261565",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -431,11 +431,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1724819573,
|
"lastModified": 1730785428,
|
||||||
"narHash": "sha256-GnR7/ibgIH1vhoy8cYdmXE6iyZqKqFxQSVkFgosBh6w=",
|
"narHash": "sha256-Zwl8YgTVJTEum+L+0zVAWvXAGbWAuXHax3KzuejaDyo=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "71e91c409d1e654808b2621f28a327acfdad8dc2",
|
"rev": "4aa36568d413aca0ea84a1684d2d46f55dbabad7",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -463,11 +463,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs-stable": {
|
"nixpkgs-stable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1725001927,
|
"lastModified": 1730883749,
|
||||||
"narHash": "sha256-eV+63gK0Mp7ygCR0Oy4yIYSNcum2VQwnZamHxYTNi+M=",
|
"narHash": "sha256-mwrFF0vElHJP8X3pFCByJR365Q2463ATp2qGIrDUdlE=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "6e99f2a27d600612004fbd2c3282d614bfee6421",
|
"rev": "dba414932936fde69f0606b4f1d87c5bc0003ede",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -477,13 +477,29 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nixpkgs_2": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1730531603,
|
||||||
|
"narHash": "sha256-Dqg6si5CqIzm87sp57j5nTaeBbWhHFaVyG7V6L8k3lY=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "7ffd9ae656aec493492b44d0ddfb28e79a1ea25d",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixos-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nur": {
|
"nur": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1725161660,
|
"lastModified": 1731119600,
|
||||||
"narHash": "sha256-K0sqIq2BHo+OlYQoRMw8g+qtQOb1TvGjazS4NtQF6gk=",
|
"narHash": "sha256-Asx9nXJBdRN4AvuA8+etlQWY8PrqrXXvPb1uNFveV8k=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nur",
|
"repo": "nur",
|
||||||
"rev": "45a53f457546d3c0bf3c4f4673cb53bb78279a07",
|
"rev": "b29499982ee565c8dab5ca5c7be8d2ebfc267d87",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -495,11 +511,11 @@
|
|||||||
"nvim-lint-src": {
|
"nvim-lint-src": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1723839733,
|
"lastModified": 1730367889,
|
||||||
"narHash": "sha256-V35ivsZnL9M5ge7E+7fqcLjjM3xsDGCLmxTmQ8iZNiA=",
|
"narHash": "sha256-vLsyRc8nbJJBjWebNFy5yrS6w2TmibEeMNpyzFenoTg=",
|
||||||
"owner": "mfussenegger",
|
"owner": "mfussenegger",
|
||||||
"repo": "nvim-lint",
|
"repo": "nvim-lint",
|
||||||
"rev": "debabca63c0905b59ce596a55a8e33eafdf66342",
|
"rev": "36da8dd0ddc4f88e0beae234c20e75397326f143",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -528,11 +544,11 @@
|
|||||||
"nvim-tree-lua-src": {
|
"nvim-tree-lua-src": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1724556208,
|
"lastModified": 1731122044,
|
||||||
"narHash": "sha256-/1qj0L/d/iZk+zn0JIUkdHSYp2etciMo35fhV28J5Kw=",
|
"narHash": "sha256-pf4S8iMtgCJU8jOMxqr0oItO0htBGafGglKnEU1neus=",
|
||||||
"owner": "kyazdani42",
|
"owner": "kyazdani42",
|
||||||
"repo": "nvim-tree.lua",
|
"repo": "nvim-tree.lua",
|
||||||
"rev": "d43ab67d0eb4317961c5e9d15fffe908519debe0",
|
"rev": "3fc8de198c15ec4e5395f57b70579b3959976960",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -544,16 +560,16 @@
|
|||||||
"nvim-treesitter-src": {
|
"nvim-treesitter-src": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1725144173,
|
"lastModified": 1705679158,
|
||||||
"narHash": "sha256-oo4U8PzLCkw4HYEw83/n0Xfry8QqO7D2ZkpiUHo/rN0=",
|
"narHash": "sha256-zAyiitJIgOCZTB0CmgNt0MHENM70SOHLIoWrVwOJKFg=",
|
||||||
"owner": "nvim-treesitter",
|
"owner": "nvim-treesitter",
|
||||||
"repo": "nvim-treesitter",
|
"repo": "nvim-treesitter",
|
||||||
"rev": "749df308870381979dc098063973f6ace9968ef6",
|
"rev": "f197a15b0d1e8d555263af20add51450e5aaa1f0",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nvim-treesitter",
|
"owner": "nvim-treesitter",
|
||||||
"ref": "master",
|
"ref": "v0.9.2",
|
||||||
"repo": "nvim-treesitter",
|
"repo": "nvim-treesitter",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
@ -600,10 +616,10 @@
|
|||||||
"disko": "disko",
|
"disko": "disko",
|
||||||
"fidget-nvim-src": "fidget-nvim-src",
|
"fidget-nvim-src": "fidget-nvim-src",
|
||||||
"firefox-darwin": "firefox-darwin",
|
"firefox-darwin": "firefox-darwin",
|
||||||
|
"gh-collaborators": "gh-collaborators",
|
||||||
"hmts-nvim-src": "hmts-nvim-src",
|
"hmts-nvim-src": "hmts-nvim-src",
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"mac-app-util": "mac-app-util",
|
"mac-app-util": "mac-app-util",
|
||||||
"markview-nvim-src": "markview-nvim-src",
|
|
||||||
"nextcloud-cookbook": "nextcloud-cookbook",
|
"nextcloud-cookbook": "nextcloud-cookbook",
|
||||||
"nextcloud-external": "nextcloud-external",
|
"nextcloud-external": "nextcloud-external",
|
||||||
"nextcloud-news": "nextcloud-news",
|
"nextcloud-news": "nextcloud-news",
|
||||||
@ -621,7 +637,6 @@
|
|||||||
"ren": "ren",
|
"ren": "ren",
|
||||||
"rep": "rep",
|
"rep": "rep",
|
||||||
"snipe-nvim-src": "snipe-nvim-src",
|
"snipe-nvim-src": "snipe-nvim-src",
|
||||||
"stu": "stu",
|
|
||||||
"telescope-nvim-src": "telescope-nvim-src",
|
"telescope-nvim-src": "telescope-nvim-src",
|
||||||
"telescope-project-nvim-src": "telescope-project-nvim-src",
|
"telescope-project-nvim-src": "telescope-project-nvim-src",
|
||||||
"tiny-inline-diagnostic-nvim-src": "tiny-inline-diagnostic-nvim-src",
|
"tiny-inline-diagnostic-nvim-src": "tiny-inline-diagnostic-nvim-src",
|
||||||
@ -633,6 +648,7 @@
|
|||||||
"tree-sitter-python": "tree-sitter-python",
|
"tree-sitter-python": "tree-sitter-python",
|
||||||
"tree-sitter-rasi": "tree-sitter-rasi",
|
"tree-sitter-rasi": "tree-sitter-rasi",
|
||||||
"tree-sitter-vimdoc": "tree-sitter-vimdoc",
|
"tree-sitter-vimdoc": "tree-sitter-vimdoc",
|
||||||
|
"ucodenix": "ucodenix",
|
||||||
"wallpapers": "wallpapers",
|
"wallpapers": "wallpapers",
|
||||||
"wsl": "wsl",
|
"wsl": "wsl",
|
||||||
"zenyd-mpv-scripts": "zenyd-mpv-scripts"
|
"zenyd-mpv-scripts": "zenyd-mpv-scripts"
|
||||||
@ -641,11 +657,11 @@
|
|||||||
"snipe-nvim-src": {
|
"snipe-nvim-src": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1724418876,
|
"lastModified": 1730493972,
|
||||||
"narHash": "sha256-G4g/OzyXhDhX84HkxlhFSy6E+EAGxH+HL1Bw5s5FWHE=",
|
"narHash": "sha256-9Q/ZbhtteS9SemQJ/3Nov1rshQgm1Beiw88/zgmJbRg=",
|
||||||
"owner": "leath-dub",
|
"owner": "leath-dub",
|
||||||
"repo": "snipe.nvim",
|
"repo": "snipe.nvim",
|
||||||
"rev": "f1abd4aaaef6398b45dcddc9f1a40dd982f732b0",
|
"rev": "64b3763c1b388ac5a3d5a2da615a3d0824af4a45",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -654,22 +670,6 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"stu": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1721633982,
|
|
||||||
"narHash": "sha256-JLsUMZDXK89QmHLlGG9i5L+1e/redjk5ff6NiZdNsYo=",
|
|
||||||
"owner": "lusingander",
|
|
||||||
"repo": "stu",
|
|
||||||
"rev": "aefd555fb3e128d40f8bd80d37aa5c6e5d8bc011",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "lusingander",
|
|
||||||
"repo": "stu",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"systems": {
|
"systems": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1681028828,
|
"lastModified": 1681028828,
|
||||||
@ -735,11 +735,11 @@
|
|||||||
"telescope-project-nvim-src": {
|
"telescope-project-nvim-src": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1701464478,
|
"lastModified": 1725880250,
|
||||||
"narHash": "sha256-touMCltcnqkrQYV1NtNeWLQeFVGt+WM3aIWIdKilA7w=",
|
"narHash": "sha256-wO/cm5PT1L0hFr/CX466w0UimoFg/tWrDK8T0QeKZMU=",
|
||||||
"owner": "nvim-telescope",
|
"owner": "nvim-telescope",
|
||||||
"repo": "telescope-project.nvim",
|
"repo": "telescope-project.nvim",
|
||||||
"rev": "1aaf16580a614601a7f7077d9639aeb457dc5559",
|
"rev": "796200876bb0fe8157b8eb1ce03d927d3827a052",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -751,11 +751,11 @@
|
|||||||
"tiny-inline-diagnostic-nvim-src": {
|
"tiny-inline-diagnostic-nvim-src": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1725043147,
|
"lastModified": 1731028203,
|
||||||
"narHash": "sha256-JSW+5s9OAhSRLB1ca1s67K3Uk2UY2JWnzpxX3JeaIBo=",
|
"narHash": "sha256-A4v8pZuzuH/MSWYF7Hg7ZQo2HNLqlE7dZMhylPEpTdM=",
|
||||||
"owner": "rachartier",
|
"owner": "rachartier",
|
||||||
"repo": "tiny-inline-diagnostic.nvim",
|
"repo": "tiny-inline-diagnostic.nvim",
|
||||||
"rev": "8387094305d51c55100528c6a45254c011f8ba13",
|
"rev": "86050f39a62de48734f1a2876d70d179b75deb7c",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -767,16 +767,16 @@
|
|||||||
"toggleterm-nvim-src": {
|
"toggleterm-nvim-src": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1713792255,
|
"lastModified": 1721232722,
|
||||||
"narHash": "sha256-mM5bGgAemsRJD9U6U5K6ia5qb8NaTusM99x6xrtEBfw=",
|
"narHash": "sha256-hJ6nBCgSyYF1pY4lX+b8WZd49i5F6BwOmrl7xVSIwRw=",
|
||||||
"owner": "akinsho",
|
"owner": "akinsho",
|
||||||
"repo": "toggleterm.nvim",
|
"repo": "toggleterm.nvim",
|
||||||
"rev": "066cccf48a43553a80a210eb3be89a15d789d6e6",
|
"rev": "48be57eaba817f038d61bbf64d2c597f578c0827",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "akinsho",
|
"owner": "akinsho",
|
||||||
"ref": "v2.11.0",
|
"ref": "v2.12.0",
|
||||||
"repo": "toggleterm.nvim",
|
"repo": "toggleterm.nvim",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
@ -784,11 +784,11 @@
|
|||||||
"tree-sitter-bash": {
|
"tree-sitter-bash": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1715005250,
|
"lastModified": 1728963142,
|
||||||
"narHash": "sha256-rCuQbnQAOnQWKYreNH80nlL+0A1qbWbjMvtczcoWPrY=",
|
"narHash": "sha256-h6L5eIItu3IOJBKSZCajHMhhencN1Fk/4dXgBMuVxYc=",
|
||||||
"owner": "tree-sitter",
|
"owner": "tree-sitter",
|
||||||
"repo": "tree-sitter-bash",
|
"repo": "tree-sitter-bash",
|
||||||
"rev": "2fbd860f802802ca76a6661ce025b3a3bca2d3ed",
|
"rev": "597a5ed6ed4d932fd44697feec988f977081ae59",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -801,11 +801,11 @@
|
|||||||
"tree-sitter-ini": {
|
"tree-sitter-ini": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1724942827,
|
"lastModified": 1725233451,
|
||||||
"narHash": "sha256-FTs1O87hS30wMYnZ7qwKRnv36wepMAEX7MmvR/leZOw=",
|
"narHash": "sha256-G11Aynq2rnkRwdkhspjYqtBD/h5k4aD+NvuE0QfploU=",
|
||||||
"owner": "justinmk",
|
"owner": "justinmk",
|
||||||
"repo": "tree-sitter-ini",
|
"repo": "tree-sitter-ini",
|
||||||
"rev": "fc37e95b8d9651c60d81cccbcbbc55867dbb0afd",
|
"rev": "962568c9efa71d25720ab42c5d36e222626ef3a6",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -817,11 +817,11 @@
|
|||||||
"tree-sitter-lua": {
|
"tree-sitter-lua": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1710150044,
|
"lastModified": 1729494737,
|
||||||
"narHash": "sha256-uFaEptW4wPrqgHfB1mYmVltf+4no61L2cPgpsr5qBIU=",
|
"narHash": "sha256-v+fFcIOv+bu+2IGI/Lh/Xbqd5BzbBjaa51ECd0hG7Ow=",
|
||||||
"owner": "MunifTanjim",
|
"owner": "MunifTanjim",
|
||||||
"repo": "tree-sitter-lua",
|
"repo": "tree-sitter-lua",
|
||||||
"rev": "a24dab177e58c9c6832f96b9a73102a0cfbced4a",
|
"rev": "34e60e7f45fc313463c68090d88d742a55d1bd7a",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -850,11 +850,11 @@
|
|||||||
"tree-sitter-python": {
|
"tree-sitter-python": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1724692805,
|
"lastModified": 1728966077,
|
||||||
"narHash": "sha256-Mg/U7X9uvHEwo06bo0aBmJHbH9wsZ+nKBt0Dpz4o6l0=",
|
"narHash": "sha256-pD4JedYrnz6d5pgzRPtKPY0XPRoot1FMI9XgTgONOyw=",
|
||||||
"owner": "tree-sitter",
|
"owner": "tree-sitter",
|
||||||
"repo": "tree-sitter-python",
|
"repo": "tree-sitter-python",
|
||||||
"rev": "346fa42dc2990d2a2736cc60891369d0d3d8e65c",
|
"rev": "7f4b9c2d8039701b0579b7c060a918f8548aa7cd",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -883,11 +883,11 @@
|
|||||||
"tree-sitter-vimdoc": {
|
"tree-sitter-vimdoc": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1717834376,
|
"lastModified": 1729686839,
|
||||||
"narHash": "sha256-v+XSWGm2Wdn9/rxNFMqXYACkGn6AvxZdxkClLuKnWGU=",
|
"narHash": "sha256-Vrl4/cZL+TWlUMEeWZoHCAWhvlefcl3ajGcwyTNKOhI=",
|
||||||
"owner": "neovim",
|
"owner": "neovim",
|
||||||
"repo": "tree-sitter-vimdoc",
|
"repo": "tree-sitter-vimdoc",
|
||||||
"rev": "2249c44ecd3f5cf22da3dcccfb74f816ddb29245",
|
"rev": "d2e4b5c172a109966c2ce0378f73df6cede39400",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -896,6 +896,24 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"ucodenix": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": "nixpkgs_2"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1731337052,
|
||||||
|
"narHash": "sha256-/wKkjAHHmaov6VWW7POdL+dUWtAWA9Zs6Ys/r7ugy00=",
|
||||||
|
"owner": "e-tho",
|
||||||
|
"repo": "ucodenix",
|
||||||
|
"rev": "5d8df57d4258d225dc9f5c2c4bb96855842cbac2",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "e-tho",
|
||||||
|
"repo": "ucodenix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"wallpapers": {
|
"wallpapers": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
@ -921,11 +939,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1724664098,
|
"lastModified": 1730453870,
|
||||||
"narHash": "sha256-4SgV4jCoN5RffR1Mtn3HI1cjgHmARh+rZrpVlBclj9U=",
|
"narHash": "sha256-d+kIgz4BvTXb7emjSFV3zjNydGmLUmuluQjdBb51R9o=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "NixOS-WSL",
|
"repo": "NixOS-WSL",
|
||||||
"rev": "345dfa06658a37873ca18aa205f409e4aaf1caa6",
|
"rev": "adb6bc4b661a43328752b4575be4968a4990c033",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
29
flake.nix
29
flake.nix
@ -31,6 +31,9 @@
|
|||||||
inputs.nixpkgs.follows = "nixpkgs"; # Use system packages list for their inputs
|
inputs.nixpkgs.follows = "nixpkgs"; # Use system packages list for their inputs
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# Used for AMD CPU microcode
|
||||||
|
ucodenix.url = "github:e-tho/ucodenix";
|
||||||
|
|
||||||
# Community packages; used for Firefox extensions
|
# Community packages; used for Firefox extensions
|
||||||
nur.url = "github:nix-community/nur";
|
nur.url = "github:nix-community/nur";
|
||||||
|
|
||||||
@ -91,7 +94,7 @@
|
|||||||
};
|
};
|
||||||
nvim-treesitter-src = {
|
nvim-treesitter-src = {
|
||||||
# https://github.com/nvim-treesitter/nvim-treesitter/tags
|
# https://github.com/nvim-treesitter/nvim-treesitter/tags
|
||||||
url = "github:nvim-treesitter/nvim-treesitter/master";
|
url = "github:nvim-treesitter/nvim-treesitter/v0.9.2";
|
||||||
flake = false;
|
flake = false;
|
||||||
};
|
};
|
||||||
telescope-nvim-src = {
|
telescope-nvim-src = {
|
||||||
@ -105,7 +108,7 @@
|
|||||||
};
|
};
|
||||||
toggleterm-nvim-src = {
|
toggleterm-nvim-src = {
|
||||||
# https://github.com/akinsho/toggleterm.nvim/tags
|
# https://github.com/akinsho/toggleterm.nvim/tags
|
||||||
url = "github:akinsho/toggleterm.nvim/v2.11.0";
|
url = "github:akinsho/toggleterm.nvim/v2.12.0";
|
||||||
flake = false;
|
flake = false;
|
||||||
};
|
};
|
||||||
bufferline-nvim-src = {
|
bufferline-nvim-src = {
|
||||||
@ -130,10 +133,6 @@
|
|||||||
url = "github:mfussenegger/nvim-lint";
|
url = "github:mfussenegger/nvim-lint";
|
||||||
flake = false;
|
flake = false;
|
||||||
};
|
};
|
||||||
markview-nvim-src = {
|
|
||||||
url = "github:OXY2DEV/markview.nvim";
|
|
||||||
flake = false;
|
|
||||||
};
|
|
||||||
tiny-inline-diagnostic-nvim-src = {
|
tiny-inline-diagnostic-nvim-src = {
|
||||||
url = "github:rachartier/tiny-inline-diagnostic.nvim";
|
url = "github:rachartier/tiny-inline-diagnostic.nvim";
|
||||||
flake = false;
|
flake = false;
|
||||||
@ -189,32 +188,31 @@
|
|||||||
flake = false;
|
flake = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
# Stu - TUI for S3
|
gh-collaborators = {
|
||||||
stu = {
|
url = "github:katiem0/gh-collaborators";
|
||||||
url = "github:lusingander/stu";
|
|
||||||
flake = false;
|
flake = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
# Nextcloud Apps
|
# Nextcloud Apps
|
||||||
nextcloud-news = {
|
nextcloud-news = {
|
||||||
# https://github.com/nextcloud/news/releases
|
# https://github.com/nextcloud/news/releases
|
||||||
url = "https://github.com/nextcloud/news/releases/download/25.0.0-alpha7/news.tar.gz";
|
url = "https://github.com/nextcloud/news/releases/download/25.0.0-alpha12/news.tar.gz";
|
||||||
flake = false;
|
flake = false;
|
||||||
};
|
};
|
||||||
nextcloud-external = {
|
nextcloud-external = {
|
||||||
# https://github.com/nextcloud-releases/external/releases
|
# https://github.com/nextcloud-releases/external/releases
|
||||||
url = "https://github.com/nextcloud-releases/external/releases/download/v5.4.0/external-v5.4.0.tar.gz";
|
url = "https://github.com/nextcloud-releases/external/releases/download/v5.5.2/external-v5.5.2.tar.gz";
|
||||||
flake = false;
|
flake = false;
|
||||||
};
|
};
|
||||||
nextcloud-cookbook = {
|
nextcloud-cookbook = {
|
||||||
# https://github.com/christianlupus-nextcloud/cookbook-releases/releases/
|
# https://github.com/christianlupus-nextcloud/cookbook-releases/releases/
|
||||||
url = "https://github.com/christianlupus-nextcloud/cookbook-releases/releases/download/v0.11.1/cookbook-0.11.1.tar.gz";
|
url = "https://github.com/christianlupus-nextcloud/cookbook-releases/releases/download/v0.11.2/cookbook-0.11.2.tar.gz";
|
||||||
flake = false;
|
flake = false;
|
||||||
};
|
};
|
||||||
nextcloud-snappymail = {
|
nextcloud-snappymail = {
|
||||||
# https://github.com/the-djmaze/snappymail/releases
|
# https://github.com/the-djmaze/snappymail/releases
|
||||||
# https://snappymail.eu/repository/nextcloud
|
# https://snappymail.eu/repository/nextcloud
|
||||||
url = "https://snappymail.eu/repository/nextcloud/snappymail-2.37.2-nextcloud.tar.gz";
|
url = "https://snappymail.eu/repository/nextcloud/snappymail-2.38.2-nextcloud.tar.gz";
|
||||||
# url = "https://github.com/nmasur/snappymail-nextcloud/releases/download/v2.36.3/snappymail-2.36.3-nextcloud.tar.gz";
|
# url = "https://github.com/nmasur/snappymail-nextcloud/releases/download/v2.36.3/snappymail-2.36.3-nextcloud.tar.gz";
|
||||||
flake = false;
|
flake = false;
|
||||||
};
|
};
|
||||||
@ -240,6 +238,7 @@
|
|||||||
mail.smtpHost = "smtp.purelymail.com";
|
mail.smtpHost = "smtp.purelymail.com";
|
||||||
dotfilesRepo = "https://github.com/nmasur/dotfiles";
|
dotfilesRepo = "https://github.com/nmasur/dotfiles";
|
||||||
hostnames = {
|
hostnames = {
|
||||||
|
audiobooks = "read.${baseName}";
|
||||||
files = "files.${baseName}";
|
files = "files.${baseName}";
|
||||||
git = "git.${baseName}";
|
git = "git.${baseName}";
|
||||||
influxdb = "influxdb.${baseName}";
|
influxdb = "influxdb.${baseName}";
|
||||||
@ -255,6 +254,7 @@
|
|||||||
content = "cloud.${baseName}";
|
content = "cloud.${baseName}";
|
||||||
books = "books.${baseName}";
|
books = "books.${baseName}";
|
||||||
download = "download.${baseName}";
|
download = "download.${baseName}";
|
||||||
|
status = "status.${baseName}";
|
||||||
transmission = "transmission.${baseName}";
|
transmission = "transmission.${baseName}";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@ -269,9 +269,8 @@
|
|||||||
(import ./overlays/mpv-scripts.nix inputs)
|
(import ./overlays/mpv-scripts.nix inputs)
|
||||||
(import ./overlays/nextcloud-apps.nix inputs)
|
(import ./overlays/nextcloud-apps.nix inputs)
|
||||||
(import ./overlays/betterlockscreen.nix)
|
(import ./overlays/betterlockscreen.nix)
|
||||||
(import ./overlays/gh-collaborators.nix)
|
(import ./overlays/gh-collaborators.nix inputs)
|
||||||
(import ./overlays/ren-rep.nix inputs)
|
(import ./overlays/ren-rep.nix inputs)
|
||||||
(import ./overlays/stu.nix inputs)
|
|
||||||
];
|
];
|
||||||
|
|
||||||
# System types to support.
|
# System types to support.
|
||||||
|
@ -82,6 +82,7 @@ inputs.nixpkgs.lib.nixosSystem rec {
|
|||||||
services.minecraft-server.enable = true; # Setup Minecraft server
|
services.minecraft-server.enable = true; # Setup Minecraft server
|
||||||
services.n8n.enable = true;
|
services.n8n.enable = true;
|
||||||
services.ntfy-sh.enable = true;
|
services.ntfy-sh.enable = true;
|
||||||
|
services.uptime-kuma.enable = true;
|
||||||
system.autoUpgrade.enable = true;
|
system.autoUpgrade.enable = true;
|
||||||
|
|
||||||
# Allows private remote access over the internet
|
# Allows private remote access over the internet
|
||||||
|
@ -67,6 +67,14 @@ inputs.nixpkgs.lib.nixosSystem rec {
|
|||||||
devices = (import ../../disks/root.nix { disk = "/dev/nvme0n1"; });
|
devices = (import ../../disks/root.nix { disk = "/dev/nvme0n1"; });
|
||||||
};
|
};
|
||||||
|
|
||||||
|
zramSwap.enable = true;
|
||||||
|
swapDevices = [
|
||||||
|
{
|
||||||
|
device = "/swapfile";
|
||||||
|
size = 4 * 1024; # 4 GB
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
boot.zfs = {
|
boot.zfs = {
|
||||||
# Automatically load the ZFS pool on boot
|
# Automatically load the ZFS pool on boot
|
||||||
extraPools = [ "tank" ];
|
extraPools = [ "tank" ];
|
||||||
@ -98,6 +106,7 @@ inputs.nixpkgs.lib.nixosSystem rec {
|
|||||||
dotfiles.enable = true;
|
dotfiles.enable = true;
|
||||||
arrs.enable = true;
|
arrs.enable = true;
|
||||||
filebrowser.enable = true;
|
filebrowser.enable = true;
|
||||||
|
services.audiobookshelf.enable = true;
|
||||||
services.bind.enable = true;
|
services.bind.enable = true;
|
||||||
services.caddy.enable = true;
|
services.caddy.enable = true;
|
||||||
services.jellyfin.enable = true;
|
services.jellyfin.enable = true;
|
||||||
|
@ -17,6 +17,7 @@ inputs.nixpkgs.lib.nixosSystem rec {
|
|||||||
modules = [
|
modules = [
|
||||||
globals
|
globals
|
||||||
inputs.home-manager.nixosModules.home-manager
|
inputs.home-manager.nixosModules.home-manager
|
||||||
|
inputs.ucodenix.nixosModules.default
|
||||||
../../modules/common
|
../../modules/common
|
||||||
../../modules/nixos
|
../../modules/nixos
|
||||||
{
|
{
|
||||||
@ -49,6 +50,7 @@ inputs.nixpkgs.lib.nixosSystem rec {
|
|||||||
|
|
||||||
# Allow firmware updates
|
# Allow firmware updates
|
||||||
hardware.cpu.amd.updateMicrocode = true;
|
hardware.cpu.amd.updateMicrocode = true;
|
||||||
|
services.ucodenix.enable = true;
|
||||||
|
|
||||||
# Helps reduce GPU fan noise under idle loads
|
# Helps reduce GPU fan noise under idle loads
|
||||||
hardware.fancontrol.enable = true;
|
hardware.fancontrol.enable = true;
|
||||||
|
@ -22,10 +22,9 @@
|
|||||||
"1password-cli"
|
"1password-cli"
|
||||||
];
|
];
|
||||||
home-manager.users.${config.user} = {
|
home-manager.users.${config.user} = {
|
||||||
home.packages = with pkgs; [
|
home.packages = [
|
||||||
_1password-gui
|
pkgs._1password-cli
|
||||||
_1password
|
] ++ (if pkgs.stdenv.isLinux then [ pkgs._1password-gui ] else [ ]);
|
||||||
];
|
|
||||||
};
|
};
|
||||||
|
|
||||||
# https://1password.community/discussion/135462/firefox-extension-does-not-connect-to-linux-app
|
# https://1password.community/discussion/135462/firefox-extension-does-not-connect-to-linux-app
|
||||||
|
@ -71,6 +71,8 @@
|
|||||||
"cookiebanners.ui.desktop.enabled" = true; # Reject cookie popups
|
"cookiebanners.ui.desktop.enabled" = true; # Reject cookie popups
|
||||||
"devtools.command-button-screenshot.enabled" = true; # Scrolling screenshot of entire page
|
"devtools.command-button-screenshot.enabled" = true; # Scrolling screenshot of entire page
|
||||||
"svg.context-properties.content.enabled" = true; # Sidebery styling
|
"svg.context-properties.content.enabled" = true; # Sidebery styling
|
||||||
|
"browser.tabs.hoverPreview.enabled" = false; # Disable tab previews
|
||||||
|
"browser.tabs.hoverPreview.showThumbnails" = false; # Disable tab previews
|
||||||
};
|
};
|
||||||
userChrome = ''
|
userChrome = ''
|
||||||
:root {
|
:root {
|
||||||
@ -157,6 +159,15 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# Mimic nixpkgs package environment for read-only profiles.ini management
|
||||||
|
# From: https://github.com/booxter/home-manager/commit/dd1602e306fec366280f5953c5e1b553e3d9672a
|
||||||
|
home.sessionVariables = {
|
||||||
|
MOZ_LEGACY_PROFILES = 1;
|
||||||
|
MOZ_ALLOW_DOWNGRADE = 1;
|
||||||
|
};
|
||||||
|
|
||||||
|
# launchd.user.envVariables = config.home-manager.users.${config.user}.home.sessionVariables;
|
||||||
|
|
||||||
xdg.mimeApps = {
|
xdg.mimeApps = {
|
||||||
associations.added = {
|
associations.added = {
|
||||||
"text/html" = [ "firefox.desktop" ];
|
"text/html" = [ "firefox.desktop" ];
|
||||||
|
@ -119,6 +119,9 @@
|
|||||||
font = wezterm.font('${font}', { weight = 'Bold'}),
|
font = wezterm.font('${font}', { weight = 'Bold'}),
|
||||||
font_size = ${if pkgs.stdenv.isLinux then "14.0" else "18.0"},
|
font_size = ${if pkgs.stdenv.isLinux then "14.0" else "18.0"},
|
||||||
|
|
||||||
|
-- Fix color blocks instead of text
|
||||||
|
front_end = "WebGpu",
|
||||||
|
|
||||||
-- Tab Bar
|
-- Tab Bar
|
||||||
hide_tab_bar_if_only_one_tab = true,
|
hide_tab_bar_if_only_one_tab = true,
|
||||||
window_frame = {
|
window_frame = {
|
||||||
|
@ -77,6 +77,10 @@
|
|||||||
default = [ ];
|
default = [ ];
|
||||||
};
|
};
|
||||||
hostnames = {
|
hostnames = {
|
||||||
|
audiobooks = lib.mkOption {
|
||||||
|
type = lib.types.str;
|
||||||
|
description = "Hostname for audiobook server (Audiobookshelf).";
|
||||||
|
};
|
||||||
files = lib.mkOption {
|
files = lib.mkOption {
|
||||||
type = lib.types.str;
|
type = lib.types.str;
|
||||||
description = "Hostname for files server (Filebrowser).";
|
description = "Hostname for files server (Filebrowser).";
|
||||||
@ -137,6 +141,10 @@
|
|||||||
type = lib.types.str;
|
type = lib.types.str;
|
||||||
description = "Hostname for push notification services (ntfy).";
|
description = "Hostname for push notification services (ntfy).";
|
||||||
};
|
};
|
||||||
|
status = lib.mkOption {
|
||||||
|
type = lib.types.str;
|
||||||
|
description = "Hostname for status page (Uptime-Kuma).";
|
||||||
|
};
|
||||||
transmission = lib.mkOption {
|
transmission = lib.mkOption {
|
||||||
type = lib.types.str;
|
type = lib.types.str;
|
||||||
description = "Hostname for peer2peer downloads (Transmission).";
|
description = "Hostname for peer2peer downloads (Transmission).";
|
||||||
|
@ -10,6 +10,7 @@
|
|||||||
pkgs.vimPlugins.vim-eunuch # File manipulation commands
|
pkgs.vimPlugins.vim-eunuch # File manipulation commands
|
||||||
pkgs.vimPlugins.vim-fugitive # Git commands
|
pkgs.vimPlugins.vim-fugitive # Git commands
|
||||||
pkgs.vimPlugins.vim-repeat # Better repeat using .
|
pkgs.vimPlugins.vim-repeat # Better repeat using .
|
||||||
|
pkgs.vimPlugins.vim-abolish # Keep capitalization in substitute (Subvert)
|
||||||
pkgs.vimPlugins.markview-nvim # Markdown preview
|
pkgs.vimPlugins.markview-nvim # Markdown preview
|
||||||
pkgs.vimPlugins.nvim-colorizer-lua # Hex color previews
|
pkgs.vimPlugins.nvim-colorizer-lua # Hex color previews
|
||||||
pkgs.vimPlugins.which-key-nvim # Keybind helper
|
pkgs.vimPlugins.which-key-nvim # Keybind helper
|
||||||
|
@ -21,7 +21,7 @@ function TERM_TOGGLE()
|
|||||||
basicterminal:toggle()
|
basicterminal:toggle()
|
||||||
end
|
end
|
||||||
|
|
||||||
local nixpkgs = terminal:new({ cmd = "nix repl '<nixpkgs>'" })
|
local nixpkgs = terminal:new({ cmd = "nix repl --expr 'import <nixpkgs>{}'" })
|
||||||
function NIXPKGS_TOGGLE()
|
function NIXPKGS_TOGGLE()
|
||||||
nixpkgs:toggle()
|
nixpkgs:toggle()
|
||||||
end
|
end
|
||||||
|
@ -50,9 +50,9 @@ in
|
|||||||
|
|
||||||
# Create a desktop option for launching Neovim from a file manager
|
# Create a desktop option for launching Neovim from a file manager
|
||||||
# (Requires launching the terminal and then executing Neovim)
|
# (Requires launching the terminal and then executing Neovim)
|
||||||
xdg.desktopEntries.nvim = lib.mkIf pkgs.stdenv.isLinux {
|
xdg.desktopEntries.nvim = lib.mkIf (pkgs.stdenv.isLinux && config.gui.enable) {
|
||||||
name = "Neovim wrapper";
|
name = "Neovim wrapper";
|
||||||
exec = "kitty nvim %F";
|
exec = "${config.home-manager.users.${config.user}.programs.rofi.terminal} nvim %F";
|
||||||
mimeType = [
|
mimeType = [
|
||||||
"text/plain"
|
"text/plain"
|
||||||
"text/markdown"
|
"text/markdown"
|
||||||
|
@ -76,6 +76,10 @@
|
|||||||
description = "Full git commit on notes";
|
description = "Full git commit on notes";
|
||||||
body = builtins.readFile ./functions/syncnotes.fish;
|
body = builtins.readFile ./functions/syncnotes.fish;
|
||||||
};
|
};
|
||||||
|
_which = {
|
||||||
|
description = "Identify the path to a program in the shell";
|
||||||
|
body = "command --search (string sub --start=2 $argv)";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
interactiveShellInit = ''
|
interactiveShellInit = ''
|
||||||
fish_vi_key_bindings
|
fish_vi_key_bindings
|
||||||
@ -101,6 +105,13 @@
|
|||||||
"-" = "cd -";
|
"-" = "cd -";
|
||||||
mkd = "mkdir -pv";
|
mkd = "mkdir -pv";
|
||||||
|
|
||||||
|
# Convert a program into its full path
|
||||||
|
"=" = {
|
||||||
|
position = "anywhere";
|
||||||
|
regex = "=\\w+";
|
||||||
|
function = "_which";
|
||||||
|
};
|
||||||
|
|
||||||
# System
|
# System
|
||||||
s = "sudo";
|
s = "sudo";
|
||||||
sc = "systemctl";
|
sc = "systemctl";
|
||||||
|
@ -113,6 +113,11 @@ in
|
|||||||
gpd = "git push origin -d";
|
gpd = "git push origin -d";
|
||||||
gbd = "git branch -d";
|
gbd = "git branch -d";
|
||||||
gbD = "git branch -D";
|
gbD = "git branch -D";
|
||||||
|
gdd = {
|
||||||
|
position = "anywhere";
|
||||||
|
setCursor = true;
|
||||||
|
expansion = "BRANCH=% git push origin -d $BRANCH and git branch -d $BRANCH";
|
||||||
|
};
|
||||||
gr = "git reset";
|
gr = "git reset";
|
||||||
grh = "git reset --hard";
|
grh = "git reset --hard";
|
||||||
gm = "git merge";
|
gm = "git merge";
|
||||||
@ -158,6 +163,13 @@ in
|
|||||||
and git branch -D $branch
|
and git branch -D $branch
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
git-delete-both = {
|
||||||
|
argumentNames = "branch";
|
||||||
|
body = ''
|
||||||
|
git push origin -d $branch
|
||||||
|
git branch -d $branch
|
||||||
|
'';
|
||||||
|
};
|
||||||
git-merge-fuzzy = {
|
git-merge-fuzzy = {
|
||||||
body = ''
|
body = ''
|
||||||
set branch (git-fuzzy-branch "merge from...")
|
set branch (git-fuzzy-branch "merge from...")
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
ns = "nix-shell -p";
|
ns = "nix-shell -p";
|
||||||
nsf = "nix-shell --run fish -p";
|
nsf = "nix-shell --run fish -p";
|
||||||
nsr = "nix-shell-run";
|
nsr = "nix-shell-run";
|
||||||
nps = "nix repl '<nixpkgs>'";
|
nps = "nix repl --expr 'import <nixpkgs>{}'";
|
||||||
nixo = "man configuration.nix";
|
nixo = "man configuration.nix";
|
||||||
nixh = "man home-configuration.nix";
|
nixh = "man home-configuration.nix";
|
||||||
nr = "rebuild-nixos";
|
nr = "rebuild-nixos";
|
||||||
|
@ -12,34 +12,40 @@
|
|||||||
home.packages =
|
home.packages =
|
||||||
let
|
let
|
||||||
ldap_scheme = "ldaps";
|
ldap_scheme = "ldaps";
|
||||||
magic_number = "2";
|
|
||||||
magic_end_seq = "corp";
|
|
||||||
magic_prefix = "take";
|
magic_prefix = "take";
|
||||||
ldap_host = "${magic_prefix}${magic_number}.t${magic_number}.${magic_end_seq}";
|
ldap_port = 3269;
|
||||||
ldap_port = 636;
|
jq_parse = pkgs.writeShellScriptBin "ljq" ''
|
||||||
ldap_dc_1 = "${magic_prefix}${magic_number}";
|
jq --slurp \
|
||||||
ldap_dc_2 = "t${magic_number}";
|
--raw-input 'split("\n\n")|map(split("\n")|map(select(.[0:1]!="#" and length>0)) |select(length > 0)|map(capture("^(?<key>[^:]*:?): *(?<value>.*)") |if .key[-1:.key|length] == ":" then .key=.key[0:-1]|.value=(.value|@base64d) else . end)| group_by(.key) | map({key:.[0].key,value:(if .|length > 1 then [.[].value] else .[].value end)}) | from_entries)' | jq -r 'del(.[].thumbnailPhoto)'
|
||||||
ldap_dc_3 = magic_end_seq;
|
'';
|
||||||
ldap_script = pkgs.writeShellScriptBin "ldap" ''
|
ldap_script = pkgs.writeShellScriptBin "ldap" ''
|
||||||
# if ! [ "$LDAP_HOST" ]; then
|
if ! [ "$LDAP_HOST" ]; then
|
||||||
# echo "No LDAP_HOST specified!"
|
echo "No LDAP_HOST specified!"
|
||||||
# exit 1
|
exit 1
|
||||||
# fi
|
fi
|
||||||
SEARCH_FILTER="$@"
|
SEARCH_FILTER="$@"
|
||||||
ldapsearch -LLL \
|
ldapsearch -LLL \
|
||||||
-B -o ldif-wrap=no \
|
-B -o ldif-wrap=no \
|
||||||
-H "${ldap_scheme}://${ldap_host}:${builtins.toString ldap_port}" \
|
-E pr=5000/prompt \
|
||||||
-D "${pkgs.lib.toUpper magic_prefix}${magic_number}\\${pkgs.lib.toLower config.user}" \
|
-H "${ldap_scheme}://''${LDAP_HOST}:${builtins.toString ldap_port}" \
|
||||||
-w "$(${pkgs._1password}/bin/op item get T${magic_number} --fields label=password)" \
|
-D "${pkgs.lib.toUpper magic_prefix}2\\${pkgs.lib.toLower config.user}" \
|
||||||
-b "DC=${ldap_dc_1},DC=${ldap_dc_2},DC=${ldap_dc_3}" \
|
-w "$(${pkgs._1password-cli}/bin/op item get T2 --fields label=password --reveal)" \
|
||||||
-s "sub" -x "(cn=$SEARCH_FILTER)" \
|
-b "dc=''${LDAP_HOST//./,dc=}" \
|
||||||
| jq --slurp \
|
-s "sub" -x "(cn=''${SEARCH_FILTER})" \
|
||||||
--raw-input 'split("\n\n")|map(split("\n")|map(select(.[0:1]!="#" and length>0)) |select(length > 0)|map(capture("^(?<key>[^:]*:?): *(?<value>.*)") |if .key[-1:.key|length] == ":" then .key=.key[0:-1]|.value=(.value|@base64d) else . end)| group_by(.key) | map({key:.[0].key,value:(if .|length > 1 then [.[].value] else .[].value end)}) | from_entries)' | jq -r 'del(.[].thumbnailPhoto)'
|
| ${jq_parse}/bin/ljq
|
||||||
'';
|
'';
|
||||||
ldapm_script = pkgs.writeShellScriptBin "ldapm" ''
|
ldapm_script = pkgs.writeShellScriptBin "ldapm" ''
|
||||||
|
if ! [ "$LDAP_HOST" ]; then
|
||||||
|
echo "No LDAP_HOST specified!"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
${ldap_script}/bin/ldap "$@" | jq '[ .[].memberOf] | add'
|
${ldap_script}/bin/ldap "$@" | jq '[ .[].memberOf] | add'
|
||||||
'';
|
'';
|
||||||
ldapg_script = pkgs.writeShellScriptBin "ldapg" ''
|
ldapg_script = pkgs.writeShellScriptBin "ldapg" ''
|
||||||
|
if ! [ "$LDAP_HOST" ]; then
|
||||||
|
echo "No LDAP_HOST specified!"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
${ldap_script}/bin/ldap "$@" | jq '[ .[].member] | add'
|
${ldap_script}/bin/ldap "$@" | jq '[ .[].member] | add'
|
||||||
'';
|
'';
|
||||||
in
|
in
|
||||||
@ -47,6 +53,7 @@
|
|||||||
ldap_script
|
ldap_script
|
||||||
ldapm_script
|
ldapm_script
|
||||||
ldapg_script
|
ldapg_script
|
||||||
|
jq_parse
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -36,7 +36,7 @@
|
|||||||
homebrew.casks = [ "hammerspoon" ];
|
homebrew.casks = [ "hammerspoon" ];
|
||||||
|
|
||||||
system.activationScripts.postUserActivation.text = ''
|
system.activationScripts.postUserActivation.text = ''
|
||||||
defaults write org.hammerspoon.Hammerspoon MJConfigFile "~/.config/hammerspoon/init.lua"
|
defaults write org.hammerspoon.Hammerspoon MJConfigFile "${config.homePath}/.config/hammerspoon/init.lua"
|
||||||
sudo killall Dock
|
sudo killall Dock
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
@ -23,6 +23,8 @@
|
|||||||
|
|
||||||
system = {
|
system = {
|
||||||
|
|
||||||
|
stateVersion = 5;
|
||||||
|
|
||||||
keyboard = {
|
keyboard = {
|
||||||
remapCapsLockToControl = true;
|
remapCapsLockToControl = true;
|
||||||
enableKeyMapping = true; # Allows for skhd
|
enableKeyMapping = true; # Allows for skhd
|
||||||
|
@ -9,7 +9,10 @@
|
|||||||
options.gaming.dwarf-fortress.enable = lib.mkEnableOption "Dwarf Fortress free edition.";
|
options.gaming.dwarf-fortress.enable = lib.mkEnableOption "Dwarf Fortress free edition.";
|
||||||
|
|
||||||
config = lib.mkIf config.gaming.dwarf-fortress.enable {
|
config = lib.mkIf config.gaming.dwarf-fortress.enable {
|
||||||
unfreePackages = [ "dwarf-fortress" ];
|
unfreePackages = [
|
||||||
|
"dwarf-fortress"
|
||||||
|
"phoebus-theme"
|
||||||
|
];
|
||||||
environment.systemPackages =
|
environment.systemPackages =
|
||||||
let
|
let
|
||||||
dfDesktopItem = pkgs.makeDesktopItem {
|
dfDesktopItem = pkgs.makeDesktopItem {
|
||||||
|
@ -15,6 +15,7 @@
|
|||||||
"steam-original"
|
"steam-original"
|
||||||
"steamcmd"
|
"steamcmd"
|
||||||
"steam-run"
|
"steam-run"
|
||||||
|
"steam-unwrapped"
|
||||||
];
|
];
|
||||||
|
|
||||||
programs.steam = {
|
programs.steam = {
|
||||||
@ -27,7 +28,7 @@
|
|||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
|
|
||||||
# Enable terminal interaction
|
# Enable terminal interaction
|
||||||
steamPackages.steamcmd
|
steamcmd
|
||||||
steam-tui
|
steam-tui
|
||||||
|
|
||||||
# Overlay with performance monitoring
|
# Overlay with performance monitoring
|
||||||
|
@ -1,4 +1,9 @@
|
|||||||
{ config, lib, ... }:
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
{
|
{
|
||||||
|
|
||||||
options = {
|
options = {
|
||||||
@ -8,7 +13,7 @@
|
|||||||
config = lib.mkIf (config.server && config.zfs.enable) {
|
config = lib.mkIf (config.server && config.zfs.enable) {
|
||||||
|
|
||||||
# Only use compatible Linux kernel, since ZFS can be behind
|
# Only use compatible Linux kernel, since ZFS can be behind
|
||||||
boot.kernelPackages = config.boot.zfs.package.latestCompatibleLinuxPackages;
|
boot.kernelPackages = pkgs.linuxPackages; # Defaults to latest LTS
|
||||||
boot.kernelParams = [ "nohibernate" ];
|
boot.kernelParams = [ "nohibernate" ];
|
||||||
boot.supportedFilesystems = [ "zfs" ];
|
boot.supportedFilesystems = [ "zfs" ];
|
||||||
services.prometheus.exporters.zfs.enable = config.prometheus.exporters.enable;
|
services.prometheus.exporters.zfs.enable = config.prometheus.exporters.enable;
|
||||||
|
@ -14,6 +14,11 @@ let
|
|||||||
url = "localhost:7878";
|
url = "localhost:7878";
|
||||||
apiKey = config.secrets.radarrApiKey.dest;
|
apiKey = config.secrets.radarrApiKey.dest;
|
||||||
};
|
};
|
||||||
|
readarr = {
|
||||||
|
exportarrPort = "9711";
|
||||||
|
url = "localhost:8787";
|
||||||
|
apiKey = config.secrets.readarrApiKey.dest;
|
||||||
|
};
|
||||||
sonarr = {
|
sonarr = {
|
||||||
exportarrPort = "9708";
|
exportarrPort = "9708";
|
||||||
url = "localhost:8989";
|
url = "localhost:8989";
|
||||||
@ -61,6 +66,10 @@ in
|
|||||||
enable = true;
|
enable = true;
|
||||||
group = "media";
|
group = "media";
|
||||||
};
|
};
|
||||||
|
readarr = {
|
||||||
|
enable = true;
|
||||||
|
group = "media";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# Create a media group to be shared between services
|
# Create a media group to be shared between services
|
||||||
@ -110,6 +119,21 @@ in
|
|||||||
}
|
}
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
group = "download";
|
||||||
|
match = [
|
||||||
|
{
|
||||||
|
host = [ config.hostnames.download ];
|
||||||
|
path = [ "/readarr*" ];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
handle = [
|
||||||
|
{
|
||||||
|
handler = "reverse_proxy";
|
||||||
|
upstreams = [ { dial = arrConfig.readarr.url; } ];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
{
|
{
|
||||||
group = "download";
|
group = "download";
|
||||||
match = [
|
match = [
|
||||||
@ -223,6 +247,11 @@ in
|
|||||||
dest = "/var/private/radarr-api";
|
dest = "/var/private/radarr-api";
|
||||||
prefix = "API_KEY=";
|
prefix = "API_KEY=";
|
||||||
};
|
};
|
||||||
|
secrets.readarrApiKey = {
|
||||||
|
source = ../../../private/radarr-api-key.age;
|
||||||
|
dest = "/var/private/readarr-api";
|
||||||
|
prefix = "API_KEY=";
|
||||||
|
};
|
||||||
secrets.sonarrApiKey = {
|
secrets.sonarrApiKey = {
|
||||||
source = ../../../private/sonarr-api-key.age;
|
source = ../../../private/sonarr-api-key.age;
|
||||||
dest = "/var/private/sonarr-api";
|
dest = "/var/private/sonarr-api";
|
||||||
|
37
modules/nixos/services/audiobookshelf.nix
Normal file
37
modules/nixos/services/audiobookshelf.nix
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
{ config, lib, ... }:
|
||||||
|
{
|
||||||
|
|
||||||
|
config = lib.mkIf config.services.audiobookshelf.enable {
|
||||||
|
|
||||||
|
services.audiobookshelf = {
|
||||||
|
dataDir = "audiobookshelf";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Allow web traffic to Caddy
|
||||||
|
caddy.routes = [
|
||||||
|
{
|
||||||
|
match = [ { host = [ config.hostnames.audiobooks ]; } ];
|
||||||
|
handle = [
|
||||||
|
{
|
||||||
|
handler = "reverse_proxy";
|
||||||
|
upstreams = [ { dial = "localhost:${builtins.toString config.services.audiobookshelf.port}"; } ];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
# Configure Cloudflare DNS to point to this machine
|
||||||
|
services.cloudflare-dyndns.domains = [ config.hostnames.audiobooks ];
|
||||||
|
|
||||||
|
# Grant user access to Audiobookshelf directories
|
||||||
|
users.users.${config.user}.extraGroups = [ config.services.audiobookshelf.group ];
|
||||||
|
|
||||||
|
# Grant audiobookshelf access to media and Calibre directories
|
||||||
|
users.users.${config.services.audiobookshelf.user}.extraGroups = [
|
||||||
|
"media"
|
||||||
|
"calibre-web"
|
||||||
|
];
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
@ -44,6 +44,10 @@
|
|||||||
settings = { };
|
settings = { };
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# Broken on 2024-08-23
|
||||||
|
# https://github.com/NixOS/nixpkgs/commit/0875d0ce1c778f344cd2377a5337a45385d6ffa0
|
||||||
|
nixpkgs.config.permittedInsecurePackages = [ "litestream-0.3.13" ];
|
||||||
|
|
||||||
# Wait for secret to exist
|
# Wait for secret to exist
|
||||||
systemd.services.litestream = {
|
systemd.services.litestream = {
|
||||||
after = [ "backup-secret.service" ];
|
after = [ "backup-secret.service" ];
|
||||||
|
@ -5,6 +5,7 @@
|
|||||||
{
|
{
|
||||||
|
|
||||||
imports = [
|
imports = [
|
||||||
|
./audiobookshelf.nix
|
||||||
./arr.nix
|
./arr.nix
|
||||||
./backups.nix
|
./backups.nix
|
||||||
./bind.nix
|
./bind.nix
|
||||||
@ -35,6 +36,7 @@
|
|||||||
./secrets.nix
|
./secrets.nix
|
||||||
./sshd.nix
|
./sshd.nix
|
||||||
./transmission.nix
|
./transmission.nix
|
||||||
|
./uptime-kuma.nix
|
||||||
./vaultwarden.nix
|
./vaultwarden.nix
|
||||||
./victoriametrics.nix
|
./victoriametrics.nix
|
||||||
./wireguard.nix
|
./wireguard.nix
|
||||||
|
@ -53,6 +53,7 @@ in
|
|||||||
uid = promUid;
|
uid = promUid;
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
# TODO: Add option to pull services from a list like Caddy does
|
||||||
dashboards.settings.providers = [
|
dashboards.settings.providers = [
|
||||||
{
|
{
|
||||||
name = "test";
|
name = "test";
|
||||||
@ -368,6 +369,18 @@ in
|
|||||||
range = true;
|
range = true;
|
||||||
refId = "C";
|
refId = "C";
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
datasource = {
|
||||||
|
type = "prometheus";
|
||||||
|
uid = promUid;
|
||||||
|
};
|
||||||
|
editorMode = "code";
|
||||||
|
expr = "readarr_system_status";
|
||||||
|
hide = false;
|
||||||
|
legendFormat = "Readarr";
|
||||||
|
range = true;
|
||||||
|
refId = "F";
|
||||||
|
}
|
||||||
{
|
{
|
||||||
datasource = {
|
datasource = {
|
||||||
type = "prometheus";
|
type = "prometheus";
|
||||||
@ -819,6 +832,28 @@ in
|
|||||||
}
|
}
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
matcher = {
|
||||||
|
id = "byName";
|
||||||
|
options = "localhost:8787";
|
||||||
|
};
|
||||||
|
properties = [
|
||||||
|
{
|
||||||
|
id = "displayName";
|
||||||
|
value = "Readarr";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
id = "links";
|
||||||
|
value = [
|
||||||
|
{
|
||||||
|
targetBlank = true;
|
||||||
|
title = "";
|
||||||
|
url = "https://${config.hostnames.download}/readarr";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
{
|
{
|
||||||
matcher = {
|
matcher = {
|
||||||
id = "byName";
|
id = "byName";
|
||||||
@ -1105,6 +1140,28 @@ in
|
|||||||
}
|
}
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
matcher = {
|
||||||
|
id = "byName";
|
||||||
|
options = "localhost:${builtins.toString config.services.audiobookshelf.port}";
|
||||||
|
};
|
||||||
|
properties = [
|
||||||
|
{
|
||||||
|
id = "displayName";
|
||||||
|
value = "Audiobookshelf";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
id = "links";
|
||||||
|
value = [
|
||||||
|
{
|
||||||
|
targetBlank = true;
|
||||||
|
title = "";
|
||||||
|
url = "https://${config.hostnames.audiobooks}";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
gridPos = {
|
gridPos = {
|
||||||
|
@ -9,12 +9,18 @@
|
|||||||
unfreePackages = [ "n8n" ];
|
unfreePackages = [ "n8n" ];
|
||||||
|
|
||||||
services.n8n = {
|
services.n8n = {
|
||||||
|
webhookUrl = "https://${config.hostnames.n8n}";
|
||||||
settings = {
|
settings = {
|
||||||
listen_address = "127.0.0.1";
|
listen_address = "127.0.0.1";
|
||||||
port = 5678;
|
port = 5678;
|
||||||
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
systemd.services.n8n.environment = {
|
||||||
|
N8N_EDITOR_BASE_URL = config.services.n8n.webhookUrl;
|
||||||
|
};
|
||||||
|
|
||||||
# Configure Cloudflare DNS to point to this machine
|
# Configure Cloudflare DNS to point to this machine
|
||||||
services.cloudflare-dyndns.domains = [ config.hostnames.n8n ];
|
services.cloudflare-dyndns.domains = [ config.hostnames.n8n ];
|
||||||
|
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
config = lib.mkIf config.services.nextcloud.enable {
|
config = lib.mkIf config.services.nextcloud.enable {
|
||||||
|
|
||||||
services.nextcloud = {
|
services.nextcloud = {
|
||||||
package = pkgs.nextcloud29; # Required to specify
|
package = pkgs.nextcloud30; # Required to specify
|
||||||
configureRedis = true;
|
configureRedis = true;
|
||||||
datadir = "/data/nextcloud";
|
datadir = "/data/nextcloud";
|
||||||
database.createLocally = true;
|
database.createLocally = true;
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
config = lib.mkIf config.services.ntfy-sh.enable {
|
config = lib.mkIf config.services.ntfy-sh.enable {
|
||||||
services.ntfy-sh = {
|
services.ntfy-sh = {
|
||||||
settings = rec {
|
settings = {
|
||||||
base-url = "https://${config.hostnames.notifications}";
|
base-url = "https://${config.hostnames.notifications}";
|
||||||
upstream-base-url = "https://ntfy.sh";
|
upstream-base-url = "https://ntfy.sh";
|
||||||
listen-http = ":8333";
|
listen-http = ":8333";
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
|
|
||||||
services.samba = lib.mkIf config.services.samba.enable {
|
services.samba = lib.mkIf config.services.samba.enable {
|
||||||
openFirewall = true;
|
openFirewall = true;
|
||||||
shares.data = {
|
settings.data = {
|
||||||
path = "/data";
|
path = "/data";
|
||||||
browseable = "yes";
|
browseable = "yes";
|
||||||
"read only" = "no";
|
"read only" = "no";
|
||||||
|
32
modules/nixos/services/uptime-kuma.nix
Normal file
32
modules/nixos/services/uptime-kuma.nix
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
{ config, lib, ... }:
|
||||||
|
{
|
||||||
|
|
||||||
|
config = lib.mkIf config.services.uptime-kuma.enable {
|
||||||
|
|
||||||
|
services.uptime-kuma = {
|
||||||
|
settings = {
|
||||||
|
PORT = "3033";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# Allow web traffic to Caddy
|
||||||
|
caddy.routes = [
|
||||||
|
{
|
||||||
|
match = [ { host = [ config.hostnames.status ]; } ];
|
||||||
|
handle = [
|
||||||
|
{
|
||||||
|
handler = "reverse_proxy";
|
||||||
|
upstreams = [
|
||||||
|
{ dial = "localhost:${config.services.uptime-kuma.settings.PORT}"; }
|
||||||
|
];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
# Configure Cloudflare DNS to point to this machine
|
||||||
|
services.cloudflare-dyndns.domains = [ config.hostnames.status ];
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
@ -1,15 +1,9 @@
|
|||||||
_final: prev: {
|
inputs: _final: prev: {
|
||||||
|
|
||||||
gh-collaborators = prev.buildGoModule rec {
|
gh-collaborators = prev.buildGoModule rec {
|
||||||
pname = "gh-collaborators";
|
pname = "gh-collaborators";
|
||||||
version = "v2.0.3";
|
version = "v2.0.3";
|
||||||
|
src = inputs.gh-collaborators;
|
||||||
src = prev.fetchFromGitHub {
|
|
||||||
owner = "nmasur";
|
|
||||||
repo = "gh-collaborators";
|
|
||||||
rev = version;
|
|
||||||
sha256 = "sha256-XgAZ/+7QxIRKiAZ4Gp/rLgTABSXkVjFQ8TbXOFj9vpM=";
|
|
||||||
};
|
|
||||||
|
|
||||||
# vendorHash = "sha256-rsRDOgJBa8T6+bC/APcmuRmg6ykbIp9pwRnJ9rrfHEs=";
|
# vendorHash = "sha256-rsRDOgJBa8T6+bC/APcmuRmg6ykbIp9pwRnJ9rrfHEs=";
|
||||||
vendorHash = "sha256-fykxRb2U9DDsXorRTLiVWmhMY89N7RS07sal8ww6gz4=";
|
vendorHash = "sha256-fykxRb2U9DDsXorRTLiVWmhMY89N7RS07sal8ww6gz4=";
|
||||||
|
@ -38,7 +38,6 @@ in
|
|||||||
base16-nvim = plugin "base16-nvim" inputs.base16-nvim-src;
|
base16-nvim = plugin "base16-nvim" inputs.base16-nvim-src;
|
||||||
baleia-nvim = plugin "baleia-nvim" inputs.baleia-nvim-src;
|
baleia-nvim = plugin "baleia-nvim" inputs.baleia-nvim-src;
|
||||||
hmts-nvim = plugin "hmts-nvim" inputs.hmts-nvim-src;
|
hmts-nvim = plugin "hmts-nvim" inputs.hmts-nvim-src;
|
||||||
markview-nvim = plugin "markview-nvim" inputs.markview-nvim-src;
|
|
||||||
tiny-inline-diagnostic-nvim = plugin "tiny-inline-diagnostic-nvim" inputs.tiny-inline-diagnostic-nvim-src;
|
tiny-inline-diagnostic-nvim = plugin "tiny-inline-diagnostic-nvim" inputs.tiny-inline-diagnostic-nvim-src;
|
||||||
snipe-nvim = plugin "snipe-nvim" inputs.snipe-nvim-src;
|
snipe-nvim = plugin "snipe-nvim" inputs.snipe-nvim-src;
|
||||||
};
|
};
|
||||||
|
@ -1,17 +0,0 @@
|
|||||||
inputs: _final: prev: {
|
|
||||||
|
|
||||||
stu = prev.rustPlatform.buildRustPackage {
|
|
||||||
pname = "stu";
|
|
||||||
version = "0.5.0";
|
|
||||||
src = inputs.stu;
|
|
||||||
cargoHash = "sha256-gUolS7HXkTddxDWDGir4YC+2tJjgB/CCQC49SSRaR6U=";
|
|
||||||
buildInputs =
|
|
||||||
if prev.stdenv.isDarwin then
|
|
||||||
[
|
|
||||||
prev.darwin.apple_sdk.frameworks.CoreGraphics
|
|
||||||
prev.darwin.apple_sdk.frameworks.AppKit
|
|
||||||
]
|
|
||||||
else
|
|
||||||
[ ];
|
|
||||||
};
|
|
||||||
}
|
|
Reference in New Issue
Block a user