23 Commits

Author SHA1 Message Date
6cf5f08fd5 nixd neovim setup 2024-10-25 08:53:27 -04:00
8cba026f10 temp: not sure if this is even required 2024-10-25 08:53:04 -04:00
a6e4b3130d fix: tabs should be spaces 2024-10-19 09:01:26 -04:00
33868c1add fix: only setup desktop entry for gui 2024-10-19 08:45:26 -04:00
d806bd7f56 use dynamic terminal for neovim based on rofi in linux 2024-10-12 11:57:38 -04:00
120b97f970 audiobookshelf 2024-10-12 15:18:58 +00:00
5f71437e57 fix: samba setting renamed 2024-10-12 15:18:15 +00:00
e8e65ba4d1 fix: zfs deprecated latest compatible linux 2024-10-12 15:17:51 +00:00
c594a0b161 use flake input for gh-collaborators 2024-10-12 10:52:04 -04:00
57c3719600 flake.lock: Update
Flake lock file updates:

• Updated input 'darwin':
    'github:lnl7/nix-darwin/8c8388ade72e58efdeae71b4cbb79e872c23a56b' (2024-10-03)
  → 'github:lnl7/nix-darwin/48b50b3b137be5cfb9f4d006835ce7c3fe558ccc' (2024-10-08)
• Updated input 'disko':
    'github:nix-community/disko/48ebb577855fb2398653f033b3b2208a9249203d' (2024-10-05)
  → 'github:nix-community/disko/bdbdb725d632863bdedb80baabf21327614dd237' (2024-10-11)
• Updated input 'firefox-darwin':
    'github:bandithedoge/nixpkgs-firefox-darwin/1cab93c0c087555cb21dd9ceb383b0d15deade32' (2024-10-06)
  → 'github:bandithedoge/nixpkgs-firefox-darwin/8a3143c1ce147481db4463e71bc3b7002e6ebc56' (2024-10-12)
• Updated input 'home-manager':
    'github:nix-community/home-manager/509dbf8d45606b618e9ec3bbe4e936b7c5bc6c1e' (2024-10-04)
  → 'github:nix-community/home-manager/2b13611eaed8326789f76f70d21d06fbb14e3e47' (2024-10-11)
• Updated input 'nextcloud-snappymail':
    'https://snappymail.eu/repository/nextcloud/snappymail-2.37.2-nextcloud.tar.gz?narHash=sha256-WwCRAZzxYWUpOy6iVTDpVIr/DrkJkQGjgIdVWNfCH3Q%3D' (2024-10-06)
  → 'https://snappymail.eu/repository/nextcloud/snappymail-2.37.2-nextcloud.tar.gz?narHash=sha256-WwCRAZzxYWUpOy6iVTDpVIr/DrkJkQGjgIdVWNfCH3Q%3D' (2024-10-12)
• Updated input 'nixos-generators':
    'github:nix-community/nixos-generators/9ae128172f823956e54947fe471bc6dfa670ecb4' (2024-10-03)
  → 'github:nix-community/nixos-generators/40c8d30c490414910fc63626ad1b67af7db40cd3' (2024-10-10)
• Updated input 'nixos-generators/nixlib':
    'github:nix-community/nixpkgs.lib/bb58a3bf239e03fca9d51062e2fe028a4ea5a3d1' (2024-09-29)
  → 'github:nix-community/nixpkgs.lib/b61309c3c1b6013d36299bc8285612865b3b9e4c' (2024-10-06)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/bc947f541ae55e999ffdb4013441347d83b00feb' (2024-10-04)
  → 'github:nixos/nixpkgs/5633bcff0c6162b9e4b5f1264264611e950c8ec7' (2024-10-09)
• Updated input 'nixpkgs-stable':
    'github:nixos/nixpkgs/6e6b3dd395c3b1eb9be9f2d096383a8d05add030' (2024-10-04)
  → 'github:nixos/nixpkgs/c505ebf777526041d792a49d5f6dd4095ea391a7' (2024-10-11)
• Updated input 'nur':
    'github:nix-community/nur/1841d27c08fb58b1bb3e7944711938e719dd532e' (2024-10-06)
  → 'github:nix-community/nur/1d143f52b0a046924ee7fe74bce0bd2e10e07c3d' (2024-10-12)
• Updated input 'nvim-lint-src':
    'github:mfussenegger/nvim-lint/27f44d1cc3d733a38a736acb902f94879d99c76c' (2024-10-03)
  → 'github:mfussenegger/nvim-lint/f707b3ae50417067fa63fdfe179b0bff6b380da1' (2024-10-10)
• Updated input 'nvim-tree-lua-src':
    'github:kyazdani42/nvim-tree.lua/c9104a5d079db5a158c9562c54689df27d52dccc' (2024-09-30)
  → 'github:kyazdani42/nvim-tree.lua/5ad87620ec9d1190d15c88171a3f0122bc16b0fe' (2024-10-11)
• Updated input 'wsl':
    'github:nix-community/NixOS-WSL/31a18ceaeac81e75d10b05ab0dfb4fcc79d4ed1a' (2024-10-05)
  → 'github:nix-community/NixOS-WSL/0fc8d9bb51cc46b31d950513df6d088905c8fe55' (2024-10-10)
2024-10-12 03:46:46 +00:00
98c9c85e95 change update to saturday 2024-10-07 21:00:45 -04:00
3ef36c4873 remove magic prefix from ldap script 2024-10-07 19:23:35 -04:00
1d1d5014a0 flake.lock: Update
Flake lock file updates:

• Updated input 'darwin':
    'github:lnl7/nix-darwin/c03f85fa42d68d1056ca1740f3113b04f3addff2' (2024-09-19)
  → 'github:lnl7/nix-darwin/8c8388ade72e58efdeae71b4cbb79e872c23a56b' (2024-10-03)
• Updated input 'disko':
    'github:nix-community/disko/51994df8ba24d5db5459ccf17b6494643301ad28' (2024-09-20)
  → 'github:nix-community/disko/48ebb577855fb2398653f033b3b2208a9249203d' (2024-10-05)
• Updated input 'firefox-darwin':
    'github:bandithedoge/nixpkgs-firefox-darwin/947d22726be0ef737ebbe6ffa6f7ff9908576011' (2024-09-22)
  → 'github:bandithedoge/nixpkgs-firefox-darwin/1cab93c0c087555cb21dd9ceb383b0d15deade32' (2024-10-06)
• Updated input 'hmts-nvim-src':
    'github:calops/hmts.nvim/19a91816c123173a4551a6a04f2882338f20db1d' (2024-05-07)
  → 'github:calops/hmts.nvim/1ecb68b9f89abdb23d2754f9d69f90eab2d33eaa' (2024-09-26)
• Updated input 'home-manager':
    'github:nix-community/home-manager/14929f7089268481d86b83ed31ffd88713dcd415' (2024-09-21)
  → 'github:nix-community/home-manager/509dbf8d45606b618e9ec3bbe4e936b7c5bc6c1e' (2024-10-04)
• Updated input 'mac-app-util':
    'github:hraban/mac-app-util/63f269f737cafb2219ba38780c1ecb1dc24bc4a2' (2024-07-02)
  → 'github:hraban/mac-app-util/9c6bbe2a6a7ec647d03f64f0fadb874284f59eac' (2024-09-27)
• Updated input 'nextcloud-snappymail':
    'https://snappymail.eu/repository/nextcloud/snappymail-2.37.2-nextcloud.tar.gz?narHash=sha256-WwCRAZzxYWUpOy6iVTDpVIr/DrkJkQGjgIdVWNfCH3Q%3D' (2024-09-22)
  → 'https://snappymail.eu/repository/nextcloud/snappymail-2.37.2-nextcloud.tar.gz?narHash=sha256-WwCRAZzxYWUpOy6iVTDpVIr/DrkJkQGjgIdVWNfCH3Q%3D' (2024-10-06)
• Updated input 'nix2vim':
    'github:gytis-ivaskevicius/nix2vim/1db11dbf8a4d124e02244fa5c4ff219b672a8e5b' (2024-06-17)
  → 'github:gytis-ivaskevicius/nix2vim/da26caae6c7776eedbc6514a0f57f1ccd6a759ed' (2024-10-02)
• Updated input 'nixos-generators':
    'github:nix-community/nixos-generators/bfa25c9065f4cb5d884a0ad70f6e82f55ae90448' (2024-09-20)
  → 'github:nix-community/nixos-generators/9ae128172f823956e54947fe471bc6dfa670ecb4' (2024-10-03)
• Updated input 'nixos-generators/nixlib':
    'github:nix-community/nixpkgs.lib/9db4db09d82e4b2207bfa7f1e747a4f49d214555' (2024-09-15)
  → 'github:nix-community/nixpkgs.lib/bb58a3bf239e03fca9d51062e2fe028a4ea5a3d1' (2024-09-29)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/c04d5652cfa9742b1d519688f65d1bbccea9eb7e' (2024-09-19)
  → 'github:nixos/nixpkgs/bc947f541ae55e999ffdb4013441347d83b00feb' (2024-10-04)
• Updated input 'nixpkgs-stable':
    'github:nixos/nixpkgs/944b2aea7f0a2d7c79f72468106bc5510cbf5101' (2024-09-20)
  → 'github:nixos/nixpkgs/6e6b3dd395c3b1eb9be9f2d096383a8d05add030' (2024-10-04)
• Updated input 'nur':
    'github:nix-community/nur/9552e6f691915e173c3dac2e7d96bd2d9d2c2416' (2024-09-22)
  → 'github:nix-community/nur/1841d27c08fb58b1bb3e7944711938e719dd532e' (2024-10-06)
• Updated input 'nvim-lint-src':
    'github:mfussenegger/nvim-lint/c823e2d0621b5c15aa6b46be4d69b1379bcb8fa6' (2024-09-20)
  → 'github:mfussenegger/nvim-lint/27f44d1cc3d733a38a736acb902f94879d99c76c' (2024-10-03)
• Updated input 'nvim-tree-lua-src':
    'github:kyazdani42/nvim-tree.lua/e7cdecc6363acef8232f2f099fe21096ffdc071f' (2024-09-21)
  → 'github:kyazdani42/nvim-tree.lua/c9104a5d079db5a158c9562c54689df27d52dccc' (2024-09-30)
• Updated input 'wsl':
    'github:nix-community/NixOS-WSL/cc84991d069d1948bb7c2c24a9874c0a835621e6' (2024-09-20)
  → 'github:nix-community/NixOS-WSL/31a18ceaeac81e75d10b05ab0dfb4fcc79d4ed1a' (2024-10-05)
• Updated input 'wsl/flake-utils':
    'github:numtide/flake-utils/b1d9ab70662946ef0850d488da1c9019f3a9752a' (2024-03-11)
  → 'github:numtide/flake-utils/c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a' (2024-09-17)
2024-10-06 03:51:27 +00:00
1f64ed0bb8 fix: dwarf fortress phoebus-theme now unfree
e40e703411
2024-09-30 20:30:29 -04:00
2bfb8ea8b5 disable tab previews in firefox 2024-09-27 14:28:44 -04:00
e91d6665fb add git abbreviation for deleting branches 2024-09-27 14:28:13 -04:00
7e3ab279af update neovim plugins 2024-09-25 16:59:40 -04:00
cdb9da9c50 add gdd to delete git local and remote branch 2024-09-25 16:58:42 -04:00
46bbd2c967 add darwin stateversion (required by nix-darwin) 2024-09-25 16:58:03 -04:00
51bee71faf move hostname to common because services aren't in darwin 2024-09-25 16:57:44 -04:00
a7adc18463 add = to convert program to full path 2024-09-25 16:43:48 -04:00
25a959f404 flake.lock: Update
Flake lock file updates:

• Updated input 'darwin':
    'github:lnl7/nix-darwin/21fe31f26473c180390cfa81e3ea81aca0204c80' (2024-09-13)
  → 'github:lnl7/nix-darwin/c03f85fa42d68d1056ca1740f3113b04f3addff2' (2024-09-19)
• Updated input 'disko':
    'github:nix-community/disko/3632080c41d7a657995807689a08ef6c4bcb2c72' (2024-09-14)
  → 'github:nix-community/disko/51994df8ba24d5db5459ccf17b6494643301ad28' (2024-09-20)
• Updated input 'firefox-darwin':
    'github:bandithedoge/nixpkgs-firefox-darwin/449fef46920108ca18c6031a2c96611b67dc4941' (2024-09-15)
  → 'github:bandithedoge/nixpkgs-firefox-darwin/947d22726be0ef737ebbe6ffa6f7ff9908576011' (2024-09-22)
• Updated input 'home-manager':
    'github:nix-community/home-manager/e524c57b1fa55d6ca9d8354c6ce1e538d2a1f47f' (2024-09-14)
  → 'github:nix-community/home-manager/14929f7089268481d86b83ed31ffd88713dcd415' (2024-09-21)
• Updated input 'nextcloud-snappymail':
    'https://snappymail.eu/repository/nextcloud/snappymail-2.37.2-nextcloud.tar.gz?narHash=sha256-WwCRAZzxYWUpOy6iVTDpVIr/DrkJkQGjgIdVWNfCH3Q%3D' (2024-09-15)
  → 'https://snappymail.eu/repository/nextcloud/snappymail-2.37.2-nextcloud.tar.gz?narHash=sha256-WwCRAZzxYWUpOy6iVTDpVIr/DrkJkQGjgIdVWNfCH3Q%3D' (2024-09-22)
• Updated input 'nixos-generators':
    'github:nix-community/nixos-generators/5ae384b83b91080f0fead6bc1add1cff8277cb3f' (2024-09-12)
  → 'github:nix-community/nixos-generators/bfa25c9065f4cb5d884a0ad70f6e82f55ae90448' (2024-09-20)
• Updated input 'nixos-generators/nixlib':
    'github:nix-community/nixpkgs.lib/68584f89dd0eb16fea5d80ae127f3f681f6a5df7' (2024-09-08)
  → 'github:nix-community/nixpkgs.lib/9db4db09d82e4b2207bfa7f1e747a4f49d214555' (2024-09-15)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/4f807e8940284ad7925ebd0a0993d2a1791acb2f' (2024-09-11)
  → 'github:nixos/nixpkgs/c04d5652cfa9742b1d519688f65d1bbccea9eb7e' (2024-09-19)
• Updated input 'nixpkgs-stable':
    'github:nixos/nixpkgs/e65aa8301ba4f0ab8cb98f944c14aa9da07394f8' (2024-09-11)
  → 'github:nixos/nixpkgs/944b2aea7f0a2d7c79f72468106bc5510cbf5101' (2024-09-20)
• Updated input 'nur':
    'github:nix-community/nur/91d349ff0b378cfc65aef0d0c38a1a08f24efe2d' (2024-09-15)
  → 'github:nix-community/nur/9552e6f691915e173c3dac2e7d96bd2d9d2c2416' (2024-09-22)
• Updated input 'nvim-lint-src':
    'github:mfussenegger/nvim-lint/99cab0b885aaa2f59736c047d23e9a7835d4f9a9' (2024-09-14)
  → 'github:mfussenegger/nvim-lint/c823e2d0621b5c15aa6b46be4d69b1379bcb8fa6' (2024-09-20)
• Updated input 'nvim-tree-lua-src':
    'github:kyazdani42/nvim-tree.lua/45a93d99794fff3064141d5b3a50db98ce352697' (2024-09-15)
  → 'github:kyazdani42/nvim-tree.lua/e7cdecc6363acef8232f2f099fe21096ffdc071f' (2024-09-21)
• Updated input 'nvim-treesitter-src':
    'github:nvim-treesitter/nvim-treesitter/399062d072355be7cd3441a7931cb05378a6c6a2' (2024-09-14)
  → 'github:nvim-treesitter/nvim-treesitter/929ca9c76ee20bb27cffbde4ee90583b6c54d616' (2024-09-21)
• Updated input 'tiny-inline-diagnostic-nvim-src':
    'github:rachartier/tiny-inline-diagnostic.nvim/b2adb63ffd952c72eadd036a262e6e6c60de19f3' (2024-09-13)
  → 'github:rachartier/tiny-inline-diagnostic.nvim/1a83e7ce5c9d0ae4d89fc5c812b55ff8ed1d39e7' (2024-09-17)
• Updated input 'wsl':
    'github:nix-community/NixOS-WSL/34b95b3962f5b3436d4bae5091d1b2ff7c1eb180' (2024-09-09)
  → 'github:nix-community/NixOS-WSL/cc84991d069d1948bb7c2c24a9874c0a835621e6' (2024-09-20)
2024-09-22 03:49:30 +00:00
9f31d775c7 flake.lock: Update
Flake lock file updates:

• Updated input 'darwin':
    'github:lnl7/nix-darwin/76559183801030451e200c90a1627c1d82bb4910' (2024-09-06)
  → 'github:lnl7/nix-darwin/21fe31f26473c180390cfa81e3ea81aca0204c80' (2024-09-13)
• Updated input 'disko':
    'github:nix-community/disko/e55f9a8678adc02024a4877c2a403e3f6daf24fe' (2024-09-03)
  → 'github:nix-community/disko/3632080c41d7a657995807689a08ef6c4bcb2c72' (2024-09-14)
• Updated input 'firefox-darwin':
    'github:bandithedoge/nixpkgs-firefox-darwin/1770fbd40babfb807f258b70b7992eaf6d09a712' (2024-09-09)
  → 'github:bandithedoge/nixpkgs-firefox-darwin/449fef46920108ca18c6031a2c96611b67dc4941' (2024-09-15)
• Updated input 'home-manager':
    'github:nix-community/home-manager/aaebdea769a5c10f1c6e50ebdf5924c1a13f0cda' (2024-09-07)
  → 'github:nix-community/home-manager/e524c57b1fa55d6ca9d8354c6ce1e538d2a1f47f' (2024-09-14)
• Updated input 'nextcloud-snappymail':
    'https://snappymail.eu/repository/nextcloud/snappymail-2.37.2-nextcloud.tar.gz?narHash=sha256-WwCRAZzxYWUpOy6iVTDpVIr/DrkJkQGjgIdVWNfCH3Q%3D' (2024-09-08)
  → 'https://snappymail.eu/repository/nextcloud/snappymail-2.37.2-nextcloud.tar.gz?narHash=sha256-WwCRAZzxYWUpOy6iVTDpVIr/DrkJkQGjgIdVWNfCH3Q%3D' (2024-09-15)
• Updated input 'nixos-generators':
    'github:nix-community/nixos-generators/15a07ebf4a041bf232026263f1f96f2af390f3bc' (2024-09-05)
  → 'github:nix-community/nixos-generators/5ae384b83b91080f0fead6bc1add1cff8277cb3f' (2024-09-12)
• Updated input 'nixos-generators/nixlib':
    'github:nix-community/nixpkgs.lib/7f0b9e4fbd91826cb9ce6babbc11c87903191051' (2024-09-01)
  → 'github:nix-community/nixpkgs.lib/68584f89dd0eb16fea5d80ae127f3f681f6a5df7' (2024-09-08)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/574d1eac1c200690e27b8eb4e24887f8df7ac27c' (2024-09-06)
  → 'github:nixos/nixpkgs/4f807e8940284ad7925ebd0a0993d2a1791acb2f' (2024-09-11)
• Updated input 'nixpkgs-stable':
    'github:nixos/nixpkgs/6f6c45b5134a8ee2e465164811e451dcb5ad86e3' (2024-09-03)
  → 'github:nixos/nixpkgs/e65aa8301ba4f0ab8cb98f944c14aa9da07394f8' (2024-09-11)
• Updated input 'nur':
    'github:nix-community/nur/98eaa05e5fe457f8606c82d3aded375f4ada2a00' (2024-09-08)
  → 'github:nix-community/nur/91d349ff0b378cfc65aef0d0c38a1a08f24efe2d' (2024-09-15)
• Updated input 'nvim-lint-src':
    'github:mfussenegger/nvim-lint/a7ce9c78a7c710c28bee56dfab10a5c0c80b7fb5' (2024-09-03)
  → 'github:mfussenegger/nvim-lint/99cab0b885aaa2f59736c047d23e9a7835d4f9a9' (2024-09-14)
• Updated input 'nvim-tree-lua-src':
    'github:kyazdani42/nvim-tree.lua/ea55ef12036897fdc4476b115a395d2a34965c82' (2024-09-01)
  → 'github:kyazdani42/nvim-tree.lua/45a93d99794fff3064141d5b3a50db98ce352697' (2024-09-15)
• Updated input 'nvim-treesitter-src':
    'github:nvim-treesitter/nvim-treesitter/58030e6d6f1d6609b43dcb765d54539dcc6a1a76' (2024-09-07)
  → 'github:nvim-treesitter/nvim-treesitter/399062d072355be7cd3441a7931cb05378a6c6a2' (2024-09-14)
• Updated input 'telescope-project-nvim-src':
    'github:nvim-telescope/telescope-project.nvim/1aaf16580a614601a7f7077d9639aeb457dc5559' (2023-12-01)
  → 'github:nvim-telescope/telescope-project.nvim/796200876bb0fe8157b8eb1ce03d927d3827a052' (2024-09-09)
• Updated input 'tiny-inline-diagnostic-nvim-src':
    'github:rachartier/tiny-inline-diagnostic.nvim/c0543b2980251a7a2024e936ef724dcdfb07bb87' (2024-09-05)
  → 'github:rachartier/tiny-inline-diagnostic.nvim/b2adb63ffd952c72eadd036a262e6e6c60de19f3' (2024-09-13)
• Updated input 'tree-sitter-lua':
    'github:MunifTanjim/tree-sitter-lua/a24dab177e58c9c6832f96b9a73102a0cfbced4a' (2024-03-11)
  → 'github:MunifTanjim/tree-sitter-lua/99fc677e6971c425e8d407f59c77ab897e585c92' (2024-09-09)
• Updated input 'wsl':
    'github:nix-community/NixOS-WSL/8a89995f745b1a9029d654c391a0f62ca03f7fe7' (2024-09-03)
  → 'github:nix-community/NixOS-WSL/34b95b3962f5b3436d4bae5091d1b2ff7c1eb180' (2024-09-09)
2024-09-15 03:49:10 +00:00
23 changed files with 331 additions and 108 deletions

View File

@ -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

149
flake.lock generated
View File

@ -87,11 +87,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1725628909, "lastModified": 1728385805,
"narHash": "sha256-xI0OSqPHcs/c/utJsU0Zvcp1VhejMI9mgwr68uHHlPs=", "narHash": "sha256-mUd38b0vhB7yzgAjNOaFz7VY9xIVzlbn3P2wjGBcVV0=",
"owner": "lnl7", "owner": "lnl7",
"repo": "nix-darwin", "repo": "nix-darwin",
"rev": "76559183801030451e200c90a1627c1d82bb4910", "rev": "48b50b3b137be5cfb9f4d006835ce7c3fe558ccc",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -108,11 +108,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1725377834, "lastModified": 1728687662,
"narHash": "sha256-tqoAO8oT6zEUDXte98cvA1saU9+1dLJQe3pMKLXv8ps=", "narHash": "sha256-D9TChzb00eTG1YWBx8eN2s6lJJnBjB5Y7RpxkAzGvyQ=",
"owner": "nix-community", "owner": "nix-community",
"repo": "disko", "repo": "disko",
"rev": "e55f9a8678adc02024a4877c2a403e3f6daf24fe", "rev": "bdbdb725d632863bdedb80baabf21327614dd237",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -145,11 +145,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1725843309, "lastModified": 1728694479,
"narHash": "sha256-8TVcjmIfGM5Arxs9oBtdCTOojhjSQAofUSw7aCjjbnE=", "narHash": "sha256-NFFW6RrOTBuIk29LKtAO3MU5Y0ll7zAp9Skd9HvCGfs=",
"owner": "bandithedoge", "owner": "bandithedoge",
"repo": "nixpkgs-firefox-darwin", "repo": "nixpkgs-firefox-darwin",
"rev": "1770fbd40babfb807f258b70b7992eaf6d09a712", "rev": "8a3143c1ce147481db4463e71bc3b7002e6ebc56",
"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": 1727357627,
"narHash": "sha256-vDTqJQzLyg0nmlC+CrLnPkYti1rPxmvRW8eQq/9Zg+M=", "narHash": "sha256-8FJlLw5LApQs7S8xEh2UE9wdYCAweZTbvgozCGPfQJc=",
"owner": "calops", "owner": "calops",
"repo": "hmts.nvim", "repo": "hmts.nvim",
"rev": "19a91816c123173a4551a6a04f2882338f20db1d", "rev": "1ecb68b9f89abdb23d2754f9d69f90eab2d33eaa",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -267,11 +283,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1725694918, "lastModified": 1728685293,
"narHash": "sha256-+HsjshXpqNiJHLaJaK0JnIicJ/a1NquKcfn4YZ3ILgg=", "narHash": "sha256-1WowL96pksT/XCi+ZXHgqiQ9NiU5oxWuNIQYWqOoEYc=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "aaebdea769a5c10f1c6e50ebdf5924c1a13f0cda", "rev": "2b13611eaed8326789f76f70d21d06fbb14e3e47",
"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": {
@ -346,7 +362,7 @@
"nextcloud-snappymail": { "nextcloud-snappymail": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1725766944, "lastModified": 1728704544,
"narHash": "sha256-WwCRAZzxYWUpOy6iVTDpVIr/DrkJkQGjgIdVWNfCH3Q=", "narHash": "sha256-WwCRAZzxYWUpOy6iVTDpVIr/DrkJkQGjgIdVWNfCH3Q=",
"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.37.2-nextcloud.tar.gz"
@ -364,11 +380,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1718621825, "lastModified": 1727867024,
"narHash": "sha256-bSfjwRgKKpLyjEDPRAF1hlJKc7QDoqopalHwNCB/eAA=", "narHash": "sha256-yimXLupF3hG57imRMpqWho/Wstcj7P8Yh8t0SBiX+dQ=",
"owner": "gytis-ivaskevicius", "owner": "gytis-ivaskevicius",
"repo": "nix2vim", "repo": "nix2vim",
"rev": "1db11dbf8a4d124e02244fa5c4ff219b672a8e5b", "rev": "da26caae6c7776eedbc6514a0f57f1ccd6a759ed",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -379,11 +395,11 @@
}, },
"nixlib": { "nixlib": {
"locked": { "locked": {
"lastModified": 1725152544, "lastModified": 1728176478,
"narHash": "sha256-Tm344cnFM9f2YZsgWtJduvhIrvLr3Bi8J4Xc+UZDKYE=", "narHash": "sha256-px3Q0W//c+mZ4kPMXq4poztsjtXM1Ja1rN+825YMDUQ=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixpkgs.lib", "repo": "nixpkgs.lib",
"rev": "7f0b9e4fbd91826cb9ce6babbc11c87903191051", "rev": "b61309c3c1b6013d36299bc8285612865b3b9e4c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -400,11 +416,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1725497951, "lastModified": 1728522165,
"narHash": "sha256-fayKyVs/9FQdYH+3SCOkQM1GCsEPPVE+lSiVGlYQ7i0=", "narHash": "sha256-UQpsJ0Ev6JBGsCYRlS2oOVvb+eWcDD0xTV3RVlqbeVU=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixos-generators", "repo": "nixos-generators",
"rev": "15a07ebf4a041bf232026263f1f96f2af390f3bc", "rev": "40c8d30c490414910fc63626ad1b67af7db40cd3",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -415,11 +431,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1725634671, "lastModified": 1728492678,
"narHash": "sha256-v3rIhsJBOMLR8e/RNWxr828tB+WywYIoajrZKFM+0Gg=", "narHash": "sha256-9UTxR8eukdg+XZeHgxW5hQA9fIKHsKCdOIUycTryeVw=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "574d1eac1c200690e27b8eb4e24887f8df7ac27c", "rev": "5633bcff0c6162b9e4b5f1264264611e950c8ec7",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -447,11 +463,11 @@
}, },
"nixpkgs-stable": { "nixpkgs-stable": {
"locked": { "locked": {
"lastModified": 1725407940, "lastModified": 1728627514,
"narHash": "sha256-tiN5Rlg/jiY0tyky+soJZoRzLKbPyIdlQ77xVgREDNM=", "narHash": "sha256-r+SF9AnHrTg+bk6YszoKfV9lgyw+yaFUQe0dOjI0Z2o=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "6f6c45b5134a8ee2e465164811e451dcb5ad86e3", "rev": "c505ebf777526041d792a49d5f6dd4095ea391a7",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -463,11 +479,11 @@
}, },
"nur": { "nur": {
"locked": { "locked": {
"lastModified": 1725766838, "lastModified": 1728704557,
"narHash": "sha256-zMK7AGLnauVOVrPoLI7CvYRnlRU9/PL224y1Q+W3t6A=", "narHash": "sha256-HnYBB+oE+03rNDzTTVazBcysPOu5udRpTOGpP7/A5Ow=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nur", "repo": "nur",
"rev": "98eaa05e5fe457f8606c82d3aded375f4ada2a00", "rev": "1d143f52b0a046924ee7fe74bce0bd2e10e07c3d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -479,11 +495,11 @@
"nvim-lint-src": { "nvim-lint-src": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1725394960, "lastModified": 1728582620,
"narHash": "sha256-6XOFhvpbI3nLyKTCgoh7VsvwZki54cjD1TEq2SbRdq0=", "narHash": "sha256-wfui4kE3oxveCJPjJfkJSbE69zVTeAsasDdfJkElmn8=",
"owner": "mfussenegger", "owner": "mfussenegger",
"repo": "nvim-lint", "repo": "nvim-lint",
"rev": "a7ce9c78a7c710c28bee56dfab10a5c0c80b7fb5", "rev": "f707b3ae50417067fa63fdfe179b0bff6b380da1",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -512,11 +528,11 @@
"nvim-tree-lua-src": { "nvim-tree-lua-src": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1725169803, "lastModified": 1728614821,
"narHash": "sha256-25L8/KQorz67Sb6mp5Bm/W1ZPTTC5yqkXJ10cL+jJyg=", "narHash": "sha256-WYtu+jtsQSFqruTxdzkHE9UQJBE2TGoNoFar36AAoqo=",
"owner": "kyazdani42", "owner": "kyazdani42",
"repo": "nvim-tree.lua", "repo": "nvim-tree.lua",
"rev": "ea55ef12036897fdc4476b115a395d2a34965c82", "rev": "5ad87620ec9d1190d15c88171a3f0122bc16b0fe",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -528,16 +544,16 @@
"nvim-treesitter-src": { "nvim-treesitter-src": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1725723078, "lastModified": 1705679158,
"narHash": "sha256-Sc/TWwO740nxu60mf6qjvgWLIkD4lZbl1oDqbsTpiVE=", "narHash": "sha256-zAyiitJIgOCZTB0CmgNt0MHENM70SOHLIoWrVwOJKFg=",
"owner": "nvim-treesitter", "owner": "nvim-treesitter",
"repo": "nvim-treesitter", "repo": "nvim-treesitter",
"rev": "58030e6d6f1d6609b43dcb765d54539dcc6a1a76", "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"
} }
@ -584,6 +600,7 @@
"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",
@ -701,11 +718,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": {
@ -717,11 +734,11 @@
"tiny-inline-diagnostic-nvim-src": { "tiny-inline-diagnostic-nvim-src": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1725530709, "lastModified": 1726582328,
"narHash": "sha256-UOJf4Oi38Bj8xRHGGV+XWvOlOez6jm908NuThWUQyIU=", "narHash": "sha256-NBcUVUSnk2TlbSr/vFTbp3Rh35ms8lAcfDqpmE1KTq4=",
"owner": "rachartier", "owner": "rachartier",
"repo": "tiny-inline-diagnostic.nvim", "repo": "tiny-inline-diagnostic.nvim",
"rev": "c0543b2980251a7a2024e936ef724dcdfb07bb87", "rev": "1a83e7ce5c9d0ae4d89fc5c812b55ff8ed1d39e7",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -733,16 +750,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"
} }
@ -783,11 +800,11 @@
"tree-sitter-lua": { "tree-sitter-lua": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1710150044, "lastModified": 1725894603,
"narHash": "sha256-uFaEptW4wPrqgHfB1mYmVltf+4no61L2cPgpsr5qBIU=", "narHash": "sha256-Q2LtrifoKf16N1dRBf2xLi12kpMkcFncZL4jaVbtK3M=",
"owner": "MunifTanjim", "owner": "MunifTanjim",
"repo": "tree-sitter-lua", "repo": "tree-sitter-lua",
"rev": "a24dab177e58c9c6832f96b9a73102a0cfbced4a", "rev": "99fc677e6971c425e8d407f59c77ab897e585c92",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -887,11 +904,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1725358307, "lastModified": 1728588346,
"narHash": "sha256-su/Nzp2X8JlaD9wPYQGXeTilaVa5H06X7A3kqCLJNuo=", "narHash": "sha256-P1j+Nf+pzxPYK2Qe7lF2yB0vR3YvW8Td5sD0ZvrKIq8=",
"owner": "nix-community", "owner": "nix-community",
"repo": "NixOS-WSL", "repo": "NixOS-WSL",
"rev": "8a89995f745b1a9029d654c391a0f62ca03f7fe7", "rev": "0fc8d9bb51cc46b31d950513df6d088905c8fe55",
"type": "github" "type": "github"
}, },
"original": { "original": {

View File

@ -91,7 +91,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 +105,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 = {
@ -185,6 +185,11 @@
flake = false; flake = false;
}; };
gh-collaborators = {
url = "github:katiem0/gh-collaborators";
flake = false;
};
# Nextcloud Apps # Nextcloud Apps
nextcloud-news = { nextcloud-news = {
# https://github.com/nextcloud/news/releases # https://github.com/nextcloud/news/releases
@ -230,6 +235,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}";
@ -260,7 +266,7 @@
(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)
]; ];

View File

@ -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;

View File

@ -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" ];

View File

@ -137,6 +137,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).";

View File

@ -11,6 +11,11 @@
options.terraform = lib.mkEnableOption "Whether to enable Terraform LSP"; options.terraform = lib.mkEnableOption "Whether to enable Terraform LSP";
options.github = lib.mkEnableOption "Whether to enable GitHub features"; options.github = lib.mkEnableOption "Whether to enable GitHub features";
options.kubernetes = lib.mkEnableOption "Whether to enable Kubernetes features"; options.kubernetes = lib.mkEnableOption "Whether to enable Kubernetes features";
options.nixosConfiguration = lib.mkOption {
type = lib.types.str;
description = "Configuration to use for nixd options checking";
default = "default";
};
config = { config = {
plugins = [ plugins = [
@ -43,6 +48,21 @@
use.lspconfig.nixd.setup = dsl.callWith { use.lspconfig.nixd.setup = dsl.callWith {
cmd = [ "${pkgs.nixd}/bin/nixd" ]; cmd = [ "${pkgs.nixd}/bin/nixd" ];
capabilities = dsl.rawLua "require('cmp_nvim_lsp').default_capabilities()"; capabilities = dsl.rawLua "require('cmp_nvim_lsp').default_capabilities()";
# settings = {
# nixd = {
# options = {
# nixos = {
# expr = "(builtins.getFlake (\"git+file://\" + toString ./.)).nixosConfigurations.${config.nixosConfiguration}.options";
# };
# home-manager = {
# expr = "(builtins.getFlake (\"git+file://\" + toString ./.)).homeConfigurations.${config.nixosConfiguration}.options";
# };
# darwin = {
# expr = "(builtins.getFlake (\"git+file://\" + toString ./.)).darwinConfigurations.${config.nixosConfiguration}.options";
# };
# };
# };
# };
}; };
use.lspconfig.pyright.setup = dsl.callWith { use.lspconfig.pyright.setup = dsl.callWith {

View File

@ -13,6 +13,7 @@ let
terraform = config.terraform.enable; terraform = config.terraform.enable;
github = true; github = true;
kubernetes = config.kubernetes.enable; kubernetes = config.kubernetes.enable;
nixosConfiguration = config.networking.hostName; # Used for Nixd
}; };
in in
{ {
@ -50,9 +51,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"

View File

@ -32,6 +32,7 @@
terraform ? false, terraform ? false,
github ? false, github ? false,
kubernetes ? false, kubernetes ? false,
nixosConfiguration ? "default",
... ...
}: }:
@ -44,6 +45,7 @@ pkgs.neovimBuilder {
terraform terraform
github github
kubernetes kubernetes
nixosConfiguration
; ;
imports = [ imports = [
../config/align.nix ../config/align.nix

View File

@ -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";

View File

@ -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...")

View File

@ -12,34 +12,36 @@
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 = 636; ldap_port = 636;
ldap_dc_1 = "${magic_prefix}${magic_number}";
ldap_dc_2 = "t${magic_number}";
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}" \ -H "${ldap_scheme}://''${LDAP_HOST}:${builtins.toString ldap_port}" \
-D "${pkgs.lib.toUpper magic_prefix}${magic_number}\\${pkgs.lib.toLower config.user}" \ -D "${pkgs.lib.toUpper magic_prefix}2\\${pkgs.lib.toLower config.user}" \
-w "$(${pkgs._1password}/bin/op item get T${magic_number} --fields label=password)" \ -w "$(${pkgs._1password}/bin/op item get T2 --fields label=password)" \
-b "DC=${ldap_dc_1},DC=${ldap_dc_2},DC=${ldap_dc_3}" \ -b "dc=''${LDAP_HOST//./,dc=}" \
-s "sub" -x "(cn=$SEARCH_FILTER)" \ -s "sub" -x "(cn=''${SEARCH_FILTER})" \
| jq --slurp \ | jq --slurp \
--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)' --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)'
''; '';
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

View File

@ -23,6 +23,8 @@
system = { system = {
stateVersion = 5;
keyboard = { keyboard = {
remapCapsLockToControl = true; remapCapsLockToControl = true;
enableKeyMapping = true; # Allows for skhd enableKeyMapping = true; # Allows for skhd

View File

@ -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 {

View File

@ -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;

View File

@ -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";

View File

@ -0,0 +1,44 @@
{ config, lib, ... }:
{
options = {
hostnames.audiobooks = lib.mkOption {
type = lib.types.str;
description = "Hostname for audiobook server (Audiobookshelf).";
};
};
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"
];
};
}

View File

@ -5,6 +5,7 @@
{ {
imports = [ imports = [
./audiobookshelf.nix
./arr.nix ./arr.nix
./backups.nix ./backups.nix
./bind.nix ./bind.nix

View File

@ -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 = {

View File

@ -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";

View File

@ -1,13 +1,6 @@
{ config, lib, ... }: { config, lib, ... }:
{ {
options = {
hostnames.status = lib.mkOption {
type = lib.types.str;
description = "Hostname for status page (Uptime-Kuma).";
};
};
config = lib.mkIf config.services.uptime-kuma.enable { config = lib.mkIf config.services.uptime-kuma.enable {
services.uptime-kuma = { services.uptime-kuma = {

View File

@ -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=";