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
Update flake inputs / update (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,19 +1,34 @@
# 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 = { ... }: {
# 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;
wrapper-manager.packages.neovim-flavors = {
wrappers.nvim-fiesta.arg0 = let
nvimPkg = createNixvimFlavor {
imports =
[
./colorschemes.nix
@ -26,12 +41,13 @@ in
./lsp.nix
./dap.nix
];
config = {
enable = true;
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,11 +21,8 @@ stdenv.mkDerivation rec {
hash = "sha256-H1Nzqzz7dv4j9hkb08FCExLeq69EkFNXGzhhl/e+uxI=";
};
configureFlags = [
"--with-libwebsockets"
"--enable-compiled-in-resources"
"--with-qt"
]
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"
@ -68,13 +46,9 @@ stdenv.mkDerivation rec {
perl
unixtools.xxd
zlib
]
++ lib.optional withKddockwidgets kddockwidgets
] ++ lib.optional withKddockwidgets kddockwidgets
++ lib.optional withAsciidoctor asciidoctor
++ lib.optionals withDocbook [
docbook-xsl-ns
libxslt
];
++ 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 {
let callPackage = newScope self;
in lib.recurseIntoAttrs {
attrs-strict = callPackage ./attrs-strict.nix { inherit python3Packages; };
aiohttp-utils = callPackage ./aiohttp-utils.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-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
, 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,14 +47,9 @@ 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 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

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
}:
, 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,7 +3,8 @@
rec {
inherit (pkgs.lib.generators) toYAML;
/* Read YAML files into a Nix expression similar to lib.importJSON and
/**
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.
@ -13,10 +14,27 @@ rec {
https://pkg.go.dev/gopkg.in/yaml.v3#readme-compatibility
Type: importYAML :: Path -> any
# Arguments
Example:
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
/**
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:
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" = "O";
"23" = "P";
"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
/**
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:
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
/**
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" ]
=> {
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
/**
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:
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
/**
Given a range of two numbers, ensure the value is only returned within the
range.
Type: clamp :: Number -> Number -> Number -> Number
# Arguments
Example:
min
: Minimum number of the range.
max
: Maximum number of the range.
value
: Number to be used for the function.
# Type
```
clamp :: Number -> Number -> Number -> Number
```
# Example
```
clamp 0 255 654
=> 255
=>
255
clamp (-100) 100 (-234)
=> -100
=>
-100
clamp (-100) 100 54
=> 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:
value
: Numerical value.
# Type
```
isNumber :: Number -> bool
```
# Example:
```
isNumber 3.0
=> true
=>
true
isNumber 653
=> true
=>
true
isNumber true
=> false
=>
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:
value
: The numerical value.
# Type
```
toFloat :: Number -> Float
```
# Example
```
toFloat 5
=> 5.0
=>
5.0
toFloat 59.0
=> 59.0
=>
59.0
```
*/
toFloat = x:
1.0 * x;
/* Given an initial range of integers, scale the given number with its own
/**
Given an initial range of integers, scale the given number with its own
set of range.
Type: scale :: Attrs -> Number -> Number
# Arguments
Example:
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.
value
: The numerical value.
# Type
```
scale :: Attrs -> Number -> Number
```
# Example
```
scale { inMin = 0; inMax = 15; outMin = 0; outMax = 255; } 4
=> 68
=>
68
scale { inMin = 0; inMax = 15; outMin = 0; outMax = 255; } (-4)
=> -68
=>
-68
scale { inMin = 0; inMax = 15; outMin = 0; outMax = 255; } 15
=> 255
=>
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
/**
Returns a null value if the condition fails. Otherwise, returns the given
value `as`.
Type: optionalNull :: Bool -> Any -> Any
# Arguments
Example:
cond
: Condition that should evaluate as a boolean.
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]