Compare commits

...

23 Commits

Author SHA1 Message Date
e4e133dc9f
users/foo-dogsquared/dotfiles: update packages for Neovim "distribution"
Some checks failed
Build devcontainers / build-devcontainers (push) Has been cancelled
Cache outputs / build-custom-packages (push) Has been cancelled
Check flake outputs / check-outputs (push) Has been cancelled
Publish every Git push to master to FlakeHub / flakehub-publish (push) Has been cancelled
Build personalized bootstrap ISO / build-iso (x86_64-linux) (push) Has been cancelled
Build project site / build (push) Has been cancelled
Build project site / deploy (push) Has been cancelled
Update Firefox addons / update-firefox-addons (push) Has been cancelled
2025-01-24 18:44:14 +08:00
f8b8794ffe
users/foo-dogsquared/setups/research: add GoldenDict-ng 2025-01-24 18:43:38 +08:00
84631a8ef5
home-manager/suites/dev: update atuin default config 2025-01-24 18:43:09 +08:00
0fbaebb322
docs: document conventions for setting module arguments 2025-01-24 18:42:23 +08:00
1c8bf5aef1
nixos/profiles/desktop: update audio subconfig 2025-01-24 18:41:19 +08:00
34b5c39f04
users/foo-dogsquared: update Tridactyl config 2025-01-23 12:58:40 +08:00
909799e3f2
hosts/ni: set Nushell as default user shell for foo-dogsquared user 2025-01-22 13:36:31 +08:00
788880c1e6
flake-parts/setups: add specialArgs option for home-manager and NixVim configs 2025-01-22 13:35:51 +08:00
6cd3e355fa
users/foo-dogsquared/dotfiles: add Nushell dotfiles into the setup 2025-01-21 14:05:18 +08:00
963ee06e6e
users/foo-dogsquared/programs/nushell: update config 2025-01-21 14:04:34 +08:00
5838eeb364
users/foo-dogsquared/programs/shell: enable Carapace completion setup 2025-01-21 13:39:04 +08:00
37b26b35df
nixvimConfigs/fiesta: update LSP and Treesitter setup 2025-01-21 13:37:11 +08:00
af94d911c8
users/foo-dogsquared/programs/nixvim: deploy NixVim as separate variant
This setup enables multiple Neovim flavors through wrapper-manager and
can even make multiple NixVim configurations under one home-manager
configuration. Very nice.
2025-01-21 13:35:44 +08:00
b21bd8ade7
flake.lock: update inputs
Flake lock file updates:

• Updated input 'disko':
    'github:nix-community/disko/3a4de9fa3a78ba7b7170dda6bd8b4cdab87c0b21?narHash=sha256-Tc35Y8H%2BkrA6rZeOIczsaGAtobSSBPqR32AfNTeHDRc%3D' (2024-12-24)
  → 'github:nix-community/disko/bf0abfde48f469c256f2b0f481c6281ff04a5db2?narHash=sha256-rMEuiK69MDhjz1JgbaeQ9mBDXMJ2/P8vmOYRbFndXsk%3D' (2025-01-16)
• Updated input 'emacs-overlay':
    'github:nix-community/emacs-overlay/4b0e7b77b538ee7a012404c62dad556c1fdf26a2?narHash=sha256-vTaiIj5g5AkKf2Z9mAMEeNc0y1OClaSmFNeIbQtP/0s%3D' (2024-12-27)
  → 'github:nix-community/emacs-overlay/9071d5f50ce03d1f872973516d0e5dd13179cb93?narHash=sha256-VZmUzQi1XEFMOaLoSTZz%2B%2BeU81Dwoh6jZNzrfKqrC5U%3D' (2025-01-19)
• Updated input 'emacs-overlay/nixpkgs-stable':
    'github:NixOS/nixpkgs/4005c3ff7505313cbc21081776ad0ce5dfd7a3ce?narHash=sha256-VIAjBr1qGcEbmhLwQJD6TABppPMggzOvqFsqkDoMsAY%3D' (2024-12-25)
  → 'github:NixOS/nixpkgs/6a3ae7a5a12fb8cac2d59d7df7cbd95f9b2f0566?narHash=sha256-s40Kk/OulP3J/1JvC3VT16U4r/Xw6Qdi7SRw3LYkPWs%3D' (2025-01-18)
• 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 'helix-editor':
    'github:helix-editor/helix/7b9b9329b9d9567f0c5cfded453b4e8445525774?narHash=sha256-/hPnbJA2KY088J7N7EX7m8OywIGla1CHX4e0ysDH9kA%3D' (2024-12-25)
  → 'github:helix-editor/helix/7cc93eb1c554e72a5aa0c18d244c0fd3ec07d97f?narHash=sha256-maMmVQQzdd92LHiI24NyIF3QblnIUJSESDPpnDThtNU%3D' (2025-01-18)
• Updated input 'home-manager-unstable':
    'github:nix-community/home-manager/35b98d20ca8f4ca1f6a2c30b8a2c8bb305a36d84?narHash=sha256-Gm%2B0DcbUS338vvkwyYWms5jsWlx8z8MeQBzcnIDuIkw%3D' (2024-12-24)
  → 'github:nix-community/home-manager/97d7946b5e107dd03cc82f21165251d4e0159655?narHash=sha256-igllW0yG%2BUbetvhT11jnt9RppSHXYgMykYhZJeqfHs0%3D' (2025-01-18)
• Updated input 'neovim-nightly-overlay':
    'github:nix-community/neovim-nightly-overlay/d05e1d754812bcd89925d845992f377faf6c4944?narHash=sha256-Ru%2B5fwMqXEoc6G1PbuTppAzxtqvj0322cBAWCb0Yhbo%3D' (2024-12-26)
  → 'github:nix-community/neovim-nightly-overlay/8e015a6dd1a95e7389ffb5b8617a13f167c78a58?narHash=sha256-tjk7m4o9LUuN4j/3wosaeN5HPHcjHDsLz/qanWpbkX0%3D' (2025-01-19)
• Updated input 'neovim-nightly-overlay/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/git-hooks':
    'github:cachix/git-hooks.nix/f0f0dc4920a903c3e08f5bdb9246bb572fcae498?narHash=sha256-ulZN7ps8nBV31SE%2BdwkDvKIzvN6hroRY8sYOT0w%2BE28%3D' (2024-12-21)
  → 'github:cachix/git-hooks.nix/94ee657f6032d913fe0ef49adaa743804635b0bb?narHash=sha256-I/OuxGwXwRi5gnFPsyCvVR%2BIfFstA%2BQXEpHu1hvsgD8%3D' (2025-01-16)
• Removed input 'neovim-nightly-overlay/git-hooks/nixpkgs-stable'
• Updated input 'neovim-nightly-overlay/hercules-ci-effects':
    'github:hercules-ci/hercules-ci-effects/56f8ea8d502c87cf62444bec4ee04512e8ea24ea?narHash=sha256-nMMQXREGvLOLvUa0ByhYFdaL0Jov0t1wzLbKjr05P2w%3D' (2024-12-04)
  → '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/487c48ec8689b865bad04fdb87b61f5ada25da97?narHash=sha256-ndlWdGm61W3uObi8cowWqnPdJwq2FsH4GHGOQYeNSOM%3D' (2024-12-25)
  → 'github:neovim/neovim/a5b1b83a2693ffa7a5a0a22b3693d36ea60051be?narHash=sha256-HCdWnhT69peRlyQpM41MGM297Hod%2BkzTBij8A35rE1s%3D' (2025-01-18)
• Updated input 'neovim-nightly-overlay/treefmt-nix':
    'github:numtide/treefmt-nix/9e09d30a644c57257715902efbb3adc56c79cf28?narHash=sha256-8T3K5amndEavxnludPyfj3Z1IkcFdRpR23q%2BT0BVeZE%3D' (2024-12-25)
  → 'github:numtide/treefmt-nix/d1ed3b385f8130e392870cfb1dbfaff8a63a1899?narHash=sha256-uPNWcYbhY2fjY3HOfRCR5jsfzdzemhfxLSxwjXYXqNc%3D' (2025-01-17)
• Updated input 'nix-index-database':
    'github:nix-community/nix-index-database/7e3246f6ad43b44bc1c16d580d7bf6467f971530?narHash=sha256-kWNi45/mRjQMG%2BUpaZQ7KyPavYrKfle3WgLn9YeBBVg%3D' (2024-12-26)
  → 'github:nix-community/nix-index-database/744d330659e207a1883d2da0141d35e520eb87bd?narHash=sha256-lEGgpA4kGafc76%2BAmnz%2Bgh1L/cwUS2pePFlf22WEyh8%3D' (2025-01-19)
• Updated input 'nixos-generators':
    'github:nix-community/nixos-generators/051d1b2dda3b2e81b38d82e2b691e5c2f4d335f4?narHash=sha256-A7CTIQ8SW0hfbhKlwK%2BvSsu4pD%2BOaelw3v6goX6go%2BU%3D' (2024-12-23)
  → 'github:nix-community/nixos-generators/d002ce9b6e7eb467cd1c6bb9aef9c35d191b5453?narHash=sha256-3Pe0yKlCc7EOeq1X/aJVDH0CtNL%2BtIBm49vpepwL1MQ%3D' (2025-01-16)
• Updated input 'nixos-generators/nixlib':
    'github:nix-community/nixpkgs.lib/0a31e8d833173ae63e43fd9dbff1ccf09c4f778c?narHash=sha256-dPhc%2Bf2wkmhMqMIfq%2BhColJdysgVxKP9ilZ5bR0NRZI%3D' (2024-12-22)
  → 'github:nix-community/nixpkgs.lib/1418bc28a52126761c02dd3d89b2d8ca0f521181?narHash=sha256-tmpqTSWVRJVhpvfSN9KXBvKEXplrwKnSZNAoNPf/S/s%3D' (2025-01-12)
• Updated input 'nixos-hardware':
    'github:NixOS/nixos-hardware/def1d472c832d77885f174089b0d34854b007198?narHash=sha256-QIhd8/0x30gEv8XEE1iAnrdMlKuQ0EzthfDR7Hwl%2Bfk%3D' (2024-12-23)
  → 'github:NixOS/nixos-hardware/b678606690027913f3434dea3864e712b862dde5?narHash=sha256-oMr3PVIQ8XPDI8/x6BHxsWEPBRU98Pam6KGVwUh8MPk%3D' (2025-01-15)
• Updated input 'nixos-stable':
    'github:NixOS/nixpkgs/17fcc7929706c2bd08db2b785edbb23a66b2f681?narHash=sha256-vCBl6vYGi0QB11TMqdndLa7/UzxvuJUvKazlEnMTEX4%3D' (2024-12-24)
  → 'github:NixOS/nixpkgs/b134951a4c9f3c995fd7be05f3243f8ecd65d798?narHash=sha256-OnSAY7XDSx7CtDoqNh8jwVwh4xNL/2HaJxGjryLWzX8%3D' (2024-12-30)
• Updated input 'nixos-unstable':
    'github:NixOS/nixpkgs/d70bd19e0a38ad4790d3913bf08fcbfc9eeca507?narHash=sha256-4EVBRhOjMDuGtMaofAIqzJbg4Ql7Ai0PSeuVZTHjyKQ%3D' (2024-12-19)
  → 'github:NixOS/nixpkgs/5df43628fdf08d642be8ba5b3625a6c70731c19c?narHash=sha256-Tbk1MZbtV2s5aG%2BiM99U8FqwxU/YNArMcWAv6clcsBc%3D' (2025-01-16)
• Updated input 'nixos-unstable-small':
    'github:NixOS/nixpkgs/03539677da5a6caba6a6b3d2143ec63b116902d3?narHash=sha256-4UYXERaJPiiy%2BJxjKo%2BIWuHN7kgwmlYdV5x8Ew%2BYNGQ%3D' (2024-12-26)
  → 'github:NixOS/nixpkgs/b681ff2c9c9163f24ca705d948bb0cee1b3e09f9?narHash=sha256-GM4ZnlsuJWjk%2BtbespU/DWQsZ2V0u0CS3Hqg0JGMt5M%3D' (2025-01-18)
• 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'
• Removed input 'nixos-wsl/flake-utils/systems'
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/de1864217bfa9b5845f465e771e0ecb48b30e02d?narHash=sha256-Ucfnxq1rF/GjNP3kTL%2BuTfgdoE9a3fxDftSfeLIS8mA%3D' (2024-12-23)
  → 'github:NixOS/nixpkgs/041c867bad68dfe34b78b2813028a2e2ea70a23c?narHash=sha256-DSenga8XjPaUV5KUFW/i3rNkN7jm9XmguW%2BqQ1ZJTR4%3D' (2025-01-17)
• Updated input 'nixvim-stable':
    'github:nix-community/nixvim/8d81e9af1b23ebaf7990eb8a86ae0ca5ae37c09c?narHash=sha256-VWbcqVnGflD6KbhHqtllZ1zybXIUpufKrqcn1S08j3E%3D' (2024-12-21)
  → 'github:nix-community/nixvim/62fdd8e1c5f9be8a794857e6e2d246b0db0f09ae?narHash=sha256-N1k0EdU9zmeZfYvAVTLLLP3/RYnhf/AUe8dEl8ve%2BfE%3D' (2025-01-11)
• Updated input 'nixvim-stable/devshell':
    'github:numtide/devshell/dd6b80932022cea34a019e2bb32f6fa9e494dfef?narHash=sha256-xRJ2nPOXb//u1jaBnDP56M7v5ldavjbtR6lfGqSvcKg%3D' (2024-10-07)
  → 'github:numtide/devshell/f7795ede5b02664b57035b3b757876703e2c3eac?narHash=sha256-tO3HrHriyLvipc4xr%2BEwtdlo7wM1OjXNjlWRgmM7peY%3D' (2024-12-31)
• Updated input 'nixvim-stable/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 'nixvim-stable/git-hooks':
    'github:cachix/git-hooks.nix/0ddd26d0925f618c3a5d85a4fa5eb1e23a09491d?narHash=sha256-nzE5UbJ41aPEKf8R2ZFYtLkqPmF7EIUbNEdHMBLg0Ig%3D' (2024-12-17)
  → 'github:cachix/git-hooks.nix/a5a961387e75ae44cc20f0a57ae463da5e959656?narHash=sha256-3FZAG%2BpGt3OElQjesCAWeMkQ7C/nB1oTHLRQ8ceP110%3D' (2025-01-03)
• Removed input 'nixvim-stable/git-hooks/nixpkgs-stable'
• Updated input 'nixvim-stable/nix-darwin':
    'github:lnl7/nix-darwin/a35b08d09efda83625bef267eb24347b446c80b8?narHash=sha256-sQJAxY1TYWD1UyibN/FnN97paTFuwBw3Vp3DNCyKsMk%3D' (2024-12-07)
  → 'github:lnl7/nix-darwin/57733bd1dc81900e13438e5b4439239f1b29db0e?narHash=sha256-iWcjToBpx4PUd74uqvIGAfqqVfyrvRLRauC/SxEKIF0%3D' (2025-01-08)
• Updated input 'nixvim-stable/treefmt-nix':
    'github:numtide/treefmt-nix/65712f5af67234dad91a5a4baee986a8b62dbf8f?narHash=sha256-MMi74%2BWckoyEWBRcg/oaGRvXC9BVVxDZNRMpL%2B72wBI%3D' (2024-12-20)
  → 'github:numtide/treefmt-nix/13c913f5deb3a5c08bb810efd89dc8cb24dd968b?narHash=sha256-p2r8xhQZ3TYIEKBoiEhllKWQqWNJNoT9v64Vmg4q8Zw%3D' (2025-01-06)
• Updated input 'nixvim-unstable':
    'github:nix-community/nixvim/1671f8618fa347d8a0cd62506df386d58d7608f3?narHash=sha256-byFeQzjeTLgWkk2xEhTYqYvUsID7H2QAkzuFKIL2Stc%3D' (2024-12-26)
  → 'github:nix-community/nixvim/cbf960e5659054b2ccf27b67218782e69016bef5?narHash=sha256-QTUx/F8HVjrRIHQxHKrr72aPMj%2BcDk18WTbvBCCBBdI%3D' (2025-01-18)
• Updated input 'nixvim-unstable/devshell':
    'github:numtide/devshell/dd6b80932022cea34a019e2bb32f6fa9e494dfef?narHash=sha256-xRJ2nPOXb//u1jaBnDP56M7v5ldavjbtR6lfGqSvcKg%3D' (2024-10-07)
  → 'github:numtide/devshell/f7795ede5b02664b57035b3b757876703e2c3eac?narHash=sha256-tO3HrHriyLvipc4xr%2BEwtdlo7wM1OjXNjlWRgmM7peY%3D' (2024-12-31)
• Updated input 'nixvim-unstable/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 'nixvim-unstable/git-hooks':
    'github:cachix/git-hooks.nix/f0f0dc4920a903c3e08f5bdb9246bb572fcae498?narHash=sha256-ulZN7ps8nBV31SE%2BdwkDvKIzvN6hroRY8sYOT0w%2BE28%3D' (2024-12-21)
  → 'github:cachix/git-hooks.nix/94ee657f6032d913fe0ef49adaa743804635b0bb?narHash=sha256-I/OuxGwXwRi5gnFPsyCvVR%2BIfFstA%2BQXEpHu1hvsgD8%3D' (2025-01-16)
• Removed input 'nixvim-unstable/git-hooks/nixpkgs-stable'
• Updated input 'nixvim-unstable/nix-darwin':
    'github:lnl7/nix-darwin/a35b08d09efda83625bef267eb24347b446c80b8?narHash=sha256-sQJAxY1TYWD1UyibN/FnN97paTFuwBw3Vp3DNCyKsMk%3D' (2024-12-07)
  → 'github:lnl7/nix-darwin/bd921223ba7cdac346477d7ea5204d6f4736fcc6?narHash=sha256-deQVtIH4UJueELJqluAICUtX7OosD9paTP%2B5FgbiSwI%3D' (2025-01-14)
• Updated input 'nixvim-unstable/nuschtosSearch':
    '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 'nixvim-unstable/treefmt-nix':
    'github:numtide/treefmt-nix/65712f5af67234dad91a5a4baee986a8b62dbf8f?narHash=sha256-MMi74%2BWckoyEWBRcg/oaGRvXC9BVVxDZNRMpL%2B72wBI%3D' (2024-12-20)
  → 'github:numtide/treefmt-nix/97871d416166803134ba64597a1006f3f670fbde?narHash=sha256-saLiCRQ5RtdTnznT/fja7GxcYRAzeY3k8S%2BIF/2s/2A%3D' (2025-01-16)
• Updated input 'nur':
    'github:nix-community/NUR/cb6a6ad413f8c22b7f3df3f0a317de7f138e339b?narHash=sha256-Nu%2BfTD6pgVEzxdo4qJlY/29D29HzXdS3QyRekROpXb8%3D' (2024-12-27)
  → 'github:nix-community/NUR/0b2b53ac3bd61384876cf8461d32e698064297ea?narHash=sha256-Ue2TumKTw%2B6VUSKdgHE93gViUTOJDmS2I0HjLbmrHls%3D' (2025-01-19)
• Updated input 'nur/nixpkgs':
    'github:nixos/nixpkgs/d70bd19e0a38ad4790d3913bf08fcbfc9eeca507?narHash=sha256-4EVBRhOjMDuGtMaofAIqzJbg4Ql7Ai0PSeuVZTHjyKQ%3D' (2024-12-19)
  → 'github:nixos/nixpkgs/5df43628fdf08d642be8ba5b3625a6c70731c19c?narHash=sha256-Tbk1MZbtV2s5aG%2BiM99U8FqwxU/YNArMcWAv6clcsBc%3D' (2025-01-16)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/ed091321f4dd88afc28b5b4456e0a15bd8374b4d?narHash=sha256-6OvJbqQ6qPpNw3CA%2BW8Myo5aaLhIJY/nNFDk3zMXLfM%3D' (2024-12-18)
  → 'github:Mic92/sops-nix/4c4fb93f18b9072c6fa1986221f9a3d7bf1fe4b6?narHash=sha256-GXUE9%2BFgxoZU8v0p6ilBJ8NH7k8nKmZjp/7dmMrCv3o%3D' (2025-01-17)
• Updated input 'wrapper-manager-fds':
    'github:foo-dogsquared/nix-module-wrapper-manager-fds/cf2f046d6927944b0fa7bfbcdd3b01392f00eed9?narHash=sha256-jNmptnLKXY2tF3SnrxxOAEdGTR4NL/ufyUx3gJgtqsk%3D' (2024-12-01)
  → 'github:foo-dogsquared/nix-module-wrapper-manager-fds/c2625afbffc76ad2a1e6659a84baa69cf4a5f9b1?narHash=sha256-xgiFQE/P7xWp4Rzhx9W%2BsmtdEKzZ8JPuK9Tn6AiYuoU%3D' (2025-01-12)
2025-01-19 14:12:50 +08:00
b45fae6d54
users/foo-dogsquared/programs/browsers: add ff2mpv extension to Firefox 2025-01-18 18:00:35 +08:00
29b9672b36
users/foo-dogsquared/programs/nushell: init dedicated module 2025-01-18 17:59:28 +08:00
588457ec80
home-manager/suites/desktop: add Davinci Resolve 2025-01-16 12:31:10 +08:00
e748306f39
LICENSE: update year range 2025-01-15 14:22:21 +08:00
dcb52e2889
config: fix treefmt config 2025-01-15 14:22:10 +08:00
91331bcb3c
users/foo-dogsquared/programs/shell: add nushell 2025-01-15 14:21:18 +08:00
695ceb8bfe
hosts/ni/services/rss-reader: add helper script 2025-01-15 14:00:26 +08:00
4a21a0a136
pkgs: reformat codebase 2025-01-15 14:00:12 +08:00
30515bd5ac
subprojects/bahaghari/lib: update nixdoc docstring format 2025-01-12 21:33:15 +08:00
57 changed files with 799 additions and 799 deletions

View File

@ -1,4 +1,4 @@
Copyright (c) 2022-2024 Gabriel Arazas <foodogsquared@foodogsquared.one>
Copyright (c) 2022-2025 Gabriel Arazas <foodogsquared@foodogsquared.one>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

View File

@ -18,3 +18,12 @@ Here is the following list of them used in the repo history:
These "codenames" are also used for their environment-specific module structuring (e.g., `hosts.ni.services.backup.enable` for NixOS, `nixvimConfigs.fiesta.setups.tree-sitter` for NixVim, `users.foo-dogsquared.setups.desktop.enable` for home-manager) with the exception of flake-parts where it is basically a free-for-all.
Lastly, these modules are referred collectively in the commits as `modules`.
[#conventions]
== Conventions
There's a few things you need to remember for these configurations.
- Module arguments that are only suitable to be included in the first build step of the configuration are all under the `firstSetupArgs` namespace.
- Module arguments that are only found inside of the configuration itself should be under the `configurationArgs` namespace.

View File

@ -1,5 +1,6 @@
{ inputs
, lib
, config
, defaultNixConf
@ -25,6 +26,10 @@
# Get all of the NUR.
inputs.nur.overlays.default
# We have this since we want to compile those NixVim configuration
# ourselves.
inputs.nixvim-unstable.overlays.default
];
};
homeManagerBranch = "home-manager-unstable";
@ -33,6 +38,16 @@
inputs.nur.modules.homeManager.default
inputs.sops-nix.homeManagerModules.sops
inputs.wrapper-manager-fds.homeModules.wrapper-manager
{
_module.args = {
firstSetupArgs = {
baseNixvimModules =
config.setups.nixvim.configs.fiesta.modules
++ config.setups.nixvim.sharedModules;
};
};
}
];
nixvim = {
instance = "fiesta";

View File

@ -18,6 +18,7 @@ in
# This is to make an exception for Archivebox.
nixpkgs.config.permittedInsecurePackages = [
"archiver-3.5.1"
"python3.12-django-3.1.14"
];
@ -42,6 +43,19 @@ in
inputs.nixos-hardware.nixosModules.common-cpu-amd-pstate
inputs.nixos-hardware.nixosModules.common-cpu-amd-raphael-igpu
(
{ config, ... }: let
hmCfg = config.home-manager.users;
in {
# Testing out Nushell for a spinerooski.
users.users.foo-dogsquared.shell =
if hmCfg.foo-dogsquared.programs.nushell.enable then
hmCfg.foo-dogsquared.programs.nushell.package
else
"/run/current-system/sw/bin/bash";
}
)
];
home-manager = {
branch = "home-manager-unstable";

View File

@ -48,7 +48,12 @@ bind qW recontain Work
bind qe recontain Banking
bind qE recontain Shopping
bind qC recontain Chat
bind qq recontain
bind qq recontain Cooking
" Sorting them nicefully.
bind qss tabsort --url
bind qsS tabsort --containers
bind qst tabsort --title
bind <C-Q> fillcmdline containerclose
@ -58,6 +63,7 @@ bind de containerclose Banking
bind dE containerclose Shopping
bind dg containerclose Gaming
bind dC containerclose Chat
bind dc containerclose Cooking
" Assuming the Google and Facebook containers extensions are installed.
bind dF containerclose Facebook
@ -75,6 +81,7 @@ containercreate Banking green dollar
containercreate Shopping pink cart
containercreate Gaming turquoise chill
containercreate Chat blue chill
containercreate Cooking orange food
" Most of the MOOC are for personal purposes so it is in "Personal" container.
autocontain -s coursera\.org Personal
@ -174,6 +181,11 @@ seturl nytimes\.com/games disable true
seturl merriam-webster\.com/games disable true
seturl britannica\.com/games disable true
" My cooking gotos.
autocontain -s lecremedelacrumb\.com Cooking
autocontain -s cookingclassy\.com Cooking
autocontain -s panlasangpinoy\.com Cooking
" Ignore all of the keybindings.
blacklistadd https://design.penpot.app

View File

@ -12,6 +12,7 @@
./programs/hledger.nix
./programs/keys.nix
./programs/nixvim
./programs/nushell.nix
./programs/custom-homepage.nix
./programs/shell.nix
./programs/terminal-multiplexer.nix

View File

@ -41,8 +41,19 @@ in
xdg.configFile.nyxt.source = getDotfiles "nyxt";
})
(lib.mkIf (!userCfg.programs.nixvim.enable) {
# Comes with a heavy assumption that the Neovim configuration found in this
# home-manager environment will not write to the XDG config directory.
(lib.mkIf (!config.programs.nixvim.enable) {
xdg.configFile.nvim.source = getDotfiles "nvim";
programs.neovim.extraPackages = with pkgs; [
luarocks
shfmt
];
})
(lib.mkIf userCfg.programs.nushell.enable {
home.file."${config.xdg.dataHome}/nushell/vendor/autoload".source = getDotfiles "nu/autoload";
})
]);
}

View File

@ -125,7 +125,9 @@ in
updateswh
zhongwen
open-access-helper
]);
rsshub-radar
])
++ lib.optionals config.programs.mpv.enable (with pkgs.nur.repos.rycee.firefox-addons; [ ff2mpv ]);
# Much of the settings are affected by the policies set in the
# package. See more information about them in

View File

@ -1,37 +1,53 @@
# Take note, this already assumes we're using on top of an already existing
# NixVim configuration. See the declarative users configuration for more
# details.
{ config, lib, pkgs, ... }:
{ config, lib, pkgs, firstSetupArgs, ... }:
let
userCfg = config.users.foo-dogsquared;
cfg = userCfg.programs.nixvim;
hmCfg = config;
createNixvimFlavor = module:
pkgs.nixvim.makeNixvimWithModule {
inherit pkgs;
module.imports = firstSetupArgs.baseNixvimModules ++ [ module ];
extraSpecialArgs.hmConfig = config;
};
in
{
options.users.foo-dogsquared.programs.nixvim.enable =
lib.mkEnableOption "NixVim setup";
config = lib.mkIf cfg.enable {
programs.nixvim = { ... }: {
imports =
[
./colorschemes.nix
./fuzzy-finding.nix
./misc.nix
./note-taking.nix
]
++ lib.optionals userCfg.setups.development.enable [
./dev.nix
./lsp.nix
./dap.nix
];
config = {
enable = true;
# Basically, we're creating Neovim flavors with NixVim so no need for it.
#
# Also another reason we're forcibly disabling that it is heavily assumed
# that it is using the Neovim configuration found from the dotfiles repo.
programs.nixvim.enable = lib.mkForce false;
# Inherit all of the schemes.
bahaghari.tinted-theming.schemes = hmCfg.bahaghari.tinted-theming.schemes;
};
wrapper-manager.packages.neovim-flavors = {
wrappers.nvim-fiesta.arg0 = let
nvimPkg = createNixvimFlavor {
imports =
[
./colorschemes.nix
./fuzzy-finding.nix
./misc.nix
./note-taking.nix
]
++ lib.optionals userCfg.setups.development.enable [
./dev.nix
./lsp.nix
./dap.nix
];
config = {
# Inherit all of the schemes.
bahaghari.tinted-theming.schemes = hmCfg.bahaghari.tinted-theming.schemes;
};
};
in lib.getExe' nvimPkg "nvim";
};
};
}

View File

@ -0,0 +1,94 @@
{ config, lib, pkgs, ... }:
let
userCfg = config.users.foo-dogsquared;
cfg = userCfg.programs.nushell;
nushellAutoloadScriptDir = "${config.xdg.dataHome}/nushell/vendor/autoload";
in
{
options.users.foo-dogsquared.programs.nushell.enable =
lib.mkEnableOption "Nushell setup";
config = lib.mkIf cfg.enable (lib.mkMerge [
{
programs.nushell = {
enable = true;
plugins = with pkgs.nushellPlugins; [
dbus
query
skim
polars
units
net
formats
highlight
];
extraConfig = ''
$env.config = $env.config | merge deep --strategy=append {
show_banner: false
shell_integration: {
osc7: true
osc133: true
osc633: true
}
}
'';
environmentVariables.NU_LIB_DIRS =
lib.concatStringsSep ":" [
"${config.xdg.cacheHome}/nushell/modules"
"${config.xdg.userDirs.extraConfig.XDG_PROJECTS_DIR}/nushell"
];
};
}
# Configuring our own completion thingy instead.
# Based from https://www.nushell.sh/cookbook/external_completers.html#multiple-completer.
(lib.mkIf config.programs.carapace.enable {
programs.carapace.enableNushellIntegration = lib.mkForce false;
programs.nushell.extraConfig = lib.mkMerge [
(lib.mkIf config.programs.zoxide.enable ''
let zoxide_completer = {|spans|
$spans | skip 1 | zoxide query -l ...$in | lines | where {|x| $x != $env.PWD}
}
'')
''
let carapace_completer = {|spans: list<string>|
carapace $spans.0 nushell ...$spans
| from json
| if ($in | default [] | where value =~ '^-.*ERR$' | is-empty) { $in } else { null }
}
let external_completers = {|spans|
let expanded_alias = scope aliases
| where name == $spans.0
| get -i 0.expansion
let spans = if $expanded_alias != null {
$spans
| skip 1
| prepend ($expanded_alias | split row ' ' | take 1)
} else {
$spans
}
match $spans.0 {
${lib.optionalString config.programs.zoxide.enable ''
__zoxide_z | __zoxide_zi => $zoxide_completer
''}
_ => $carapace_completer
} | do $in $spans
}
$env.config.completions.external = $env.config.completions.external | merge deep --strategy=append {
enable: true
completer: $external_completers
}
''
];
})
]);
}

View File

@ -24,6 +24,9 @@ in
];
};
# Compile all of the completions.
programs.carapace.enable = true;
programs.atuin = {
enable = true;
settings = {

View File

@ -21,7 +21,8 @@ in {
];
users.foo-dogsquared.programs = {
shell.enable = lib.mkDefault true;
shell.enable = true;
nushell.enable = true;
git = {
enable = lib.mkDefault true;
instaweb.enable = true;

View File

@ -45,6 +45,7 @@ in
curl # The general purpose downloader.
fanficfare # It's for the badly written fanfics.
gallery-dl # More potential for your image collection.
goldendict-ng # A golden dictionary for perfecting your diction.
internetarchive # All of the potential vintage collection of questionable materials at your fingertips.
kiwix # Offline reader for your fanon wiki.
localsend # Local network syncing.

View File

@ -29,5 +29,14 @@ in
services.nginx.virtualHosts."rss.ni.local" = {
locations."/".proxyPass = "http://ni.local:${builtins.toString port}";
};
# Just make sure you execute this script as `miniflux` helper especially
# that it is configured with PostgreSQL.
wrapper-manager.packages.miniflux-helper = {
wrappers.miniflux-helper = {
arg0 = lib.getExe' config.services.miniflux.package "miniflux";
env = lib.mapAttrs (_: value: { value = builtins.toString value; }) config.services.miniflux.config;
};
};
};
}

View File

@ -1,4 +1,4 @@
{ config, lib, ... }:
{ config, lib, helpers, ... }:
let
nixvimConfig = config.nixvimConfigs.fiesta;
@ -15,6 +15,19 @@ in
};
config = lib.mkIf cfg.enable {
keymaps = [
{
mode = [ "n" ];
key = "<leader>Li";
options.desc = "Toggle inlay hints";
action = helpers.mkRaw ''
function()
vim.lsp.inlay_hint.enable(not vim.lsp.inlay_hint.is_enabled())
end
'';
}
];
plugins.lsp = {
enable = true;
inlayHints = true;

View File

@ -18,29 +18,6 @@ in
nixGrammars = true;
nixvimInjections = true;
# We'll just use the common languages out of the bat.
grammarPackages = with config.plugins.treesitter.package.builtGrammars; [
bash
c
cpp
css
dockerfile
go
graphql
html
http
javascript
json
json5
lua
nix
rust
toml
tsx
typescript
yaml
];
# Enable all of its useful features.
folding = true;
settings = {

290
flake.lock generated
View File

@ -45,11 +45,11 @@
]
},
"locked": {
"lastModified": 1728330715,
"narHash": "sha256-xRJ2nPOXb//u1jaBnDP56M7v5ldavjbtR6lfGqSvcKg=",
"lastModified": 1735644329,
"narHash": "sha256-tO3HrHriyLvipc4xr+Ewtdlo7wM1OjXNjlWRgmM7peY=",
"owner": "numtide",
"repo": "devshell",
"rev": "dd6b80932022cea34a019e2bb32f6fa9e494dfef",
"rev": "f7795ede5b02664b57035b3b757876703e2c3eac",
"type": "github"
},
"original": {
@ -66,11 +66,11 @@
]
},
"locked": {
"lastModified": 1728330715,
"narHash": "sha256-xRJ2nPOXb//u1jaBnDP56M7v5ldavjbtR6lfGqSvcKg=",
"lastModified": 1735644329,
"narHash": "sha256-tO3HrHriyLvipc4xr+Ewtdlo7wM1OjXNjlWRgmM7peY=",
"owner": "numtide",
"repo": "devshell",
"rev": "dd6b80932022cea34a019e2bb32f6fa9e494dfef",
"rev": "f7795ede5b02664b57035b3b757876703e2c3eac",
"type": "github"
},
"original": {
@ -86,11 +86,11 @@
]
},
"locked": {
"lastModified": 1735048446,
"narHash": "sha256-Tc35Y8H+krA6rZeOIczsaGAtobSSBPqR32AfNTeHDRc=",
"lastModified": 1737038063,
"narHash": "sha256-rMEuiK69MDhjz1JgbaeQ9mBDXMJ2/P8vmOYRbFndXsk=",
"owner": "nix-community",
"repo": "disko",
"rev": "3a4de9fa3a78ba7b7170dda6bd8b4cdab87c0b21",
"rev": "bf0abfde48f469c256f2b0f481c6281ff04a5db2",
"type": "github"
},
"original": {
@ -107,11 +107,11 @@
"nixpkgs-stable": "nixpkgs-stable"
},
"locked": {
"lastModified": 1735265093,
"narHash": "sha256-vTaiIj5g5AkKf2Z9mAMEeNc0y1OClaSmFNeIbQtP/0s=",
"lastModified": 1737249389,
"narHash": "sha256-VZmUzQi1XEFMOaLoSTZz++eU81Dwoh6jZNzrfKqrC5U=",
"owner": "nix-community",
"repo": "emacs-overlay",
"rev": "4b0e7b77b538ee7a012404c62dad556c1fdf26a2",
"rev": "9071d5f50ce03d1f872973516d0e5dd13179cb93",
"type": "github"
},
"original": {
@ -247,11 +247,11 @@
"nixpkgs-lib": "nixpkgs-lib"
},
"locked": {
"lastModified": 1733312601,
"narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=",
"lastModified": 1736143030,
"narHash": "sha256-+hu54pAoLDEZT9pjHlqL9DNzWz0NbUn8NEAHP7PQPzU=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9",
"rev": "b905f6fc23a9051a6e1b741e1438dbfc0634c6de",
"type": "github"
},
"original": {
@ -268,11 +268,11 @@
]
},
"locked": {
"lastModified": 1733312601,
"narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=",
"lastModified": 1736143030,
"narHash": "sha256-+hu54pAoLDEZT9pjHlqL9DNzWz0NbUn8NEAHP7PQPzU=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9",
"rev": "b905f6fc23a9051a6e1b741e1438dbfc0634c6de",
"type": "github"
},
"original": {
@ -290,11 +290,11 @@
]
},
"locked": {
"lastModified": 1733312601,
"narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=",
"lastModified": 1736143030,
"narHash": "sha256-+hu54pAoLDEZT9pjHlqL9DNzWz0NbUn8NEAHP7PQPzU=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9",
"rev": "b905f6fc23a9051a6e1b741e1438dbfc0634c6de",
"type": "github"
},
"original": {
@ -310,11 +310,11 @@
]
},
"locked": {
"lastModified": 1733312601,
"narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=",
"lastModified": 1736143030,
"narHash": "sha256-+hu54pAoLDEZT9pjHlqL9DNzWz0NbUn8NEAHP7PQPzU=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9",
"rev": "b905f6fc23a9051a6e1b741e1438dbfc0634c6de",
"type": "github"
},
"original": {
@ -331,11 +331,11 @@
]
},
"locked": {
"lastModified": 1733312601,
"narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=",
"lastModified": 1736143030,
"narHash": "sha256-+hu54pAoLDEZT9pjHlqL9DNzWz0NbUn8NEAHP7PQPzU=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9",
"rev": "b905f6fc23a9051a6e1b741e1438dbfc0634c6de",
"type": "github"
},
"original": {
@ -419,24 +419,6 @@
"type": "github"
}
},
"flake-utils_4": {
"inputs": {
"systems": "systems_5"
},
"locked": {
"lastModified": 1731533236,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"git-hooks": {
"inputs": {
"flake-compat": "flake-compat_3",
@ -444,18 +426,14 @@
"nixpkgs": [
"neovim-nightly-overlay",
"nixpkgs"
],
"nixpkgs-stable": [
"neovim-nightly-overlay",
"nixpkgs"
]
},
"locked": {
"lastModified": 1734797603,
"narHash": "sha256-ulZN7ps8nBV31SE+dwkDvKIzvN6hroRY8sYOT0w+E28=",
"lastModified": 1737043064,
"narHash": "sha256-I/OuxGwXwRi5gnFPsyCvVR+IfFstA+QXEpHu1hvsgD8=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "f0f0dc4920a903c3e08f5bdb9246bb572fcae498",
"rev": "94ee657f6032d913fe0ef49adaa743804635b0bb",
"type": "github"
},
"original": {
@ -471,18 +449,14 @@
"nixpkgs": [
"nixvim-stable",
"nixpkgs"
],
"nixpkgs-stable": [
"nixvim-stable",
"nixpkgs"
]
},
"locked": {
"lastModified": 1734425854,
"narHash": "sha256-nzE5UbJ41aPEKf8R2ZFYtLkqPmF7EIUbNEdHMBLg0Ig=",
"lastModified": 1735882644,
"narHash": "sha256-3FZAG+pGt3OElQjesCAWeMkQ7C/nB1oTHLRQ8ceP110=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "0ddd26d0925f618c3a5d85a4fa5eb1e23a09491d",
"rev": "a5a961387e75ae44cc20f0a57ae463da5e959656",
"type": "github"
},
"original": {
@ -501,18 +475,14 @@
"nixpkgs": [
"nixvim-unstable",
"nixpkgs"
],
"nixpkgs-stable": [
"nixvim-unstable",
"nixpkgs"
]
},
"locked": {
"lastModified": 1734797603,
"narHash": "sha256-ulZN7ps8nBV31SE+dwkDvKIzvN6hroRY8sYOT0w+E28=",
"lastModified": 1737043064,
"narHash": "sha256-I/OuxGwXwRi5gnFPsyCvVR+IfFstA+QXEpHu1hvsgD8=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "f0f0dc4920a903c3e08f5bdb9246bb572fcae498",
"rev": "94ee657f6032d913fe0ef49adaa743804635b0bb",
"type": "github"
},
"original": {
@ -597,11 +567,11 @@
"rust-overlay": "rust-overlay"
},
"locked": {
"lastModified": 1735147613,
"narHash": "sha256-/hPnbJA2KY088J7N7EX7m8OywIGla1CHX4e0ysDH9kA=",
"lastModified": 1737226203,
"narHash": "sha256-maMmVQQzdd92LHiI24NyIF3QblnIUJSESDPpnDThtNU=",
"owner": "helix-editor",
"repo": "helix",
"rev": "7b9b9329b9d9567f0c5cfded453b4e8445525774",
"rev": "7cc93eb1c554e72a5aa0c18d244c0fd3ec07d97f",
"type": "github"
},
"original": {
@ -619,11 +589,11 @@
]
},
"locked": {
"lastModified": 1733333617,
"narHash": "sha256-nMMQXREGvLOLvUa0ByhYFdaL0Jov0t1wzLbKjr05P2w=",
"lastModified": 1736917206,
"narHash": "sha256-JTBWmyGf8K1Rwb+gviHIUzRJk/sITtT+72HXFkTZUjo=",
"owner": "hercules-ci",
"repo": "hercules-ci-effects",
"rev": "56f8ea8d502c87cf62444bec4ee04512e8ea24ea",
"rev": "afd0a42e8c61ebb56899315ee4084a8b2e4ff425",
"type": "github"
},
"original": {
@ -660,11 +630,11 @@
]
},
"locked": {
"lastModified": 1735053786,
"narHash": "sha256-Gm+0DcbUS338vvkwyYWms5jsWlx8z8MeQBzcnIDuIkw=",
"lastModified": 1737221749,
"narHash": "sha256-igllW0yG+UbetvhT11jnt9RppSHXYgMykYhZJeqfHs0=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "35b98d20ca8f4ca1f6a2c30b8a2c8bb305a36d84",
"rev": "97d7946b5e107dd03cc82f21165251d4e0159655",
"type": "github"
},
"original": {
@ -714,11 +684,11 @@
"treefmt-nix": "treefmt-nix"
},
"locked": {
"lastModified": 1735172062,
"narHash": "sha256-Ru+5fwMqXEoc6G1PbuTppAzxtqvj0322cBAWCb0Yhbo=",
"lastModified": 1737245364,
"narHash": "sha256-tjk7m4o9LUuN4j/3wosaeN5HPHcjHDsLz/qanWpbkX0=",
"owner": "nix-community",
"repo": "neovim-nightly-overlay",
"rev": "d05e1d754812bcd89925d845992f377faf6c4944",
"rev": "8e015a6dd1a95e7389ffb5b8617a13f167c78a58",
"type": "github"
},
"original": {
@ -730,11 +700,11 @@
"neovim-src": {
"flake": false,
"locked": {
"lastModified": 1735157560,
"narHash": "sha256-ndlWdGm61W3uObi8cowWqnPdJwq2FsH4GHGOQYeNSOM=",
"lastModified": 1737227330,
"narHash": "sha256-HCdWnhT69peRlyQpM41MGM297Hod+kzTBij8A35rE1s=",
"owner": "neovim",
"repo": "neovim",
"rev": "487c48ec8689b865bad04fdb87b61f5ada25da97",
"rev": "a5b1b83a2693ffa7a5a0a22b3693d36ea60051be",
"type": "github"
},
"original": {
@ -751,11 +721,11 @@
]
},
"locked": {
"lastModified": 1733570843,
"narHash": "sha256-sQJAxY1TYWD1UyibN/FnN97paTFuwBw3Vp3DNCyKsMk=",
"lastModified": 1736370755,
"narHash": "sha256-iWcjToBpx4PUd74uqvIGAfqqVfyrvRLRauC/SxEKIF0=",
"owner": "lnl7",
"repo": "nix-darwin",
"rev": "a35b08d09efda83625bef267eb24347b446c80b8",
"rev": "57733bd1dc81900e13438e5b4439239f1b29db0e",
"type": "github"
},
"original": {
@ -772,11 +742,11 @@
]
},
"locked": {
"lastModified": 1733570843,
"narHash": "sha256-sQJAxY1TYWD1UyibN/FnN97paTFuwBw3Vp3DNCyKsMk=",
"lastModified": 1736819234,
"narHash": "sha256-deQVtIH4UJueELJqluAICUtX7OosD9paTP+5FgbiSwI=",
"owner": "lnl7",
"repo": "nix-darwin",
"rev": "a35b08d09efda83625bef267eb24347b446c80b8",
"rev": "bd921223ba7cdac346477d7ea5204d6f4736fcc6",
"type": "github"
},
"original": {
@ -792,11 +762,11 @@
]
},
"locked": {
"lastModified": 1735222882,
"narHash": "sha256-kWNi45/mRjQMG+UpaZQ7KyPavYrKfle3WgLn9YeBBVg=",
"lastModified": 1737257306,
"narHash": "sha256-lEGgpA4kGafc76+Amnz+gh1L/cwUS2pePFlf22WEyh8=",
"owner": "nix-community",
"repo": "nix-index-database",
"rev": "7e3246f6ad43b44bc1c16d580d7bf6467f971530",
"rev": "744d330659e207a1883d2da0141d35e520eb87bd",
"type": "github"
},
"original": {
@ -807,11 +777,11 @@
},
"nixlib": {
"locked": {
"lastModified": 1734829460,
"narHash": "sha256-dPhc+f2wkmhMqMIfq+hColJdysgVxKP9ilZ5bR0NRZI=",
"lastModified": 1736643958,
"narHash": "sha256-tmpqTSWVRJVhpvfSN9KXBvKEXplrwKnSZNAoNPf/S/s=",
"owner": "nix-community",
"repo": "nixpkgs.lib",
"rev": "0a31e8d833173ae63e43fd9dbff1ccf09c4f778c",
"rev": "1418bc28a52126761c02dd3d89b2d8ca0f521181",
"type": "github"
},
"original": {
@ -828,11 +798,11 @@
]
},
"locked": {
"lastModified": 1734915500,
"narHash": "sha256-A7CTIQ8SW0hfbhKlwK+vSsu4pD+Oaelw3v6goX6go+U=",
"lastModified": 1737057290,
"narHash": "sha256-3Pe0yKlCc7EOeq1X/aJVDH0CtNL+tIBm49vpepwL1MQ=",
"owner": "nix-community",
"repo": "nixos-generators",
"rev": "051d1b2dda3b2e81b38d82e2b691e5c2f4d335f4",
"rev": "d002ce9b6e7eb467cd1c6bb9aef9c35d191b5453",
"type": "github"
},
"original": {
@ -843,11 +813,11 @@
},
"nixos-hardware": {
"locked": {
"lastModified": 1734954597,
"narHash": "sha256-QIhd8/0x30gEv8XEE1iAnrdMlKuQ0EzthfDR7Hwl+fk=",
"lastModified": 1736978406,
"narHash": "sha256-oMr3PVIQ8XPDI8/x6BHxsWEPBRU98Pam6KGVwUh8MPk=",
"owner": "NixOS",
"repo": "nixos-hardware",
"rev": "def1d472c832d77885f174089b0d34854b007198",
"rev": "b678606690027913f3434dea3864e712b862dde5",
"type": "github"
},
"original": {
@ -858,11 +828,11 @@
},
"nixos-stable": {
"locked": {
"lastModified": 1735066050,
"narHash": "sha256-vCBl6vYGi0QB11TMqdndLa7/UzxvuJUvKazlEnMTEX4=",
"lastModified": 1735563628,
"narHash": "sha256-OnSAY7XDSx7CtDoqNh8jwVwh4xNL/2HaJxGjryLWzX8=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "17fcc7929706c2bd08db2b785edbb23a66b2f681",
"rev": "b134951a4c9f3c995fd7be05f3243f8ecd65d798",
"type": "github"
},
"original": {
@ -874,11 +844,11 @@
},
"nixos-unstable": {
"locked": {
"lastModified": 1734649271,
"narHash": "sha256-4EVBRhOjMDuGtMaofAIqzJbg4Ql7Ai0PSeuVZTHjyKQ=",
"lastModified": 1737062831,
"narHash": "sha256-Tbk1MZbtV2s5aG+iM99U8FqwxU/YNArMcWAv6clcsBc=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "d70bd19e0a38ad4790d3913bf08fcbfc9eeca507",
"rev": "5df43628fdf08d642be8ba5b3625a6c70731c19c",
"type": "github"
},
"original": {
@ -890,11 +860,11 @@
},
"nixos-unstable-small": {
"locked": {
"lastModified": 1735226532,
"narHash": "sha256-4UYXERaJPiiy+JxjKo+IWuHN7kgwmlYdV5x8Ew+YNGQ=",
"lastModified": 1737241062,
"narHash": "sha256-GM4ZnlsuJWjk+tbespU/DWQsZ2V0u0CS3Hqg0JGMt5M=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "03539677da5a6caba6a6b3d2143ec63b116902d3",
"rev": "b681ff2c9c9163f24ca705d948bb0cee1b3e09f9",
"type": "github"
},
"original": {
@ -907,17 +877,16 @@
"nixos-wsl": {
"inputs": {
"flake-compat": "flake-compat_4",
"flake-utils": "flake-utils_3",
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1733854371,
"narHash": "sha256-K9qGHniYBbjqVcEiwXyiofj/IFf78L5F0/FCf+CKyr0=",
"lastModified": 1736095716,
"narHash": "sha256-csysw/Szu98QDiA2lhWk9seYOyCebeVEWL89zh1cduM=",
"owner": "nix-community",
"repo": "NixOS-WSL",
"rev": "dee4425dcee3149475ead0cb6a616b8a028c5888",
"rev": "63c3b4ed1712a3a0621002cd59bfdc80875ecbb0",
"type": "github"
},
"original": {
@ -928,11 +897,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1734649271,
"narHash": "sha256-4EVBRhOjMDuGtMaofAIqzJbg4Ql7Ai0PSeuVZTHjyKQ=",
"lastModified": 1737062831,
"narHash": "sha256-Tbk1MZbtV2s5aG+iM99U8FqwxU/YNArMcWAv6clcsBc=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "d70bd19e0a38ad4790d3913bf08fcbfc9eeca507",
"rev": "5df43628fdf08d642be8ba5b3625a6c70731c19c",
"type": "github"
},
"original": {
@ -944,23 +913,23 @@
},
"nixpkgs-lib": {
"locked": {
"lastModified": 1733096140,
"narHash": "sha256-1qRH7uAUsyQI7R1Uwl4T+XvdNv778H0Nb5njNrqvylY=",
"lastModified": 1735774519,
"narHash": "sha256-CewEm1o2eVAnoqb6Ml+Qi9Gg/EfNAxbRx1lANGVyoLI=",
"type": "tarball",
"url": "https://github.com/NixOS/nixpkgs/archive/5487e69da40cbd611ab2cadee0b4637225f7cfae.tar.gz"
"url": "https://github.com/NixOS/nixpkgs/archive/e9b51731911566bbf7e4895475a87fe06961de0b.tar.gz"
},
"original": {
"type": "tarball",
"url": "https://github.com/NixOS/nixpkgs/archive/5487e69da40cbd611ab2cadee0b4637225f7cfae.tar.gz"
"url": "https://github.com/NixOS/nixpkgs/archive/e9b51731911566bbf7e4895475a87fe06961de0b.tar.gz"
}
},
"nixpkgs-stable": {
"locked": {
"lastModified": 1735141468,
"narHash": "sha256-VIAjBr1qGcEbmhLwQJD6TABppPMggzOvqFsqkDoMsAY=",
"lastModified": 1737165118,
"narHash": "sha256-s40Kk/OulP3J/1JvC3VT16U4r/Xw6Qdi7SRw3LYkPWs=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "4005c3ff7505313cbc21081776ad0ce5dfd7a3ce",
"rev": "6a3ae7a5a12fb8cac2d59d7df7cbd95f9b2f0566",
"type": "github"
},
"original": {
@ -972,11 +941,11 @@
},
"nixpkgs-unstable": {
"locked": {
"lastModified": 1734988233,
"narHash": "sha256-Ucfnxq1rF/GjNP3kTL+uTfgdoE9a3fxDftSfeLIS8mA=",
"lastModified": 1737110817,
"narHash": "sha256-DSenga8XjPaUV5KUFW/i3rNkN7jm9XmguW+qQ1ZJTR4=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "de1864217bfa9b5845f465e771e0ecb48b30e02d",
"rev": "041c867bad68dfe34b78b2813028a2e2ea70a23c",
"type": "github"
},
"original": {
@ -1002,11 +971,11 @@
"treefmt-nix": "treefmt-nix_2"
},
"locked": {
"lastModified": 1734784342,
"narHash": "sha256-VWbcqVnGflD6KbhHqtllZ1zybXIUpufKrqcn1S08j3E=",
"lastModified": 1736598783,
"narHash": "sha256-N1k0EdU9zmeZfYvAVTLLLP3/RYnhf/AUe8dEl8ve+fE=",
"owner": "nix-community",
"repo": "nixvim",
"rev": "8d81e9af1b23ebaf7990eb8a86ae0ca5ae37c09c",
"rev": "62fdd8e1c5f9be8a794857e6e2d246b0db0f09ae",
"type": "github"
},
"original": {
@ -1033,11 +1002,11 @@
"treefmt-nix": "treefmt-nix_3"
},
"locked": {
"lastModified": 1735254735,
"narHash": "sha256-byFeQzjeTLgWkk2xEhTYqYvUsID7H2QAkzuFKIL2Stc=",
"lastModified": 1737200978,
"narHash": "sha256-QTUx/F8HVjrRIHQxHKrr72aPMj+cDk18WTbvBCCBBdI=",
"owner": "nix-community",
"repo": "nixvim",
"rev": "1671f8618fa347d8a0cd62506df386d58d7608f3",
"rev": "cbf960e5659054b2ccf27b67218782e69016bef5",
"type": "github"
},
"original": {
@ -1053,11 +1022,11 @@
"treefmt-nix": "treefmt-nix_4"
},
"locked": {
"lastModified": 1735267453,
"narHash": "sha256-Nu+fTD6pgVEzxdo4qJlY/29D29HzXdS3QyRekROpXb8=",
"lastModified": 1737258869,
"narHash": "sha256-Ue2TumKTw+6VUSKdgHE93gViUTOJDmS2I0HjLbmrHls=",
"owner": "nix-community",
"repo": "NUR",
"rev": "cb6a6ad413f8c22b7f3df3f0a317de7f138e339b",
"rev": "0b2b53ac3bd61384876cf8461d32e698064297ea",
"type": "github"
},
"original": {
@ -1068,7 +1037,7 @@
},
"nuschtosSearch": {
"inputs": {
"flake-utils": "flake-utils_4",
"flake-utils": "flake-utils_3",
"ixx": "ixx",
"nixpkgs": [
"nixvim-unstable",
@ -1076,11 +1045,11 @@
]
},
"locked": {
"lastModified": 1733773348,
"narHash": "sha256-Y47y+LesOCkJaLvj+dI/Oa6FAKj/T9sKVKDXLNsViPw=",
"lastModified": 1735854821,
"narHash": "sha256-Iv59gMDZajNfezTO0Fw6LHE7uKAShxbvMidmZREit7c=",
"owner": "NuschtOS",
"repo": "search",
"rev": "3051be7f403bff1d1d380e4612f0c70675b44fc9",
"rev": "836908e3bddd837ae0f13e215dd48767aee355f0",
"type": "github"
},
"original": {
@ -1153,11 +1122,11 @@
]
},
"locked": {
"lastModified": 1734546875,
"narHash": "sha256-6OvJbqQ6qPpNw3CA+W8Myo5aaLhIJY/nNFDk3zMXLfM=",
"lastModified": 1737107480,
"narHash": "sha256-GXUE9+FgxoZU8v0p6ilBJ8NH7k8nKmZjp/7dmMrCv3o=",
"owner": "Mic92",
"repo": "sops-nix",
"rev": "ed091321f4dd88afc28b5b4456e0a15bd8374b4d",
"rev": "4c4fb93f18b9072c6fa1986221f9a3d7bf1fe4b6",
"type": "github"
},
"original": {
@ -1226,21 +1195,6 @@
"type": "github"
}
},
"systems_5": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"treefmt-nix": {
"inputs": {
"nixpkgs": [
@ -1249,11 +1203,11 @@
]
},
"locked": {
"lastModified": 1735135567,
"narHash": "sha256-8T3K5amndEavxnludPyfj3Z1IkcFdRpR23q+T0BVeZE=",
"lastModified": 1737103437,
"narHash": "sha256-uPNWcYbhY2fjY3HOfRCR5jsfzdzemhfxLSxwjXYXqNc=",
"owner": "numtide",
"repo": "treefmt-nix",
"rev": "9e09d30a644c57257715902efbb3adc56c79cf28",
"rev": "d1ed3b385f8130e392870cfb1dbfaff8a63a1899",
"type": "github"
},
"original": {
@ -1270,11 +1224,11 @@
]
},
"locked": {
"lastModified": 1734704479,
"narHash": "sha256-MMi74+WckoyEWBRcg/oaGRvXC9BVVxDZNRMpL+72wBI=",
"lastModified": 1736154270,
"narHash": "sha256-p2r8xhQZ3TYIEKBoiEhllKWQqWNJNoT9v64Vmg4q8Zw=",
"owner": "numtide",
"repo": "treefmt-nix",
"rev": "65712f5af67234dad91a5a4baee986a8b62dbf8f",
"rev": "13c913f5deb3a5c08bb810efd89dc8cb24dd968b",
"type": "github"
},
"original": {
@ -1291,11 +1245,11 @@
]
},
"locked": {
"lastModified": 1734704479,
"narHash": "sha256-MMi74+WckoyEWBRcg/oaGRvXC9BVVxDZNRMpL+72wBI=",
"lastModified": 1737054102,
"narHash": "sha256-saLiCRQ5RtdTnznT/fja7GxcYRAzeY3k8S+IF/2s/2A=",
"owner": "numtide",
"repo": "treefmt-nix",
"rev": "65712f5af67234dad91a5a4baee986a8b62dbf8f",
"rev": "97871d416166803134ba64597a1006f3f670fbde",
"type": "github"
},
"original": {
@ -1345,11 +1299,11 @@
},
"wrapper-manager-fds": {
"locked": {
"lastModified": 1733054911,
"narHash": "sha256-jNmptnLKXY2tF3SnrxxOAEdGTR4NL/ufyUx3gJgtqsk=",
"lastModified": 1736675919,
"narHash": "sha256-xgiFQE/P7xWp4Rzhx9W+smtdEKzZ8JPuK9Tn6AiYuoU=",
"owner": "foo-dogsquared",
"repo": "nix-module-wrapper-manager-fds",
"rev": "cf2f046d6927944b0fa7bfbcdd3b01392f00eed9",
"rev": "c2625afbffc76ad2a1e6659a84baa69cf4a5f9b1",
"type": "github"
},
"original": {

View File

@ -120,6 +120,7 @@ let
];
nixpkgs.config = cfg.sharedNixpkgsConfig;
specialArgs = cfg.sharedSpecialArgs;
};
};
in
@ -132,6 +133,13 @@ in
'';
};
sharedSpecialArgs = options.setups.sharedSpecialArgs // {
description = ''
Shared set of module arguments as part of `_module.specialArgs` of the
configuration.
'';
};
sharedModules = lib.mkOption {
type = with lib.types; listOf deferredModule;
default = [ ];
@ -165,6 +173,7 @@ in
(import ./shared/nix-conf.nix { inherit inputs; })
(import ./shared/config-options.nix { inherit (config) systems; })
./shared/nixpkgs-options.nix
./shared/special-args-options.nix
configType
]);
default = { };

View File

@ -108,6 +108,8 @@ let
modules = [
"${partsConfig.setups.configDir}/nixvim/${config.configName}"
];
specialArgs = cfg.sharedSpecialArgs;
};
};
@ -169,6 +171,7 @@ in
configs = lib.mkOption {
type = with lib.types; attrsOf (submodule [
(import ./shared/config-options.nix { inherit (config) systems; })
./shared/special-args-options.nix
configType
]);
default = { };
@ -186,6 +189,14 @@ in
environments when NixVim-specific integrations has been enabled.
'';
};
sharedSpecialArgs = options.setups.sharedSpecialArgs // {
description = ''
Shared set of module arguments as part of `_module.specialArgs` of the
configuration.
'';
};
standaloneConfigModules = modulesOption' "standalone configuration";
sharedNixpkgsConfig = options.setups.sharedNixpkgsConfig // {

View File

@ -92,6 +92,7 @@ in
home.packages = with pkgs; [
ffmpeg-full # Ah yes, everyman's multimedia swiss army knife.
kdenlive # YOU! Edit this video and live in a den, 'k?
davinci-resolve # Michaelangelo once used this, I think.
gnome-video-effects # A bunch of stock video effects.
];

View File

@ -121,7 +121,7 @@ in {
flags = [ "--disable-up-arrow" ];
settings = {
search_mode = "fuzzy";
filter_mode = "global";
filter_mode = "session";
};
};

View File

@ -2,7 +2,7 @@
{ lib, ... }:
{
hardware.pulseaudio.enable = false;
services.pulseaudio.enable = false;
security.rtkit.enable = lib.mkDefault true;
# The main preferred setup of our audio system.

View File

@ -1,7 +1,4 @@
{ lib
, fetchFromGitHub
, buildGoModule
}:
{ lib, fetchFromGitHub, buildGoModule }:
buildGoModule rec {
pname = "base16-builder-go";

View File

@ -1,9 +1,4 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, imageio
, openimageio
}:
{ lib, buildPythonPackage, fetchFromGitHub, imageio, openimageio }:
buildPythonPackage rec {
pname = "blender-blendergis";

View File

@ -1,7 +1,4 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
}:
{ lib, buildPythonPackage, fetchFromGitHub }:
buildPythonPackage rec {
pname = "blender-machin3tools";

View File

@ -1,8 +1,4 @@
{
lib,
fetchFromGitHub,
buildGoModule,
}:
{ lib, fetchFromGitHub, buildGoModule, }:
buildGoModule rec {
pname = "ctrld";

View File

@ -23,6 +23,7 @@ in lib.makeScope pkgs.newScope (self: {
distant = callPackage ./distant.nix { };
gnome-search-provider-recoll =
callPackage ./gnome-search-provider-recoll.nix { };
#graphite-design-tool = callPackage ./graphite-design-tool { };
go-avahi-cname = callPackage ./go-avahi-cname { };
hush-shell = callPackage ./hush-shell.nix { };
lazyjj = callPackage ./lazyjj { };
@ -43,6 +44,10 @@ in lib.makeScope pkgs.newScope (self: {
swh = callPackage ./software-heritage {
python3Packages = pkgs.python310Packages;
};
#pd-l2ork = callPackage ./pd-l2ork { };
#rotp-modnar = callPackage ./rotp-modnar { };
#rotp-fusion = callPackage ./rotp-fusion { };
#purrdata = callPackage ./purr-data { };
speki = callPackage ./speki { };
tic-80 = callPackage ./tic-80 { };
smile = callPackage ./smile { };

View File

@ -1,10 +1,4 @@
{ stdenv
, lib
, rustPlatform
, fetchFromGitHub
, pkg-config
, openssl
}:
{ stdenv, lib, rustPlatform, fetchFromGitHub, pkg-config, openssl }:
rustPlatform.buildRustPackage rec {
version = "0.20.0";

View File

@ -1,33 +1,14 @@
{ lib
, stdenv
, fetchFromGitHub
, autoreconfHook
, desktop-file-utils
, pkg-config
, libwebsockets
, ncurses
, openssl
, unixtools
, zlib
, rustPlatform
, perl
, qtbase
, qtwebchannel
, qtwebengine
, wrapQtAppsHook
{ lib, stdenv, fetchFromGitHub, autoreconfHook, desktop-file-utils, pkg-config
, libwebsockets, ncurses, openssl, unixtools, zlib, rustPlatform, perl, qtbase
, qtwebchannel, qtwebengine, wrapQtAppsHook
, withQtDocking ? false
, withKddockwidgets ? false
, kddockwidgets
, withKddockwidgets ? false, kddockwidgets
, withAsciidoctor ? true
, asciidoctor
, withAsciidoctor ? true, asciidoctor
, withDocbook ? true
, docbook-xsl-ns
, libxslt
}:
, withDocbook ? true, docbook-xsl-ns, libxslt }:
stdenv.mkDerivation rec {
pname = "domterm";
@ -40,15 +21,12 @@ stdenv.mkDerivation rec {
hash = "sha256-H1Nzqzz7dv4j9hkb08FCExLeq69EkFNXGzhhl/e+uxI=";
};
configureFlags = [
"--with-libwebsockets"
"--enable-compiled-in-resources"
"--with-qt"
]
++ lib.optional withAsciidoctor "--with-asciidoctor"
++ lib.optional withQtDocking "--with-qt-docking"
++ lib.optional withKddockwidgets "--with-kddockwidgets"
++ lib.optional withDocbook "--with-docbook";
configureFlags =
[ "--with-libwebsockets" "--enable-compiled-in-resources" "--with-qt" ]
++ lib.optional withAsciidoctor "--with-asciidoctor"
++ lib.optional withQtDocking "--with-qt-docking"
++ lib.optional withKddockwidgets "--with-kddockwidgets"
++ lib.optional withDocbook "--with-docbook";
nativeBuildInputs = [
autoreconfHook
@ -68,13 +46,9 @@ stdenv.mkDerivation rec {
perl
unixtools.xxd
zlib
]
++ lib.optional withKddockwidgets kddockwidgets
++ lib.optional withAsciidoctor asciidoctor
++ lib.optionals withDocbook [
docbook-xsl-ns
libxslt
];
] ++ lib.optional withKddockwidgets kddockwidgets
++ lib.optional withAsciidoctor asciidoctor
++ lib.optionals withDocbook [ docbook-xsl-ns libxslt ];
meta = with lib; {
homepage = "https://domterm.org/";

View File

@ -1,10 +1,4 @@
{ lib
, rustPlatform
, fetchFromGitHub
, cmake
, pkg-config
, openssl
}:
{ lib, rustPlatform, fetchFromGitHub, cmake, pkg-config, openssl }:
rustPlatform.buildRustPackage rec {
pname = "fastn";
@ -20,7 +14,8 @@ rustPlatform.buildRustPackage rec {
cargoLock = {
lockFile = ./Cargo.lock;
outputHashes = {
"fastn-observer-0.1.0" = "sha256-D7ch6zB1xw54vGbpcQ3hf+zG11Le/Fy01W3kHhc8bOg=";
"fastn-observer-0.1.0" =
"sha256-D7ch6zB1xw54vGbpcQ3hf+zG11Le/Fy01W3kHhc8bOg=";
};
};
@ -28,9 +23,7 @@ rustPlatform.buildRustPackage rec {
nativeBuildInputs = [ cmake pkg-config ];
buildInputs = [ openssl ];
checkFlags = [
"--skip=tests::fbt"
];
checkFlags = [ "--skip=tests::fbt" ];
meta = with lib; {
homepage = "https://fastn.com/";

View File

@ -1,22 +1,6 @@
{ stdenv
, lib
, fetchFromGitLab
, rustPlatform
, cargo
, rustc
, meson
, ninja
, pkg-config
, glib
, gobject-introspection
, libadwaita
, wrapGAppsHook4
, openssl
, appstream-glib
, desktop-file-utils
, blueprint-compiler
, flatpak
}:
{ stdenv, lib, fetchFromGitLab, rustPlatform, cargo, rustc, meson, ninja
, pkg-config, glib, gobject-introspection, libadwaita, wrapGAppsHook4, openssl
, appstream-glib, desktop-file-utils, blueprint-compiler, flatpak }:
stdenv.mkDerivation (finalAttrs: {
pname = "flatsync";
@ -52,12 +36,7 @@ stdenv.mkDerivation (finalAttrs: {
wrapGAppsHook4
];
buildInputs = [
glib
flatpak
libadwaita
openssl
];
buildInputs = [ glib flatpak libadwaita openssl ];
meta = with lib; {
homepage = "https://gitlab.gnome.org/Cogitri/flatsync";

View File

@ -1,14 +1,5 @@
{ stdenv
, lib
, fetchurl
, autoreconfHook
, recoll
, python3Packages
, glib
, gobject-introspection
, wrapGAppsHook3
, gnome-shell
}:
{ stdenv, lib, fetchurl, autoreconfHook, recoll, python3Packages, glib
, gobject-introspection, wrapGAppsHook3, gnome-shell }:
python3Packages.buildPythonPackage rec {
pname = "gnome-search-provider-recoll";

View File

@ -1,4 +1,5 @@
{ rustPlatform, cargo-tauri_1, fetchFromGitHub, wrapGAppsHook, wasm-bindgen-cli, pkg-config, lib }:
{ rustPlatform, cargo-tauri_1, fetchFromGitHub, wrapGAppsHook, wasm-bindgen-cli
, pkg-config, lib }:
rustPlatform.buildRustPackage rec {
pname = "graphite-design-tool";
@ -14,11 +15,13 @@ rustPlatform.buildRustPackage rec {
useFetchCargoVendor = true;
cargoHash = "sha256-+p9bpj+cSd0Bkpg+e4lwo4C7XqxZBc0McYYsNxAqzaA=";
nativeBuildInputs = [ cargo-tauri_1 pkg-config wrapGAppsHook wasm-bindgen-cli ];
nativeBuildInputs =
[ cargo-tauri_1 pkg-config wrapGAppsHook wasm-bindgen-cli ];
meta = with lib; {
homepage = "https://graphite.rs/";
description = "2D vector & raster editor that melds traditional layers & tools with a modern node-based, non-destructive, procedural workflow";
description =
"2D vector & raster editor that melds traditional layers & tools with a modern node-based, non-destructive, procedural workflow";
license = licenses.asl20;
maintainers = with maintainers; [ foo-dogsquared ];
mainProgram = "graphite";

View File

@ -1,9 +1,4 @@
{ stdenv
, lib
, fetchFromGitHub
, rustPlatform
, toybox
}:
{ stdenv, lib, fetchFromGitHub, rustPlatform, toybox }:
rustPlatform.buildRustPackage rec {
pname = "hush";
@ -23,10 +18,8 @@ rustPlatform.buildRustPackage rec {
'';
checkInputs = [ toybox ];
checkFlags = [
"--skip=tests::test_token_kind_size"
"--skip=tests::test_positive"
];
checkFlags =
[ "--skip=tests::test_token_kind_size" "--skip=tests::test_positive" ];
meta = with lib; {
homepage = "https://github.com/hush-shell/hush";

View File

@ -1,14 +1,7 @@
{
lib,
rustPlatform,
fetchFromGitHub,
jujutsu,
}:
{ lib, rustPlatform, fetchFromGitHub, jujutsu, }:
let
version = "0.3.1";
in
rustPlatform.buildRustPackage {
let version = "0.3.1";
in rustPlatform.buildRustPackage {
inherit version;
pname = "lazyjj";

View File

@ -1,12 +1,4 @@
{ stdenv
, lib
, fetchFromGitHub
, cmake
, SDL2
, xorg
, xwayland
, libconfig
}:
{ stdenv, lib, fetchFromGitHub, cmake, SDL2, xorg, xwayland, libconfig }:
stdenv.mkDerivation rec {
pname = "lwp";
@ -20,12 +12,7 @@ stdenv.mkDerivation rec {
};
nativeBuildInputs = [ cmake ];
buildInputs = [
SDL2
xorg.libX11
xwayland
libconfig
];
buildInputs = [ SDL2 xorg.libX11 xwayland libconfig ];
# TODO: Add conditional for Mac systems.
postPatch = ''
@ -36,9 +23,7 @@ stdenv.mkDerivation rec {
--replace "usr/local" "${placeholder "out"}"
'';
cmakeFlags = [
"-DPROGRAM_VERSION=${version}"
];
cmakeFlags = [ "-DPROGRAM_VERSION=${version}" ];
meta = with lib; {
homepage = "https://github.com/jszczerbinsky/lwp";

View File

@ -1,14 +1,5 @@
{ stdenv
, lib
, fetchFromGitLab
, glib
, nautilus
, gtksourceview5
, libadwaita
, autoreconfHook
, wrapGAppsHook4
, pkg-config
}:
{ stdenv, lib, fetchFromGitLab, glib, nautilus, gtksourceview5, libadwaita
, autoreconfHook, wrapGAppsHook4, pkg-config }:
stdenv.mkDerivation rec {
pname = "nautilus-annotations";
@ -22,18 +13,10 @@ stdenv.mkDerivation rec {
hash = "sha256-BivnmsACnpxdd6FV+ncdDd5ZwtJSSzNExoiCXeXIFkA=";
};
nativeBuildInputs = [
autoreconfHook
glib
nautilus
pkg-config
wrapGAppsHook4
];
nativeBuildInputs =
[ autoreconfHook glib nautilus pkg-config wrapGAppsHook4 ];
buildInputs = [
libadwaita
gtksourceview5
];
buildInputs = [ libadwaita gtksourceview5 ];
preConfigure = ''
./bootstrap

View File

@ -1,14 +1,5 @@
{ stdenv,
lib,
fetchFromGitHub,
autoreconfHook,
bison,
fftw,
libtool,
libjack2,
bluez,
udev
}:
{ stdenv, lib, fetchFromGitHub, autoreconfHook, bison, fftw, libtool, libjack2
, bluez, udev }:
stdenv.mkDerivation (finalAttrs: {
pname = "pd-l2ork";
@ -21,17 +12,9 @@ stdenv.mkDerivation (finalAttrs: {
hash = "sha256-A+ETptD1R+Pb4r2qgD0YxV7KYeAb9iLBwENhYQyjBc4=";
};
nativeBuildInputs = [
libtool
];
nativeBuildInputs = [ libtool ];
buildInputs = [
bison
fftw
libjack2
bluez
udev
];
buildInputs = [ bison fftw libjack2 bluez udev ];
meta = with lib; {
homepage = "http://l2ork.music.vt.edu/";

View File

@ -1,9 +1,4 @@
{ lib
, fetchFromGitHub
, rustPlatform
, pkg-config
, openssl
}:
{ lib, fetchFromGitHub, rustPlatform, pkg-config, openssl }:
rustPlatform.buildRustPackage rec {
pname = "pigeon-mail";
@ -18,9 +13,7 @@ rustPlatform.buildRustPackage rec {
cargoHash = "sha256-MRSO89qg08GyyIuzEpSO4qQTZS876U3SeGJ6eCO+3BA=";
env = {
OPENSSL_NO_VENDOR = "1";
};
env = { OPENSSL_NO_VENDOR = "1"; };
nativeBuildInputs = [ pkg-config ];
buildInputs = [ openssl ];

View File

@ -1,14 +1,5 @@
{ stdenv,
lib,
fetchFromGitHub,
bison,
fftw,
libtool,
libjack2,
bluez,
udev,
wget,
}:
{ stdenv, lib, fetchFromGitHub, bison, fftw, libtool, libjack2, bluez, udev
, wget, }:
stdenv.mkDerivation (finalAttrs: {
pname = "pd-l2ork";
@ -21,26 +12,15 @@ stdenv.mkDerivation (finalAttrs: {
hash = "sha256-A+ETptD1R+Pb4r2qgD0YxV7KYeAb9iLBwENhYQyjBc4=";
};
nativeBuildInputs = [
libtool
];
nativeBuildInputs = [ libtool ];
buildInputs = [
bison
fftw
libjack2
bluez
udev
wget
];
buildInputs = [ bison fftw libjack2 bluez udev wget ];
preBuild = ''
patchShebangs l2ork_addons/*.sh
'';
buildFlags = [
"prefix=${placeholder "out"}"
];
buildFlags = [ "prefix=${placeholder "out"}" ];
meta = with lib; {
homepage = "http://l2ork.music.vt.edu/";

View File

@ -1,9 +1,4 @@
{ lib,
fetchFromGitHub,
maven,
libwebp,
vorbis-tools,
}:
{ lib, fetchFromGitHub, maven, libwebp, vorbis-tools, }:
maven.buildMavenPackage rec {
pname = "rotp-fusion";
@ -20,10 +15,7 @@ maven.buildMavenPackage rec {
mvnHash = "";
nativeBuildInputs = [
libwebp
vorbis-tools
];
nativeBuildInputs = [ libwebp vorbis-tools ];
meta = with lib; {
description = "Mod of Remnants of the Precursors with more features";

View File

@ -1,8 +1,4 @@
{
lib,
rotp,
fetchFromGitHub,
}:
{ lib, rotp, fetchFromGitHub, }:
rotp.overrideAttrs (finalAttrs: prevAttrs: {
src = fetchFromGitHub {

View File

@ -1,19 +1,6 @@
{ lib
, fetchFromGitHub
, fetchpatch
, meson
, ninja
, pkg-config
, coreutils
, glib
, gobject-introspection
, xorg
, udev
, wireplumber
, pipewire
, perl
, python3Packages
}:
{ lib, fetchFromGitHub, fetchpatch, meson, ninja, pkg-config, coreutils, glib
, gobject-introspection, xorg, udev, wireplumber, pipewire, perl
, python3Packages }:
python3Packages.buildPythonPackage rec {
pname = "sessiond";
@ -29,34 +16,21 @@ python3Packages.buildPythonPackage rec {
patches = [
(fetchpatch {
url = "https://github.com/jcrd/sessiond/commit/217ed63e2033c46c637e0564ef44ceaedff3e102.patch";
url =
"https://github.com/jcrd/sessiond/commit/217ed63e2033c46c637e0564ef44ceaedff3e102.patch";
hash = "sha256-/GFPwJ4OBskavUJYhR5LGpt+HZABDOCpx6cVYDCYTNE=";
})
./0002-meson-Add-python-sessiond-installation.patch
];
nativeBuildInputs = [
meson
ninja
pkg-config
glib
gobject-introspection
perl
];
nativeBuildInputs =
[ meson ninja pkg-config glib gobject-introspection perl ];
buildInputs = [
udev
xorg.libXi
xorg.libX11
xorg.libXext
wireplumber
pipewire
];
buildInputs =
[ udev xorg.libXi xorg.libX11 xorg.libXext wireplumber pipewire ];
propagatedBuildInputs = with python3Packages; [
dbus-python
];
propagatedBuildInputs = with python3Packages; [ dbus-python ];
postPatch = ''
substituteInPlace ./systemd/sessiond.service \

View File

@ -1,19 +1,6 @@
{ stdenv
, lib
, fetchFromGitHub
, meson
, ninja
, appstream-glib
, desktop-file-utils
, gettext
, glib
, gtk4
, libwnck
, wrapGAppsHook4
, pkg-config
, python3Packages
, gobject-introspection
}:
{ stdenv, lib, fetchFromGitHub, meson, ninja, appstream-glib, desktop-file-utils
, gettext, glib, gtk4, libwnck, wrapGAppsHook4, pkg-config, python3Packages
, gobject-introspection }:
python3Packages.buildPythonApplication rec {
pname = "smile";
@ -49,9 +36,7 @@ python3Packages.buildPythonApplication rec {
wrapGAppsHook4
];
propagatedNativeBuildInputs = [
gobject-introspection
];
propagatedNativeBuildInputs = [ gobject-introspection ];
propagatedBuildInputs = with python3Packages; [
pygobject3
@ -59,10 +44,7 @@ python3Packages.buildPythonApplication rec {
dbus-python
];
buildInputs = [
libwnck
gtk4
];
buildInputs = [ libwnck gtk4 ];
dontWrapGApps = true;
preFixup = ''

View File

@ -13,11 +13,7 @@ buildPythonPackage rec {
doCheck = false;
propagatedBuildInputs = [
aiohttp
gunicorn
python-mimeparse
];
propagatedBuildInputs = [ aiohttp gunicorn python-mimeparse ];
meta = with lib; {
homepage = "https://github.com/sloria/aiohttp-utils";

View File

@ -10,10 +10,7 @@ buildPythonPackage rec {
sha256 = "sha256-YybB5RxP0v/8ndYH3sBsMa3WTu29N6ZR6oj2Y6N8Pxg";
};
propagatedBuildInputs = [
setuptools-scm
attrs
];
propagatedBuildInputs = [ setuptools-scm attrs ];
meta = with lib; {
homepage = "https://github.com/bloomberg/attrs-strict";

View File

@ -1,16 +1,16 @@
{ lib, callPackage, newScope, python3Packages, ... }:
lib.fix' (self:
let
callPackage = newScope self;
in
lib.recurseIntoAttrs {
attrs-strict = callPackage ./attrs-strict.nix { inherit python3Packages; };
aiohttp-utils = callPackage ./aiohttp-utils.nix { inherit python3Packages; };
let callPackage = newScope self;
in lib.recurseIntoAttrs {
attrs-strict = callPackage ./attrs-strict.nix { inherit python3Packages; };
aiohttp-utils =
callPackage ./aiohttp-utils.nix { inherit python3Packages; };
swh-fuse = callPackage ./swh-fuse.nix { inherit python3Packages; };
swh-core = callPackage ./swh-core.nix { inherit python3Packages; };
swh-model = callPackage ./swh-model.nix { inherit python3Packages; };
swh-web-client = callPackage ./swh-web-client.nix { inherit python3Packages; };
swh-auth = callPackage ./swh-auth.nix { inherit python3Packages; };
})
swh-fuse = callPackage ./swh-fuse.nix { inherit python3Packages; };
swh-core = callPackage ./swh-core.nix { inherit python3Packages; };
swh-model = callPackage ./swh-model.nix { inherit python3Packages; };
swh-web-client =
callPackage ./swh-web-client.nix { inherit python3Packages; };
swh-auth = callPackage ./swh-auth.nix { inherit python3Packages; };
})

View File

@ -28,7 +28,8 @@ buildPythonPackage rec {
pname = "python_keycloak";
hash = "sha256-zIaBJvU1qk8yDcnqsk5GrzgcE7zIjZsHAbBCk+p1zSQ=";
};
propagatedBuildInputs = prev.propagatedBuildInputs ++ [ setuptools deprecation ];
propagatedBuildInputs = prev.propagatedBuildInputs
++ [ setuptools deprecation ];
}))
swh-core

View File

@ -1,10 +1,4 @@
{ rustPlatform
, lib
, fetchFromGitHub
, pkg-config
, openssl
, alsa-lib
}:
{ rustPlatform, lib, fetchFromGitHub, pkg-config, openssl, alsa-lib }:
rustPlatform.buildRustPackage rec {
pname = "speki";
@ -17,9 +11,7 @@ rustPlatform.buildRustPackage rec {
hash = "sha256-cvtMXtg2c9T4CaWAobagS9pW4pX4Q+nwdBvP+9A0er0=";
};
cargoLock = {
lockFile = ./Cargo.lock;
};
cargoLock = { lockFile = ./Cargo.lock; };
env.OPENSSL_NO_VENDOR = "1";
nativeBuildInputs = [ pkg-config ];

View File

@ -15,9 +15,12 @@ rustPlatform.buildRustPackage rec {
lockFile = "${src}/Cargo.lock";
outputHashes = {
"genai-0.1.7-wip" = "sha256-peqM0rBLnL4F0M6o8CO/+ttv9eOLV4VkDEy2e4x7dn0=";
"htpasswd-verify-0.3.0" = "sha256-GbkY590xWEZ+lVT9nffs4HIRW6CwBjll4rGIk27waxo=";
"posthog-rs-0.2.3" = "sha256-1HxOEzc8GROStxuxG0cfCNa4iA04sCD7jD6uWT5bl2o=";
"serde_json_borrow-0.7.0" = "sha256-UcgIWjdSCkYRYxEcWbwQs+BxX41ITqkvFSFtzEJchVk=";
"htpasswd-verify-0.3.0" =
"sha256-GbkY590xWEZ+lVT9nffs4HIRW6CwBjll4rGIk27waxo=";
"posthog-rs-0.2.3" =
"sha256-1HxOEzc8GROStxuxG0cfCNa4iA04sCD7jD6uWT5bl2o=";
"serde_json_borrow-0.7.0" =
"sha256-UcgIWjdSCkYRYxEcWbwQs+BxX41ITqkvFSFtzEJchVk=";
};
};

View File

@ -1,50 +1,24 @@
# Build the TIC-80 virtual computer console with the PRO version. The
# developers are kind enough to make it easy to compile it if you know
# how.
{ stdenv
, lib
, SDL2
, SDL2_sound
, alsa-lib
, cmake
, fetchFromGitHub
, freeglut
, git
, gtk3
, dbus
, libGLU
, libX11
, libglvnd
, libsamplerate
, mesa
, pkg-config
, sndio
{ stdenv, lib, SDL2, SDL2_sound, alsa-lib, cmake, fetchFromGitHub, freeglut, git
, gtk3, dbus, libGLU, libX11, libglvnd, libsamplerate, mesa, pkg-config, sndio
, zlib
, pulseaudioSupport ? stdenv.isLinux
, libpulseaudio
, pulseaudioSupport ? stdenv.isLinux, libpulseaudio
, waylandSupport ? true
, wayland
, libxkbcommon
, libdecor
, waylandSupport ? true, wayland, libxkbcommon, libdecor
, esoundSupport ? true
, espeak
, esoundSupport ? true, espeak
, jackSupport ? true
, jack2
, jackSupport ? true, jack2
# Ruby support requires compiling mruby so we'll skip it for now.
, rubySupport ? false
, ruby
, rake
# Ruby support requires compiling mruby so we'll skip it for now.
, rubySupport ? false, ruby, rake
, pythonSupport ? true
, python3
, pythonSupport ? true, python3
, withPro ? true
}:
, withPro ? true }:
# TODO: Fix the timestamp in the help section.
stdenv.mkDerivation rec {
@ -73,20 +47,15 @@ stdenv.mkDerivation rec {
SDL2_sound
zlib
sndio
]
++ lib.optional pulseaudioSupport libpulseaudio
++ lib.optional jackSupport jack2
++ lib.optional esoundSupport espeak
++ lib.optionals rubySupport [
ruby
rake
]
++ lib.optional pythonSupport python3
++ lib.optionals (stdenv.isLinux && waylandSupport) [
wayland
libxkbcommon
libdecor
];
] ++ lib.optional pulseaudioSupport libpulseaudio
++ lib.optional jackSupport jack2 ++ lib.optional esoundSupport espeak
++ lib.optionals rubySupport [ ruby rake ]
++ lib.optional pythonSupport python3
++ lib.optionals (stdenv.isLinux && waylandSupport) [
wayland
libxkbcommon
libdecor
];
cmakeFlags = lib.optional withPro "-DBUILD_PRO=ON";

View File

@ -1,13 +1,7 @@
{ lib
, python311Packages
, fetchFromGitHub
, meson
, ninja
, pkg-config
{ lib, python311Packages, fetchFromGitHub, meson, ninja, pkg-config
# This is for substituting shebangs in its plugins.
, coreutils
}:
# This is for substituting shebangs in its plugins.
, coreutils }:
python311Packages.buildPythonPackage rec {
pname = "uwsm";
@ -21,20 +15,11 @@ python311Packages.buildPythonPackage rec {
hash = "sha256-n80FZ6rEguTN9ouEqI+bc5FOSeFQ8ynV+XDL2K/ZIxI=";
};
patches = [
./0001-chore-add-build-backend-for-pyproject.patch
];
patches = [ ./0001-chore-add-build-backend-for-pyproject.patch ];
nativeBuildInputs = [
meson
ninja
pkg-config
];
nativeBuildInputs = [ meson ninja pkg-config ];
propagatedBuildInputs = with python311Packages; [
pyxdg
dbus-python
];
propagatedBuildInputs = with python311Packages; [ pyxdg dbus-python ];
postFixup = ''
substituteInPlace $out/share/uwsm/plugins/*.sh \

View File

@ -1,15 +1,5 @@
{ stdenv
, lib
, fetchFromGitHub
, wrapQtAppsHook
, qtbase
, cmake
, python3
, harfbuzz
, freetype
, libGLU
, git
}:
{ stdenv, lib, fetchFromGitHub, wrapQtAppsHook, qtbase, cmake, python3, harfbuzz
, freetype, libGLU, git }:
stdenv.mkDerivation rec {
pname = "vgc";
@ -23,20 +13,11 @@ stdenv.mkDerivation rec {
fetchSubmodules = true;
};
patches = [
./patches/set-reproducible-build.patch
];
patches = [ ./patches/set-reproducible-build.patch ];
nativeBuildInputs = [ wrapQtAppsHook cmake ];
buildInputs = [
python3
git
freetype
harfbuzz
libGLU
qtbase
];
buildInputs = [ python3 git freetype harfbuzz libGLU qtbase ];
meta = with lib; {
homepage = "https://www.vgc.io/";

View File

@ -1,7 +1,4 @@
{ lib
, buildGoModule
, fetchFromGitHub
}:
{ lib, buildGoModule, fetchFromGitHub }:
buildGoModule {
pname = "willow";
@ -19,10 +16,7 @@ buildGoModule {
meta = with lib; {
homepage = "https://github.com/Amolith/willow";
description = "Forge-agnostic release tracker";
license = with licenses; [
mit
asl20
];
license = with licenses; [ mit asl20 ];
maintainers = with maintainers; [ foo-dogsquared ];
mainProgram = "willow";
platforms = platforms.unix;

View File

@ -1,16 +1,5 @@
{ stdenv
, lib
, fetchFromGitHub
, boost
, boehmgc
, bison
, meson
, ninja
, pkg-config
, libffi
, readline
, git
}:
{ stdenv, lib, fetchFromGitHub, boost, boehmgc, bison, meson, ninja, pkg-config
, libffi, readline, git }:
stdenv.mkDerivation rec {
pname = "xs";
@ -23,20 +12,9 @@ stdenv.mkDerivation rec {
sha256 = "sha256-Yx6zWLZlnlckZyTljgTVCjCPtNfUbM+o4RfuOPpn8ZQ=";
};
nativeBuildInputs = [
meson
ninja
pkg-config
];
nativeBuildInputs = [ meson ninja pkg-config ];
buildInputs = [
boost
bison
boehmgc
libffi
readline
git
];
buildInputs = [ boost bison boehmgc libffi readline git ];
patches = [ ./update-build.patch ];
postPatch = ''
@ -45,7 +23,8 @@ stdenv.mkDerivation rec {
meta = with lib; {
homepage = "https://github.com/TieDyedDevil/XS";
description = "Extensible shell with functional semantics and conventional syntax";
description =
"Extensible shell with functional semantics and conventional syntax";
# See doc/ANCENSTORS and doc/COPYING files for more details.
license = licenses.publicDomain;

View File

@ -3,20 +3,38 @@
rec {
inherit (pkgs.lib.generators) toYAML;
/* Read YAML files into a Nix expression similar to lib.importJSON and
lib.importTOML from nixpkgs standard library. Unlike both of them, this
unfortunately relies on an import-from-derivation (IFD) so it isn't exactly
perfect but it is very close.
/**
Read YAML files into a Nix expression similar to lib.importJSON and
lib.importTOML from nixpkgs standard library. Unlike both of them, this
unfortunately relies on an import-from-derivation (IFD) so it isn't exactly
perfect but it is very close.
This relies on yaml2json which uses the following YAML library which you
can view the following link for more details on YAML compatibility.
This relies on yaml2json which uses the following YAML library which you
can view the following link for more details on YAML compatibility.
https://pkg.go.dev/gopkg.in/yaml.v3#readme-compatibility
https://pkg.go.dev/gopkg.in/yaml.v3#readme-compatibility
Type: importYAML :: Path -> any
# Arguments
Example:
importYAML ./simple.yml
file
: The filepath of the YAML file.
# Type
```
importYAML :: Path -> any
```
# Example
```
importYAML ./simple.yml
=>
{
hello = "there";
how-are-you-doing = "I'm fine. Thank you for asking.";
}
```
*/
importYAML = path:
let
@ -26,44 +44,80 @@ rec {
in
lib.importJSON dataDrv;
/* Convert a given decimal number to a specified base digit with the set of
glyphs for each digit as returned from lib.toBaseDigits.
/**
Convert a given decimal number to a specified base digit with the set of
glyphs for each digit as returned from lib.toBaseDigits.
Type: toBaseDigitWithGlyphs :: Int -> Int -> Attrs -> String
# Arguments
Example:
toBaseDigitWithGlyphs 24 267 {
"0" = "0";
"1" = "1";
"2" = "2";
# ...
"22" = "O";
"23" = "P";
}
=>
base
: The base index.
glyphs
: An attribute set of decimal values and their glyphs.
i
: The actual integer to be converted.
# Type
```
toBaseDigitWithGlyphs :: Int -> Int -> Attrs -> String
```
# Example
```
toBaseDigitWithGlyphs 24 267 {
"0" = "0";
"1" = "1";
"2" = "2";
# ...
"22" = "M";
"23" = "N";
}
=>
"12H"
toBaseDigitWithGlyphs
```
*/
toBaseDigitsWithGlyphs = base: i: glyphs:
toBaseDigitsWithGlyphs = base: glyphs: i:
let
baseDigits = lib.toBaseDigits base i;
toBaseDigits = d: glyphs.${builtins.toString d};
in
lib.concatMapStrings toBaseDigits baseDigits;
/* Generates a glyph set usable for `toBaseDigitsWithGlyphs`. Take note the
given list is assumed to be sorted and the generated glyph set starts at
`0` up to (`listLength - 1`).
/**
Generates a glyph set usable for `toBaseDigitsWithGlyphs`. Take note the
given list is assumed to be sorted and the generated glyph set starts at
`0` up to (`listLength - 1`).
Type: generateGlyphSet :: [ String ] -> Attrs
# Arguments
Example:
generateGlyphSet [ "0" "1" "2" "3" "4" "5" "6" "7" "8 "9" "A" "B" "C" "D" "E" "F" ]
=> {
"0" = "0";
"1" = "1";
# ...
"14" = "E";
"15" = "F";
}
glyphsList
: A sorted list of glyphs.
# Type
```
generateGlyphSet :: [ String ] -> Attrs
```
# Example
```
generateGlyphSet [ "0" "1" "2" "3" "4" "5" "6" "7" "8 "9" "A" "B" "C" "D" "E" "F" ]
=>
{
"0" = "0";
"1" = "1";
# ...
"14" = "E";
"15" = "F";
}
```
*/
generateGlyphSet = glyphsList:
let
@ -74,21 +128,35 @@ rec {
in
lib.listToAttrs glyphsList';
/* Generates a conversion table for a sorted list of glyphs to its decimal
number. Suitable for creating your own conversion function. Accepts the
same argument as `generateGlyphSet`.
/**
Generates a conversion table for a sorted list of glyphs to its decimal
number. Suitable for creating your own conversion function. Accepts the
same argument as `generateGlyphSet`.
Type: generateConversionTable :: [ String ] -> Attrs
# Arguments
Example:
generateGlyphSet [ "0" "1" "2" "3" "4" "5" "6" "7" "8 "9" "A" "B" "C" "D" "E" "F" ]
=> {
"0" = 0;
"1" = 1;
# ...
"E" = 14;
"F" = 15;
}
glyphsList
: A sorted list of glyphs.
# Type
```
generateConversionTable :: [ String ] -> Attrs
```
# Example
```
generateConversionTable [ "0" "1" "2" "3" "4" "5" "6" "7" "8 "9" "A" "B" "C" "D" "E" "F" ]
=>
{
"0" = 0;
"1" = 1;
# ...
"E" = 14;
"F" = 15;
}
```
*/
generateConversionTable = glyphsList:
let
@ -99,23 +167,37 @@ rec {
in
lib.listToAttrs glyphsList';
/* A factory function for generating an attribute set containing a glyph
set, a conversion table, and a conversion function to and from decimal.
Accepts the same list as `generateGlyphSet` and
`generateConversionTable` where it assumes it is sorted and
zero-indexed.
/**
A factory function for generating an attribute set containing a glyph
set, a conversion table, and a conversion function to and from decimal.
Accepts the same list as `generateGlyphSet` and
`generateConversionTable` where it assumes it is sorted and
zero-indexed.
Type: generateBaseDigitType :: [ String ] -> Attrs
# Arguments
Example:
generateBaseDigitType [ "0" "1" ]
=> {
base = 2;
glyphSet = { "0" = "0"; "1" = "1"; };
conversionTable = { "0" = 0; "1" = 1; };
fromDec = <function>;
toDec = <function>;
}
glyphsList
: A sorted list of glyphs.
# Type
```
generateBaseDigitType :: [ String ] -> Attrs
```
# Example
```
generateBaseDigitType [ "0" "1" ]
=>
{
base = 2;
glyphSet = { "0" = "0"; "1" = "1"; };
conversionTable = { "0" = 0; "1" = 1; };
fromDec = <function>;
toDec = <function>;
}
```
*/
generateBaseDigitType = glyphsList: rec {
base = lib.length glyphsList;
@ -143,84 +225,174 @@ rec {
lib.foldl (sum: v: sum + v) 0 convertDigitToDec;
};
/* Given a range of two numbers, ensure the value is only returned within the
range.
/**
Given a range of two numbers, ensure the value is only returned within the
range.
Type: clamp :: Number -> Number -> Number -> Number
# Arguments
Example:
clamp 0 255 654
=> 255
min
: Minimum number of the range.
clamp (-100) 100 (-234)
=> -100
max
: Maximum number of the range.
clamp (-100) 100 54
=> 54
value
: Number to be used for the function.
# Type
```
clamp :: Number -> Number -> Number -> Number
```
# Example
```
clamp 0 255 654
=>
255
clamp (-100) 100 (-234)
=>
-100
clamp (-100) 100 54
=>
54
```
*/
clamp = min: max: value:
lib.min max (lib.max min value);
/* Given a value, check if it's a number type.
/**
Given a value, check if it's a number type.
Type: isNumber :: Number -> bool
# Arguments
Example:
isNumber 3.0
=> true
value
: Numerical value.
isNumber 653
=> true
# Type
isNumber true
=> false
```
isNumber :: Number -> bool
```
# Example:
```
isNumber 3.0
=>
true
isNumber 653
=>
true
isNumber true
=>
false
```
*/
isNumber = v:
lib.isInt v || lib.isFloat v;
/* Given a Nix number, force it to be a floating value.
/**
Given a Nix number, force it to be a floating value.
Type: toFloat :: Number -> Float
# Arguments
Example:
toFloat 5
=> 5.0
value
: The numerical value.
toFloat 59.0
=> 59.0
# Type
```
toFloat :: Number -> Float
```
# Example
```
toFloat 5
=>
5.0
toFloat 59.0
=>
59.0
```
*/
toFloat = x:
1.0 * x;
/* Given an initial range of integers, scale the given number with its own
set of range.
/**
Given an initial range of integers, scale the given number with its own
set of range.
Type: scale :: Attrs -> Number -> Number
# Arguments
Example:
scale { inMin = 0; inMax = 15; outMin = 0; outMax = 255; } 4
=> 68
rangeSet
: An attribute set containing the following attributes: `inMin` and `inMax`
for specifying the input's expected range and `outMin` and `outMax` for the
output's.
scale { inMin = 0; inMax = 15; outMin = 0; outMax = 255; } (-4)
=> -68
value
: The numerical value.
scale { inMin = 0; inMax = 15; outMin = 0; outMax = 255; } 15
=> 255
# Type
```
scale :: Attrs -> Number -> Number
```
# Example
```
scale { inMin = 0; inMax = 15; outMin = 0; outMax = 255; } 4
=>
68
scale { inMin = 0; inMax = 15; outMin = 0; outMax = 255; } (-4)
=>
-68
scale { inMin = 0; inMax = 15; outMin = 0; outMax = 255; } 15
=>
255
```
*/
scale = { inMin, inMax, outMin, outMax }: v:
((v - inMin) * (outMax - outMin)) / ((inMax - inMin) + outMin);
/* Returns a null value if the condition fails. Otherwise, returns the given
value `as`.
/**
Returns a null value if the condition fails. Otherwise, returns the given
value `as`.
Type: optionalNull :: Bool -> Any -> Any
# Arguments
Example:
optionalNull true "HELLO"
=> "HELLO"
cond
: Condition that should evaluate as a boolean.
optionalNull (null != null) "HELLO"
=> null
as
: Value to be returned if condition returns true.
# Type
```
optionalNull :: Bool -> Any -> Any
```
# Example
```
optionalNull true "HELLO"
=> "HELLO"
optionalNull (null != null) "HELLO"
=> null
```
*/
optionalNull = cond: as:
if cond then

View File

@ -1,7 +1,7 @@
[global]
excludes = [
"pkgs/firefox-addons/default.nix"
"subprojects"
"pkgs/firefox-addons/default.nix",
"subprojects",
]
[formatter.lua]