Compare commits

...

73 Commits
wsl ... develop

Author SHA1 Message Date
Patrick Neff 647bfb7d93 add german data 2025-03-15 02:48:09 +01:00
Patrick Neff 079b33efb0 add dashy module 2025-03-09 14:19:56 +01:00
Patrick Neff f353f8e7fa updates 2025-03-09 14:13:22 +01:00
Patrick Neff 000f15bb83 add yazi plugins 2025-01-30 05:28:16 +01:00
Patrick Neff a15b75eec6 flake.lock: Update
Flake lock file updates:

• Updated input 'catppuccin':
    'github:catppuccin/nix/8eada392fd6571a747e1c5fc358dd61c14c8704e?narHash=sha256-76MaB3COao55nlhWmSmq9PKgu2iGIs54C1cAE0E5J6Y%3D' (2025-01-05)
  → 'github:catppuccin/nix/f06fcadf9a61b6581b392e72f230fa6783fe36e4?narHash=sha256-qZZ/K5XheRMjCNYgle90QESuys0PIFJNPJJswMJ0GEA%3D' (2025-01-15)
• Updated input 'catppuccin/catppuccin-v1_2':
    'https://api.flakehub.com/f/pinned/catppuccin/nix/1.2.0/0193e5e0-33b7-7149-a362-bfe56b20f64e/source.tar.gz?narHash=sha256-Let3uJo4YDyfqbqaw66dpZxhJB2TrDyZWSFd5rpPLJA%3D' (2024-12-20)
  → 'https://api.flakehub.com/f/pinned/catppuccin/nix/1.2.1/0193e646-1107-7f69-a402-f2a3988ecf1d/source.tar.gz?narHash=sha256-CFX4diEQHKvZYjnhf7TLg20m3ge1O4vqgplsk/Kuaek%3D' (2024-12-20)
• Updated input 'catppuccin/home-manager':
    'github:nix-community/home-manager/1395379a7a36e40f2a76e7b9936cc52950baa1be?narHash=sha256-OOfI0XhSJGHblfdNDhfnn8QnZxng63rWk9eeJ2tCbiI%3D' (2024-12-19)
  → 'github:nix-community/home-manager/2532b500c3ed2b8940e831039dcec5a5ea093afc?narHash=sha256-ZOaGwa%2BWnB7Zn3YXimqjmIugAnHePdXCmNu%2BAHkq808%3D' (2025-01-10)
• Updated input 'catppuccin/home-manager-stable':
    'github:nix-community/home-manager/80b0fdf483c5d1cb75aaad909bd390d48673857f?narHash=sha256-vykpJ1xsdkv0j8WOVXrRFHUAdp9NXHpxdnn1F4pYgSw%3D' (2024-12-16)
  → 'github:nix-community/home-manager/bd65bc3cde04c16755955630b344bc9e35272c56?narHash=sha256-dinzAqCjenWDxuy%2BMqUQq0I4zUSfaCvN9rzuCmgMZJY%3D' (2025-01-08)
• Updated input 'catppuccin/nixpkgs':
    'github:NixOS/nixpkgs/d3c42f187194c26d9f0309a8ecc469d6c878ce33?narHash=sha256-cHar1vqHOOyC7f1%2BtVycPoWTfKIaqkoe1Q6TnKzuti4%3D' (2024-12-17)
  → 'github:NixOS/nixpkgs/8f3e1f807051e32d8c95cd12b9b421623850a34d?narHash=sha256-/qlNWm/IEVVH7GfgAIyP6EsVZI6zjAx1cV5zNyrs%2BrI%3D' (2025-01-04)
• Updated input 'catppuccin/nixpkgs-stable':
    'github:NixOS/nixpkgs/b47fd6fa00c6afca88b8ee46cfdb00e104f50bca?narHash=sha256-nbG9TijTMcfr%2Bau7ZVbKpAhMJzzE2nQBYmRvSdXUD8g%3D' (2024-12-19)
  → 'github:NixOS/nixpkgs/cbd8ec4de4469333c82ff40d057350c30e9f7d36?narHash=sha256-DjkQPnkAfd7eB522PwnkGhOMuT9QVCZspDpJJYyOj60%3D' (2025-01-05)
• Updated input 'catppuccin/nuscht-search':
    'github:NuschtOS/search/3051be7f403bff1d1d380e4612f0c70675b44fc9?narHash=sha256-Y47y%2BLesOCkJaLvj%2BdI/Oa6FAKj/T9sKVKDXLNsViPw%3D' (2024-12-09)
  → 'github:NuschtOS/search/836908e3bddd837ae0f13e215dd48767aee355f0?narHash=sha256-Iv59gMDZajNfezTO0Fw6LHE7uKAShxbvMidmZREit7c%3D' (2025-01-02)
• Updated input 'home-manager':
    'github:nix-community/home-manager/5c4302313d9207f7ec0886d68f8ff4a3c71209a1?narHash=sha256-kPDXF6cIPsVqSK08XF5EC6KM7BdMnM9vtJDzsnf%2BlLU%3D' (2025-01-07)
  → 'github:nix-community/home-manager/1e36429705f9af2d00a517ba46a4f21ef8a8194f?narHash=sha256-O2ttwW1/dUc/Y%2BRf48Njtr4tZpRJhy8FhafikekIjMY%3D' (2025-01-18)
• Updated input 'luavit-meta':
    'github:Bilal2453/luvit-meta/55709f183b0742a7e4f47688c284f81148ad4dc0?narHash=sha256-x1qZyBRxe9DbqyGg2doTSO5HsxHRuStSSSUCzHXRLyk%3D' (2024-12-31)
  → 'github:Bilal2453/luvit-meta/1df30b60b1b4aecfebc785aa98943db6c6989716?narHash=sha256-n6eD2CayjoKdORN9MQY3RFJEE9cOUITypV3lKowiETk%3D' (2025-01-16)
• Updated input 'neorg':
    'github:nvim-neorg/neorg/bc660d6e2f3b5985ab6eaa02288efe418a1ce99a?narHash=sha256-6tDeAKAqAXZhT0dr2oFP4x6l8sJ1AL135PaZIe6ZsgY%3D' (2025-01-07)
  → 'github:nvim-neorg/neorg/29993a7bb8279ffa0ba473a3f393daa28c645825?narHash=sha256-HJ0JhAekuYqpuUrK4Vl/tzUVYYTFIB/CS%2BIDNEHZxvs%3D' (2025-01-12)
• Updated input 'neorg-overlay':
    'github:nvim-neorg/nixpkgs-neorg-overlay/c215b161e019938802e71611359bd3a98ad3b973?narHash=sha256-TpTtasMBcXvm5Hyyq9gNXfkFG5mH7suLHQPbZ0aKedI%3D' (2025-01-08)
  → 'github:nvim-neorg/nixpkgs-neorg-overlay/13ec712fd99724afbf8d821830285386b6e2ded5?narHash=sha256-3/mFh%2BDtFvo34raSJQAm9GevfywVZbYb0/clXeDBI%2Bw%3D' (2025-01-17)
• Updated input 'neorg-overlay/neorg':
    'github:nvim-neorg/neorg/bc660d6e2f3b5985ab6eaa02288efe418a1ce99a?narHash=sha256-6tDeAKAqAXZhT0dr2oFP4x6l8sJ1AL135PaZIe6ZsgY%3D' (2025-01-07)
  → 'github:nvim-neorg/neorg/29993a7bb8279ffa0ba473a3f393daa28c645825?narHash=sha256-HJ0JhAekuYqpuUrK4Vl/tzUVYYTFIB/CS%2BIDNEHZxvs%3D' (2025-01-12)
• Updated input 'neovim-nightly-overlay':
    'github:nix-community/neovim-nightly-overlay/721f5f602b876a3ee21be04f68ab3cedf162e7f6?narHash=sha256-I6fqKdaoKOVU33SyPv%2BMuxWRiOs%2BPXQTO94aCLA3rAc%3D' (2025-01-07)
  → 'github:nix-community/neovim-nightly-overlay/83836b42458e62a4331b1cda72021df68773f8c6?narHash=sha256-gvPE%2BJ30kcc2fyb48Efn4LRHXsxvZunfx3jtqHchBOM%3D' (2025-01-18)
• Updated input 'neovim-nightly-overlay/git-hooks':
    'github:cachix/git-hooks.nix/a5a961387e75ae44cc20f0a57ae463da5e959656?narHash=sha256-3FZAG%2BpGt3OElQjesCAWeMkQ7C/nB1oTHLRQ8ceP110%3D' (2025-01-03)
  → 'github:cachix/git-hooks.nix/94ee657f6032d913fe0ef49adaa743804635b0bb?narHash=sha256-I/OuxGwXwRi5gnFPsyCvVR%2BIfFstA%2BQXEpHu1hvsgD8%3D' (2025-01-16)
• Updated input 'neovim-nightly-overlay/hercules-ci-effects':
    'github:hercules-ci/hercules-ci-effects/f6233b5cfbada692d93a73d6ed35bdbfd0fdb9c4?narHash=sha256-cwk53OX1S1bCFY09zydubZNmmwcx9l5XEba8mVYuNE4%3D' (2025-01-01)
  → 'github:hercules-ci/hercules-ci-effects/afd0a42e8c61ebb56899315ee4084a8b2e4ff425?narHash=sha256-JTBWmyGf8K1Rwb%2BgviHIUzRJk/sITtT%2B72HXFkTZUjo%3D' (2025-01-15)
• Updated input 'neovim-nightly-overlay/hercules-ci-effects/flake-parts':
    'github:hercules-ci/flake-parts/205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9?narHash=sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c%3D' (2024-12-04)
  → 'github:hercules-ci/flake-parts/b905f6fc23a9051a6e1b741e1438dbfc0634c6de?narHash=sha256-%2Bhu54pAoLDEZT9pjHlqL9DNzWz0NbUn8NEAHP7PQPzU%3D' (2025-01-06)
• Updated input 'neovim-nightly-overlay/neovim-src':
    'github:neovim/neovim/b6ab294838421afb6932c52dd6e6d35d571e621d?narHash=sha256-5S4RnwKfa5nn/r%2B8OsMtfgD6TEA5P6cWKti76A0zIMc%3D' (2025-01-06)
  → 'github:neovim/neovim/c6cc937512f59af12fd1b15ca4f7a11288f28ca0?narHash=sha256-XRzVclKMgXicCkMtFBc8OMjs7GdHVWJL3OaxY63YKtE%3D' (2025-01-17)
• Updated input 'neovim-nightly-overlay/treefmt-nix':
    'github:numtide/treefmt-nix/13c913f5deb3a5c08bb810efd89dc8cb24dd968b?narHash=sha256-p2r8xhQZ3TYIEKBoiEhllKWQqWNJNoT9v64Vmg4q8Zw%3D' (2025-01-06)
  → 'github:numtide/treefmt-nix/d1ed3b385f8130e392870cfb1dbfaff8a63a1899?narHash=sha256-uPNWcYbhY2fjY3HOfRCR5jsfzdzemhfxLSxwjXYXqNc%3D' (2025-01-17)
• Updated input 'nix-minecraft':
    'github:Infinidoge/nix-minecraft/b475c4229266709644047fd91c30600bcf38c5f1?narHash=sha256-u%2BEDWFGKrJgLB6c0i26UqDSN5zc5%2BbvKf9OS80rkH7s%3D' (2025-01-08)
  → 'github:Infinidoge/nix-minecraft/4c9d6c720798a238b04c3a7ab419e26202195cc8?narHash=sha256-xu%2BcxTuOWIbYsUPpMGcfxr8U1V%2BjJkSyjACtuGu8/0E%3D' (2025-01-18)
• Updated input 'nixos-hardware':
    'github:nixos/nixos-hardware/4f339f6be2b61662f957c2ee9eda0fa597d8a6d6?narHash=sha256-BG1FfTexFwNty5VhYjaQLMR6CMPfI3QRcaZrFQYu2EM%3D' (2025-01-07)
  → 'github:nixos/nixos-hardware/b678606690027913f3434dea3864e712b862dde5?narHash=sha256-oMr3PVIQ8XPDI8/x6BHxsWEPBRU98Pam6KGVwUh8MPk%3D' (2025-01-15)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/d7d3f1b52838e997732722024153aac2ea4a45c2?narHash=sha256-TI4mH4g8n3Q30l2l6I7oPCAsCk1ztNTMV0H9I3geC5k%3D' (2025-01-08)
  → 'github:nixos/nixpkgs/8767eb7a66cdc087f3f915ef44e7da73093c6a5b?narHash=sha256-vkHO5dvmwOMahEzBTYx1bCPXRRRZqIF2mtTnbEVwrLs%3D' (2025-01-18)
• Updated input 'nixvim':
    'github:nix-community/nixvim/0ebc64a2328fc0a0532f9544eb6c6e297135962e?narHash=sha256-0mGe0okcNDKp0A9lS/birSP0Z5oheqgrXzQeolHM9U8%3D' (2025-01-07)
  → 'github:nix-community/nixvim/a1b44cfdf48019d69713328ac28e12c1789ef21c?narHash=sha256-WraP9ppk7Q6%2BOzEZV3okhNzG1h8e%2BDFyi3xrGFT8aqA%3D' (2025-01-18)
• Updated input 'nixvim/git-hooks':
    'github:cachix/git-hooks.nix/a5a961387e75ae44cc20f0a57ae463da5e959656?narHash=sha256-3FZAG%2BpGt3OElQjesCAWeMkQ7C/nB1oTHLRQ8ceP110%3D' (2025-01-03)
  → 'github:cachix/git-hooks.nix/94ee657f6032d913fe0ef49adaa743804635b0bb?narHash=sha256-I/OuxGwXwRi5gnFPsyCvVR%2BIfFstA%2BQXEpHu1hvsgD8%3D' (2025-01-16)
• Updated input 'nixvim/nix-darwin':
    'github:lnl7/nix-darwin/ba9b3173b0f642ada42b78fb9dfc37ca82266f6c?narHash=sha256-bTl9fcUo767VaSx4Q5kFhwiDpFQhBKna7lNbGsqCQiA%3D' (2025-01-05)
  → 'github:lnl7/nix-darwin/bd921223ba7cdac346477d7ea5204d6f4736fcc6?narHash=sha256-deQVtIH4UJueELJqluAICUtX7OosD9paTP%2B5FgbiSwI%3D' (2025-01-14)
• Updated input 'nixvim/treefmt-nix':
    'github:numtide/treefmt-nix/1788ca5acd4b542b923d4757d4cfe4183cc6a92d?narHash=sha256-FBG9d7e0BTFfxVdw4b5EmNll2Mv7hfRc54hbB4LrKko%3D' (2025-01-05)
  → 'github:numtide/treefmt-nix/97871d416166803134ba64597a1006f3f670fbde?narHash=sha256-saLiCRQ5RtdTnznT/fja7GxcYRAzeY3k8S%2BIF/2s/2A%3D' (2025-01-16)
• Updated input 'nur':
    'github:nix-community/NUR/2856877385d0fce64ac7d5cd08740de3c00b8927?narHash=sha256-f08QTp9siJkwGOWT7uY2AREvkbxY0oHSyGvDlE5qCx8%3D' (2025-01-08)
  → 'github:nix-community/NUR/35bf7c8f7b5dcfd2870caba30534cff48b4de098?narHash=sha256-IbFzcFwwbjkycP59lu6M7oJ8Z/iVnk1AMRYphKtGBfg%3D' (2025-01-18)
• Updated input 'raspberry-pi-nix':
    'github:nix-community/raspberry-pi-nix/6b63ee98284cd68e86bcdb29feeb3009896f1a6b?narHash=sha256-tCxJzhFxJmRlIKjLREntBYmoQr3db9P6eOE9q6dh/HA%3D' (2025-01-06)
  → 'github:nix-community/raspberry-pi-nix/628e512d60fa99f8f49e73e39b7cedf9b968c282?narHash=sha256-t8%2B%2B2QSK%2B8Ed506NUmSG588wZKoBkJ%2BdlDxuFxNAF4Y%3D' (2025-01-08)
• Updated input 'raspberry-pi-nix/rpi-firmware-src':
    'github:raspberrypi/firmware/287e6a6c2d3b50eee3e2c5b2eacdd907e5cbe09a?narHash=sha256-eavbshXGYmkYR33y9FLcQMJoAYdYTESVEy0g/RRXnb0%3D' (2024-10-01)
  → 'github:raspberrypi/firmware/7bbb5f80d20a2335066a8781459c9f33e5eebc64?narHash=sha256-4gnK0KbqFnjBmWia9Jt2gveVWftmHrprpwBqYVqE/k0%3D' (2024-10-08)
• Added input 'raspberry-pi-nix/rpi-linux-stable-src':
    'github:raspberrypi/linux/5aeecea9f4a45248bcf564dec924965e066a7bfd?narHash=sha256-phCxkuO%2BjUGZkfzSrBq6yErQeO2Td%2BinIGHxctXbD5U%3D' (2024-10-08)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/c9c88f08e3ee495e888b8d7c8624a0b2519cb773?narHash=sha256-eSjkBwBdQk%2BTZWFlLbclF2rAh4JxbGg8az4w/Lfe7f4%3D' (2025-01-06)
  → 'github:Mic92/sops-nix/4c4fb93f18b9072c6fa1986221f9a3d7bf1fe4b6?narHash=sha256-GXUE9%2BFgxoZU8v0p6ilBJ8NH7k8nKmZjp/7dmMrCv3o%3D' (2025-01-17)
2025-01-18 12:23:22 +01:00
Patrick Neff 2bc75821a5 add kodi and jellyfin 2025-01-18 12:21:20 +01:00
Patrick Neff 3987b94d21 updates 2025-01-10 00:10:03 +01:00
Patrick Neff b54dff65cd fix deploy script 2025-01-09 18:49:35 +01:00
Patrick Neff b4f70cfed7 fix nix-path 2025-01-09 00:04:25 +01:00
Patrick Neff 3800f2300f enable remote build logs 2025-01-08 23:50:55 +01:00
Patrick Neff 6d9f22f8f3 change cross compiling 2025-01-08 23:45:02 +01:00
Patrick Neff b9dfbdcc73 flake.lock: Update
Flake lock file updates:

• Updated input 'catppuccin':
    'github:catppuccin/nix/f47bf8bbec54f721b0b5282e6bcfa85888b822dd?narHash=sha256-g2A9sNPPaumDzb2jNd2h8eiKzlwmlFzO1qymaq2GovU%3D' (2024-12-11)
  → 'github:catppuccin/nix/8eada392fd6571a747e1c5fc358dd61c14c8704e?narHash=sha256-76MaB3COao55nlhWmSmq9PKgu2iGIs54C1cAE0E5J6Y%3D' (2025-01-05)
• Added input 'catppuccin/catppuccin-v1_1':
    'https://api.flakehub.com/f/pinned/catppuccin/nix/1.1.1/0193bdc0-b045-7eed-bbec-95611a8ecdf5/source.tar.gz?narHash=sha256-pCWJgwo77KD7EJpwynwKrWPZ//dwypHq2TfdzZWqK68%3D' (2024-12-13)
• Added input 'catppuccin/catppuccin-v1_2':
    'https://api.flakehub.com/f/pinned/catppuccin/nix/1.2.0/0193e5e0-33b7-7149-a362-bfe56b20f64e/source.tar.gz?narHash=sha256-Let3uJo4YDyfqbqaw66dpZxhJB2TrDyZWSFd5rpPLJA%3D' (2024-12-20)
• Added input 'catppuccin/home-manager':
    'github:nix-community/home-manager/1395379a7a36e40f2a76e7b9936cc52950baa1be?narHash=sha256-OOfI0XhSJGHblfdNDhfnn8QnZxng63rWk9eeJ2tCbiI%3D' (2024-12-19)
• Added input 'catppuccin/home-manager/nixpkgs':
    follows 'catppuccin/nixpkgs'
• Added input 'catppuccin/home-manager-stable':
    'github:nix-community/home-manager/80b0fdf483c5d1cb75aaad909bd390d48673857f?narHash=sha256-vykpJ1xsdkv0j8WOVXrRFHUAdp9NXHpxdnn1F4pYgSw%3D' (2024-12-16)
• Added input 'catppuccin/home-manager-stable/nixpkgs':
    follows 'catppuccin/nixpkgs-stable'
• Added input 'catppuccin/nixpkgs':
    'github:NixOS/nixpkgs/d3c42f187194c26d9f0309a8ecc469d6c878ce33?narHash=sha256-cHar1vqHOOyC7f1%2BtVycPoWTfKIaqkoe1Q6TnKzuti4%3D' (2024-12-17)
• Added input 'catppuccin/nixpkgs-stable':
    'github:NixOS/nixpkgs/b47fd6fa00c6afca88b8ee46cfdb00e104f50bca?narHash=sha256-nbG9TijTMcfr%2Bau7ZVbKpAhMJzzE2nQBYmRvSdXUD8g%3D' (2024-12-19)
• Added input 'catppuccin/nuscht-search':
    'github:NuschtOS/search/3051be7f403bff1d1d380e4612f0c70675b44fc9?narHash=sha256-Y47y%2BLesOCkJaLvj%2BdI/Oa6FAKj/T9sKVKDXLNsViPw%3D' (2024-12-09)
• Added input 'catppuccin/nuscht-search/flake-utils':
    'github:numtide/flake-utils/11707dc2f618dd54ca8739b309ec4fc024de578b?narHash=sha256-l0KFg5HjrsfsO/JpG%2Br7fRrqm12kzFHyUHqHCVpMMbI%3D' (2024-11-13)
• Added input 'catppuccin/nuscht-search/flake-utils/systems':
    'github:nix-systems/default/da67096a3b9bf56a91d16901293e51ba5b49a27e?narHash=sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768%3D' (2023-04-09)
• Added input 'catppuccin/nuscht-search/ixx':
    'github:NuschtOS/ixx/9fd01aad037f345350eab2cd45e1946cc66da4eb?narHash=sha256-EiOq8jF4Z/zQe0QYVc3%2BqSKxRK//CFHMB84aYrYGwEs%3D' (2024-10-26)
• Added input 'catppuccin/nuscht-search/ixx/flake-utils':
    follows 'catppuccin/nuscht-search/flake-utils'
• Added input 'catppuccin/nuscht-search/ixx/nixpkgs':
    follows 'catppuccin/nuscht-search/nixpkgs'
• Added input 'catppuccin/nuscht-search/nixpkgs':
    follows 'catppuccin/nixpkgs'
• Updated input 'flake-parts':
    'github:hercules-ci/flake-parts/205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9?narHash=sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c%3D' (2024-12-04)
  → 'github:hercules-ci/flake-parts/b905f6fc23a9051a6e1b741e1438dbfc0634c6de?narHash=sha256-%2Bhu54pAoLDEZT9pjHlqL9DNzWz0NbUn8NEAHP7PQPzU%3D' (2025-01-06)
• Updated input 'flake-parts/nixpkgs-lib':
    '5487e69da4.tar.gz?narHash=sha256-1qRH7uAUsyQI7R1Uwl4T%2BXvdNv778H0Nb5njNrqvylY%3D' (2024-12-01)
  → 'e9b5173191.tar.gz?narHash=sha256-CewEm1o2eVAnoqb6Ml%2BQi9Gg/EfNAxbRx1lANGVyoLI%3D' (2025-01-01)
• Updated input 'home-manager':
    'github:nix-community/home-manager/f26aa4b76fb7606127032d33ac73d7d507d82758?narHash=sha256-dTosiZ3sZ/NKoLKQ%2B%2Bv8nZdEHya0eTNEsaizNp%2BMUPM%3D' (2024-12-10)
  → 'github:nix-community/home-manager/5c4302313d9207f7ec0886d68f8ff4a3c71209a1?narHash=sha256-kPDXF6cIPsVqSK08XF5EC6KM7BdMnM9vtJDzsnf%2BlLU%3D' (2025-01-07)
• Updated input 'lazydev':
    'github:folke/lazydev.nvim/f59bd14a852ca43db38e3662395354cb2a9b13e0?narHash=sha256-ErX0dCyAVRn5wtlXVnbEYku2dicIkFySdlsqg5vrWoA%3D' (2024-11-24)
  → 'github:folke/lazydev.nvim/8620f82ee3f59ff2187647167b6b47387a13a018?narHash=sha256-ZaAkGTwEBoOjy6RyIPKFLJswxfOu886bN899UakXAv0%3D' (2024-12-20)
• Updated input 'luavit-meta':
    'github:Bilal2453/luvit-meta/57d464c4acb5c2e66bd4145060f5dc9e96a7bbb7?narHash=sha256-c6AFyWwWzG8WyhFqo8F3%2Baa8mZYtRrdPizmwf9a5yQk%3D' (2024-11-19)
  → 'github:Bilal2453/luvit-meta/55709f183b0742a7e4f47688c284f81148ad4dc0?narHash=sha256-x1qZyBRxe9DbqyGg2doTSO5HsxHRuStSSSUCzHXRLyk%3D' (2024-12-31)
• Updated input 'neorg':
    'github:nvim-neorg/neorg/62671a7b03a1f38a6e5e03b006a9b6f8d804be0e?narHash=sha256-6pUwWfsJ0TmToGU7Bvaeobnj2vuIqwd4w3TDdTvQZSk%3D' (2024-12-10)
  → 'github:nvim-neorg/neorg/bc660d6e2f3b5985ab6eaa02288efe418a1ce99a?narHash=sha256-6tDeAKAqAXZhT0dr2oFP4x6l8sJ1AL135PaZIe6ZsgY%3D' (2025-01-07)
• Updated input 'nix-minecraft':
    'github:Infinidoge/nix-minecraft/8d11f147df83fe137d3d94f6f3646e3a52bec855?narHash=sha256-u0ll0DDrKlO7tiLGGtmphv3wFy5ReDuf0USo/OlfROU%3D' (2024-12-09)
  → 'github:Infinidoge/nix-minecraft/b475c4229266709644047fd91c30600bcf38c5f1?narHash=sha256-u%2BEDWFGKrJgLB6c0i26UqDSN5zc5%2BbvKf9OS80rkH7s%3D' (2025-01-08)
• Updated input 'nixos-hardware':
    'github:nixos/nixos-hardware/cf737e2eba82b603f54f71b10cb8fd09d22ce3f5?narHash=sha256-%2BjjPup/ByS0LEVIrBbt7FnGugJgLeG9oc%2BivFASYn2U%3D' (2024-12-10)
  → 'github:nixos/nixos-hardware/4f339f6be2b61662f957c2ee9eda0fa597d8a6d6?narHash=sha256-BG1FfTexFwNty5VhYjaQLMR6CMPfI3QRcaZrFQYu2EM%3D' (2025-01-07)
• Updated input 'nixos-wsl':
    'github:nix-community/NixOS-WSL/dee4425dcee3149475ead0cb6a616b8a028c5888?narHash=sha256-K9qGHniYBbjqVcEiwXyiofj/IFf78L5F0/FCf%2BCKyr0%3D' (2024-12-10)
  → 'github:nix-community/NixOS-WSL/63c3b4ed1712a3a0621002cd59bfdc80875ecbb0?narHash=sha256-csysw/Szu98QDiA2lhWk9seYOyCebeVEWL89zh1cduM%3D' (2025-01-05)
• Removed input 'nixos-wsl/flake-utils'
• Updated input 'nur':
    'github:nix-community/NUR/40794120f4a3369d84c0b4862d49476f127e0f7b?narHash=sha256-baC/RU5e8DYqnLHOaujXtyR6CYH7zbBMNC2HDUN1evs%3D' (2024-12-11)
  → 'github:nix-community/NUR/2856877385d0fce64ac7d5cd08740de3c00b8927?narHash=sha256-f08QTp9siJkwGOWT7uY2AREvkbxY0oHSyGvDlE5qCx8%3D' (2025-01-08)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/5dc08f9cc77f03b43aacffdfbc8316807773c930?narHash=sha256-xJRN0FmX9QJ6%2Bw8eIIIxzBU1AyQcLKJ1M/Gp6lnSD20%3D' (2025-01-05)
  → 'github:Mic92/sops-nix/c9c88f08e3ee495e888b8d7c8624a0b2519cb773?narHash=sha256-eSjkBwBdQk%2BTZWFlLbclF2rAh4JxbGg8az4w/Lfe7f4%3D' (2025-01-06)
2025-01-08 05:12:40 +01:00
Patrick Neff 798ff40209 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/9a5c9fb07412bf180b6c91d12b4bfaa06596f92c?narHash=sha256-z8KMwCFX9W0KyUfIpdN9Qx9/JAsd6KyF4A96EuDW3S8%3D' (2024-12-14)
  → 'github:nixos/nixpkgs/d7d3f1b52838e997732722024153aac2ea4a45c2?narHash=sha256-TI4mH4g8n3Q30l2l6I7oPCAsCk1ztNTMV0H9I3geC5k%3D' (2025-01-08)
2025-01-08 03:33:04 +01:00
Patrick Neff b155715e4c update cross compile 2025-01-08 00:56:12 +01:00
Patrick Neff 53a1186f1c update cross compile 2025-01-08 00:54:41 +01:00
Patrick Neff a336e43565 update cross compile 2025-01-08 00:53:09 +01:00
Patrick Neff cdea1e1884 change cross compiling 2025-01-08 00:43:40 +01:00
Patrick Neff 4cc4e6cd18 change cross compiling 2025-01-08 00:42:51 +01:00
Patrick Neff 35c1cedbe3 change cross compile 2025-01-08 00:40:39 +01:00
Patrick Neff 965ae8944d disable remote build 2025-01-08 00:26:04 +01:00
Patrick Neff bec0f66f0d add raspberry stuff 2025-01-08 00:00:32 +01:00
Patrick Neff 036d6fdca8 add sops 2025-01-05 23:59:56 +01:00
Patrick Neff b70f9366d7 updates 2025-01-05 21:48:17 +01:00
Patrick Neff f9c23515e3 flake.lock: Update
Flake lock file updates:

• Updated input 'minecraft-server-flake':
    'git+file:///home/odie/Code/nix/minecraft-server-flake?ref=refs/heads/master&rev=dfd55284e34bfdee2f223ca20b65f8c7d78fd3f7' (2024-12-23)
  → 'git+file:///home/odie/Code/nix/minecraft-server-flake?ref=refs/heads/master&rev=d77398c8dbd77ea3669f233aeb64ede12b25e75b' (2024-12-23)
2024-12-23 08:34:02 +01:00
Patrick Neff b7eb003adc update minecraft 2024-12-17 12:15:03 +01:00
Patrick Neff f224468056 update minecraft 2024-12-11 07:13:42 +01:00
Patrick Neff 42a76e8b1b cleanup 2024-11-22 23:19:12 +01:00
Patrick Neff 655f6fdabf cleanup 2024-11-22 23:18:49 +01:00
Patrick Neff 994e29e43a add minecraft 2024-11-16 01:56:32 +01:00
Patrick Neff 1187a75226 fix depreciation 2024-11-05 06:52:14 +01:00
Patrick Neff 6e0730fb9c flake.lock: Update
Flake lock file updates:

• Updated input 'catppuccin':
    'github:catppuccin/nix/96cf8b4a05fb23a53c027621b1147b5cf9e5439f' (2024-10-08)
  → 'github:catppuccin/nix/191fbf2d81a63fad8f62f1233c0051f09b75d0ad' (2024-11-01)
• Updated input 'flake-parts':
    'github:hercules-ci/flake-parts/3d04084d54bedc3d6b8b736c70ef449225c361b1' (2024-10-01)
  → 'github:hercules-ci/flake-parts/506278e768c2a08bec68eb62932193e341f55c90' (2024-11-01)
• Updated input 'flake-parts/nixpkgs-lib':
    'fb192fec7c.tar.gz?narHash=sha256-0xHYkMkeLVQAMa7gvkddbPqpxph%2BhDzdu1XdGPJR%2BOs%3D' (2024-10-01)
  → 'cc2f280002.tar.gz?narHash=sha256-lXvH/vOfb4aGYyvFmZK/HlsNsr/0CVWlwYvo2rxJk3s%3D' (2024-11-01)
• Updated input 'guihua':
    'github:ray-x/guihua.lua/225db770e36aae6a1e9e3a65578095c8eb4038d3' (2024-06-05)
  → 'github:ray-x/guihua.lua/d783191eaa75215beae0c80319fcce5e6b3beeda' (2024-11-02)
• Updated input 'home-manager':
    'github:nix-community/home-manager/038630363e7de57c36c417fd2f5d7c14773403e4' (2024-10-07)
  → 'github:nix-community/home-manager/8f6ca7855d409aeebe2a582c6fd6b6a8d0bf5661' (2024-11-03)
• Updated input 'lazydev':
    'github:folke/lazydev.nvim/491452cf1ca6f029e90ad0d0368848fac717c6d2' (2024-07-25)
  → 'github:folke/lazydev.nvim/d5800897d9180cea800023f2429bce0a94ed6064' (2024-11-01)
• Updated input 'neorg':
    'github:nvim-neorg/neorg/afc9a37bf021acb0853e95714c4c6436e1588286' (2024-10-01)
  → 'github:nvim-neorg/neorg/488507bb996f75ee29073f50dec32fa220867ca5' (2024-10-31)
• Updated input 'neovim-nightly-overlay':
    'github:nix-community/neovim-nightly-overlay/a03b28ad890ba13be3367d0aae40c52345728fc4' (2024-10-09)
  → 'github:nix-community/neovim-nightly-overlay/f35afbe60a4ff71fd65fec3839fc38943f961951' (2024-10-28)
• Updated input 'neovim-nightly-overlay/git-hooks':
    'github:cachix/git-hooks.nix/1211305a5b237771e13fcca0c51e60ad47326a9a' (2024-10-05)
  → 'github:cachix/git-hooks.nix/3c3e88f0f544d6bb54329832616af7eb971b6be6' (2024-10-16)
• Updated input 'neovim-nightly-overlay/neovim-src':
    'github:neovim/neovim/e98b1b0235a5e817c00814549606631703ab2041' (2024-10-08)
  → 'github:neovim/neovim/852954ff6d96adce0158f74ca494fdcef3aa1921' (2024-10-16)
• Updated input 'nixos-hardware':
    'github:nixos/nixos-hardware/ecfcd787f373f43307d764762e139a7cdeb9c22b' (2024-10-07)
  → 'github:nixos/nixos-hardware/f6e0cd5c47d150c4718199084e5764f968f1b560' (2024-11-02)
• Updated input 'nixos-wsl':
    'github:nix-community/NixOS-WSL/9f4fbf5f9e381826e6d66a6f699ad30ff3122075' (2024-10-08)
  → 'github:nix-community/NixOS-WSL/adb6bc4b661a43328752b4575be4968a4990c033' (2024-11-01)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/c31898adf5a8ed202ce5bea9f347b1c6871f32d1' (2024-10-06)
  → 'github:nixos/nixpkgs/7ffd9ae656aec493492b44d0ddfb28e79a1ea25d' (2024-11-02)
• Updated input 'nixvim':
    'github:nix-community/nixvim/47b563d4e1410bff6a9481b3dd8b01b1e5ed70d2' (2024-10-20)
  → 'github:nix-community/nixvim/aa06b176e78c9ae9e779e605cab61c9d8681a54e' (2024-11-04)
• Updated input 'nixvim/flake-parts':
    'github:hercules-ci/flake-parts/3d04084d54bedc3d6b8b736c70ef449225c361b1' (2024-10-01)
  → 'github:hercules-ci/flake-parts/506278e768c2a08bec68eb62932193e341f55c90' (2024-11-01)
• Updated input 'nixvim/git-hooks':
    'github:cachix/git-hooks.nix/3c3e88f0f544d6bb54329832616af7eb971b6be6' (2024-10-16)
  → 'github:cachix/git-hooks.nix/af8a16fe5c264f5e9e18bcee2859b40a656876cf' (2024-10-30)
• Updated input 'nixvim/home-manager':
    'github:nix-community/home-manager/09a0c0c02953318bf94425738c7061ffdc4cba75' (2024-10-18)
  → 'github:nix-community/home-manager/8f6ca7855d409aeebe2a582c6fd6b6a8d0bf5661' (2024-11-03)
• Updated input 'nixvim/nix-darwin':
    'github:lnl7/nix-darwin/a60ac02f9466f85f092e576fd8364dfc4406b5a6' (2024-10-14)
  → 'github:lnl7/nix-darwin/4652874d014b82cb746173ffc64f6a70044daa7e' (2024-11-03)
• Updated input 'nixvim/nuschtosSearch':
    'github:NuschtOS/search/f82d3e1c1c9d1eaeb91878519e2d27b27c66ce84' (2024-10-14)
  → 'github:NuschtOS/search/9e22bd742480916ff5d0ab20ca2522eaa3fa061e' (2024-11-02)
• Added input 'nixvim/nuschtosSearch/ixx':
    'github:NuschtOS/ixx/65c207c92befec93e22086da9456d3906a4e999c' (2024-10-21)
• Added input 'nixvim/nuschtosSearch/ixx/flake-utils':
    follows 'nixvim/nuschtosSearch/flake-utils'
• Added input 'nixvim/nuschtosSearch/ixx/nixpkgs':
    follows 'nixvim/nuschtosSearch/nixpkgs'
• Updated input 'nixvim/treefmt-nix':
    'github:numtide/treefmt-nix/d986489c1c757f6921a48c1439f19bfb9b8ecab5' (2024-10-18)
  → 'github:numtide/treefmt-nix/746901bb8dba96d154b66492a29f5db0693dbfcc' (2024-10-30)
• Updated input 'nur':
    'github:nix-community/NUR/f1df2359f8196cfe2edac0d1eba6bf7ea0128c9c' (2024-10-09)
  → 'github:nix-community/NUR/d17cb4d177a40e5cedc04719af56571e7ef643a7' (2024-11-05)
2024-11-05 06:49:55 +01:00
Patrick Neff db2412e9ec cleanup 2024-11-05 06:48:15 +01:00
Patrick Neff 5f17ad166f add httpie 2024-10-30 07:53:00 +01:00
Patrick Neff 0352698aff update inputs, fix deprecation 2024-10-09 22:08:20 +02:00
Patrick Neff 6554748860 fix direnv output 2024-10-09 21:59:12 +02:00
Patrick Neff 304e523bba updates 2024-10-09 21:04:06 +02:00
Patrick Neff 6ac5605f8b fix deprecated tsserver -> ts-ls 2024-09-26 22:11:21 +02:00
Patrick Neff 0cd1cfc877 add shell integration for yazi 2024-09-26 22:10:11 +02:00
Patrick Neff bdfc970743 add catppuccin theme flake 2024-09-26 21:55:25 +02:00
Patrick Neff 27de9e625b add home/odie/bin to path 2024-09-26 21:55:11 +02:00
Patrick Neff 7466262972 add hyprland 2024-09-26 21:54:24 +02:00
Patrick Neff 57c933a976 add yazi 2024-09-26 21:54:17 +02:00
Patrick Neff 5796e30706 fix git status in starship 2024-09-26 21:54:07 +02:00
Patrick Neff 69661cf459 change xresources font to jetbrains mono nf 2024-09-26 14:15:11 +02:00
Patrick Neff e6b5e6dc7a updates 2024-09-19 01:48:11 +02:00
Patrick Neff 88a3411f76 remove custom treesitter grammars 2024-09-12 23:17:14 +02:00
Patrick Neff 14b2b85b0b Updates 2024-09-12 22:22:26 +02:00
Patrick Neff 5a4b306097 add wget, cleanup 2024-09-01 15:06:36 +02:00
Patrick Neff ca3df744ba remove custom catppucin theme 2024-09-01 15:05:55 +02:00
Patrick Neff a2c3d7d10b cleanup 2024-09-01 13:53:25 +02:00
Patrick Neff 7d0f89f77a update nixpkgs, add flake for treesitter-grammars, enable neovim-nightly 2024-09-01 13:20:54 +02:00
Patrick Neff dabf5d006a cleanup nixvim files, add cmake and asm lsp 2024-09-01 10:16:38 +02:00
Patrick Neff 17cb055b71 fix kodi ping target hostname 2024-08-22 00:27:17 +02:00
Patrick Neff b148ef5870 fix depreciation for luasnip 2024-08-12 11:33:59 +02:00
Patrick Neff 7d1dabea9e flake.lock: Update
Flake lock file updates:

• Updated input 'flake-parts':
    'github:hercules-ci/flake-parts/9227223f6d922fee3c7b190b2cc238a99527bbb7?narHash=sha256-pQMhCCHyQGRzdfAkdJ4cIWiw%2BJNuWsTX7f0ZYSyz0VY%3D' (2024-07-03)
  → 'github:hercules-ci/flake-parts/8471fe90ad337a8074e957b69ca4d0089218391d?narHash=sha256-XOQkdLafnb/p9ij77byFQjDf5m5QYl9b2REiVClC%2Bx4%3D' (2024-08-01)
• Updated input 'flake-parts/nixpkgs-lib':
    '5daf051448.tar.gz?narHash=sha256-Fm2rDDs86sHy0/1jxTOKB1118Q0O3Uc7EC0iXvXKpbI%3D' (2024-07-01)
  → 'a5d394176e.tar.gz?narHash=sha256-uFf2QeW7eAHlYXuDktm9c25OxOyCoUOQmh5SZ9amE5Q%3D' (2024-08-01)
• Updated input 'home-manager':
    'github:nix-community/home-manager/90ae324e2c56af10f20549ab72014804a3064c7f?narHash=sha256-neWQ8eNtLTd%2BYMesb7WjKl1SVCbDyCm46LUgP/g/hdo%3D' (2024-07-11)
  → 'github:nix-community/home-manager/086f619dd991a4d355c07837448244029fc2d9ab?narHash=sha256-97wn0ihhGqfMb8WcUgzzkM/TuAxce2Gd20A8oiruju4%3D' (2024-08-11)
• Updated input 'neorg-overlay':
    'github:nvim-neorg/nixpkgs-neorg-overlay/fae702eca10242b63a8f02d43d8392971af27fc8?narHash=sha256-yg7tZiT/R9bxIozWhsCdFIIsJWTU/LQCXIb3HaYUNx4%3D' (2024-07-16)
  → 'github:nvim-neorg/nixpkgs-neorg-overlay/a54a6abe971e935e0e7e91e5c5df52baea596e0e?narHash=sha256-YiOaxFAbLYxAZGQ%2BJMcZRFZKgArt%2B65wUU9VppTmrCw%3D' (2024-08-10)
• Updated input 'neorg-overlay/neorg':
    'github:nvim-neorg/neorg/b47fd8b0545ef74600bfa8be0af309e63590ffa8?narHash=sha256-T6U%2BFvM03wm6PJ6%2BkwCoWt/X4Ul4PuN%2BqroH%2B0PBVP0%3D' (2024-07-16)
  → 'github:nvim-neorg/neorg/09deca2ba5adcf1a729d1e3abf64438d7ce4d7ee?narHash=sha256-EU9s8CbMmhUFcY7yo8bxiJODHgrQdsAes/%2BcBq3elAI%3D' (2024-08-08)
• Updated input 'neorg-overlay/neorg-telescope':
    'github:nvim-neorg/neorg-telescope/b4ca2f231fdf7dd915848111e6a041fe4355009a?narHash=sha256-/JHVFDzzJ2AeLMYjP8hoOrDgR7BUSALnNEiYv8nYXhQ%3D' (2024-07-14)
  → 'github:nvim-neorg/neorg-telescope/ddb2556644cae922699a239bbb0fe16e25b084b7?narHash=sha256-ei4uUqpIQjGKzu5ryu0Hlmis9TS9FJsYnjt4J4QdWlw%3D' (2024-07-30)
• Updated input 'neovim-nightly-overlay':
    'github:nix-community/neovim-nightly-overlay/384c3d1c1e7ae21931b75c99a787d6af91cf7abb?narHash=sha256-/ZkI/yQtg3wg6GkLynAfsi6dy8cHzcOZWVBUl1muNbA%3D' (2024-07-16)
  → 'github:nix-community/neovim-nightly-overlay/36f4ce24cf1eb4b8e427074ee80dde1d5ea70c21?narHash=sha256-Niml3QBS8LjFRYTTMlW2vmsx418%2B0VKjveeYDTS5FNU%3D' (2024-08-10)
• Updated input 'neovim-nightly-overlay/flake-parts':
    'github:hercules-ci/flake-parts/9227223f6d922fee3c7b190b2cc238a99527bbb7?narHash=sha256-pQMhCCHyQGRzdfAkdJ4cIWiw%2BJNuWsTX7f0ZYSyz0VY%3D' (2024-07-03)
  → 'github:hercules-ci/flake-parts/8471fe90ad337a8074e957b69ca4d0089218391d?narHash=sha256-XOQkdLafnb/p9ij77byFQjDf5m5QYl9b2REiVClC%2Bx4%3D' (2024-08-01)
• Updated input 'neovim-nightly-overlay/git-hooks':
    'github:cachix/git-hooks.nix/f451c19376071a90d8c58ab1a953c6e9840527fd?narHash=sha256-6FPUl7HVtvRHCCBQne7Ylp4p%2BdpP3P/OYuzjztZ4s70%3D' (2024-07-15)
  → 'github:cachix/git-hooks.nix/c7012d0c18567c889b948781bc74a501e92275d1?narHash=sha256-qbhjc/NEGaDbyy0ucycubq4N3//gDFFH3DOmp1D3u1Q%3D' (2024-08-09)
• Updated input 'neovim-nightly-overlay/neovim-src':
    'github:neovim/neovim/c2b51e6c41c5230af21dc4d978e896ef9e8b922a?narHash=sha256-qSsIx/IhwCBLxWJbOaHdOguz3UX05hBZViPfNLc0cmQ%3D' (2024-07-15)
  → 'github:neovim/neovim/4e8efe002e976de1a22dcce6a1e800aeb6acad70?narHash=sha256-0ipIEZ6P612iDUqd/FIWow4jNY1SPeeTl7cTqkfBraI%3D' (2024-08-09)
• Updated input 'nixos-hardware':
    'github:nixos/nixos-hardware/c5013aa7ce2c7ec90acee5d965d950c8348db751?narHash=sha256-G/OtEAts7ZUvW5lrGMXSb8HqRp2Jr9I7reBuvCOL54w%3D' (2024-07-11)
  → 'github:nixos/nixos-hardware/c54cf53e022b0b3c1d3b8207aa0f9b194c24f0cf?narHash=sha256-IiH8jG6PpR4h9TxSGMYh%2B2/gQiJW9MwehFvheSb5rPc%3D' (2024-08-10)
• Updated input 'nixos-wsl':
    'github:nix-community/NixOS-WSL/f6db2d325bdf57d39a3ae43376bdf2a020a6aad2?narHash=sha256-wuHiinPG5CzCUBr9I51g%2BIRhP/69Y9gRVh%2BQnEtFnyI%3D' (2024-07-15)
  → 'github:nix-community/NixOS-WSL/be1a6b2e4ddc34b9b6a297e7df2f2a2ecee24690?narHash=sha256-w%2BrlZdbj4kn70uPJl4WrPDFoGEy0A9oJqw684nvZ9dY%3D' (2024-08-08)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/693bc46d169f5af9c992095736e82c3488bf7dbb?narHash=sha256-oedh2RwpjEa%2BTNxhg5Je9Ch6d3W1NKi7DbRO1ziHemA%3D' (2024-07-14)
  → 'github:nixos/nixpkgs/5e0ca22929f3342b19569b21b2f3462f053e497b?narHash=sha256-M0xJ3FbDUc4fRZ84dPGx5VvgFsOzds77KiBMW/mMTnI%3D' (2024-08-09)
• Updated input 'nixvim':
    'github:nix-community/nixvim/b9ed90003273f0a75151b32948e16b44891f403c?narHash=sha256-CEOGzI9WFGezwJ3lok0F//1UEq5crzE2kZDLQK2EtfE%3D' (2024-07-15)
  → 'github:nix-community/nixvim/d9055abe2044f4bf9e81f414215cca81c02cbd72?narHash=sha256-Q9AzXnKsvYMDsxUU5BZ3SmhpieSiyJl8oogE/WL4Uz8%3D' (2024-08-12)
• Updated input 'nixvim/devshell':
    'github:numtide/devshell/1ebbe68d57457c8cae98145410b164b5477761f4?narHash=sha256-Q0OEFqe35fZbbRPPRdrjTUUChKVhhWXz3T9ZSKmaoVY%3D' (2024-06-03)
  → 'github:numtide/devshell/67cce7359e4cd3c45296fb4aaf6a19e2a9c757ae?narHash=sha256-Yo/3loq572A8Su6aY5GP56knpuKYRvM2a1meP9oJZCw%3D' (2024-07-27)
• Removed input 'nixvim/devshell/flake-utils'
• Removed input 'nixvim/devshell/flake-utils/systems'
• Updated input 'nixvim/flake-parts':
    'github:hercules-ci/flake-parts/9227223f6d922fee3c7b190b2cc238a99527bbb7?narHash=sha256-pQMhCCHyQGRzdfAkdJ4cIWiw%2BJNuWsTX7f0ZYSyz0VY%3D' (2024-07-03)
  → 'github:hercules-ci/flake-parts/8471fe90ad337a8074e957b69ca4d0089218391d?narHash=sha256-XOQkdLafnb/p9ij77byFQjDf5m5QYl9b2REiVClC%2Bx4%3D' (2024-08-01)
• Updated input 'nixvim/git-hooks':
    'github:cachix/git-hooks.nix/8d6a17d0cdf411c55f12602624df6368ad86fac1?narHash=sha256-ni/87oHPZm6Gv0ECYxr1f6uxB0UKBWJ6HvS7lwLU6oY%3D' (2024-07-09)
  → 'github:cachix/git-hooks.nix/c7012d0c18567c889b948781bc74a501e92275d1?narHash=sha256-qbhjc/NEGaDbyy0ucycubq4N3//gDFFH3DOmp1D3u1Q%3D' (2024-08-09)
• Updated input 'nixvim/home-manager':
    'github:nix-community/home-manager/90ae324e2c56af10f20549ab72014804a3064c7f?narHash=sha256-neWQ8eNtLTd%2BYMesb7WjKl1SVCbDyCm46LUgP/g/hdo%3D' (2024-07-11)
  → 'github:nix-community/home-manager/b3d5ea65d88d67d4ec578ed11d4d2d51e3de525e?narHash=sha256-jQnFEtH20/OsDPpx71ntZzGdRlpXhUENSQCGTjn//NA%3D' (2024-08-07)
• Updated input 'nixvim/nix-darwin':
    'github:lnl7/nix-darwin/5ce8503cf402cf76b203eba4b7e402bea8e44abc?narHash=sha256-yPhAsJTpyoIPQZJGC8Fw8W2lAXyhLoTn%2BHP20bmfkfk%3D' (2024-07-13)
  → 'github:lnl7/nix-darwin/91010a5613ffd7ee23ee9263213157a1c422b705?narHash=sha256-%2BCQDamNwqO33REJLft8c26NbUi2Td083hq6SvAm2xkU%3D' (2024-08-06)
• Added input 'nixvim/nuschtosSearch':
    'github:NuschtOS/search/1016f4620e321c12ff1dbcd464e9de889e302d1c?narHash=sha256-wknII7R6ewALIxIKYtqeahjUk/ZrFj1ZtSpNBaHDCyg%3D' (2024-08-08)
• Added input 'nixvim/nuschtosSearch/flake-utils':
    'github:numtide/flake-utils/b1d9ab70662946ef0850d488da1c9019f3a9752a?narHash=sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ%3D' (2024-03-11)
• Added input 'nixvim/nuschtosSearch/flake-utils/systems':
    'github:nix-systems/default/da67096a3b9bf56a91d16901293e51ba5b49a27e?narHash=sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768%3D' (2023-04-09)
• Added input 'nixvim/nuschtosSearch/nixpkgs':
    follows 'nixvim/nixpkgs'
• Updated input 'nixvim/treefmt-nix':
    'github:numtide/treefmt-nix/5b002f8a53ed04c1a4177e7b00809d57bd2c696f?narHash=sha256-f52x9srIcqQm1Df3T%2BxYR5P6VfdnDFa2vkkcLhlTp6U%3D' (2024-07-12)
  → 'github:numtide/treefmt-nix/14c092e0326de759e16b37535161b3cb9770cea3?narHash=sha256-krGNVA30yptyRonohQ%2Bi9cnK%2BCfCpedg6z3qzqVJcTs%3D' (2024-08-10)
• Updated input 'nur':
    'github:nix-community/NUR/64f752e6fbf6d89da13f417fa34225a8b081ce92?narHash=sha256-4dZ2AM7eOKnzcZgCE%2BQUSZUgQGskYeNGbB7neDzo8d8%3D' (2024-07-16)
  → 'github:nix-community/NUR/a2a45a362192fa32417a014b3174b423a5ea12be?narHash=sha256-4etPYfCuOj1n9YihCKf/opgRVxqOCvcHBgtAZYO1/S0%3D' (2024-08-12)
2024-08-12 11:25:24 +02:00
Patrick Neff cf122f3218 fix keymaps, find hidden files with telescope 2024-08-08 13:00:55 +02:00
Patrick Neff df70ebbe18 add undotree keybind 2024-08-07 12:05:34 +02:00
Patrick Neff 66b7f13861 add treesitter-context and ts-autotag to treesitter 2024-08-07 12:05:18 +02:00
Patrick Neff 187cc0175e add transparent plugin 2024-08-07 12:04:52 +02:00
Patrick Neff 13db25f74d fix commandline cmp select on tab 2024-08-07 11:04:14 +02:00
Patrick Neff aee3628a7e add workspace diagnostics filter for trouble 2024-08-07 11:04:11 +02:00
Patrick Neff 0a034da88f add nixpkgs-fmt as dependency 2024-08-07 11:00:07 +02:00
Patrick Neff 1c033b2a25 fixes 2024-07-28 21:07:14 +02:00
Patrick Neff f430375079 fix home-manager only builds 2024-07-18 15:08:21 +02:00
Patrick Neff b95645f726 update nix formatter 2024-07-18 14:50:04 +02:00
Patrick Neff da03a5bf55 flake.lock: Update
Flake lock file updates:

• Updated input 'home-manager':
    'github:nix-community/home-manager/2fb5c1e0a17bc6059fa09dc411a43d75f35bb192' (2024-07-08)
  → 'github:nix-community/home-manager/90ae324e2c56af10f20549ab72014804a3064c7f' (2024-07-11)
• Updated input 'neorg-overlay':
    'github:nvim-neorg/nixpkgs-neorg-overlay/8f13f649b9ce4f5bcdebd14f0a0248ac4e3dba2d' (2024-07-10)
  → 'github:nvim-neorg/nixpkgs-neorg-overlay/fae702eca10242b63a8f02d43d8392971af27fc8' (2024-07-16)
• Updated input 'neorg-overlay/neorg':
    'github:nvim-neorg/neorg/db75bb60ba5e565051cf7bb18c8b1a519ed58d3a' (2024-07-09)
  → 'github:nvim-neorg/neorg/b47fd8b0545ef74600bfa8be0af309e63590ffa8' (2024-07-16)
• Updated input 'neorg-overlay/neorg-telescope':
    'github:nvim-neorg/neorg-telescope/fe255a3432ce639de7a374ccfb8602f517244dcd' (2024-06-19)
  → 'github:nvim-neorg/neorg-telescope/b4ca2f231fdf7dd915848111e6a041fe4355009a' (2024-07-14)
• Updated input 'neovim-nightly-overlay':
    'github:nix-community/neovim-nightly-overlay/b6b51915180e6d2eac488d6f882e4ba36bad380d' (2024-07-09)
  → 'github:nix-community/neovim-nightly-overlay/384c3d1c1e7ae21931b75c99a787d6af91cf7abb' (2024-07-16)
• Updated input 'neovim-nightly-overlay/git-hooks':
    'github:cachix/git-hooks.nix/2b6bd3c87d3a66fb0b8f2f06c985995e04b4fb96' (2024-07-08)
  → 'github:cachix/git-hooks.nix/f451c19376071a90d8c58ab1a953c6e9840527fd' (2024-07-15)
• Updated input 'neovim-nightly-overlay/neovim-src':
    'github:neovim/neovim/fb6c059dc55c8d594102937be4dd70f5ff51614a' (2024-07-08)
  → 'github:neovim/neovim/c2b51e6c41c5230af21dc4d978e896ef9e8b922a' (2024-07-15)
• Updated input 'nixos-hardware':
    'github:nixos/nixos-hardware/a111ce6b537df12a39874aa9672caa87f8677eda' (2024-07-09)
  → 'github:nixos/nixos-hardware/c5013aa7ce2c7ec90acee5d965d950c8348db751' (2024-07-11)
• Updated input 'nixos-wsl':
    'github:nix-community/NixOS-WSL/30ebd0beb2ed26e09bcd245d757504029f807cce' (2024-07-08)
  → 'github:nix-community/NixOS-WSL/f6db2d325bdf57d39a3ae43376bdf2a020a6aad2' (2024-07-15)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/655a58a72a6601292512670343087c2d75d859c1' (2024-07-08)
  → 'github:nixos/nixpkgs/693bc46d169f5af9c992095736e82c3488bf7dbb' (2024-07-14)
• Updated input 'nixvim':
    'github:nix-community/nixvim/a5e9dbdef1530a76056db12387d489a68eea6f80' (2024-07-09)
  → 'github:nix-community/nixvim/b9ed90003273f0a75151b32948e16b44891f403c' (2024-07-15)
• Updated input 'nixvim/flake-parts':
    'github:hercules-ci/flake-parts/4e3583423212f9303aa1a6337f8dffb415920e4f' (2024-07-01)
  → 'github:hercules-ci/flake-parts/9227223f6d922fee3c7b190b2cc238a99527bbb7' (2024-07-03)
• Updated input 'nixvim/git-hooks':
    'github:cachix/git-hooks.nix/0ff4381bbb8f7a52ca4a851660fc7a437a4c6e07' (2024-06-24)
  → 'github:cachix/git-hooks.nix/8d6a17d0cdf411c55f12602624df6368ad86fac1' (2024-07-09)
• Updated input 'nixvim/home-manager':
    'github:nix-community/home-manager/59ce796b2563e19821361abbe2067c3bb4143a7d' (2024-07-01)
  → 'github:nix-community/home-manager/90ae324e2c56af10f20549ab72014804a3064c7f' (2024-07-11)
• Updated input 'nixvim/nix-darwin':
    'github:lnl7/nix-darwin/ec12b88104d6c117871fad55e931addac4626756' (2024-07-01)
  → 'github:lnl7/nix-darwin/5ce8503cf402cf76b203eba4b7e402bea8e44abc' (2024-07-13)
• Updated input 'nixvim/treefmt-nix':
    'github:numtide/treefmt-nix/bdb6355009562d8f9313d9460c0d3860f525bc6c' (2024-07-02)
  → 'github:numtide/treefmt-nix/5b002f8a53ed04c1a4177e7b00809d57bd2c696f' (2024-07-12)
• Updated input 'nur':
    'github:nix-community/NUR/ff62716f986058f217f411504e7a63bfb11f243b' (2024-07-10)
  → 'github:nix-community/NUR/64f752e6fbf6d89da13f417fa34225a8b081ce92' (2024-07-16)
2024-07-16 12:13:54 +02:00
Patrick Neff 1d36dfeb86 disable lf preview and nixvim phpactor 2024-07-10 07:17:57 +02:00
Patrick Neff cb7f6012eb flake.lock: Update
Flake lock file updates:

• Updated input 'home-manager':
    'github:nix-community/home-manager/e3582e5151498bc4d757e8361431ace8529e7bb7' (2024-07-05)
  → 'github:nix-community/home-manager/2fb5c1e0a17bc6059fa09dc411a43d75f35bb192' (2024-07-08)
• Updated input 'neorg-overlay':
    'github:nvim-neorg/nixpkgs-neorg-overlay/f887ecf74846e8b3a47ac5c27d6a20121c6694ab' (2024-07-05)
  → 'github:nvim-neorg/nixpkgs-neorg-overlay/8f13f649b9ce4f5bcdebd14f0a0248ac4e3dba2d' (2024-07-10)
• Updated input 'neorg-overlay/neorg':
    'github:nvim-neorg/neorg/0255c2de18dc558e320b7424dc3daed6cbe94260' (2024-07-05)
  → 'github:nvim-neorg/neorg/db75bb60ba5e565051cf7bb18c8b1a519ed58d3a' (2024-07-09)
• Updated input 'neovim-nightly-overlay':
    'github:nix-community/neovim-nightly-overlay/9e1740926b3910db38a8864e0220d012e14f7e8e' (2024-07-05)
  → 'github:nix-community/neovim-nightly-overlay/b6b51915180e6d2eac488d6f882e4ba36bad380d' (2024-07-09)
• Updated input 'neovim-nightly-overlay/git-hooks':
    'github:cachix/git-hooks.nix/0ff4381bbb8f7a52ca4a851660fc7a437a4c6e07' (2024-06-24)
  → 'github:cachix/git-hooks.nix/2b6bd3c87d3a66fb0b8f2f06c985995e04b4fb96' (2024-07-08)
• Updated input 'neovim-nightly-overlay/neovim-src':
    'github:neovim/neovim/3e6cec0befd41d37ee36cb4f602e84c58c5f0d27' (2024-07-04)
  → 'github:neovim/neovim/fb6c059dc55c8d594102937be4dd70f5ff51614a' (2024-07-08)
• Updated input 'nixos-hardware':
    'github:nixos/nixos-hardware/6e253f12b1009053eff5344be5e835f604bb64cd' (2024-07-02)
  → 'github:nixos/nixos-hardware/a111ce6b537df12a39874aa9672caa87f8677eda' (2024-07-09)
• Updated input 'nixos-wsl':
    'github:nix-community/NixOS-WSL/7051b909b9b5e74f19791795bd769de12c5acb3d' (2024-07-05)
  → 'github:nix-community/NixOS-WSL/30ebd0beb2ed26e09bcd245d757504029f807cce' (2024-07-08)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/9f4128e00b0ae8ec65918efeba59db998750ead6' (2024-07-03)
  → 'github:nixos/nixpkgs/655a58a72a6601292512670343087c2d75d859c1' (2024-07-08)
• Updated input 'nixvim':
    'github:nix-community/nixvim/367380bd8462419f0199d262b058fadfb43823ff' (2024-07-05)
  → 'github:nix-community/nixvim/a5e9dbdef1530a76056db12387d489a68eea6f80' (2024-07-09)
• Updated input 'nixvim/git-hooks/flake-compat':
    'github:edolstra/flake-compat/0f9255e01c2351cc7d116c072cb317785dd33b33' (2023-10-04)
  → follows 'nixvim/flake-compat'
• Updated input 'nur':
    'github:nix-community/NUR/c33342012b6ef239d05729c8b473c2a83575a9ca' (2024-07-06)
  → 'github:nix-community/NUR/ff62716f986058f217f411504e7a63bfb11f243b' (2024-07-10)
2024-07-10 06:55:33 +02:00
Patrick Neff d5bbb09e78 simplify nixvim 2024-07-10 06:53:49 +02:00
Patrick Neff 11d2fae459 rename deprecated option 2024-07-06 07:12:14 +02:00
Patrick Neff 66a84a5767 flake.lock: Update
Flake lock file updates:

• Updated input 'flake-parts':
    'github:hercules-ci/flake-parts/c3c5ecc05edc7dafba779c6c1a61cd08ac6583e9?narHash=sha256-xwgjVUpqSviudEkpQnioeez1Uo2wzrsMaJKJClh%2BBls%3D' (2024-06-30)
  → 'github:hercules-ci/flake-parts/9227223f6d922fee3c7b190b2cc238a99527bbb7?narHash=sha256-pQMhCCHyQGRzdfAkdJ4cIWiw%2BJNuWsTX7f0ZYSyz0VY%3D' (2024-07-03)
• Updated input 'flake-parts/nixpkgs-lib':
    'eb9ceca17d.tar.gz?narHash=sha256-lIbdfCsf8LMFloheeE6N31%2BBMIeixqyQWbSr2vk79EQ%3D' (2024-06-01)
  → '5daf051448.tar.gz?narHash=sha256-Fm2rDDs86sHy0/1jxTOKB1118Q0O3Uc7EC0iXvXKpbI%3D' (2024-07-01)
• Updated input 'home-manager':
    'github:nix-community/home-manager/36317d4d38887f7629876b0e43c8d9593c5cc48d?narHash=sha256-qO9WZsj/0E6zcK4Ht1y/iJ8XfwbBzq7xdqhBh44OP/M%3D' (2024-06-29)
  → 'github:nix-community/home-manager/e3582e5151498bc4d757e8361431ace8529e7bb7?narHash=sha256-lC3byBmhVZFzWl/dCic8%2BcKUEEAXAswWOYjq4paFmbo%3D' (2024-07-05)
• Updated input 'neorg-overlay':
    'github:nvim-neorg/nixpkgs-neorg-overlay/21617eb31e9bd139848b620d4d687b5ed9e49be7?narHash=sha256-Wvoyo0fqnJW%2B7t%2BjeWXxUBcsVQ8nC4tZVDsUfEPT2t4%3D' (2024-06-29)
  → 'github:nvim-neorg/nixpkgs-neorg-overlay/f887ecf74846e8b3a47ac5c27d6a20121c6694ab?narHash=sha256-o8NvIK0%2BYZcq/TrK3f0%2BvxrlOg/kDxan7kgKIWwpBls%3D' (2024-07-05)
• Updated input 'neorg-overlay/neorg':
    'github:nvim-neorg/neorg/be332f580ae5c93b68785b077ecd13672599062f?narHash=sha256-eYy8SPKS8FRpHi3HhrEQKRl9tprpV4qMPAWVvdP7vg0%3D' (2024-06-29)
  → 'github:nvim-neorg/neorg/0255c2de18dc558e320b7424dc3daed6cbe94260?narHash=sha256-qJTjLp5bCKhoZSUXb8J7cTKLbB7pztQTBeP4MaaujMo%3D' (2024-07-05)
• Updated input 'neovim-nightly-overlay':
    'github:nix-community/neovim-nightly-overlay/643ec69ac0cfcc1cd26523c3816fb111e5bb3a41?narHash=sha256-bsZDPD08s8FKCGyy1OMMuM%2BcOjO1M8vPREkhgyqkRQM%3D' (2024-06-30)
  → 'github:nix-community/neovim-nightly-overlay/9e1740926b3910db38a8864e0220d012e14f7e8e?narHash=sha256-B0n9ZIrXGPN0oS1DKBYZu2P1fTsnYMmXQkFtj/6mEQ8%3D' (2024-07-05)
• Updated input 'neovim-nightly-overlay/flake-parts':
    'github:hercules-ci/flake-parts/2a55567fcf15b1b1c7ed712a2c6fadaec7412ea8?narHash=sha256-iKzJcpdXih14qYVcZ9QC9XuZYnPc6T8YImb6dX166kw%3D' (2024-06-01)
  → 'github:hercules-ci/flake-parts/9227223f6d922fee3c7b190b2cc238a99527bbb7?narHash=sha256-pQMhCCHyQGRzdfAkdJ4cIWiw%2BJNuWsTX7f0ZYSyz0VY%3D' (2024-07-03)
• Updated input 'neovim-nightly-overlay/neovim-src':
    'github:neovim/neovim/e7020306a19a5211c834966ec067fff3b981bdb9?narHash=sha256-d89hDFBBtuQ7rwS/Q3lKYyfE0ekVCwubMN9q1qCZ3m0%3D' (2024-06-29)
  → 'github:neovim/neovim/3e6cec0befd41d37ee36cb4f602e84c58c5f0d27?narHash=sha256-K3iDLJy3K/ivR0uTlu2EXT%2BzrwMYNRn%2BCBGo%2B0kxxoc%3D' (2024-07-04)
• Updated input 'nixos-hardware':
    'github:nixos/nixos-hardware/a59f00f5ac65b19382617ba00f360f8bc07ed3ac?narHash=sha256-Lp%2Bl1IsREVbz8WM35OJYZz8sAH0XOjrZWUXVB5bJ2qg%3D' (2024-06-29)
  → 'github:nixos/nixos-hardware/6e253f12b1009053eff5344be5e835f604bb64cd?narHash=sha256-xNbjISJTFailxass4LmdWeV4jNhAlmJPwj46a/GxE6M%3D' (2024-07-02)
• Updated input 'nixos-wsl':
    'github:nix-community/NixOS-WSL/269411cfed6aab694e46f719277c972de96177bb?narHash=sha256-xywM6JoGT8AwfoOFJBTv8GRlvNu8LYqqqMS/OQ6uCgE%3D' (2024-06-24)
  → 'github:nix-community/NixOS-WSL/7051b909b9b5e74f19791795bd769de12c5acb3d?narHash=sha256-ydD3UPIPlOkEDStwNxzGwFhAi5vGcobn2EofOmUvKDA%3D' (2024-07-05)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/b2852eb9365c6de48ffb0dc2c9562591f652242a?narHash=sha256-C8e9S7RzshSdHB7L%2Bv9I51af1gDM5unhJ2xO1ywxNH8%3D' (2024-06-27)
  → 'github:nixos/nixpkgs/9f4128e00b0ae8ec65918efeba59db998750ead6?narHash=sha256-rwz8NJZV%2B387rnWpTYcXaRNvzUSnnF9aHONoJIYmiUQ%3D' (2024-07-03)
• Updated input 'nixvim':
    'github:nix-community/nixvim/1391a64cf6f216315a6ce904db7144949585839a?narHash=sha256-gS%2BEB9iYftAxcnaMM648Ht/JGMocfRctBJh3yGAslUM%3D' (2024-06-30)
  → 'github:nix-community/nixvim/367380bd8462419f0199d262b058fadfb43823ff?narHash=sha256-AjcTv44xEAOxGqpoMxbfYcUwhCWLHESQIOIMcBFUCKk%3D' (2024-07-05)
• Updated input 'nixvim/flake-parts':
    'github:hercules-ci/flake-parts/2a55567fcf15b1b1c7ed712a2c6fadaec7412ea8?narHash=sha256-iKzJcpdXih14qYVcZ9QC9XuZYnPc6T8YImb6dX166kw%3D' (2024-06-01)
  → 'github:hercules-ci/flake-parts/4e3583423212f9303aa1a6337f8dffb415920e4f?narHash=sha256-g5N1yyOSsPNiOlFfkuI/wcUjmtah%2BnxdImJqrSATjOU%3D' (2024-07-01)
• Updated input 'nixvim/home-manager':
    'github:nix-community/home-manager/7e68e55d2e16d3a1e92a679430728c35a30fd24e?narHash=sha256-A03i8xiVgP14DCmV5P7VUv37eodCjY4e1iai0b2EuuM%3D' (2024-06-28)
  → 'github:nix-community/home-manager/59ce796b2563e19821361abbe2067c3bb4143a7d?narHash=sha256-tneHOIv1lEavZ0vQ%2Brgz67LPNCgOZVByYki3OkSshFU%3D' (2024-07-01)
• Updated input 'nixvim/nix-darwin':
    'github:lnl7/nix-darwin/50581970f37f06a4719001735828519925ef8310?narHash=sha256-I7jMpq0CAOZA/i70%2BHDQO/ulLttyQu/K70cSESiMX7A%3D' (2024-06-23)
  → 'github:lnl7/nix-darwin/ec12b88104d6c117871fad55e931addac4626756?narHash=sha256-ZLHDmWAsHQQKnmfyhYSHJDlt8Wfjv6SQhl2qek42O7A%3D' (2024-07-01)
• Updated input 'nixvim/treefmt-nix':
    'github:numtide/treefmt-nix/065a23edceff48f948816b795ea8cc6c0dee7cdf?narHash=sha256-9T9mSY35EZSM1KAwb7K9zwQ78qTlLjosZgtUGnw4rn4%3D' (2024-06-24)
  → 'github:numtide/treefmt-nix/bdb6355009562d8f9313d9460c0d3860f525bc6c?narHash=sha256-p0B2r98UtZzRDM5miGRafL4h7TwGRC4DII%2BXXHDHqek%3D' (2024-07-02)
• Updated input 'nur':
    'github:nix-community/NUR/07c5cb4ac5db517553ab60d6914eb5b9f54a7ea1?narHash=sha256-3EeevUnGwIWGHUEKpLVfUvZ4/UssLOdXbZcp4o5uQIU%3D' (2024-07-01)
  → 'github:nix-community/NUR/c33342012b6ef239d05729c8b473c2a83575a9ca?narHash=sha256-XO61O4liEecHHB85c0K4Iy8iit5WK8OWh9QMgS9CtZA%3D' (2024-07-06)
2024-07-06 06:53:49 +02:00
Patrick Neff ee8e91a43e Merge remote-tracking branch 'origin/wsl' into develop 2024-07-06 06:52:29 +02:00
Patrick Neff 2745f32d73 fix neorg in nvim; add doom engines 2024-07-06 06:51:46 +02:00
179 changed files with 6444 additions and 1646 deletions

25
.sops.yaml Normal file
View File

@ -0,0 +1,25 @@
keys:
- &admin_odie age1ac27ksfvxydn20g29s09j66mag45vee3cgk5namsnup5e4l9v3sq7kypg7
- &server_asgard age1nnx85asl5nmxmurr3g8mazcsggvtazt0hpauw42l7v4k3de74s6s649w0k
#- &server_pi0 age1v522tvf0gclgjnnu8q0mekl0rcmpdk7d7lwravwazstfn9zqhecsngvhpf
- &server_pi0 age19wm2y96tr02uz20yuqskvhwltygf47feenf7zuxqhegtqfu4le8q9adqdd
#- &server_pi1 age1u6k49fuphu4n5p7hhuxd03ktwhujr55mrs72cqe6ttfagljpc5asa0jsgx
- &server_pi1 age16vz5m0stsh39ajn3zhkzj7x7zfgexlx3zzk2k9vrrrsn78tyzd2qmjkt2a
- &server_nixos age1j8wprrs23m46h7xl26su3k6uztnvza5k89c9uk9rwwzefv8a4yvqpscxun
- &workstation_wanaheim age1jerjsfhnenzzqtnuxez8g79kc0xxulxyhu2evp9p6gjyswu2syqskgt62v
creation_rules:
- path_regex: secrets/[^/]+\.(yaml|json|env|ini)$
key_groups:
- age:
- *admin_odie
- *server_asgard
- *server_pi0
- *server_pi1
- *server_nixos
- *workstation_wanaheim
- path_regex: modules/nixos/mediacenter/kodi/secrets/[^/]+\.(yaml|json|env|ini|xml)$
key_groups:
- age:
- *admin_odie
- *server_pi0

13
cachix.nix Normal file
View File

@ -0,0 +1,13 @@
# WARN: this file will get overwritten by $ cachix use <name>
{ pkgs, lib, ... }:
let
folder = ./cachix;
toImport = name: value: folder + ("/" + name);
filterCaches = key: value: value == "regular" && lib.hasSuffix ".nix" key;
imports = lib.mapAttrsToList toImport (lib.filterAttrs filterCaches (builtins.readDir folder));
in {
inherit imports;
nix.settings.substituters = ["https://cache.nixos.org/"];
}

View File

@ -0,0 +1,13 @@
{
nix = {
settings = {
substituters = [
"https://cuda-maintainers.cachix.org"
];
trusted-public-keys = [
"cuda-maintainers.cachix.org-1:0dq3bujKpuEPMCX6U4WylrUDZ9JyUG0VpVZa7CNfq5E="
];
};
};
}

View File

@ -70,8 +70,5 @@ text = "#1E1E2E"
cursor = "#B4BEFE"
text = "#1E1E2E"
[env]
TERM = "xterm-256color"
[font]
size = 10
size = 11

View File

@ -1,23 +1,31 @@
zle -N up-line-or-beginning-search
zle -N down-line-or-beginning-search
zstyle ':completion:*' completer _extensions _complete _approximate
zstyle ':completion:*' use-cache on
zstyle ':completion:*' cache-path "$XDG_CACHE_HOME/zsh/.zcompcache"
zstyle ':completion:*' matcher-list '' 'm:{a-zA-Z}={A-Za-z}' 'r:|[._-]=* r:|=*' 'l:|=* r:|=*'
#zstyle ':completion:*' matcher-list '' 'm:{a-zA-Z}={A-Za-z}' 'r:|[._-]=* r:|=*' 'l:|=* r:|=*'
zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}' 'r:|[._-]=* r:|=*' 'l:|=* r:|=*'
zstyle ':completion:*' menu select
zstyle ':completion:*' list-colors "${(s.:.)LS_COLORS}"
zstyle ':completion:complete:*' gain-privileges 1
#zstyle ':completion:*' use-cache on
#zstyle ':completion:*' cache-path "$XDG_CACHE_HOME/zsh/.zcompcache"
zstyle ':completion:*:git-checkout:*' sort false
zstyle ':completion:*:descriptions' format '[%d]'
#zstyle ':completion:*' group-name ''
#zstyle ':completion:*' file-list all
zstyle ':completion:*:messages' format ' %F{purple} -- %d --%f'
zstyle ':completion:*:warnings' format ' %F{red}-- no matches found --%f'
zstyle ':completion:*:*:*:*:descriptions' format '%F{green}-- %d --%f'
zstyle ':completion:*:*:*:*:corrections' format '%F{yellow}!- %d (errors: %e) -!%f'
zstyle ':completion:*' menu select
zstyle ':completion:*' group-name ''
zstyle ':completion:*' list-colors ''${(s.:.)LS_COLORS}
zstyle ':completion:*' file-list all
zstyle ':completion:complete:*' gain-privileges 1
# disable sort when completing `git checkout`
zstyle ':completion:*:git-checkout:*' sort false
# set descriptions format to enable group support
zstyle ':completion:*:descriptions' format '[%d]'
#zstyle ':completion:*:*:*:*:descriptions' format '%F{green}-- %d --%f'
#zstyle ':completion:*:*:*:*:corrections' format '%F{yellow}!- %d (errors: %e) -!%f'
#zstyle ':fzf-tab:*' fzf-command ftb-tmux-popup
zstyle ':fzf-tab:complete:(cd|lsd|eza|nvim|vim|vi):*' fzf-preview 'eza -1 --color=always --icons=always $realpath'
zstyle ':fzf-tab:*' fzf-min-height 20
#zstyle ':fzf-tab:*' popup-min-size 80 12
#zstyle ':fzf-tab:*' popup-pad 0 0
zle -N up-line-or-beginning-search
zle -N down-line-or-beginning-search
zmodload zsh/complist
bindkey -M menuselect 'h' vi-backward-char
@ -92,11 +100,3 @@ _gitignoreio () {
}
compdef _gitignoreio gi
compdef _symfony_complete symfony
compdef _symfony_complete composer
compdef _symfony_complete console
compdef _symfony_complete artisan
compdef _symfony_complete phpstan
compdef _symfony_complete php-cs-fixer
compdef _symfony_complete phpspec

1307
flake.lock

File diff suppressed because it is too large Load Diff

304
flake.nix
View File

@ -1,19 +1,25 @@
{
description = "My Nix Configs";
outputs = {
self,
nixpkgs,
flake-utils,
...
}: let
outputs =
{ self
, nixpkgs
, flake-utils
, ...
}:
let
inherit (self) inputs outputs;
flakeLib = import ./lib;
neorgWorkspaces = [ "default" "general" "games" "btc" ];
genNeorgWorkspaces = root: workspaces: (builtins.listToAttrs (map (n: { name = n; value = "${root}/${n}"; }) workspaces));
vars = rec {
name = "Patrick Neff";
username = "odie";
extraGroups = [ ];
homeDirectory = "/home/${username}";
locale = "de_DE.UTF-8";
email = "odie86@gmail.com";
@ -22,35 +28,15 @@
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIByWNNmKhjVk5VEjk3aSKosOXzglCbiq7q8IQ8mA0qQe odie"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIA1QZO6fF2RLcmjMKdG1eZi0RLw3joa+VBXaKvfmA7Tg odie"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINs89u4Kvwlmq67eV+H/n+x9M8gsKDxQU+dCPSEb2vJe odie"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKoBcSKQSPmPo3Y/zvnaIaIpT6dHX4ZQYUirj4x7a8wB odie@pi0"
];
domain = "odie.home.arpa";
neorg.workspaces = genNeorgWorkspaces "${homeDirectory}/Notes" neorgWorkspaces;
};
overlays = [
inputs.nixvim.overlays.default
inputs.neovim-nightly-overlay.overlays.default
inputs.nur.overlay
inputs.nixgl.overlay
inputs.neorg-overlay.overlays.default
outputs.overlays.kodi
];
overlays = import ./overlays { inherit inputs; };
in
{
overlays = {
kodi = final: prev: {
kodi-standalone =
final.kodi-wayland.withPackages
(kodiPkgs:
with kodiPkgs; [
youtube
pvr-iptvsimple
keymap
inputstream-adaptive
inputstream-ffmpegdirect
requests-cache
inputstreamhelper
]);
};
};
nixosModules = {
base = import ./modules/nixos/base;
desktop = import ./modules/nixos/desktop;
@ -59,18 +45,39 @@
qemu = import ./modules/nixos/qemu;
home-manager = import ./modules/nixos/home-manager;
server = import ./modules/nixos/server;
games = import ./modules/nixos/games;
sops = import ./modules/nixos/sops;
raspberry-pi = import ./modules/nixos/raspberry-pi;
};
nixosConfigurations =
flakeLib.mkNixosConfiguration {
flakeLib.mkNixosConfiguration
{
inherit inputs nixpkgs outputs vars flakeLib overlays;
system = "x86_64-linux";
hostName = "vm";
}
// flakeLib.mkNixosConfiguration {
inherit inputs nixpkgs outputs vars flakeLib overlays;
inherit inputs nixpkgs outputs flakeLib overlays;
vars = vars // {
neorg.workspaces = genNeorgWorkspaces "/mnt/c/Users/odie/Sync/norg" neorgWorkspaces;
extraGroups = [ "minecraft" ];
};
system = "x86_64-linux";
hostName = "wsl-dev";
}
// flakeLib.mkNixosConfiguration {
inherit inputs nixpkgs outputs flakeLib overlays vars;
system = "x86_64-linux";
hostName = "pi-installer";
modules = [
inputs.raspberry-pi-nix.nixosModules.sd-image
];
}
// flakeLib.mkNixosConfiguration {
inherit inputs outputs nixpkgs vars flakeLib overlays;
system = "aarch64-linux";
hostName = "pi0";
}
// flakeLib.mkNixosConfiguration {
inherit inputs outputs nixpkgs vars flakeLib overlays;
system = "aarch64-linux";
@ -91,9 +98,11 @@
mediacenter = import ./modules/home-manager/mediacenter;
user = import ./modules/home-manager/user;
binary-cache = import ./modules/home-manager/binary-cache;
sops = import ./modules/home-manager/sops;
};
homeConfigurations =
flakeLib.mkHomeConfiguration {
flakeLib.mkHomeConfiguration
{
inherit inputs outputs nixpkgs flakeLib overlays;
vars = vars // { hostName = "wanaheim"; };
system = "x86_64-linux";
@ -109,50 +118,207 @@
vars
// {
hostName = "odie-dev";
domain = "niederkasse.neff-steindesign.de";
domain = "niederkassel.neff-steindesign.de";
};
system = "x86_64-linux";
};
templates = {
empty = {
path = ./templates/empty;
description = "";
};
go = {
path = ./templates/go;
description = "";
};
rust = {
path = ./templates/rust;
description = "";
};
cpp = {
path = ./templates/cpp;
description = "";
};
};
images = {
pi-installer = self.outputs.nixosConfigurations.pi-installer.config.system.build.sdImage;
};
}
// flake-utils.lib.eachDefaultSystem (system: {
packages = {
neovim-ide = import ./pkgs/nixvim {inherit inputs system flakeLib nixpkgs;};
// flake-utils.lib.eachDefaultSystem (system: let
pkgs = import nixpkgs {
inherit system;
};
in {
devShells.default = pkgs.mkShell {
packages = with pkgs; [(nixos{}).nixos-rebuild];
};
});
inputs = {
#nixpkgs.url = "github:nixos/nixpkgs/nixos-23.11";
#nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
nur.url = "github:nix-community/NUR";
# System
nixpkgs.url = "github:nixos/nixpkgs"; # Use master
#nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; # Use unstable
nur = {
url = "github:nix-community/NUR";
inputs = {
nixpkgs.follows = "nixpkgs";
flake-parts.follows = "flake-parts";
};
};
nix-colors.url = "github:misterio77/nix-colors";
systems.url = "github:nix-systems/default";
flake-parts.url = "github:hercules-ci/flake-parts";
flake-compat.url = "github:edolstra/flake-compat";
nixos-hardware.url = "github:nixos/nixos-hardware";
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
nixgl = {
url = "github:nix-community/nixGL/9b4887dbf16933bdc124296434b3898d810b3608";
inputs.nixpkgs.follows = "nixpkgs";
};
nixvim = {
url = "github:nix-community/nixvim";
inputs.nixpkgs.follows = "nixpkgs";
};
neovim-nightly-overlay = {
url = "github:nix-community/neovim-nightly-overlay";
inputs.nixpkgs.follows = "nixpkgs";
};
flake-utils = {
url = "github:numtide/flake-utils";
inputs.systems.follows = "systems";
};
nixos-wsl = {
url = "github:nix-community/NixOS-WSL";
sops-nix = {
url = "github:Mic92/sops-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
nixos-wsl = {
url = "github:nix-community/NixOS-WSL";
inputs = {
nixpkgs.follows = "nixpkgs";
flake-compat.follows = "flake-compat";
};
};
raspberry-pi-nix = {
url = "github:nix-community/raspberry-pi-nix";
inputs = {
nixpkgs.follows = "nixpkgs";
};
};
nixgl = {
url = "github:nix-community/nixGL";
inputs.nixpkgs.follows = "nixpkgs";
inputs.flake-utils.follows = "flake-utils";
};
catppuccin.url = "github:catppuccin/nix";
# Neovim
nixvim = {
url = "github:nix-community/nixvim";
inputs = {
nixpkgs.follows = "nixpkgs";
home-manager.follows = "home-manager";
flake-parts.follows = "flake-parts";
flake-compat.follows = "flake-compat";
};
};
neovim-nightly-overlay = {
url = "github:nix-community/neovim-nightly-overlay";
inputs = {
nixpkgs.follows = "nixpkgs";
flake-parts.follows = "flake-parts";
flake-compat.follows = "flake-compat";
};
};
nvim-spell-de-utf8-dictionary = {
url = "https://ftp.uni-bayreuth.de/packages/editors/vim/runtime/spell/de.utf-8.spl";
flake = false;
};
nvim-spell-de-utf8-suggestions = {
url = "https://ftp.uni-bayreuth.de/packages/editors/vim/runtime/spell/de.utf-8.sug";
flake = false;
};
nvim-spell-de-latin1-dictionary = {
url = "https://ftp.uni-bayreuth.de/packages/editors/vim/runtime/spell/de.latin1.spl";
flake = false;
};
nvim-spell-de-latin1-suggestions = {
url = "https://ftp.uni-bayreuth.de/packages/editors/vim/runtime/spell/de.latin1.sug";
flake = false;
};
guihua = {
url = "github:ray-x/guihua.lua";
flake = false;
};
neorg-overlay = {
url = "github:nvim-neorg/nixpkgs-neorg-overlay";
inputs = {
nixpkgs.follows = "nixpkgs";
flake-utils.follows = "flake-utils";
};
};
lazydev = {
url = "github:folke/lazydev.nvim";
flake = false;
};
luavit-meta = {
url = "github:Bilal2453/luvit-meta";
flake = false;
};
norg = {
url = "github:nvim-neorg/tree-sitter-norg/dev";
inputs = {
nixpkgs.follows = "nixpkgs";
flake-utils.follows = "flake-utils";
flake-compat.follows = "flake-compat";
};
};
norg-meta = {
url = "github:nvim-neorg/tree-sitter-norg-meta";
inputs = {
nixpkgs.follows = "nixpkgs";
flake-utils.follows = "flake-utils";
flake-compat.follows = "flake-compat";
};
};
neorg = {
url = "github:nvim-neorg/neorg";
flake = false;
};
neorg-telescope = {
url = "github:nvim-neorg/neorg-telescope";
flake = false;
};
vim-mcfunction = {
url = "github:CrystalAlpha358/vim-mcfunction";
flake = false;
};
# Games
nix-minecraft = {
url = "github:Infinidoge/nix-minecraft";
inputs = {
nixpkgs.follows = "nixpkgs";
flake-utils.follows = "flake-utils";
flake-compat.follows = "flake-compat";
};
};
minecraft-server-flake = {
url = "git+ssh://git@git.gaja-group.com/gaja-group/minecraft-server-flake.git";
#url = "git+file:///home/odie/Code/nix/minecraft-server-flake?ref=update/1.21.4";
#url = "git+file:///home/odie/Code/nix/minecraft-server-flake?ref=master";
inputs = {
nixpkgs.follows = "nixpkgs";
flake-utils.follows = "flake-utils";
systems.follows = "systems";
nix-minecraft.follows = "nix-minecraft";
};
};
gokosync = {
url = "git+ssh://git@git.gaja-group.com/odie/gokosync.git";
inputs = {
nixpkgs.follows = "nixpkgs";
flake-utils.follows = "flake-utils";
systems.follows = "systems";
};
};
# Misc
csleeptimer = {
url = "git+ssh://gitea@git.niederkassel.neff-steindesign.de/odie/csleeptimer.git";
inputs = {
@ -161,12 +327,30 @@
systems.follows = "systems";
};
};
neorg-overlay = {
url = "github:nvim-neorg/nixpkgs-neorg-overlay";
inputs = {
nixpkgs.follows = "nixpkgs";
flake-utils.follows = "flake-utils";
yazi-plugins = {
url = "github:yazi-rs/plugins";
flake = false;
};
starship-yazi = {
url = "github:Rolv-Apneseth/starship.yazi";
flake = false;
};
mediainfo-yazi = {
url = "github:boydaihungst/mediainfo.yazi";
flake = false;
};
open-with-cmd-yazi = {
url = "github:Ape/open-with-cmd.yazi";
flake = false;
};
};
nixConfig = {
extra-substituters = [ "https://nix-community.cachix.org" ];
extra-trusted-public-keys = [
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
];
};
}

View File

@ -1,10 +1,6 @@
{
mkPkgs = import ./mkPkgs.nix;
mkNixVim = import ./mkNixVim.nix;
mkNixVimLib = import ./mkNixVimLib.nix;
mkNixVimModule = import ./mkNixVimModule.nix;
mkNixosConfiguration = import ./mkNixosConfiguration.nix;
mkHomeConfiguration = import ./mkHomeConfiguration.nix;
mkHomeManagerDefaults = import ./mkHomeManagerDefaults.nix;
mkNixosHomeConfiguration = import ./mkNixosHomeConfiguration.nix;
mkNixvim = import ./mkNixvim.nix;
}

30
lib/genSslCert.nix Normal file
View File

@ -0,0 +1,30 @@
{ name, dataDir, user, domain, wantedBy ? [], Before ? [] }: { pkgs, ... }:
{
systemd.services."create-${name}-cert" = {
description = "Create a certificate for ${domain}";
script = ''
${pkgs.openssl}/bin/openssl req -x509 -newkey rsa:4096 -keyout ${domain}.key -out ${domain}.crt -nodes -subj '/CN=${domain}'
${pkgs.openssl}/bin/openssl pkcs12 -export -out ${domain}.pfx -inkey ${domain}.key -in ${domain}.crt -passout pass:
cat ${domain}.crt ${domain}.key > ${domain}.pem
chmod 644 ${domain}.crt
chmod 640 ${domain}.pfx
chmod 640 ${domain}.key
chmod 640 ${domain}.pem
'';
wantedBy = [ "multi-user.target" ] ++ wantedBy;
unitConfig = {
Before = [ "multi-user.target" ] ++ Before;
ConditionPathExists = "!${dataDir}/${domain}.pfx";
};
serviceConfig = {
User = user;
Type = "oneshot";
WorkingDirectory = dataDir;
RemainAfterExit = true;
};
};
}

View File

@ -1,6 +1,7 @@
moduleInputs @ {
{
nixpkgs,
inputs,
outputs,
flakeLib,
system,
vars,
@ -11,14 +12,18 @@ moduleInputs @ {
profile = "${username}@${hostName}";
in {
${profile} = let
config = flakeLib.mkHomeManagerDefaults moduleInputs;
pkgs = flakeLib.mkPkgs {
inherit nixpkgs system overlays;
};
in
inputs.home-manager.lib.homeManagerConfiguration {
inherit pkgs;
inherit (config) extraSpecialArgs;
extraSpecialArgs = {
inherit inputs outputs vars flakeLib;
inherit (inputs) nix-colors;
};
#useGlobalPkgs = true;
#useUserPackages = true;
modules = [
../profiles/home-manager/${profile}/home.nix

View File

@ -1,14 +0,0 @@
{
inputs,
outputs,
vars,
flakeLib,
...
}: {
extraSpecialArgs = {
inherit inputs outputs vars flakeLib;
inherit (inputs) nix-colors;
};
useGlobalPkgs = true;
useUserPackages = true;
}

View File

@ -1,10 +0,0 @@
{
pkgs,
module,
inputs,
...
}: let
nixvim' = inputs.nixvim.legacyPackages.${pkgs.system};
nvim = nixvim'.makeNixvimWithModule module;
in
nvim

View File

@ -1,11 +0,0 @@
let
mkNixVimLib = {
inputs,
system,
...
}: let
nixvimLib = inputs.nixvim.lib.${system};
in
nixvimLib;
in
mkNixVimLib

View File

@ -1,8 +0,0 @@
{
pkgs,
module,
extraSpecialArgs ? {},
...
}: {
inherit pkgs module extraSpecialArgs;
}

View File

@ -1,13 +1,13 @@
{
inputs,
outputs,
flakeLib,
overlays,
system,
hostName,
nixpkgs,
vars,
...
{ inputs
, outputs
, flakeLib
, overlays
, system
, hostName
, nixpkgs
, vars
, modules ? [ ]
, ...
}: {
${hostName} = nixpkgs.lib.nixosSystem {
inherit system;
@ -21,6 +21,6 @@
};
modules = [
../profiles/nixos/${hostName}/configuration.nix
];
] ++ modules;
};
}

View File

@ -1,10 +0,0 @@
{vars, ...}: let
inherit (vars) username hostName;
profile = "${username}@${hostName}";
in {
${username} = {
imports = [
../profiles/home-manager/${profile}/home.nix
];
};
}

16
lib/mkNixvim.nix Normal file
View File

@ -0,0 +1,16 @@
{ inputs
, pkgs
, vars
, ...
}:
let
nixvim' = inputs.nixvim.legacyPackages.${pkgs.system};
module = {
inherit pkgs;
extraSpecialArgs = {
inherit inputs vars;
};
module = import ../modules/nixvim;
};
in
nixvim'.makeNixvimWithModule module

View File

@ -1,10 +1,16 @@
{pkgs, ...}: {
{pkgs, inputs, ...}: {
imports = [
./news.nix
./nixpkgs.nix
inputs.catppuccin.homeManagerModules.catppuccin
];
# programs.home-manager.enable = true;
home.packages = with pkgs; [
home-manager
];
catppuccin = {
enable = true;
flavor = "mocha";
};
}

View File

@ -1,3 +1,6 @@
{
nixpkgs.config.allowUnfree = true;
{pkgs, lib, ...}: with lib; {
nixpkgs = {
config.allowUnfree = true;
};
nix.package = mkForce pkgs.nix;
}

View File

@ -3,7 +3,7 @@ _: {
# package = pkgs.nix;
settings = {
substituters = [
"http://nixcache.odie.home.arpa"
"http://nix-cache.gaja-group.intranet:5000"
"https://nix-community.cachix.org"
"https://cache.nixos.org/"
];

View File

@ -24,8 +24,6 @@ lib.mkIf config.desktop.awesome.enable {
};
};
services.gnome-keyring.enable = true;
xsession = {
windowManager.awesome = {
enable = true;

View File

@ -14,6 +14,12 @@
require("awful.hotkeys_popup.keys")
local vicious = require("vicious")
awful.spawn.with_shell(
'if (xrdb -query | grep -q "^awesome\\.started:\\s*true$"); then exit; fi;' ..
'xrdb -merge <<< "awesome.started:true";' ..
'dex --environment Awesome --autostart --search-paths "$${XDG_CONFIG_HOME:-$HOME/.config}/autostart:$${XDG_CONFIG_DIRS:-/etc/xdg}/autostart";'
)
-- {{{ Error handling
if awesome.startup_errors then
naughty.notify({

View File

@ -46,6 +46,7 @@
./darkman
./pcmanfm
./thunar
./hyprland
];
config = lib.mkIf config.desktop.enable {
desktop = {
@ -60,6 +61,7 @@
kitty.enable = lib.mkDefault true;
};
services = {
gnome-keyring.enable = true;
nextcloud-client.enable = lib.mkDefault true;
udiskie = {
enable = lib.mkDefault true;

View File

@ -0,0 +1,166 @@
{ lib, config, ... }: {
options = {
desktop = {
hyprland = {
enable = lib.mkEnableOption "Hyprland";
};
};
};
config = {
wayland.windowManager.hyprland = lib.mkIf config.desktop.awesome.enable {
enable = true;
xwayland.enable = true;
settings = {
#source = [ "~/.config/hypr/themes/catppuccin/mocha.conf" "~/.config/hypr/monitors.conf" ];
env = [
"LIBVA_DRIVER_NAME,nvidia"
"XDG_SESSION_TYPE,wayland"
"GBM_BACKEND,nvidia-drm"
"__GLX_VENDOR_LIBRARY_NAME,nvidia"
];
cursor = {
no_hardware_cursors = true;
};
input = {
kb_layout = "de";
kb_variant = "nodeadkeys";
follow_mouse = 1;
numlock_by_default = 1;
touchpad = {
natural_scroll = false;
};
sensitivity = 0;
accel_profile = "flat";
force_no_accel = true;
};
general = {
gaps_in = 3;
gaps_out = 6;
border_size = 2;
col.active_border = "0xaa$blueAlpha";
col.inactive_border = "0xaa$surface0Alpha";
layout = "dwindle";
};
decoration = {
rounding = 3;
};
animations = {
enabled = true;
bezier = "easyInCubic, 0.32, 0, 0.67, 0";
animation = [
"windows, 1, 1.125, easyInCubic"
"windowsOut, 1, 1.125, easyInCubic, popin 80%"
"fade, 1, 1.125, easyInCubic"
"workspaces, 1, 1.125, easyInCubic"
];
};
dwindle = {
pseudotile = true;
preserve_split = true;
default_split_ratio = 1;
};
master = {
new_is_master = true;
};
gestures = {
workspace_swipe = false;
};
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
"$mainMod" = "SUPER";
"$term" = "kitty";
"$browser" = "firefox";
"$filemanager" = "thunar";
"$launcher" = "wofi -bt kitty --show drun";
bind = [
"$mainMod, return, exec, $term"
"$mainMod, W, exec, $browser"
"$mainMod SHIFT, Q, exit,"
"$mainMod, Q, killactive,"
"$mainMod, F, togglefloating,"
"$mainMod SHIFT, F, fullscreen,"
"$mainMod, P, pseudo, # dwindle"
"$mainMod, N, togglesplit, # dwindle"
# Launchers
"$mainMod, E, exec, $filemanager"
"$mainMod, R, exec, $launcher"
"$mainMod, O, exec, wofi-emoji"
"$mainMod SHIFT, X, exec, eww open powermenu"
"$mainMod, V, exec, cliphist list | wofi --dmenu | cliphist decode | wl-copy"
# Move focus with mainMod + arrow keys
"ALT, Tab, cyclenext,"
"ALT, Tab, bringactivetotop,"
"$mainMod, H, movefocus, l"
"$mainMod, L, movefocus, r"
"$mainMod, K, movefocus, u"
"$mainMod, J, movefocus, d"
"$mainMod SHIFT, H, movewindow, l"
"$mainMod SHIFT, L, movewindow, r"
"$mainMod SHIFT, K, movewindow, u"
"$mainMod SHIFT, J, movewindow, d"
"$mainMod CONTROL, H, resizeactive, -50 0"
"$mainMod CONTROL, L, resizeactive, 50 0"
"$mainMod CONTROL, K, resizeactive, 0 -50"
"$mainMod CONTROL, J, resizeactive, 0 50"
# Switch workspaces with mainMod + [0-9]
"$mainMod, 1, workspace, 1"
"$mainMod, 2, workspace, 2"
"$mainMod, 3, workspace, 3"
"$mainMod, 4, workspace, 4"
"$mainMod, 5, workspace, 5"
"$mainMod, 6, workspace, 6"
"$mainMod, 7, workspace, 7"
"$mainMod, 8, workspace, 8"
"$mainMod, 9, workspace, 9"
"$mainMod, 0, workspace, 10"
# Move active window to a workspace with mainMod + SHIFT + [0-9]
"$mainMod SHIFT, 1, movetoworkspacesilent, 1"
"$mainMod SHIFT, 2, movetoworkspacesilent, 2"
"$mainMod SHIFT, 3, movetoworkspacesilent, 3"
"$mainMod SHIFT, 4, movetoworkspacesilent, 4"
"$mainMod SHIFT, 5, movetoworkspacesilent, 5"
"$mainMod SHIFT, 6, movetoworkspacesilent, 6"
"$mainMod SHIFT, 7, movetoworkspacesilent, 7"
"$mainMod SHIFT, 8, movetoworkspacesilent, 8"
"$mainMod SHIFT, 9, movetoworkspacesilent, 9"
"$mainMod SHIFT, 0, movetoworkspacesilent, 10"
# Volume
",XF86AudioRaiseVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ +5%"
",XF86AudioLowerVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ -5%"
",XF86AudioMute, exec, pactl set-sink-mute @DEFAULT_SINK@ toggle"
# Playback controls
",XF86AudioPlay, exec, playerctl play-pause"
",XF86AudioStop, exec, playerctl stop"
",XF86AudioNext, exec, playerctl next"
",XF86AudioPrev, exec, playerctl previous"
];
bindm = [
# Move/resize windows with mainMod + LMB/RMB and dragging
"$mainMod, mouse:272, movewindow"
"$mainMod, mouse:273, resizewindow"
];
};
};
};
}

View File

@ -17,7 +17,7 @@
window_padding_width = 0;
symbol_map = "U+E5FA-U+E62B,U+E700-U+E7C5,U+F000-U+F2E0,U+E200-U+E2A9,U+F500-U+FD46,U+E300-U+E3EB,U+F400-U+F4A8,U+2665,U+26A1,U+F27C,U+E0A3,U+E0B4-U+E0C8,U+E0CA,U+E0CC-U+E0D2,U+E0D4,U+23FB-U+23FE,U+2B58,U+F300-U+F313,U+E000-U+E00D Symbols Nerd Font Mono";
};
theme = "Catppuccin-Mocha";
#theme = "Catppuccin-Mocha";
};
};
}

View File

@ -19,7 +19,7 @@
package = pkgs.papirus-icon-theme;
};
theme = {
name = "Catppuccin-Mocha-Standard-Blue-Dark";
name = "catppuccin-mocha-blue-standard";
package = pkgs.catppuccin-gtk;
};
};

View File

@ -6,5 +6,6 @@ with lib; {
];
options = {
desktop.xserver.enable = mkEnableOption "xserver";
desktop.xresources.enable = mkEnableOption "xresources";
};
}

View File

@ -3,7 +3,7 @@
lib,
...
}: let
cfg = config.desktop.xserver;
cfg = config.desktop.xresources;
in
with lib;
mkIf cfg.enable {
@ -32,8 +32,8 @@ in
"URxvt.saveline" = "10480";
"URxvt.scrollBar" = "false";
"URxvt.urgentOnBell" = "true";
"URxvt.font" = "xft:FiraCode Nerd Font Mono:size=9";
"URxvt.fontBold" = "xft:FiraCode Nerd Font Mono:bold:size=9";
"URxvt.font" = "xft:JetBrains Mono Nerd Font:size=11";
"URxvt.fontBold" = "xft:JetBrains Mono Nerd Font:bold:size=11";
"URxvt.depth" = "32";
"URxvt.background" = "[95]#1E1E2E";
"Xft.autohint" = "0";
@ -42,6 +42,6 @@ in
"Xft.hinting" = "1";
"Xft.antialias" = "1";
"Xft.rgba" = "rgb";
"XTerm*faceName" = "FiraCode Nerd Font Mono:bold:size=9";
"XTerm*faceName" = "JetBrains Mono Nerd Font:bold:size=11";
};
}

View File

@ -1,12 +1,13 @@
_: {
{lib, ...}: {
imports = [
./gitea
./neovim-ide
./ghidra
];
programs = {
lazygit.enable = true;
gitea-cli.enable = true;
neovim-ide.enable = true;
lazygit.enable = lib.mkDefault true;
gitea-cli.enable = lib.mkDefault true;
neovim-ide.enable = lib.mkDefault true;
};
}

View File

@ -0,0 +1,11 @@
{ pkgs, lib, config, ... }:
{
options = {
programs.ghidra.enable = lib.mkEnableOption "ghidra";
};
config = lib.mkIf config.programs.ghidra.enable {
home.packages = [
pkgs.ghidra
];
};
}

View File

@ -1,16 +1,34 @@
{ inputs
, pkgs
, config
, lib
, vars
, ...
}:
let
flakeLib = import ../../../../lib;
neovim-ide = flakeLib.mkNixvim {
inherit pkgs inputs vars;
};
in
{
outputs,
pkgs,
config,
lib,
...
}: {
options = {
programs.neovim-ide.enable = lib.mkEnableOption "neovim-ide";
};
config = lib.mkIf config.programs.neovim-ide.enable {
home = {
packages = [outputs.packages.${pkgs.system}.neovim-ide];
packages = [ neovim-ide ];
sessionPath = [
"/home/odie/go/bin"
];
file = {
"${config.xdg.configHome}/nvim/spell/de.utf-8.spl".source = inputs.nvim-spell-de-utf8-dictionary;
"${config.xdg.configHome}/nvim/spell/de.utf-8.sug".source = inputs.nvim-spell-de-utf8-suggestions;
"${config.xdg.configHome}/nvim/spell/de.latin1.spl".source = inputs.nvim-spell-de-latin1-dictionary;
"${config.xdg.configHome}/nvim/spell/de.latin1.sug".source = inputs.nvim-spell-de-latin1-suggestions;
};
};
};
}

View File

@ -7,7 +7,11 @@ with lib; {
];
config = {
games.unnethack.enable = mkDefault true;
games.dsda-doom.enable = mkDefault true;
games = {
unnethack.enable = mkDefault false;
dsda-doom.enable = mkDefault true;
woof.enable = mkDefault true;
eternity.enable = mkDefault true;
};
};
}

View File

@ -1,5 +1,7 @@
{
imports = [
./dsda-doom.nix
./woof.nix
./eternity.nix
];
}

View File

@ -0,0 +1,18 @@
{
pkgs,
config,
lib,
...
}: let
cfg = config.games.eternity;
in
with lib; {
options = {
games.eternity.enable = mkEnableOption "eternity-engine";
};
config = mkIf cfg.enable {
home.packages = with pkgs; [
eternity
];
};
}

View File

@ -0,0 +1,18 @@
{
pkgs,
config,
lib,
...
}: let
cfg = config.games.dsda-doom;
in
with lib; {
options = {
games.woof.enable = mkEnableOption "woof-doom";
};
config = mkIf cfg.enable {
home.packages = with pkgs; [
woof-doom
];
};
}

View File

@ -1,74 +0,0 @@
{
vars,
mysql,
media,
...
}: let
inherit (vars) timeZone hostName domain;
datadirs = "smb://${media.host}/kodi/userdata";
in {
addons = {
unknownsources = "true";
};
services = {
devicename = "${hostName}.${domain}";
webserver = "true";
webserverauthentication = "false";
webserverusername = "kodi";
webserverpassword = "kodi";
webserverport = "8000";
webserverssl = "false";
zeroconf = "true";
wsdiscovery = "true";
upnp = "true";
upnpserver = "true";
airplay = "true";
airplayvideosupport = "true";
};
locale = {
language = "resource.language.de_de";
country = "Deutschland";
timezone = timeZone;
};
lookandfeed = {
enablerssfeeds = "false";
};
videodatabase = {
inherit (mysql) user pass host;
type = "mysql";
port = builtins.toString mysql.port;
};
musicdatabase = {
inherit (mysql) user pass host;
type = "mysql";
port = builtins.toString mysql.port;
};
videolibrary = {
importwatchedstate = "true";
importresumepoint = "true";
};
pathsubstitution = {
substitute = [
{
from = "special://profile/playlists/";
to = "${datadirs}/playlists/";
}
{
from = "special://profile/sources.xml";
to = "${datadirs}/sources.xml";
}
{
from = "special://profile/mediasources.xml";
to = "${datadirs}/mediasources.xml";
}
{
from = "special://profile/RssFeeds.xml";
to = "${datadirs}/RssFeeds.xml";
}
{
from = "special://profile/favourites.xml";
to = "${datadirs}/favourites.xml";
}
];
};
}

View File

@ -1,64 +0,0 @@
{
vars,
pkgs,
config,
lib,
...
}: let
cfg = config.mediacenter.kodi;
inherit (lib) types;
in
with lib; {
options.mediacenter.kodi = {
# enable = mkEnableOption "kodi";
media = {
host = mkOption {
type = types.str;
default = "media";
};
user = mkOption {
type = types.str;
default = "kodi";
};
pass = mkOption {
type = types.str;
default = "kodi";
};
};
mysql = {
host = mkOption {
type = types.str;
default = "localhost";
};
port = mkOption {
type = types.int;
default = 3306;
};
user = mkOption {
type = types.str;
default = "kodi";
};
pass = mkOption {
type = types.str;
default = "kodi";
};
};
};
imports = [./kodi.nix]; # import overridden kodi module
config = mkIf cfg.enable {
#programs.kodi = {
mediacenter.kodi = {
# enable = true;
package = pkgs.kodi-standalone;
settings = import ./advancedsettings.nix {inherit vars; inherit (cfg) mysql media;};
};
home.file = {
"kodi-passwords.xml" = {
target = ".kodi/userdata/passwords.xml";
text = import ./passwords.nix {
inherit (cfg) media;
};
};
};
};
}

View File

@ -1,262 +1,171 @@
{ pkgs, ... }:
{
config,
lib,
pkgs,
...
}:
with lib; let
stylesheetCommonHeader = ''
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl='http://www.w3.org/1999/XSL/Transform' version='1.0'>
<xsl:output method="xml" indent="yes" omit-xml-declaration="yes"/>
<xsl:strip-space elements="*"/>
home.file = {
aelProfiles = {
text = ''
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<advanced_emulator_launcher version="1">
<control>
<update_timestamp>1659964681.6420453</update_timestamp>
</control>
<launcher>
<id>6bc2506af9af35bc7326d70b7356af51</id>
<m_name>retroarch</m_name>
<m_year />
<m_genre />
<m_developer />
<m_rating />
<m_plot />
<platform>Unknown</platform>
<categoryID>root_category</categoryID>
<application>${pkgs.retroarch}/bin/retroarch</application>
<args />
<rompath />
<romext />
<romextrapath />
<finished>False</finished>
<toggle_window>False</toggle_window>
<non_blocking>True</non_blocking>
<multidisc>True</multidisc>
<roms_base_noext />
<audit_state>Audit OFF</audit_state>
<audit_auto_dat_file />
<audit_custom_dat_file />
<audit_display_mode>All ROMs</audit_display_mode>
<launcher_display_mode>Flat mode</launcher_display_mode>
<num_roms>0</num_roms>
<num_parents>0</num_parents>
<num_clones>0</num_clones>
<num_have>0</num_have>
<num_miss>0</num_miss>
<num_unknown>0</num_unknown>
<num_extra>0</num_extra>
<timestamp_launcher>1659942644.8321931</timestamp_launcher>
<timestamp_report>0.0</timestamp_report>
<default_icon>s_icon</default_icon>
<default_fanart>s_fanart</default_fanart>
<default_banner>s_banner</default_banner>
<default_poster>s_poster</default_poster>
<default_clearlogo>s_clearlogo</default_clearlogo>
<default_controller>s_controller</default_controller>
<Asset_Prefix />
<s_icon />
<s_fanart />
<s_banner />
<s_poster />
<s_clearlogo />
<s_controller />
<s_trailer />
<roms_default_icon>s_boxfront</roms_default_icon>
<roms_default_fanart>s_fanart</roms_default_fanart>
<roms_default_banner>s_banner</roms_default_banner>
<roms_default_poster>s_flyer</roms_default_poster>
<roms_default_clearlogo>s_clearlogo</roms_default_clearlogo>
<ROM_asset_path />
<path_3dbox />
<path_title />
<path_snap />
<path_boxfront />
<path_boxback />
<path_cartridge />
<path_fanart />
<path_banner />
<path_clearlogo />
<path_flyer />
<path_map />
<path_manual />
<path_trailer />
</launcher>
</advanced_emulator_launcher>
'';
stylesheetCommonFooter = "</xsl:stylesheet>";
stylesheetNestedTags = ''
<xsl:template match="attr[attrs]">
<xsl:variable name="elementName" select="@name"/>
<xsl:element name="{$elementName}">
<xsl:apply-templates select="attrs" />
</xsl:element>
</xsl:template>
<xsl:template match="attr[list[attrs]]">
<xsl:variable name="elementName" select="@name"/>
<xsl:for-each select="list/attrs">
<xsl:element name="{$elementName}">
<xsl:apply-templates select="." />
</xsl:element>
</xsl:for-each>
</xsl:template>
<xsl:template match="attr[not(attrs|list)]">
<xsl:variable name="elementName" select="@name"/>
<xsl:element name="{$elementName}">
<xsl:if test="$elementName='path'">
<!-- needed in sources.xml but will be used for all "path" tags -->
<xsl:attribute name="pathversion">1</xsl:attribute>
</xsl:if>
<xsl:value-of select="*/@value" />
</xsl:element>
</xsl:template>
'';
stylesheetTagsAsSettingWithId = ''
<xsl:template match='attr'>
<setting>
<xsl:attribute name="id">
<xsl:value-of select="@name" />
</xsl:attribute>
<xsl:value-of select="*/@value" />
</setting>
</xsl:template>
'';
stylesheetAdvancedSettingsRootTag = ''
<xsl:template match='/'>
<xsl:comment> Generated by Home Manager. </xsl:comment>
<advancedsettings version="1.0">
<xsl:apply-templates/>
</advancedsettings>
</xsl:template>
'';
stylesheetSourcesRootTag = ''
<xsl:template match='/'>
<xsl:comment> Generated by Home Manager. </xsl:comment>
<sources>
<xsl:apply-templates/>
</sources>
</xsl:template>
'';
stylesheetAddonSettingsRootTag = ''
<xsl:template match='/'>
<xsl:comment> Generated by Home Manager. </xsl:comment>
target =
".kodi/userdata/addon_data/plugin.program.advanced.emulator.launcher/categories.xml";
};
germanIptv = {
text = ''
<settings version="2">
<xsl:apply-templates/>
<setting id="kodi_addon_instance_name">IPTV Deutsch</setting>
<setting id="kodi_addon_instance_enabled" default="true">true</setting>
<setting id="m3uPathType" default="true">1</setting>
<setting id="m3uPath" default="true" />
<setting id="m3uUrl">https://iptv-org.github.io/iptv/languages/deu.m3u</setting>
<setting id="m3uCache" default="true">true</setting>
<setting id="startNum" default="true">1</setting>
<setting id="numberByOrder" default="true">false</setting>
<setting id="m3uRefreshMode" default="true">0</setting>
<setting id="m3uRefreshIntervalMins" default="true">60</setting>
<setting id="m3uRefreshHour" default="true">4</setting>
<setting id="defaultProviderName" default="true" />
<setting id="enableProviderMappings" default="true">false</setting>
<setting id="providerMappingFile" default="true">special://userdata/addon_data/pvr.iptvsimple/providers/providerMappings.xml</setting>
<setting id="tvGroupMode" default="true">0</setting>
<setting id="numTvGroups" default="true">1</setting>
<setting id="oneTvGroup" default="true" />
<setting id="twoTvGroup" default="true" />
<setting id="threeTvGroup" default="true" />
<setting id="fourTvGroup" default="true" />
<setting id="fiveTvGroup" default="true" />
<setting id="customTvGroupsFile" default="true">special://userdata/addon_data/pvr.iptvsimple/channelGroups/customTVGroups-example.xml</setting>
<setting id="tvChannelGroupsOnly" default="true">false</setting>
<setting id="radioGroupMode" default="true">0</setting>
<setting id="numRadioGroups" default="true">1</setting>
<setting id="oneRadioGroup" default="true" />
<setting id="twoRadioGroup" default="true" />
<setting id="threeRadioGroup" default="true" />
<setting id="fourRadioGroup" default="true" />
<setting id="fiveRadioGroup" default="true" />
<setting id="customRadioGroupsFile" default="true">special://userdata/addon_data/pvr.iptvsimple/channelGroups/customRadioGroups-example.xml</setting>
<setting id="radioChannelGroupsOnly" default="true">false</setting>
<setting id="epgPathType" default="true">1</setting>
<setting id="epgPath" default="true" />
<setting id="epgUrl">http://10.0.20.10:3000/guide.xml</setting>
<setting id="epgCache" default="true">true</setting>
<setting id="epgTimeShift" default="true">0</setting>
<setting id="epgTSOverride" default="true">false</setting>
<setting id="epgIgnoreCaseForChannelIds" default="true">true</setting>
<setting id="useEpgGenreText" default="true">false</setting>
<setting id="genresPathType" default="true">0</setting>
<setting id="genresPath" default="true">special://userdata/addon_data/pvr.iptvsimple/genres/genreTextMappings/genres.xml</setting>
<setting id="genresUrl" default="true" />
<setting id="logoPathType" default="true">1</setting>
<setting id="logoPath" default="true" />
<setting id="logoBaseUrl" default="true" />
<setting id="useLogosLocalPathOnly" default="true">false</setting>
<setting id="logoFromEpg" default="true">1</setting>
<setting id="mediaEnabled" default="true">true</setting>
<setting id="mediaGroupByTitle" default="true">true</setting>
<setting id="mediaGroupBySeason" default="true">true</setting>
<setting id="mediaTitleSeasonEpisode" default="true">false</setting>
<setting id="mediaM3UGroupPath" default="true">0</setting>
<setting id="mediaForcePlaylist" default="true">false</setting>
<setting id="mediaVODAsRecordings" default="true">true</setting>
<setting id="timeshiftEnabled" default="true">false</setting>
<setting id="timeshiftEnabledAll" default="true">true</setting>
<setting id="timeshiftEnabledHttp" default="true">true</setting>
<setting id="timeshiftEnabledUdp" default="true">true</setting>
<setting id="timeshiftEnabledCustom" default="true">false</setting>
<setting id="catchupEnabled" default="true">false</setting>
<setting id="catchupQueryFormat" default="true" />
<setting id="catchupDays" default="true">5</setting>
<setting id="allChannelsCatchupMode" default="true">0</setting>
<setting id="catchupOverrideMode" default="true">0</setting>
<setting id="catchupCorrection" default="true">0</setting>
<setting id="catchupPlayEpgAsLive" default="true">false</setting>
<setting id="catchupWatchEpgBeginBufferMins" default="true">5</setting>
<setting id="catchupWatchEpgEndBufferMins" default="true">15</setting>
<setting id="catchupOnlyOnFinishedProgrammes" default="true">false</setting>
<setting id="transformMulticastStreamUrls" default="true">false</setting>
<setting id="udpxyHost" default="true">127.0.0.1</setting>
<setting id="udpxyPort" default="true">4022</setting>
<setting id="useFFmpegReconnect" default="true">true</setting>
<setting id="useInputstreamAdaptiveforHls" default="true">false</setting>
<setting id="defaultUserAgent" default="true" />
<setting id="defaultInputstream" default="true" />
<setting id="defaultMimeType" default="true" />
</settings>
</xsl:template>
'';
target = ".kodi/userdata/addon_data/pvr.iptvsimple/instance-settings-2.xml";
attrsetToXml = attrs: name: stylesheet:
pkgs.runCommand name {
# Package splicing for libxslt does not work correctly leading to errors
# when cross-compiling. Use the version from buildPackages explicitly to
# fix this.
nativeBuildInputs = [pkgs.buildPackages.libxslt.bin];
xml = builtins.toXML attrs;
passAsFile = ["xml"];
} ''
xsltproc ${stylesheet} - < "$xmlPath" > "$out"
'';
attrsetToAdvancedSettingsXml = attrs: name: let
stylesheet = builtins.toFile "stylesheet.xsl" ''
${stylesheetCommonHeader}
${stylesheetAdvancedSettingsRootTag}
${stylesheetNestedTags}
${stylesheetCommonFooter}
'';
in
attrsetToXml attrs name stylesheet;
attrsetToSourcesXml = attrs: name: let
stylesheet = builtins.toFile "stylesheet.xsl" ''
${stylesheetCommonHeader}
${stylesheetSourcesRootTag}
${stylesheetNestedTags}
${stylesheetCommonFooter}
'';
in
attrsetToXml attrs name stylesheet;
attrsetToAddonSettingsXml = attrs: name: let
stylesheet = builtins.toFile "stylesheet.xsl" ''
${stylesheetCommonHeader}
${stylesheetAddonSettingsRootTag}
${stylesheetTagsAsSettingWithId}
${stylesheetCommonFooter}
'';
in
attrsetToXml attrs name stylesheet;
in {
meta.maintainers = [hm.maintainers.dwagenk];
options.mediacenter.kodi = {
enable = mkEnableOption "Kodi";
package = mkOption {
type = types.package;
default = pkgs.kodi;
defaultText = literalExpression "pkgs.kodi";
example =
literalExpression
"pkgs.kodi.withPackages (exts: [ exts.pvr-iptvsimple ])";
description = ''
The `kodi` package to use.
Can be used to specify extensions.
'';
};
datadir = mkOption {
type = types.path;
default = "${config.home.homeDirectory}/.kodi";
defaultText =
literalExpression ''"''${config.home.homeDirectory}/.kodi"'';
example = literalExpression ''"''${config.xdg.dataHome}/kodi"'';
description = "Directory to store configuration and metadata.";
};
settings = mkOption {
type = with types; let
valueType =
oneOf [str (attrsOf valueType) (listOf valueType)]
// {
description = "attribute sets or lists of strings";
};
in
nullOr valueType;
default = null;
example = literalExpression ''
{ videolibrary.showemptytvshows = "true"; }
'';
description = ''
Configuration to write to the `advancedsettings.xml`
file in kodis userdata directory. Settings specified here will be
immutable from inside kodi and be hidden from the GUI settings dialog.
See <https://kodi.wiki/view/Advancedsettings.xml> as
reference for how settings need to be specified.
The innermost attributes must be of type str.
'';
};
sources = mkOption {
type = with types; let
valueType =
oneOf [str (attrsOf valueType) (listOf valueType)]
// {
description = "attribute sets or lists of strings";
};
in
nullOr valueType;
default = null;
example = literalExpression ''
{
video = {
default = "movies";
source = [
{ name = "videos"; path = "/path/to/videos"; allowsharing = "true"; }
{ name = "movies"; path = "/path/to/movies"; allowsharing = "true"; }
];
};
}
'';
description = ''
Contents to populate the file `sources.xml` in kodis
userdata directory.
See <https://kodi.wiki/view/Sources.xml> as
reference for how sources need to be specified.
Kodi will still show the dialogs to modify sources in the GUI and they
appear to be mutable. This however is not the case and the sources will
stay as specified via Home Manager.
The innermost attributes must be of type str.
'';
};
addonSettings = mkOption {
type = with types; nullOr (attrsOf (attrsOf str));
default = null;
example = literalExpression ''
{ "service.xbmc.versioncheck".versioncheck_enable = "false"; }
'';
description = ''
Attribute set with the plugin namespace as toplevel key and the plugins
settings as lower level key/value pairs.
Kodi will still show the settings of plugins configured via this
mechanism in the GUI and they appear to be mutable. This however is
not the case and the settings will stay as specified via Home Manager.
'';
};
};
config = let
cfg = config.mediacenter.kodi;
in
mkIf cfg.enable (mkMerge [
{
assertions = [
(lib.hm.assertions.assertPlatform "programs.kodi" pkgs
lib.platforms.linux)
];
home.packages = [cfg.package];
home.sessionVariables = {KODI_DATA = cfg.datadir;};
}
(mkIf (cfg.settings != null) {
home.file."${cfg.datadir}/userdata/advancedsettings.xml".source =
attrsetToAdvancedSettingsXml cfg.settings "kodi-advancedsettings.xml";
})
(mkIf (cfg.sources != null) {
home.file."${cfg.datadir}/userdata/sources.xml".source =
attrsetToSourcesXml cfg.sources "kodi-sources.xml";
})
(mkIf (cfg.addonSettings != null) {
home.file = mapAttrs' (k: v:
attrsets.nameValuePair
"${cfg.datadir}/userdata/addon_data/${k}/settings.xml" {
source = attrsetToAddonSettingsXml v "kodi-addon-${k}-settings.xml";
})
cfg.addonSettings;
})
]);
}

View File

@ -1,8 +0,0 @@
{media,...}: ''
<passwords>
<path>
<from>smb://${media.host}</from>
<to>smb://${media.user}:${media.pass}@${media.host}</to>
</path>
</passwords>
''

View File

@ -1,5 +1,5 @@
{lib,config,...}: lib.mkIf config.services.mpd.enable {
services.mpd = {
musicDirectory = "/mnt/media/Audio/Musik";
musicDirectory = "/mnt/net/svartalbenheim/media_data/media/Audio/Musik";
};
}

View File

@ -1,7 +1,7 @@
{ config, lib, ... }: lib.mkIf config.programs.btop.enable {
programs.btop = {
settings = {
color_theme = "Default";
#color_theme = "Default";
theme_background = false;
};
};

View File

@ -14,12 +14,19 @@
./bat
./tldr
./borgmatic
./yazi
./httpie
];
home.packages = with pkgs; [
ripgrep
fd
gdu
jq
python3Packages.argcomplete
zip
unzip
p7zip
];
programs = {
@ -29,12 +36,16 @@
fzf.enable = mkDefault true;
git.enable = mkDefault true;
lf.enable = mkDefault true;
lsd.enable = mkDefault true;
#lsd.enable = mkDefault true;
eza.enable = mkDefault true;
ssh.enable = mkDefault true;
starship.enable = mkDefault true;
tmux.enable = mkDefault true;
zoxide.enable = mkDefault true;
zsh.enable = mkDefault true;
tldr.enable = mkDefault true;
dircolors.enable = mkDefault true;
dircolors.enableZshIntegration = mkDefault true;
};
}

View File

@ -1,10 +1,11 @@
{ pkgs, lib, config, ... }: lib.mkIf config.programs.direnv.enable {
{ lib, config, ... }: lib.mkIf config.programs.direnv.enable {
programs.direnv = {
enableZshIntegration = true;
config = {
global = {
disable_stdin = true;
strict_env = true;
hide_env_diff = true;
};
};
nix-direnv.enable = true;

View File

@ -0,0 +1,7 @@
{lib, config, ...}: lib.mkIf config.programs.eza.enable {
programs = {
eza = {
enableZshIntegration = true;
};
};
}

View File

@ -6,6 +6,7 @@
defaultOptions = [
"--height 40%"
"--border"
"--tmux"
];
tmux = {
enableShellIntegration = true;

View File

@ -0,0 +1,3 @@
{pkgs, ...}: {
home.packages = with pkgs; [httpie];
}

View File

@ -1,7 +1,7 @@
{ pkgs, config, lib, ... }: lib.mkIf config.programs.lf.enable {
home = {
packages = with pkgs; [
chafa
#chafa
ctpv
];
file = {

View File

@ -1,8 +1,7 @@
{
pkgs,
config,
lib,
...
{ pkgs
, config
, lib
, ...
}:
lib.mkIf config.programs.ssh.enable {
home.packages = with pkgs; [ tea ];
@ -11,11 +10,20 @@ lib.mkIf config.programs.ssh.enable {
addKeysToAgent = "yes";
forwardAgent = true;
matchBlocks = {
"svartalbenheim.odie.intranet" = {
hostname = "svartalbenheim.odie.intranet";
"svartalbenheim.odie.home.arpa" = {
hostname = "svartalbenheim.odie.home.arpa";
identityFile = "~/.ssh/id_ed25519_local";
compression = false;
};
"git.gaja-group.com" = {
hostname = "git.gaja-group.com";
user = "git";
extraOptions = {
ProxyCommand = "openssl s_client -quiet -connect rz-de3.gaja-group.com:2222 -servername 10.100.100.170";
};
#identityFile = "~/.ssh/id_ed25519_local";
#compression =false;
};
};
};
};

View File

@ -23,7 +23,7 @@ lib.mkIf config.programs.starship.enable {
"$git_commit"
"$git_state"
"$git_metrics"
"$git_statu"
"$git_status"
"$hg_branch"
"$package"
"$c"

View File

@ -1,11 +1,6 @@
{ pkgs, lib, config, ... }:
let
catppuccin = pkgs.callPackage ../../../../pkgs/tmuxPlugins/catppuccin.nix {};
in
{
options = {
};
options = { };
config = {
programs.tmux = lib.mkIf config.programs.tmux.enable {
newSession = false;
@ -19,16 +14,39 @@ in
sensibleOnTop = true;
escapeTime = 0;
tmuxp.enable = true;
#terminal = "xterm-kitty";
plugins = with pkgs.tmuxPlugins; [
sensible
yank
{
plugin = catppuccin;
extraConfig = ''
set -g @catppuccin_flavour "mocha"
set -g @catppuccin_window_status_style "rounded"
set -g @catppuccin_window_default_text " #W" # use "#W" for application instead of directory
set -g @catppuccin_window_current_text " #W" # use "#W" for application instead of directory
set -g @catppuccin_window_status "icon"
set -g @catppuccin_window_separator ""
set -g @catppuccin_window_middle_separator ""
set -g @catppuccin_window_left_separator ""
set -g @catppuccin_window_right_separator ""
set -g @catppuccin_window_status_enable "yes"
set -g @catppuccin_icon_window_last "󰖰 "
set -g @catppuccin_icon_window_current "󰖯 "
set -g @catppuccin_icon_window_zoom "󰁌 "
set -g @catppuccin_icon_window_mark "󰃀 "
set -g @catppuccin_icon_window_silent "󰂛 "
set -g @catppuccin_icon_window_activity "󱅫 "
set -g @catppuccin_icon_window_bell "󰂞 "
#set -g @catppuccin_window_status_enable "yes"
set -g @catppuccin_status_modules_right "directory user host date_time session"
set -g status-right-length 100
#set -g status-right "#{E:@catppuccin_status_directory}"
#set -ag status-right "#{E:@catppuccin_status_user}"
#set -ag status-right "#{E:@catppuccin_status_host}"
#set -ag status-right "#{E:@catppuccin_status_date_time}"
#set -agF status-right "#{E:@catppuccin_status_session}"
set -g status-left ""
'';
}
better-mouse-mode

View File

@ -0,0 +1,81 @@
{ inputs, ... }:
let
inherit (inputs) yazi-plugins mediainfo-yazi starship-yazi open-with-cmd-yazi;
in
{
programs = {
yazi = {
enable = true;
enableZshIntegration = true;
shellWrapperName = "y";
plugins = {
chmod = "${yazi-plugins}/chmod.yazi";
#full-border = "${yazi-plugins}/full-border.yazi";
git = "${yazi-plugins}/git.yazi";
smart-enter = "${yazi-plugins}/smart-enter.yazi";
starship = starship-yazi;
mediainfo = mediainfo-yazi;
open-with-cmd = open-with-cmd-yazi;
};
initLua = ''
--require("full-border"):setup()
require("starship"):setup()
require("git"):setup()
require("smart-enter"):setup({
open_multi = true,
})
'';
settings = {
sort_by = "name";
sort_dir_first = true;
sort_reverse = false;
plugin = {
prepend_fetchers = [
{ id = "git"; name = "*"; run = "git"; }
{ id = "git"; name = "*/"; run = "git"; }
];
prepend_previewers = [
{ mime = "{image,audio,video}/*"; run = "mediainfo"; }
{ mime = "application/subrip"; run = "mediainfo"; }
];
};
};
keymap = {
manager.prepend_keymap = [
{ on = "K"; run = "seek -20"; desc = "Seek up 20 units in the preview"; }
{ on = "J"; run = "seek 20"; desc = "Seek down 20 units in the preview"; }
{
run = "cd /media/net/svartalbenheim/media_data/";
on = [ "g" "m" ];
desc = "Cd to media_data";
}
{
run = "cd /media/net/svartalbenheim/media_data/media/Video";
on = [ "g" "v" ];
desc = "Cd to media_data";
}
{
run = "cd /media/net/svartalbenheim/media_data/media/Audio";
on = [ "g" "a" ];
desc = "Cd to media_data";
}
{
run = "plugin smart-enter";
on = [ "l" ];
desc = "Enter the child directory, or open the file";
}
{
on = "o";
run = "plugin open-with-cmd --args=block";
desc = "Open with command in the terminal";
}
{
on = "O";
run = "plugin open-with-cmd";
desc = "Open with command";
}
];
};
};
};
}

View File

@ -3,19 +3,17 @@
zsh = {
defaultKeymap = "emacs";
dotDir = ".config/zsh";
shellAliases = {
j = "z";
ji = "zi";
};
initExtra = builtins.readFile ../../../../configs/home-manager/zsh/zshrc.zsh;
initExtraBeforeCompInit = builtins.readFile ../../../../configs/home-manager/zsh/zshrc_before_compinit.zsh;
autosuggestion.enable = true;
completionInit = ''
autoload -U compinit bashcompinit
compinit
bashcompinit'';
history = {
path = "${config.xdg.cacheHome}/zsh_history";
save = 100000;
size = 100000;
save = 10000;
size = 10000;
share = true;
extended = true;
};
@ -28,18 +26,18 @@
"^[[A"
];
};
zplug = {
antidote = {
enable = true;
plugins = [
{ name = "zsh-users/zsh-completions"; }
{ name = "zdharma-continuum/fast-syntax-highlighting"; }
{ name = "zsh-users/zsh-autosuggestions"; }
{ name = "nix-community/nix-zsh-completions"; }
"Aloxaf/fzf-tab"
"zdharma-continuum/fast-syntax-highlighting"
"nix-community/nix-zsh-completions"
"zsh-users/zsh-completions"
];
};
envExtra = ''
export DIRENV_LOG_FORMAT=$'\033[2mdirenv: %s\033[0m'
'';
shellAliases = {
eza = "eza --color=always --git --icons=always";
};
};
};
}

View File

@ -0,0 +1,20 @@
{ inputs, vars, ... }: {
imports = [
inputs.sops-nix.homeManagerModules.sops
];
sops = {
#age.keyFile = "/home/${vars.username}/.sops-key.txt"; # must have no password!
# It's also possible to use a ssh key, but only when it has no password:
age.sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ];
defaultSopsFile = ../../../secrets/general.yaml;
secrets.hello = {
# sopsFile = ./secrets.yml.enc; # optionally define per-secret files
# %r gets replaced with a runtime directory, use %% to specify a '%'
# sign. Runtime dir is $XDG_RUNTIME_DIR on linux and $(getconf
# DARWIN_USER_TEMP_DIR) on darwin.
path = "%r/hello";
};
};
}

View File

@ -5,6 +5,8 @@
stateVersion = "23.11";
sessionVariables = {
EDITOR = "vim";
DIRENV_LOG_FORMAT = "`tput dim`%s`tput sgr0`";
DOOMWADDIR = "$HOME/Games/doom/IWADs";
};
};
}

View File

@ -3,11 +3,9 @@
nix = {
settings = {
substituters = [
"http://nixcache.odie.home.arpa"
"https://nix-community.cachix.org"
];
trusted-public-keys = [
"nixcache.odie.home.arpa:2j5qAVmtBUSZMPWlIRS8Gn0Il9tbotJ9c2y43N0RLKU="
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
];
};

View File

@ -1,20 +1,53 @@
{overlays, ...}: {
{ inputs, overlays, lib, config, ... }: {
nixpkgs = {
config.allowUnfree = true;
inherit overlays;
};
nix = {
nix =
let
flakeInputs = lib.filterAttrs (_: lib.isType "flake") inputs;
in
{
optimise = {
automatic = true;
};
channel.enable = false;
registry = lib.mapAttrs (_: flake: { inherit flake; }) flakeInputs;
nixPath = lib.mapAttrsToList (n: _: "${n}=flake:${n}") flakeInputs;
settings = {
trusted-users = [ "@wheel" ];
experimental-features = [ "nix-command" "flakes" ];
auto-optimise-store = true;
substituters = [
"https://nix-community.cachix.org"
"http://nix-cache.gaja-group.intranet:5000"
];
trusted-public-keys = [
"nix-cache.gaja-group.intranet:EcUsafvI9NUrnab3DA71s2PGjAYMgct0FOvCwdYuStw="
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
];
nix-path = config.nix.nixPath;
flake-registry = "";
};
gc = {
automatic = true;
dates = "weekly";
options = "--delete-older-than 30d";
};
buildMachines = [
{
hostName = "nix-cache.gaja-group.intranet";
protocol = "ssh-ng";
systems = [ "x86_64-linux" "aarch64-linux" ];
maxJobs = 4;
speedFactor = 2;
supportedFeatures = [ "nixos-test" "benchmark" "big-parallel" "kvm" ];
mandatoryFeatures = [ ];
}
];
distributedBuilds = true;
extraOptions = ''
builders-use-substitutes = true
'';
};
}

View File

@ -1,4 +1,4 @@
{ config, lib, pkgs, vars, ... }:
{ pkgs, ... }:
{
environment = {
systemPackages = with pkgs; [
@ -11,6 +11,8 @@
iftop
iotop
ncdu
wget
openssl
];
etc = {
"ncdu.conf".text = ''

View File

@ -11,5 +11,14 @@
environment.systemPackages = with pkgs; [
libcec
];
nixpkgs = {
overlays = [
(final: prev: {
makeModulesClosure = x: prev.makeModulesClosure (x // { allowMissing = true; });
libcec = prev.libcec.override { withLibraspberrypi = true; };
})
];
};
};
}

View File

@ -1,13 +1,13 @@
{
config,
lib,
pkgs,
vars,
...
}: let
inherit (vars) username name locale hostname sshKeys;
{ config
, lib
, pkgs
, vars
, ...
}:
let
inherit (vars) username name sshKeys;
baseGroups = [
extraGroups = vars.extraGroups ++ [
"users"
"wheel"
"audio"
@ -16,19 +16,14 @@
"power"
"adm"
"plugdev"
];
rpiGroups =
if config.hardware.raspberry-pi.enable
then [
] ++ lib.optionals config.hardware.raspberry-pi.enable [
"i2c"
"spi"
]
else [];
extraGroups = baseGroups ++ rpiGroups;
];
basePackages = with pkgs; [ home-manager ];
wslPackages =
if config.wsl.enable
if ((builtins.hasAttr "wsl" config) && config.wsl.enable)
then
with pkgs; [
wslu
@ -36,7 +31,8 @@
]
else [ ];
packages = basePackages ++ wslPackages;
in {
in
{
options = {
hardware.raspberry-pi.enable = lib.mkEnableOption "raspberry pi features";
};
@ -44,6 +40,9 @@ in {
users = {
groups.${username} = { };
users = {
root = {
openssh.authorizedKeys.keys = sshKeys;
};
${username} = {
inherit packages extraGroups;
name = username;

View File

@ -2,5 +2,6 @@ _: {
imports = [
./base
./wsl
./sops
];
}

View File

@ -12,12 +12,20 @@
config = {
programs.dconf.enable = lib.mkDefault true;
hardware.opengl.enable = lib.mkDefault true;
#hardware.opengl.enable = lib.mkDefault true;
hardware.graphics.enable = lib.mkDefault true;
desktop.enable = lib.mkDefault true;
security.polkit.enable = lib.mkDefault true;
services = {
upower.enable = lib.mkDefault true;
gvfs.enable = lib.mkDefault true;
};
services.gnome.gnome-keyring.enable = true;
qt = {
enable = true;
platformTheme = "qt5ct";
style = "kvantum";
};
};
}

View File

@ -7,7 +7,8 @@
noto-fonts
noto-fonts-emoji
sarasa-gothic
(nerdfonts.override { fonts = [ "NerdFontsSymbolsOnly" ]; })
nerd-fonts.symbols-only
#(nerdfonts.override { fonts = [ "NerdFontsSymbolsOnly" ]; })
];
fontconfig = {
antialias = true;

View File

@ -13,6 +13,4 @@ lib.mkIf config.desktop.enable {
pulse.enable = true;
wireplumber.enable = true;
};
sound.enable = true;
}

View File

@ -1,9 +1,8 @@
{
lib,
config,
vars,
pkgs,
...
{ lib
, config
, vars
, pkgs
, ...
}: {
imports = [
./i18n.nix
@ -29,6 +28,7 @@
vicious
];
};
};
libinput = {
enable = true;
@ -44,5 +44,4 @@
};
};
};
};
}

View File

@ -0,0 +1,6 @@
{
imports = [
./minecraft
./wow
];
}

View File

@ -0,0 +1,101 @@
{ inputs, lib, ... }:
with lib;
let
operators = {
masterodie = {
uuid = "c0e67091-d6d0-4cf2-89d5-d0c6f2bd4f30";
level = 4;
bypassesPlayerLimit = true;
};
Rooomi = {
uuid = "5c5b4a28-e292-46fa-bf92-3b21f577c30e";
level = 4;
bypassesPlayerLimit = true;
};
};
whitelist = { } // attrsets.mapAttrs (n: v: v.uuid) operators;
jvmArgs = "-XX:+UnlockExperimentalVMOptions -XX:+UnlockDiagnosticVMOptions -XX:+AlwaysActAsServerClassMachine -XX:+AlwaysPreTouch -XX:+DisableExplicitGC -XX:+UseNUMA -XX:NmethodSweepActivity=1 -XX:ReservedCodeCacheSize=400M -XX:NonNMethodCodeHeapSize=12M -XX:ProfiledCodeHeapSize=194M -XX:NonProfiledCodeHeapSize=194M -XX:-DontCompileHugeMethods -XX:MaxNodeLimit=240000 -XX:NodeLimitFudgeFactor=8000 -XX:+UseVectorCmov -XX:+PerfDisableSharedMem -XX:+UseFastUnorderedTimeStamps -XX:+UseCriticalJavaThreadPriority -XX:ThreadPriorityPolicy=1 -XX:AllocatePrefetchStyle=3 -XX:+UseG1GC -XX:MaxGCPauseMillis=130 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=28 -XX:G1HeapRegionSize=16M -XX:G1ReservePercent=20 -XX:G1MixedGCCountTarget=3 -XX:InitiatingHeapOccupancyPercent=10 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=0 -XX:SurvivorRatio=32 -XX:MaxTenuringThreshold=1 -XX:G1SATBBufferEnqueueingThresholdPercent=30 -XX:G1ConcMarkStepDurationMillis=5 -XX:G1ConcRSHotCardLimit=16 -XX:G1ConcRefinementServiceIntervalMillis=150";
in
{
imports = [
inputs.minecraft-server-flake.nixosModules.minecraft-servers
];
services.minecraft-servers = {
velocitySecret = "01KqxtMy3kEH";
openFirewall = true;
domain = "odie.home.arpa";
inherit jvmArgs;
servers = {
vanilla-plus = {
inherit whitelist operators;
stopCommand = null;
enable = true;
autoStart = false;
openFirewall = true;
serverProperties = {
online-mode = false;
enforce-secure-profile = true;
server-name = "GajaCraft Survival";
server-port = 25566;
server-ip = "127.0.0.1";
difficulty = "easy";
gamemode = "survival";
max-players = 10;
white-list = true;
enforce-whitelist = true;
pause-when-empty-seconds = 1;
force-gamemode = true;
view-distance = 12;
};
};
flat = {
inherit whitelist operators;
enable = true;
stopCommand = null;
autoStart = false;
serverProperties = {
online-mode = false;
enforce-secure-profile = true;
server-name = "GajaCraft Creative Flat";
server-port = 25567;
server-ip = "127.0.0.1";
difficulty = "hard";
gamemode = "creative";
max-players = 10;
white-list = true;
enforce-whitelist = true;
pause-when-empty-seconds = 1;
force-gamemode = true;
view-distance = 12;
generate-structures = false;
level-type = "minecraft:flat";
generator-settings = ''{"biome": "minecraft:desert", "layers": [ { "block": "minecraft:bedrock", "height": 1 }, { "block": "minecraft:sandstone", "height": 62 } ] }'';
};
};
velocity.enable = true;
};
extraOptions = {
flat = {
memory = "2G";
port = 25567;
mapPort = 8101;
voicePort = 24455;
blacklist = [ "Discord" "bluemap" "bmm-fabric" ];
whitelist = [ "worldedit" ];
};
vanilla-plus = {
memory = "4G";
port = 25566;
mapPort = 8100;
voicePort = 24454;
blacklist = [ "Discord" "bluemap" "bmm-fabric" ];
whitelist = [ "worldedit" ];
};
velocity = {
port = 25565;
mapPort = 8100;
voicePort = 24454;
};
};
};
}

View File

@ -0,0 +1,459 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.services.azerothcore;
in
{
options.services.azerothcore = {
enable = mkEnableOption "AzerothCore service";
openFirewall = mkOption {
type = types.bool;
default = false;
description = mdDoc "Whether to open the firewall for the auth & world server ports.";
};
serverPackage = mkPackageOption pkgs "azerothcore" { };
clientDataPackage = mkPackageOption pkgs "azerothcore-data" { };
srcDir = mkOption {
type = types.path;
default = "${pkgs.azerothcore}/share";
description = mdDoc "The data directory";
};
dataDir = mkOption {
type = types.path;
default = "${pkgs.azerothcore-data}";
description = mdDoc "The data directory";
};
logDir = mkOption {
type = types.path;
default = "/var/log/azerothcore";
description = mdDoc "The log directory";
};
tmpDir = mkOption {
type = types.path;
default = "/tmp/azerothcore";
description = mdDoc "The tmp directory to use";
};
hostname = mkOption {
type = types.str;
default = "127.0.0.1";
description = lib.mdDoc "The hostname to reach the server.";
};
database = mkOption {
type = types.submodule {
options = {
user = mkOption {
type = types.str;
description = mdDoc "The MySQL database user to use for auth & world servers.";
};
password = mkOption {
type = types.str;
description = mdDoc "The MySQL database password to use for auth & world servers.";
};
host = mkOption {
type = types.str;
description = mdDoc "The MySQL host to use for auth & world servers.";
};
port = mkOption {
type = types.port;
description = mdDoc "The port host to use for auth & world servers.";
};
};
};
default = {
user = "acore";
password = "";
host = "127.0.0.1";
port = 3306;
};
description = mdDoc "Database configuration.";
};
auth = mkOption {
type = types.submodule {
options = {
port = mkOption {
type = types.port;
description = lib.mdDoc "Port to listen on for the auth server.";
};
address = mkOption {
type = types.str;
description = mdDoc "Address to listen on for the auth server.";
};
database = mkOption {
type = types.str;
description = "Database name for the auth server.";
};
};
};
default = {
port = 3724;
address = "0.0.0.0";
database = "acore_auth";
};
description = mdDoc "Auth server configuration.";
};
world = mkOption {
type = types.submodule {
options = {
realmId = mkOption {
type = types.int;
description = lib.mdDoc "Port to listen on for the worl server.";
};
port = mkOption {
type = types.port;
description = lib.mdDoc "Port to listen on for the worl server.";
};
address = mkOption {
type = types.str;
description = mdDoc "Address to listen on for the world server.";
};
database = mkOption {
type = types.str;
description = "Database name for the world server.";
};
charactersDatabase = mkOption {
type = types.str;
description = "Characters database name for the world server.";
};
};
};
default = {
realmId = 1;
port = 8085;
address = "0.0.0.0";
database = "acore_world";
charactersDatabase = "acore_characters";
};
description = mdDoc "World server configuration.";
};
npcbots = mkOption {
type = types.submodule {
options = {
botgiver = {
filterRaces = mkOption {
type = types.int;
};
};
classes = {
warrior = mkOption {
type = types.bool;
};
paladin = mkOption {
type = types.bool;
};
hunter = mkOption {
type = types.bool;
};
rogue = mkOption {
type = types.bool;
};
priest = mkOption {
type = types.bool;
};
deathKnight = mkOption {
type = types.bool;
};
shaman = mkOption {
type = types.bool;
};
mage = mkOption {
type = types.bool;
};
warlock = mkOption {
type = types.bool;
};
druid = mkOption {
type = types.bool;
};
blademaster = mkOption {
type = types.bool;
};
obsidianDestroyer = mkOption {
type = types.bool;
};
archmage = mkOption {
type = types.bool;
};
dreadlord = mkOption {
type = types.bool;
};
spellBreaker = mkOption {
type = types.bool;
};
darkRanger = mkOption {
type = types.bool;
};
necromancer = mkOption {
type = types.bool;
};
seaWitch = mkOption {
type = types.bool;
};
cryptLord = mkOption {
type = types.bool;
};
};
};
};
default = {
botgiver = {
filterRaces = 0;
};
classes = {
warrior = true;
paladin = true;
hunter = true;
rogue = true;
priest = true;
deathKnight = true;
shaman = true;
mage = true;
warlock = true;
druid = true;
blademaster = false;
obsidianDestroyer = true;
archmage = true;
dreadlord = true;
spellBreaker = true;
darkRanger = true;
necromancer = true;
seaWitch = true;
cryptLord = true;
};
};
};
ahbot = mkOption {
type = types.submodule {
options = {
EnableSeller = mkOption {
type = types.int;
};
EnableBuyer = mkOption {
type = types.int;
};
Account = mkOption {
type = types.int;
};
GUID = mkOption {
type = types.int;
};
ItemsPerCycle = mkOption {
type = types.int;
};
ElapsingTimeClass = mkOption {
type = types.int;
};
VendorItems = mkOption {
type = types.int;
};
VendorTradeGoods = mkOption {
type = types.int;
};
LootItems = mkOption {
type = types.int;
};
LootTradeGoods = mkOption {
type = types.int;
};
OtherItems = mkOption {
type = types.int;
};
OtherTradeGoods = mkOption {
type = types.int;
};
ProfessionItems = mkOption {
type = types.int;
};
};
};
default = {
EnableSeller = 0;
EnableBuyer = 0;
Account = 0;
GUID = 0;
ItemsPerCycle = 200;
ElapsingTimeClass = 1;
VendorItems = 0;
VendorTradeGoods = 0;
LootItems = 1;
LootTradeGoods = 1;
OtherItems = 0;
OtherTradeGoods = 0;
ProfessionItems = 0;
};
};
};
config = mkIf cfg.enable {
users.users.azerothcore = {
home = cfg.dataDir;
createHome = true;
isSystemUser = true;
group = "azerothcore";
};
users.groups.azerothcore.name = "azerothcore";
networking.firewall.allowedTCPPorts = mkIf cfg.openFirewall [
cfg.auth.port
cfg.world.port
];
environment.etc =
{
"azerothcore/authserver.conf".source = pkgs.runCommand "authserver.conf"
{ } ''
cp ${cfg.serverPackage}/etc/authserver.conf.dist $out
'';
"azerothcore/worldserver.conf".source = pkgs.runCommand "worldserver.conf"
{ } ''
cp ${cfg.serverPackage}/etc/worldserver.conf.dist $out
'';
"azerothcore/dbimport.conf".source = pkgs.runCommand "dbimport.conf"
{ } ''
cp ${cfg.serverPackage}/etc/dbimport.conf.dist $out
'';
"azerothcore/modules/mod_ahbot.conf".source = pkgs.runCommand "mod_ahbot.conf"
{ } ''
cp ${cfg.serverPackage}/etc/modules/mod_ahbot.conf.dist $out
'';
};
systemd.services =
let
env_key = prefix: key: "${prefix}_${key}";
ac_env_key = env_key "AC";
npcbot_env_key = env_key "AC_NPC_BOT";
ahbot_env_key = env_key "AC_AUCTION_HOUSE_BOT";
mysqlHost = "${cfg.database.host}";
mysqlPort = toString cfg.database.port;
mysqlSocket = "/run/mysqld/mysqld.sock";
databaseInfo = (user: password: database: (if mysqlHost == "127.0.0.1" then ".;${mysqlSocket};${user};${password};${database}" else "${mysqlHost};${mysqlPort};${user};${password};${database}")) cfg.database.user cfg.database.password;
authDatabaseInfo = databaseInfo cfg.auth.database;
worldDatabaseInfo = databaseInfo cfg.world.database;
characterDatabaseInfo = databaseInfo cfg.world.charactersDatabase;
in
{
azerothcore-authserver = {
description = "AzerothCore Auth Server";
after = [ "network-online.target" "mysql.service" ];
wants = [ "network-online.target" "mysql.service" ];
environment = {
"${ac_env_key "CONSOLE_ENABLE"}" = "0";
"${ac_env_key "DATA_DIR"}" = cfg.clientDataPackage;
"${ac_env_key "LOGS_DIR"}" = cfg.logDir;
"${ac_env_key "TMP_DIR"}" = cfg.tmpDir;
"${ac_env_key "SOURCE_DIRECTORY"}" = toString cfg.serverPackage.srcDir;
"${ac_env_key "REALM_SERVER_PORT"}" = toString cfg.auth.port;
"${ac_env_key "BIND_IP"}" = cfg.auth.address;
"${ac_env_key "LOGIN_DATABASE_INFO"}" = authDatabaseInfo;
};
serviceConfig = {
Type = "simple";
User = "azerothcore";
Group = "azerothcore";
Restart = "on-failure";
ExecStart = "${cfg.serverPackage}/bin/authserver -c /etc/azerothcore/authserver.conf";
};
};
azerothcore-worldserver = {
description = "AzerothCore World Server";
after = [ "network-online.target" "mysql.service" ];
wants = [ "network-online.target" "mysql.service" ];
environment = {
"${ac_env_key "REALM_ID"}" = "${toString cfg.world.realmId}";
"${ac_env_key "CONSOLE_ENABLE"}" = "0";
"${ac_env_key "DATA_DIR"}" = "${cfg.clientDataPackage}";
"${ac_env_key "LOGS_DIR"}" = "${cfg.logDir}";
"${ac_env_key "TMP_DIR"}" = cfg.tmpDir;
"${ac_env_key "SOURCE_DIRECTORY"}" = cfg.serverPackage.srcDir;
"${ac_env_key "WORLD_SERVER_PORT"}" = toString cfg.world.port;
"${ac_env_key "BIND_IP"}" = cfg.world.address;
"${ac_env_key "LOGIN_DATABASE_INFO"}" = authDatabaseInfo;
"${ac_env_key "WORLD_DATABASE_INFO"}" = worldDatabaseInfo;
"${ac_env_key "CHARACTER_DATABASE_INFO"}" = characterDatabaseInfo;
"${npcbot_env_key "BOTGIVER_FILTER_RACES"}" = toString cfg.npcbots.botgiver.filterRaces;
"${npcbot_env_key "CLASSES_WARRIOR_ENABLE"}" = if cfg.npcbots.classes.warrior then "1" else "0";
"${npcbot_env_key "CLASSES_PALADIN_ENABLE"}" = if cfg.npcbots.classes.paladin then "1" else "0";
"${npcbot_env_key "CLASSES_HUNTER_ENABLE"}" = if cfg.npcbots.classes.hunter then "1" else "0";
"${npcbot_env_key "CLASSES_ROGUE_ENABLE"}" = if cfg.npcbots.classes.rogue then "1" else "0";
"${npcbot_env_key "CLASSES_PRIEST_ENABLE"}" = if cfg.npcbots.classes.priest then "1" else "0";
"${npcbot_env_key "CLASSES_DEATH_KNIGHT_ENABLE"}" = if cfg.npcbots.classes.deathKnight then "1" else "0";
"${npcbot_env_key "CLASSES_SHAMAN_ENABLE"}" = if cfg.npcbots.classes.shaman then "1" else "0";
"${npcbot_env_key "CLASSES_MAGE_ENABLE"}" = if cfg.npcbots.classes.mage then "1" else "0";
"${npcbot_env_key "CLASSES_WARLOCK_ENABLE"}" = if cfg.npcbots.classes.warlock then "1" else "0";
"${npcbot_env_key "CLASSES_DRUID_ENABLE"}" = if cfg.npcbots.classes.druid then "1" else "0";
"${npcbot_env_key "CLASSES_BLADEMASTER_ENABLE"}" = if cfg.npcbots.classes.blademaster then "1" else "0";
"${npcbot_env_key "CLASSES_OBSIDIAN_DESTROYER_ENABLE"}" = if cfg.npcbots.classes.obsidianDestroyer then "1" else "0";
"${npcbot_env_key "CLASSES_ARCHMAGE_ENABLE"}" = if cfg.npcbots.classes.archmage then "1" else "0";
"${npcbot_env_key "CLASSES_DREADLORD_ENABLE"}" = if cfg.npcbots.classes.dreadlord then "1" else "0";
"${npcbot_env_key "CLASSES_SPELL_BREAKER_ENABLE"}" = if cfg.npcbots.classes.spellBreaker then "1" else "0";
"${npcbot_env_key "CLASSES_DARK_RANGER_ENABLE"}" = if cfg.npcbots.classes.darkRanger then "1" else "0";
"${npcbot_env_key "CLASSES_NECROMANCER_ENABLE"}" = if cfg.npcbots.classes.necromancer then "1" else "0";
"${npcbot_env_key "CLASSES_SEA_WITCH_ENABLE"}" = if cfg.npcbots.classes.seaWitch then "1" else "0";
"${npcbot_env_key "CLASSES_CRYPT_LORD_ENABLE"}" = if cfg.npcbots.classes.cryptLord then "1" else "0";
"${ahbot_env_key "ENABLE_SELLER"}" = toString cfg.ahbot.EnableSeller;
"${ahbot_env_key "ENABLE_BUYER"}" = toString cfg.ahbot.EnableBuyer;
"${ahbot_env_key "ACCOUNT"}" = toString cfg.ahbot.Account;
"${ahbot_env_key "GUID"}" = toString cfg.ahbot.GUID;
"${ahbot_env_key "ITEMS_PER_CYCLE"}" = toString cfg.ahbot.ItemsPerCycle;
"${ahbot_env_key "ELAPSING_TIME_CLASS"}" = toString cfg.ahbot.ElapsingTimeClass;
"${ahbot_env_key "VENDOR_ITEMS"}" = toString cfg.ahbot.VendorItems;
"${ahbot_env_key "VENDOR_TRADE_GOODS"}" = toString cfg.ahbot.VendorTradeGoods;
"${ahbot_env_key "LOOT_ITEMS"}" = toString cfg.ahbot.LootItems;
"${ahbot_env_key "LOOT_TRADE_GOODS"}" = toString cfg.ahbot.LootTradeGoods;
"${ahbot_env_key "OTHER_ITEMS"}" = toString cfg.ahbot.OtherItems;
"${ahbot_env_key "OTHER_TRADE_GOODS"}" = toString cfg.ahbot.OtherTradeGoods;
"${ahbot_env_key "PROFESSION_ITEMS"}" = toString cfg.ahbot.ProfessionItems;
};
serviceConfig = {
Type = "simple";
User = "azerothcore";
Group = "azerothcore";
WorkingDirectory = "/etc/azerothcore";
Restart = "on-failure";
ExecStart = "${cfg.serverPackage}/bin/worldserver -c /etc/azerothcore/worldserver.conf";
};
};
azerothcore = rec {
description = "AzerothCore";
wantedBy = [ "multi-user.target" ];
wants = [ "azerothcore-auth.service" "azerothcore-world.service" ];
after = wants;
};
};
systemd.tmpfiles.rules = [
"d ${cfg.logDir} 1755 azerothcore azerothcore - -"
"d ${cfg.tmpDir} 1755 azerothcore azerothcore - -"
];
services.mysql = {
enable = true;
package = lib.mkDefault pkgs.mysql80;
ensureDatabases = [
cfg.auth.database
cfg.world.database
cfg.world.charactersDatabase
];
ensureUsers = [{
name = cfg.database.user;
ensurePermissions = {
"${cfg.auth.database}.*" = "ALL PRIVILEGES";
"${cfg.world.database}.*" = "ALL PRIVILEGES";
"${cfg.world.charactersDatabase}.*" = "ALL PRIVILEGES";
};
}];
};
};
}

View File

@ -0,0 +1,5 @@
{
imports = [
./azerothcore
];
}

View File

@ -1,10 +1,30 @@
moduleInputs @ {flakeLib, inputs, ...}: let
config = flakeLib.mkHomeManagerDefaults moduleInputs;
in {
{ flakeLib
, inputs
, outputs
, vars
, ...
}:
let
inherit (vars) username hostName;
profile = "${username}@${hostName}";
in
{
imports = [
inputs.home-manager.nixosModules.home-manager
];
home-manager = {
inherit (config) extraSpecialArgs useGlobalPkgs useUserPackages;
extraSpecialArgs = {
inherit inputs outputs vars flakeLib;
inherit (inputs) nix-colors;
};
useGlobalPkgs = true;
useUserPackages = true;
users.${username} = {
imports = [
../../../profiles/home-manager/${profile}/home.nix
];
};
backupFileExtension = "backup";
};
}

View File

@ -0,0 +1,25 @@
{ config, ... }: {
config = {
services = {
sonarr = {
enable = true;
};
radarr = {
enable = true;
};
prowlarr = {
enable = true;
};
jellyseerr = {
enable = false;
};
};
networking.firewall.allowedTCPPorts = [
];
nixpkgs.config.permittedInsecurePackages = [
"dotnet-sdk-6.0.428"
"aspnetcore-runtime-6.0.36"
];
};
}

View File

@ -1,8 +1,10 @@
{lib, ...}:
with lib; {
_:
{
imports = [
./arr
./kodi
./jellyfin
./gokosync
./torrent
];
mediacenter.kodi.enable = mkDefault true;
}

View File

@ -0,0 +1,4 @@
{ inputs, ... }: {
nixpkgs.overlays = [ inputs.gokosync.overlays.default ];
imports = [ inputs.gokosync.nixosModules.default ];
}

View File

@ -0,0 +1,84 @@
{ pkgs, lib, config, ... }:
with lib;
let
cfg = config.services.jellyfin;
extraGroups = [
"users"
"audio"
"video"
"disk"
"power"
"plugdev"
] ++ lib.optionals config.hardware.raspberry-pi.enable [
"i2c"
"spi"
];
in
{
imports = [
(import ../../../../lib/genSslCert.nix {
name = "jellyfin";
inherit (cfg) dataDir user;
domain = "pi0.odie.home.arpa";
wantedBy = [ "jellyfin.service" ];
Before = [ "jellyfin.service" ];
})
];
options = {
services.jellyfin.domain = mkOption {
type = types.str;
default = "localhost";
};
};
config = {
services.jellyfin = {
enable = true;
openFirewall = true;
dataDir = "/media/net/svartalbenheim/media_config/data/jellyfin";
cacheDir = "/media/net/svartalbenheim/media_config/cache/jellyfin";
};
users.users.jellyfin = mkIf config.services.jellyfin.enable {
inherit extraGroups;
};
networking.firewall = {
allowedUDPPorts = [ 1900 ];
allowedTCPPorts = [ 8920 ];
};
security.pki.certificates = [
''
-----BEGIN CERTIFICATE-----
MIIFGzCCAwOgAwIBAgIUNHajISouQmW1yBoODpk3Yd6tXs4wDQYJKoZIhvcNAQEL
BQAwHTEbMBkGA1UEAwwScGkwLm9kaWUuaG9tZS5hcnBhMB4XDTI1MDExMDA3Mjg1
NFoXDTI1MDIwOTA3Mjg1NFowHTEbMBkGA1UEAwwScGkwLm9kaWUuaG9tZS5hcnBh
MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAzn4txPhKVq/mrHpyICkl
yFw0gTPZ/wUdnvUu8r9IZu5UjNgygyHN1H5x5T+XSDxbGNjtNZLxLMlCIKPbVFhx
JJLdDuAbeVZ/Et69az3RtLgJ93uyL6B8xD4N0GuPNwz0UhqCNcp+NlljmntFaONa
rH0J4A9TnJfbVAcMlXs13v9WNP0qTrcAdLjmYp3Bhfp5Vugtf7J3z4xaLXX4MQzQ
CNXixB1jDmiy3nespCQAIwHIiMqLXI8MP7UiMcKglH4UB2rf1wv67Bgl7DLo+KzZ
fU/eD9EdssZ+4pYbRxf6WMKi8wSw+4QfxF9Flv9jDn+cqt1drgcr2GdvzsAPg0Ab
HTCmgRJv7VyZr0p6o6pYLugXzEiOXEk2ClD+wJmCZQv6yHI47CnGgAxIG5FFVwvc
94lk06nKLfURdeEXaG/36BDKpdZNI58StYwUFl65BXi07MimObCaJ18T8m6JpaSl
u/GhKDH00ryoPxUwDjLNTqt2Fb/wYX+rKhLmjqkkba+FtBjlwr7WtlspFtsPTLvb
mCiQWGN2VWeXk0mBEXMIgN6ECiFlBtc0wZGlALFao++GDME45o+swNr9HJMxKQpr
QlOWRDxHean6Fl8SRCtGM5XmclNeCBuu/lAC9nBI0d10dipG2R+lltwQqu5aXuNP
9M43J6ANP5C6vR/PopyTqC8CAwEAAaNTMFEwHQYDVR0OBBYEFND5BOssGEusttif
GncLz2BlEqUMMB8GA1UdIwQYMBaAFND5BOssGEusttifGncLz2BlEqUMMA8GA1Ud
EwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggIBAIRIDQ07MySPXOPyAYNxF1Mz
2+MyM3N8YKIZy6I6bQ9xK8u6FIyBtfxVqd3c9sDa1aam2etmbpe32GT0oQilr3EQ
eBh9MPCSLHtfIT2MCmUFx9y+ygCRsO1hMSnlQpVOKt4HbU+3Bg/iV8eBQlAsYuzK
BWzvmMM95uhiB0l/7QRjse71tG1kOCc8b6/LpQms2kSmJ0x3JEF9FRscACdE11ek
mdqTbY0SEw+LEGg7yECg9O8iG4nRTsAbyb78GuXOGeoeEPAgyAF7Iwn488lSyb4f
zXvU66aSyP0kTWh7JgKK1iU7ecvUkhCFNtswb5CTuADlhA6ravkvaQk6fZAGRAx0
uV8mhKwM3+xktIKEsNvSPCjNSSsj+dN3Vv74Sbu8oeOZ+jT1/jP5yorRIsahpqIM
fGMYgdJ62A20MpDKdObdZsoPIN1KaKk6tuW2TjNO4HmcEDBpyIX7vi3Pkq4/+9VR
4lfJt2xqsL7XAAJCIuY122SZGLn9m9K6E+4irzOjmdow3CPSYuvUBvTMh2DyxBWU
zkVpmGkad4e+xpBelm1RV2jzWg0x7FAkr4DGCws3Pq6G0AhsOv4OpVmmvAxAlQOe
4keAD5gL9bCYywH33Y2ccCB42BNwd6HmiDBsmli++szUoOlFUjQIKQ/6S2H+pw/S
UHQ+hpji7ZS9AH4oeHIG
-----END CERTIFICATE-----
''
];
};
}

View File

@ -1,69 +1,66 @@
{
pkgs,
config,
lib,
...
}: let
cfg = config.mediacenter.kodi;
in
with lib; {
options = {
mediacenter.kodi = {
enable = mkEnableOption "kodi";
};
};
config = let
{ pkgs, lib, config, ... }:
let
user = "kodi";
starter = pkgs.callPackage (
{pkgs, kodi-standalone, ...}:
pkgs.writeShellApplication {
name = "kodi-launcher";
runtimeInputs = [kodi-standalone];
text = ''
#!/usr/bin/env bash
while true
do
ping -c1 svartalbenheim.odie.intranet && break
sleep 5
done
while true
do
sleep 1
kodi-standalone
done
'';
}
) {};
in
lib.mkIf cfg.enable {
services.cage = {
inherit user;
enable = true;
program = "${starter}/bin/kodi-launcher";
};
users.users.kodi = {
name = user;
isNormalUser = true;
extraGroups = [
"users"
"audio"
"video"
"disk"
"power"
"plugdev"
] ++ lib.optionals config.hardware.raspberry-pi.enable [
"i2c"
"spi"
"power"
];
in
{
services.cage = {
inherit user;
enable = true;
program = "${pkgs.kodi-standalone}/bin/kodi-standalone";
};
users.users.kodi = {
inherit extraGroups;
name = user;
isNormalUser = true;
};
sops.secrets = {
"kodi-advancedsettings" = {
owner = user;
format = "binary";
sopsFile = ./secrets/advancedsettings.xml;
path = "/home/${user}/.kodi/userdata/advancedsettings.xml";
};
"kodi-passwords" = {
owner = user;
format = "binary";
sopsFile = ./secrets/passwords.xml;
path = "/home/${user}/.kodi/userdata/passwords.xml";
};
"kodi-youtube" = {
owner = user;
format = "binary";
sopsFile = ./secrets/youtube.json;
path = "/home/${user}/.kodi/userdata/addon_data/plugin.video.youtube/api_keys.json";
};
};
networking.firewall.allowedTCPPorts = [ 8080 9090 ];
environment.sessionVariables = {
WLR_LIBINPUT_NO_DEVICES = builtins.toString 1;
};
systemd.tmpfiles.rules = [
"d /home/kodi/.kodi/temp 0750 kodi users -"
];
environment.systemPackages = with pkgs; [
kodi-standalone
#kodi-standalone
alsa-utils
/*
(retroarch.override {
cores = with libretro; [
snes9x
@ -71,6 +68,6 @@ in
nestopia
];
})
*/
];
};
}

View File

@ -0,0 +1,24 @@
{
"data": "ENC[AES256_GCM,data:qyQMBXvTmNZ105SBtOUvmefsBwiTsyf4v/yhSqO82aFhnKOAy3vrU9ePpJW70HX0aSpflvOfF7rHKOd9Qwy+HDaztNU2LB+3rXI06WPawrXgDVMjGTJrfK/eA1nE1imf1KWwZpgtD3vzmOHEaAzJpNXmqwAg4+941AwUdT3uV3+lnEChOgO+XQFQrU9nhRCixpnh/us/r/Il9csnq45jyIP6rXWJsYk/ORumrsI9SZVKqw6ObxVgdOCypJRGcOS3DXHJyv8ptqsXQJCp/HLh9jgXdg8ZvlhLCnklknsGHjrmIJTwnNKbBE8AKUdOu91hGDDDyPTy636TzSa8mJ8YMDgEQcy/vMd6d9HeujWajwJ/j7SmSx5yKV0B1JO2ZJYSbb83anczysWqMdeuCRMBPQlL5MpDQYKVq0Oe9mKxjJFAaLt9t1iODIJTcwvIvV2nKIrXE4k+rCSteBOj1tAe0stk1q7X+zM1lsW4nu5CbbKtExVI9yTfANn5Bpiu6p/thotZOCp54T3PLJyqn2LAszGTVV+PafrZBIlvYO1VRMP+7YbPxq9PlnSinBYmExDvgmmPImLTgBI+v2/I+fFkcEWdgTu6XbnOqY5dkNIbX1vzGzemSbXEwoNWGOrJ93oRrcIg9BRJEMTx//u3xsl1r2bgInYOJpcv9xwbkYILoYmcWXpKteu/FGmvL7vmyyIQbDqXuS15UVjmCdvdbrSWnI86eKK6Mc6gzKQ97MpYhtGRix/k+1vlVaKID+MUkK67Xdbu4yKvKnTwjqfXgGC3iCfIF74aUP35V3kXFp52P3pjjxLxMg7GG5vagJ/6gP11E7XdKF3W35r62yTLZWYFP7O6qhHdFjsQrRd+52JjbHrFVsjAJ5ES4E/tRsmBrnJtBbFTYHuYGtp5g64YTSlhyltnoxAAd4ZJ4jpqqtyqYNwuJjVFSMPE2BpnB5cD9EDeiIiDWftWn71QyZBQc3EGxdVoeQvM9ZPd88lmlJJcr5KFIXbbC1OSp5FGXtcNwanIzc8pGh/Zlwq+NS7SpPIvYuCpptwTMx1nb/JnFoWFSNqFjdi6XxYJjnD08gb+N1B1X4KLC0A8AFojVEFT4BhOFfCp10/rUxBJepL06IKGztErtmpnXkNwfkbzyhmbtpajAUJrSm4M64WiU4Qs2G07LM01rtWDB9pwt7E7bTAcjxdXeufIn4Qu10t4hQCxA8MJeurv9FpWtb8qTA7NzgwH86dBV5u7bJ8QY8tB0TNClqdzdkBFt76S6FBgC/8wKbJ+dTAmSiS4K8mNJc6bsAZ1hI+iVQSHZEtVv4tCvDGkmUZDepZn6tjFTDeQQejvcW6ysw/OotTUntTigyRKG5NaL79Gu619aepOR4X6FhRmSMiGaDeMM/30rP0SrdNcBL8CbQ9fTPqmaK8EQdGHqCnH0W+OwswuCvKpbIF1kJsLjsBqLBKAej9lPgBJJ25R/yer5tAKyH8lL12U93UqB42mDdznbTKcFw0aXbXjY7hla5joHgdPE2oVZ/WVVsV51PRq2iv9bHpDViVnTywfBq9cN0JJ0BTWQyWd8ZfKiCrMYAGar4RR+Rhrw914wkVpwqrE/lVVU8PmGGLhrPo8lNXaZil1gRi8aemWfU6QFm6nb0hBh3W0RLZx4tAkJg7ro3jeoipLKsLqtJEV0R1/ZwPBSAlDd+sY2zpYcyUigrufwjI+J7D0IjifwmicoxB9wdtAZcBdVZ6a6rWiEBtQvOYY1TlBgsB1nHGM/bxQaxELTVL8ZKV9dHHapcV/37a2tkRwWDUj5CNjueZY9gQ4WwJ4a4N7SDlCEs+/EMTghnG0wcyUQz17EsIGGskTZpKNUse0Uw0+HCUAETMRACIy6uxLyNzWeR+PMV3Rr3inqFeL6RUhKs2XOC1PO2bPdzme9vkYPtLopxTO7rlBl2goW9btR9D5LgS4/U8RTLjh4SHPpLPgtBBCY/Q2OzmsIdGjNSxIM+Pkw+Ir/nI0kqXPp/Uny9nHJYGK8qIp2B4yZuAv/Qq1D2vH1Py6tl32O1orxoiplOP0Y1y4sGO5hMgytPXUyqTiVAn5Q3gYo/BqEF1Sj+yyyN2TQQDVExqPX0E/Q2qBDPzoSDKMNGjbNY40s/foRJJRHUxA+2mkun/n/rIIHXvNNTjZgsw8GhfjlqG2JbGjPsLO1fFfStELatijNwXxwMZSi3rCEFpPVZynNNetB0+NwWhZIOGf4Ypb9MkoK/zmi/0+NWfXFD3mda66Y+lkBqe/3PernjCKuGy4InO+MfbKG0hTvIocW+384beWAe+6khSjKatmlc1zFod1FPL6bw0H1DzQVn03H9pSrS9W9XEr9nOMxl9VMw4VboBGSq/32bd+gg03z21zDLirbew3LYx16Y/urWcoy/CloohTm9fT81kNk2IMx3ozJoiWE9DzAlQIi/IqljwvPZvqvTivse5Y+xK52i8J1RixtviECJ9qFaApKI6iZjNDvIpzfmMVfl5WnRhVCyTaBTGO2R18pzGR/qjcP3htWVnoii3OJAn1bgISNZcQmiTuHLQ0niyR8phakw9rOeH6gZSMp921i/Qh9cEL36QQ+m+/Zuzf3eMmQcdij9EDQJ6xG2TGMjaB+zRnKZBzA0tHQehgQzwpTRZj/Xbu3J+MJ8eYoPBQVYCX02405ba6S71AxpIrAANnCfGm3ESwzFlRZQ76KhvAeYgsVhcS1FQAJFTSwJqtNRcrIInkbwkQNULbEHduNJdZZva+wC2BnTy23zy432RSYalKr0KYlm2Ex9aj8+dBfWe0kiEoXPe+5KfsrcP0muz5HspedZuvzoj5ZkVJUcVNrk/6m/AVWzH1rWhj1IMTlQuNT76ywbA0qUl+4WvT8r/Fir0NUA0f/YGUU32Y13Oenha4hxxSPtRTK5UB/ZO+itHm4zE/aPqSq/1dYMeGF4qGaRFgz8BGOfeSnedWd+m4CnditkfgXPkeWpEy0NW+aIUb/ZD1dlw/law5aG8cpJ3iv8K6ZlLYvUZTDmFxikERcGnbFZe5R1aPdAcMqSx95SLgLNUT/22OAFFDVt+vRNpmge1ev+q2sZYmqI8TL/XnUIBTJkhu84eJN4qxBFmmhYdQ7sLTpmeuj3fENJ2pef5KTdu2oru/JRT5KgRFKIYp82bbCMG+cpm/OjfRq+t13NNnA3UwF7cO1bYXXqFBOmCzP1tknKL1X5xYLnHziSNj763ff9WttiwdhvAHVuRzl0e/HKuEb8ltpzBYeEtBT6n3p5KdUYTrD/K6IYME/uCav8jg0oY2jLFFSyf3oYz9AHxnj9I4IrlGdvSWIDcjmEOYBITaRgl+cJE+hA==,iv:USf8krJr661dSsUoa6lkY1jpaAx1NyNhsqE4CPOEG84=,tag:S3RN8GCzzNFghUCjSC7iRQ==,type:str]",
"sops": {
"kms": null,
"gcp_kms": null,
"azure_kv": null,
"hc_vault": null,
"age": [
{
"recipient": "age1ac27ksfvxydn20g29s09j66mag45vee3cgk5namsnup5e4l9v3sq7kypg7",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBobUdZR084dUhqN3BSSFJH\nWnh2MEZSRHpaZVlpdVlHcnhBeUVxMnpOTUJNCmVMOHpoVmVwUFk4QVg4MXRyZlBo\nTzl1TlpWQ0RaY3o3UFplWmp4TTZEOFEKLS0tIDVVUFkzbUtDVnFlQlZ4SmVHNm5W\nMHJaNUxMUzFtV0VNWjhqdmlJMmZQc3cKaUCJoL1eYr3NFCWpZJrvlkB/4Sap/PWD\nvGj2KA4uq8yQH6IjbVKqivzJO4kv4e3hE1O1sIpv7TZbKRaiQLyi5w==\n-----END AGE ENCRYPTED FILE-----\n"
},
{
"recipient": "age19wm2y96tr02uz20yuqskvhwltygf47feenf7zuxqhegtqfu4le8q9adqdd",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBBMFhranA3MVdVL0VvWi9B\nVDZUS3BjSnp6UWg2a2lWZndTSFRyTjhncnhVClV2aUNlZTdWVFFHa1VqTmdKL1Bu\nanM1SXAvRUdDMnlhMDgwMG42N2JCQUkKLS0tIHJoOUIyVlBKV3JPK1h1UUpSQUNp\nZVNETm5oUWtFZ1pTcld4TVY3cEhtV0kK3PiUq7FUOYnB+m/Hd5pmNZx2V8pxEhHE\nlslxOYOW+McZlAMlviZslYl0syDlU5ghcMiQ/vuYbMeHijlFJhxN+g==\n-----END AGE ENCRYPTED FILE-----\n"
}
],
"lastmodified": "2025-01-10T00:22:26Z",
"mac": "ENC[AES256_GCM,data:1RWXwQJAonV3/OzZVIshUIDjER3lbv7uolTg+2jASpbpNGfSfVC/V40DkLu6AFXK2yDSZbsd1x4PmXL1R6uOPvfYDqoYposCKgbOtVFoY+X4jWttoA62rbwLo6WSiMC3h2tbsc3UjDBIU4S9Kt/WntPKc7P5dh2fYDo3m3lYU70=,iv:9dCC9TGffKrR7BlfWP8idb8AaEb/OMeL4xrsOTvkWQA=,tag:XPoGwVi33x8PLaYqyYdYdA==,type:str]",
"pgp": null,
"unencrypted_suffix": "_unencrypted",
"version": "3.9.1"
}
}

View File

@ -0,0 +1,24 @@
{
"data": "ENC[AES256_GCM,data:M9gOTRJvjxukwifouVoXTIcZhl2jm9xgATC/Zyo3TATDQkdtcJlzOLA8BzvVmfwYooJBdbp7WQMaxHhRuTH7zEDPv0QPvyTPc1PKqdyMsfDd20Bi0ghPIRTlXRxFOZKKUrOtWNfVx4fAYey54GvZbg18JpdmAtKFtfQtmUko7Uy/S6Ko/bQSsOofhBuCCej6XYEVst7Ukr2V4yO8GyM5U7LAolEGGhGhPZi63B1yLcNXCMeI,iv:htvA4uWnmvwA6dJt2mFf3jDuazjK8NiXakhD23dWaZE=,tag:nAI314LRj0rOEXCvEJoJuw==,type:str]",
"sops": {
"kms": null,
"gcp_kms": null,
"azure_kv": null,
"hc_vault": null,
"age": [
{
"recipient": "age1ac27ksfvxydn20g29s09j66mag45vee3cgk5namsnup5e4l9v3sq7kypg7",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSArOGMraTZNb1h5QkJpQnFT\nRDArOXZYSmduUjZJQi9sSVdabmlmTUtaOWlZCi9EY3BheWtRbnk5b0dCMGZ3U0ly\neWhuWUNOL3Z4dkoyQ3E5WVNucitZaDQKLS0tIEJOY1ZWdDExWTBsQ2pDaWhaZFRw\nVEVhNm9ocVBPOXJQY3hxMGpJbFJ6L3cKP1Z+nMtXZgvpfG7u2dht/7yc+oquUNdl\nzSFsxhLNFuvt1EvZ4ybccSoniR1ziu5dPVpgmPO4sA84U8rc1L4Qmw==\n-----END AGE ENCRYPTED FILE-----\n"
},
{
"recipient": "age19wm2y96tr02uz20yuqskvhwltygf47feenf7zuxqhegtqfu4le8q9adqdd",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBXY2Z3V2FuNmxRUGkreXRx\nVFY3eDRWOHlVb2h3eEIwNDlQV2hYLy9QREVJClhRTHJNUFNMTnhFUUxtME8xamZW\nVFdQSVpWZ1VFVlAxNmt6WFVTL1Jsd00KLS0tIFlOeEpmenc0dXQwTVJMZzFvZXVm\nbzVOWi9XMStJalR6b2o1d21tWERLTmsK4/XLQpk8wr3DX/D5g6IQfQdDtORBJBBx\nFdXkY7SjyebcUtZUY+qfAI3PAdbIlp9dCad05gTadQ0SDqQ4J+Xbwg==\n-----END AGE ENCRYPTED FILE-----\n"
}
],
"lastmodified": "2025-01-05T05:39:59Z",
"mac": "ENC[AES256_GCM,data:hXVntaa7Tq2A4y5wp9PicERTFjeDGDduxBd321FgRgvKO+9KG6jCzLGUX+dPRQtwM2A/DqRc74yxrorDyjpg5w4JVvfgFWBA+m2Jw6ZG5K/64/VLJgaV/c5dhmaBnyXfCly3441tZuwaocGNbYt2RSHI/izcN4f91iCeTzVFSA0=,iv:qFZ4wGPzQBmL/pZLqy/TDdKobbeqHf+vm6BPSLDsD9w=,tag:7K930Ym3/TbotLioWv4K5g==,type:str]",
"pgp": null,
"unencrypted_suffix": "_unencrypted",
"version": "3.9.0"
}
}

View File

@ -0,0 +1,40 @@
{
"data": "ENC[AES256_GCM,data:2wfDxlxAfwClaj05cKIUUW6hDhFhzcaJiPhxfGEYv/O2gAaqe2vkKhUiFU6ZivbMVx9xYFlgGvVPoBggZ9zjqzM5jcC9ggDtX2U11NAk6YEcEgrkviUTK0ddaIDsLIaSu+ih1TzYFpMvprH9jyLsR5aGxwykq21wKw61DamSfw9uJ6fzpEldNmTzzHPPUEfKmV/7NE9Tg4s0CzeQhh4GUdvF36JQfKHeDlqaW+L+u5C/HZld/EQ+71m/egwjb3+bh/iCUAO4iGXmmBnu/IM5tR0WSiR8CbwzZsoW9hE9d5Fwfbeu+kyH7Rdgd/VPXTeKyb2c47GeuEt8h7YK6PRvySorcDCCSHP5CbordQHZfsX+hWl47rb9I1dfpYgKHAU=,iv:wYyVXmb80A70Wch4dy/tu4faAjp/DTnwPGXQJxvi3/w=,tag:Gjdr7HkP3CA6em2KEpIKlA==,type:str]",
"sops": {
"kms": null,
"gcp_kms": null,
"azure_kv": null,
"hc_vault": null,
"age": [
{
"recipient": "age1ac27ksfvxydn20g29s09j66mag45vee3cgk5namsnup5e4l9v3sq7kypg7",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBPbkFCVzhxTUFEUVRjelFy\nU01XV1JIS2s5Nnp2dFdEQVV5SUppelZiQVJ3ClNvNjNsQ1ZOV2w3K05kbEZnZU9l\nYjluWGFVay9qc2JSOWxMb21keCtjTHcKLS0tIGowMGk3b2hrZEdrQW1Mdmg4OU1R\nS25sRC9IS2diZDlQcXU3b2VzTzV2dW8KvPL8PE2oUJu+bU8BdbHt50H+Vijva1AG\nB84+9RgcgqLBpiv0QelQP6/zZjOvoZXMr8lmyrgD6ZZ36zGAjCAWzA==\n-----END AGE ENCRYPTED FILE-----\n"
},
{
"recipient": "age1nnx85asl5nmxmurr3g8mazcsggvtazt0hpauw42l7v4k3de74s6s649w0k",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBJdTROeUd6Ym9JTlVRQlFY\nV3U5bXNxMlJhb2l5bFpNNnRzVVZMUFpkMDNBClAwNXIyTjF6eXlJc3ltT3FTMjEz\nRzNhYjFtZGJNR283eEJJQ2tuMVBMNWMKLS0tIFV4dzh3cW1vYU0rYk1BTDFuWWll\nVm5sRVFZVjJzaU5yOG02U1NBWjNGSVkKTTGhAFS+gDX9pULHLUvW2RKycfVoK0Pj\nku72ftVZsfMrd6mQkCQKXKQlAtopL/lF1VPYF+F6wgquK8W5RyU/zQ==\n-----END AGE ENCRYPTED FILE-----\n"
},
{
"recipient": "age19wm2y96tr02uz20yuqskvhwltygf47feenf7zuxqhegtqfu4le8q9adqdd",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBIVnRCajZmZzBLaHpxRldO\nai9MdFRxaFIzRnZOVmVkYXR1ZmZib1RkNzJjCmp2RFhpcDFxcEdLWVNUM3pqL0tQ\ndVd5RnJmU1ZhUlh1Y2dvMWV2cXoybHMKLS0tIDBWajM5VWVsZzYzMThqZEZYMnlF\nQklXZldEbWxuNGl2a21CSnVvSTNFbm8KMR+7lah1KaBnt4nitDel5Tiyj9qy1pRp\nm3rkYXzFsy9frZyjG36flH7BLUwMaFvwE2bdBpmJgqKCSZlEMoxIiw==\n-----END AGE ENCRYPTED FILE-----\n"
},
{
"recipient": "age16vz5m0stsh39ajn3zhkzj7x7zfgexlx3zzk2k9vrrrsn78tyzd2qmjkt2a",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBmUkN5cnhyT2lkNS94V1h6\ndGRkbTd6L1Y3VEc0VU50cVhYWUVUWjNNSkZ3CndsUXR5SnJ3VnpucWNEQTEwekZC\nZTVHZ04wZ01VNTJmMWM5MVRoWXIwa3MKLS0tIGp5TEhnTjMyV2haclUrdW43MktM\nNzFlekg3eFc3SkkwaHBmWHVKUERtaWMK5FwD0OE4Zo3qrgMGDkWZYO7ZIGCdRGcx\nOj5kkW/wHS/+UJtmnJVYJZYpodOCSsRXhXNvLOA3YkvqSgFc9mCa4A==\n-----END AGE ENCRYPTED FILE-----\n"
},
{
"recipient": "age1j8wprrs23m46h7xl26su3k6uztnvza5k89c9uk9rwwzefv8a4yvqpscxun",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBvcjNldG5QWUhlU08zOGVo\nT2kvQnNMam1iSmtPVUtDamVzUFJmb25neEJZCmhWWEwydUhFbk9LRXEwQjI0LzRM\nWkNiaVR0WldyS0NVSVh2ckI2RW1nM0UKLS0tIG5aYVZaN1ZVbzczT3Y1dDR0UWFN\nQlNYdE1hZGczTk5IamhpMzhlb2FVTEEKtS4EyNv4nhzIobMf1mqZUuUDWulk8vK1\n4kEHwS5tfV3ZbDF15fRoSnnk9nO8SANntB5ftfG+d3XgP2QWBTS5tg==\n-----END AGE ENCRYPTED FILE-----\n"
},
{
"recipient": "age1jerjsfhnenzzqtnuxez8g79kc0xxulxyhu2evp9p6gjyswu2syqskgt62v",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBBWGhoUHJaWWtPZTZlY2pw\nZHg2S1ZlaU4wdVRKajVJL3VOblFXMFlCdHh3ClRJeWVYNUhVYWl6QXdpNlRBb2sz\nc2VrSkZSSGxtZTJ2bDNrZTdCOFUzcDQKLS0tIFdmUk9Ia3ptVkZlc0IzZ1Mrc2lN\nSUZMZXdkVXVobWhFaU1XWHNha0w5UmMK/86m63U4w4+/EM6u5eWhI71iFEEosdUS\nwGVSi1WXgx6YWF22TK9TuhaH5YfyUjOHH2ZtfT57cDk739sMdYnqhw==\n-----END AGE ENCRYPTED FILE-----\n"
}
],
"lastmodified": "2023-11-20T12:29:43Z",
"mac": "ENC[AES256_GCM,data:HgDwUqtV3qljKSq4Jds+57NX6unOmE7wuyDJoNkSzecNNSygXzM8qyRJwwFVfZUUpNLovNaorlHfCiDAK5y3DsbsIDabCSbI0Ch8nR8JxAFhJdKz7EzIY7mOORLPsPPb9wQ3gAC6TW1qYxEzUUrs4gUPGknQAZTlglriDC3ljtU=,iv:BpBV7/OE4v0pwYUAlrKIYDtB8jz2krnMSvd3TE299FI=,tag:NQaHzZUi6uh0l0bcqhyowg==,type:str]",
"pgp": null,
"unencrypted_suffix": "_unencrypted",
"version": "3.8.1"
}
}

View File

@ -0,0 +1,6 @@
{
services.deluge = {
enable = true;
web.enable = true;
};
}

View File

@ -0,0 +1,8 @@
{inputs, ...}: {
imports = [
inputs.raspberry-pi-nix.nixosModules.raspberry-pi
];
nixpkgs.overlays = [
inputs.raspberry-pi-nix.overlays.core
];
}

View File

@ -0,0 +1,57 @@
{lib, config, ...}: with lib; {
services.dashy = mkIf config.services.dashy.enable {
virtualHost = {
enableNginx = true;
domain = "dashy.odie.home.arpa";
};
settings = {
pageInfo = {
title = "Dashy";
};
appConfig = {
theme = "Material-Dark";
faviconApi = ["local"];
preventWriteToDisk = true;
};
sections = [
{
name = "System Info";
icon = "fas fas-rocket";
widgets = [
{ type ="system-info"; }
];
}
{
name = "Media";
icon = "fa fa-headphones";
items = [
{
title = "Mediaplayer";
description = "Jellyfin";
icon = "favicon";
url = "https://jellyfin.odie.home.arpa";
}
{
title = "Filme";
description = "Radarr";
icon = "favicon";
url = "https://radarr.odie.home.arpa";
}
{
title = "Serien";
description = "Sonarr";
icon = "favicon";
url = "https://sonarr.odie.home.arpa";
}
{
title = "Indexer";
description = "Prowlarr";
icon = "favicon";
url = "https://prowlarr.odie.home.arpa";
}
];
}
];
};
};
}

View File

@ -1,6 +1,10 @@
{
imports = [
./nginx
./searx
./open-webui
./postgresql
./dashy
#./binary-cache
];
}

View File

@ -0,0 +1,17 @@
{ config
, lib
, ...
}:
with lib;
mkIf config.services.open-webui.enable {
services.open-webui = {
host = "0.0.0.0";
port = 8080;
environment = {
USER_AGENT = "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:131.0) Gecko/20100101 Firefox/131.0";
};
};
networking.firewall.allowedTCPPorts = [ config.services.open-webui.port ];
}

View File

@ -0,0 +1,10 @@
{ config
, lib
, ...
}:
with lib;
mkIf config.services.postgresql.enable {
services.postgresql = {
};
#networking.firewall.allowedTCPPorts = [ config.services.searx.settings.server.port ];
}

View File

@ -0,0 +1,39 @@
{ config
, lib
, ...
}:
with lib;
mkIf config.services.searx.enable {
services.searx = {
settings = {
server = {
port = 8000;
bind_address = "0.0.0.0";
secret_key = "sow4ruu4phaij7aich3wohshaec0iShieyieM3Shooch0Quaileeyu5edienaifa";
limiter = false;
};
ui = {
use_static_hash = true;
};
enabled_plugins = [
"Hash plugin"
"Self Informations"
"Tracker URL remover"
"Ahmia blacklist"
];
search = {
safe_search = 0;
default_lang = "";
formats = [ "html" "json" ];
autocomplete = "duckduckgo";
};
};
limiterSettings = {
botdetection.ip_limit.link_token = false;
};
};
networking.firewall.allowedTCPPorts = [ config.services.searx.settings.server.port ];
}

View File

@ -0,0 +1,21 @@
{ inputs, ... }: {
imports = [ inputs.sops-nix.nixosModules.sops ];
# This will add secrets.yml to the nix store
# You can avoid this by adding a string to the full path instead, i.e.
# sops.defaultSopsFile = "/root/.sops/secrets/example.yaml";
sops = {
defaultSopsFile = ../../../secrets/general.yaml;
# This will automatically import SSH keys as age keys
age = {
sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ];
# This is using an age key that is expected to already be in the filesystem
keyFile = "/var/lib/sops-nix/key.txt";
# This will generate a new key if the key specified above does not exist
generateKey = true;
};
# This is the actual specification of the secrets.
secrets = {
hello = { };
};
};
}

View File

@ -12,7 +12,9 @@ in
defaultUser = username;
nativeSystemd = true;
useWindowsDriver = true;
wslConf = { network.hostname = hostName; };
wslConf = {
network.hostname = hostName;
};
};
};
}

View File

@ -1,7 +1,6 @@
{
imports = [
./yank_highlight.nix
#./remember_cursor_position.nix
./set_conceal_level.nix
./filetype_options.nix
];

View File

@ -4,7 +4,12 @@ let
pattern,
indentSize ? 4,
expandTab ? true,
spell ? false,
}: let
spell =
if expandTab
then "true"
else "false";
expandtab =
if expandTab
then "true"
@ -19,6 +24,7 @@ let
setlocal.expandtab = ${expandtab}
setlocal.shiftwidth = ${builtins.toString indentSize}
setlocal.tabstop = ${builtins.toString indentSize}
setlocal.spell = ${spell}
end
'';
};
@ -39,5 +45,9 @@ in {
expandTab = false;
indentSize = 4;
})
(mkFileTypeOptions {
pattern = ["*.norg"];
spell = true;
})
];
}

View File

@ -1,35 +0,0 @@
let
group = "RememberCursorPosition";
in {
autoGroups = {
${group} = {
clear = true;
};
};
autoCmd = [
{
inherit group;
event = "BufRead";
callback = {
__raw = ''
function(opts)
buffer = opts.buf,
vim.api.nvim_create_autocmd("BufWinEnter", {
callback = function()
local ft = vim.bo[opts.buf].filetype
local last_known_line = vim.api.nvim_buf_get_mark(opts.buf, '"')[1]
if
not (ft:match("commit") and ft:match("rebase"))
and last_known_line > 1
and last_known_line <= vim.api.nvim_buf_line_count(opts.buf)
then
vim.api.nvim_feedkeys([[g`"]], "nx", false)
end
end,
})
end
'';
};
}
];
}

View File

@ -1,14 +1,14 @@
let
group = "YankHightlight";
yankHighlightGroup = "YankHightlight";
in {
autoGroups = {
${group} = {
${yankHighlightGroup} = {
clear = true;
};
};
autoCmd = [
{
inherit group;
group = yankHighlightGroup;
event = "TextYankPost";
pattern = "*";
callback = {

View File

@ -1,4 +1,4 @@
_: {
{ inputs, pkgs, ... }: {
imports = [
./colorscheme.nix
./options.nix
@ -7,8 +7,77 @@ _: {
./plugins
];
config = {
viAlias = true;
vimAlias = true;
performance = {
byteCompileLua = {
enable = true;
configs = true;
initLua = true;
nvimRuntime = true;
plugins = true;
};
combinePlugins = {
enable = false;
standalonePlugins = [
"nvim-treesitter"
];
};
};
#package = inputs.neovim-nightly-overlay.packages.${pkgs.system}.neovim;
extraPackages = with pkgs; [
fd
ripgrep
iferr
fswatch
reftools
libxcrypt
xz
icu74
nixpkgs-fmt
python3Packages.six
asm-lsp
];
extraPlugins = with pkgs.vimPlugins; [
{
plugin = go-nvim;
config = ''lua require("go").setup()'';
}
{
plugin = nvim-dap-go;
config = ''lua require("dap-go").setup()'';
}
{
plugin = telescope-dap-nvim;
config = ''lua require("telescope").load_extension("dap")'';
}
{
plugin = neorg-telescope;
}
/*
{
plugin = pkgs.vimUtils.buildVimPlugin {
name = "guihua";
src = inputs.guihua;
};
}
*/
{
plugin = pkgs.vimUtils.buildVimPlugin {
name = "luavit-meta";
src = inputs.luavit-meta;
};
}
{
plugin = pkgs.vimUtils.buildVimPlugin {
name = "lazydev.nvim";
src = inputs.lazydev;
};
config = ''lua require('lazydev').setup({library = {"luvit-meta/library"}})'';
}
];
};
}

View File

@ -1,19 +1,5 @@
_: {
keymaps = [
{
key = "<leader>e";
action = "<cmd>Neotree toggle<CR>";
options = {
silent = true;
};
}
{
key = "<leader>ff";
action = "<cmd>Telescope find_files<CR>";
options = {
silent = true;
};
}
{
key = "<Space>";
action = "<Nop>";
@ -53,6 +39,22 @@ _: {
expr = true;
};
}
{
key = "<M-h>";
action = ":vertical resize -1<CR>";
}
{
key = "<M-l>";
action = ":vertical resize +1<CR>";
}
{
key = "<M-j>";
action = ":resize +1<CR>";
}
{
key = "<M-k>";
action = ":resize -1<CR>";
}
{
key = "<M-K>";
action = ":m -2<CR>";

View File

@ -1,10 +1,10 @@
{
pkgs,
lib,
...
}: let
{ lib
, ...
}:
let
indentSize = 4;
in {
in
{
options = {
programs.nixvim.ai = {
enable = lib.mkEnableOption "AI functions";
@ -50,7 +50,6 @@ in {
mousemoveevent = true;
timeoutlen = 300;
list = true;
spell = true;
spelllang = [ "de" "en_us" ];
helplang = "de";
laststatus = 3;
@ -59,39 +58,7 @@ in {
signcolumn = "yes";
foldlevel = 999;
};
extraPackages = with pkgs; [
fd
ripgrep
iferr
fswatch
reftools
golines
richgo
gofumpt
govulncheck
mockgen
ginkgo
gotestsum
libxcrypt
xz
icu74
alejandra
vscode-extensions.ms-vscode.cpptools
];
extraPlugins = with pkgs.vimPlugins; [
{
plugin = go-nvim;
config = ''lua require("go").setup()'';
}
{
plugin = nvim-dap-go;
config = ''lua require("dap-go").setup()'';
}
{
plugin = telescope-dap-nvim;
config = ''lua require("telescope").load_extension("dap")'';
}
];
extraConfigLua = ''
vim.opt.undodir = vim.fn.stdpath("state") .. "/undo"
vim.opt.backupdir = vim.fn.stdpath("state") .. "/backup"
@ -125,13 +92,10 @@ in {
'';
extraConfigLuaPre = ''
local colors = require("catppuccin.palettes").get_palette("mocha")
local pickers = require("telescope.pickers")
local finders = require("telescope.finders")
local conf = require("telescope.config").values
local actions = require("telescope.actions")
local action_state = require("telescope.actions.state")
vim.opt.runtimepath:prepend(',~/.config/nvim')
vim.opt.runtimepath:append(',~/.config/nvim/after')
local colors = require("catppuccin.palettes").get_palette("mocha")
local pickers = require("telescope.pickers")
local finders = require("telescope.finders")
local conf = require("telescope.config").values
@ -193,6 +157,10 @@ in {
dap.listeners.before.event_exited.dapui_config = function()
dapui.close()
end
require('dap.ext.vscode').load_launchjs()
require('lspconfig').asm_lsp.setup({})
'';
};
}

View File

@ -0,0 +1,39 @@
{ lib, ... }: {
plugins.avante = {
enable = true;
settings = {
provider = "ollama";
vendors = {
ollama = {
endpoint = "http://10.0.20.10:11434/v1";
model = "gemma2:2b";
temperature = 0;
max_tokens = 4096;
api_key_name = "";
parse_curl_args = lib.nixvim.mkRaw ''
function(opts, code_opts)
return {
url = opts.endpoint .. "/chat/completions",
headers = {
["Accept"] = "application/json",
["Content-Type"] = "application/json",
},
body = {
model = opts.model,
messages = require("avante.providers").copilot.parse_message(code_opts), -- you can make your own message, but this is very advanced
max_tokens = 2048,
stream = true,
},
}
end
'';
parse_response_data = lib.nixvim.mkRaw ''
function(data_stream, event_state, opts)
require("avante.providers").openai.parse_response(data_stream, event_state, opts)
end
'';
};
};
};
};
}

View File

@ -1,16 +1,26 @@
{
plugins = {
cmp-ai = {
enable = false;
settings = {
provider = "Ollama";
provider_options = {
model = "codegemma:2b";
base_url = "http://10.0.20.10:11434/api/generate";
};
};
};
friendly-snippets = {
enable = true;
};
luasnip = {
enable = true;
extraConfig = {
settings = {
enable_autosnippets = true;
store_selection_keys = "<Tab>";
};
fromLua = [
{paths = ../../snippets;}
{ paths = ../snippets; }
];
};
lspkind = {
@ -69,11 +79,12 @@
'';
completion.completeopt = "menu,preview";
sources = [
{ name = "luasnip"; }
{ name = "nvim_lsp"; }
{ name = "nvim_lsp_signature_help"; }
{ name = "nvim_lsp_document_symbol"; }
{name = "codeium";}
{name = "luasnip";}
#{ name = "cmp_ai"; }
#{ name = "codeium"; }
{ name = "path"; }
{ name = "buffer"; }
{ name = "treesitter"; }
@ -201,6 +212,14 @@
];
};
":" = {
completion.completeopt = "menu,menuone,noselect";
mapping = {
__raw = ''
cmp.mapping.preset.cmdline({
["<CR>"] = cmp.mapping.confirm { select = true },
})
'';
};
sources = [
{
name = "path";
@ -212,12 +231,13 @@
};
"?" = {
mapping = {
completion.completeopt = "menuone,noselect";
completion.completeopt = "menu,menuone,noselect";
__raw = "cmp.mapping.preset.cmdline({
['<C-b>'] = cmp.mapping.scroll_docs(-4),
['<C-f>'] = cmp.mapping.scroll_docs(4),
['<C-Space>'] = cmp.mapping.complete(),
['<C-e>'] = cmp.mapping.abort(),
['<CR>'] = cmp.mapping.confirm({ select = true }),
})";
};
sources = [

View File

@ -6,7 +6,5 @@
cfg = config.programs.nixvim.ai;
in
lib.mkIf cfg.enable {
plugins.codeium-nvim = {
enable = true;
};
plugins.codeium-nvim.enable = false;
}

View File

@ -1,4 +1,8 @@
{pkgs, ...}: {
{ pkgs, ... }:
let
debuggers = { c = "lldb"; };
in
{
plugins.dap = {
enable = true;
extensions = {
@ -9,15 +13,18 @@
};
adapters = {
executables = {
gdb = {
id = "gdb";
command = "${pkgs.gdb}/bin/gdb";
args = [ "--interpreter=dap" "--quiet" "--eval-command" "set pretty print on" ];
};
cppdbg = {
id = "cppdbg";
command = "${pkgs.vscode-extensions.ms-vscode.cpptools}/share/vscode/extensions/ms-vscode.cpptools/debugAdapters/bin/OpenDebugAD7";
};
lldb = {
command = "${pkgs.llvmPackages.lldb}/bin/lldb-vscode";
};
};
servers.codelldb = rec {
port = 13000;
executable = {
command = "${pkgs.vscode-extensions.vadimcn.vscode-lldb}/share/vscode/extensions/vadimcn.vscode-lldb/adapter/codelldb";
args = ["--port" (builtins.toString port)];
id = "lldb";
command = "${pkgs.llvmPackages.lldb}/bin/lldb-dap";
};
};
};
@ -28,10 +35,10 @@
{
name = "Launch";
request = "launch";
type = "codelldb";
type = debuggers.c;
cwd = "\${workspaceFolder}";
stopOnEntry = false;
runInTerminal = false;
stopOnEntry = true;
runInTerminal = true;
program = {
__raw = ''
get_program
@ -41,10 +48,10 @@
{
name = "Launch with Arguments";
request = "launch";
type = "codelldb";
type = debuggers.c;
cwd = "\${workspaceFolder}";
stopOnEntry = false;
runInTerminal = false;
stopOnEntry = true;
runInTerminal = true;
program = {
__raw = ''
get_program
@ -68,6 +75,7 @@
key = "<leader>db";
options = {
silent = true;
desc = "[dap] Toggle Breakpoint";
};
}
{
@ -75,6 +83,7 @@
key = "<leader>du";
options = {
silent = true;
desc = "[dap] Toggle UI";
};
}
{
@ -82,6 +91,7 @@
key = "<leader>dc";
options = {
silent = true;
desc = "[dap] Continue / Run Debug";
};
}
{
@ -89,6 +99,7 @@
key = "<leader>dC";
options = {
silent = true;
desc = "[dap] Rerun Last";
};
}
{
@ -96,6 +107,7 @@
key = "<leader>do";
options = {
silent = true;
desc = "[dap] Step over";
};
}
{
@ -103,6 +115,7 @@
key = "<leader>di";
options = {
silent = true;
desc = "[dap] Step in";
};
}
{
@ -110,6 +123,7 @@
key = "<leader>dO";
options = {
silent = true;
desc = "[dap] Step out";
};
}
{
@ -117,6 +131,7 @@
key = "<leader>dT";
options = {
silent = true;
desc = "[dap] Terminate Process";
};
}
{
@ -124,6 +139,7 @@
key = "<leader>dr";
options = {
silent = true;
desc = "[dap] Toggle REPL";
};
}
];

View File

@ -1,26 +1,52 @@
{
{ inputs, pkgs, ... }: {
imports = [
./gitsigns.nix
./cmp.nix
./codeium.nix
./dap.nix
./harpoon.nix
./indent-blankline.nix
./lsp
./lualine.nix
./mini.nix
./neo-tree.nix
./neorg.nix
./noice.nix
./none-ls.nix
./rainbow-delimiters.nix
./telescope.nix
./treesitter.nix
./trouble.nix
./vim-tmux-navigator.nix
./which-key.nix
./mini.nix
./todo-comments.nix
./neorg.nix
./fugitive.nix
./dap.nix
./lastplace.nix
./codeium.nix
./undotree.nix
./lsp
./notify.nix
./avante.nix
./render-markdown.nix
];
plugins = {
fugitive.enable = true;
gitsigns.enable = true;
lastplace.enable = true;
tmux-navigator.enable = true;
todo-comments.enable = true;
transparent.enable = true;
which-key.enable = true;
zen-mode.enable = true;
web-devicons.enable = true;
lazygit.enable = true;
colorizer.enable = true;
headlines.enable = true;
cmake-tools = {
enable = true;
settings = {
cmake_build_directory = "build/\${variant:buildtype}";
};
};
};
extraPlugins = with pkgs.vimPlugins;
[
vim-nftables
(pkgs.vimUtils.buildVimPlugin {name= "mcfunction"; src = inputs.vim-mcfunction; })
];
}

View File

@ -1,3 +0,0 @@
{
plugins.fugitive.enable = true;
}

Some files were not shown because too many files have changed in this diff Show More