Malte Tammena
2c61e77e94
• Updated input 'devshell': 'github:numtide/devshell/d208c58e2f7afef838add5f18a9936b12a71d695' (2023-08-20) → 'github:numtide/devshell/1aed986e3c81a4f6698e85a7452cbfcc4b31a36e' (2023-10-27) • Updated input 'flake-parts': 'github:hercules-ci/flake-parts/59cf3f1447cfc75087e7273b04b31e689a8599fb' (2023-08-01) → 'github:hercules-ci/flake-parts/8c9fa2545007b49a5db5f650ae91f227672c3877' (2023-11-01) • Updated input 'flake-parts/nixpkgs-lib': 'github:NixOS/nixpkgs/9e1960bc196baf6881340d53dccb203a951745a2?dir=lib' (2023-08-01) → 'github:NixOS/nixpkgs/0cbe9f69c234a7700596e943bfae7ef27a31b735?dir=lib' (2023-10-29) • Updated input 'home-manager': 'github:nix-community/home-manager/958c06303f43cf0625694326b7f7e5475b1a2d5c' (2023-08-20) → 'github:nix-community/home-manager/280721186ab75a76537713ec310306f0eba3e407' (2023-11-12) • Updated input 'hydra': 'github:NixOS/hydra/60e2c377d305b72cee39c51b5892d215e4238278' (2023-08-03) → 'github:NixOS/hydra/33f8a36736ea52d0cc31b947dc7e500134866a92' (2023-10-20) • Updated input 'hydra/nix': 'github:NixOS/nix/84050709ea18f3285a85d729f40c8f8eddf5008e' (2023-06-06) → 'github:NixOS/nix/a212300a1d9f9c7b0daf19c00c87fc50480f54f4' (2023-07-24) • Updated input 'hyprland': 'github:hyprwm/Hyprland/63b2189ce81f08ca77894f50e3d484902283189a' (2023-08-20) → 'github:hyprwm/Hyprland/0ba2e6870478bcf1af1b6508677b46a3484fb21f' (2023-11-12) • Updated input 'hyprland/wlroots': 'gitlab:wlroots/wlroots/c74f89d4f84bfed0284d3908aee5d207698c70c5' (2023-08-03) → 'gitlab:wlroots/wlroots/5de9e1a99d6642c2d09d589aa37ff0a8945dcee1' (2023-11-06) • Updated input 'hyprland/xdph': 'github:hyprwm/xdg-desktop-portal-hyprland/57a3a41ba6b358109e4fc25c6a4706b5f7d93c6b' (2023-08-12) → 'github:hyprwm/xdg-desktop-portal-hyprland/22e7a65ff9633e1dedfa5317fdffc49f68de2ff2' (2023-10-22) • Updated input 'hyprland-contrib': 'github:hyprwm/contrib/bef073cff65917ba2d888aa4dc39bd9868e2b0a4' (2023-07-29) → 'github:hyprwm/contrib/f2dc4a6a8be9f99177a5ebd23d4e028cbd859237' (2023-11-12) • Updated input 'jovian-nixos': 'github:Jovian-Experiments/Jovian-NixOS/97662e4872b88df79e60be0c27fc277b326fd6e9' (2023-08-16) → 'github:Jovian-Experiments/Jovian-NixOS/97dfcb8aa32a0ff07426b01c4d27c674c717ff76' (2023-11-12) • Updated input 'nix-colors': 'github:Misterio77/nix-colors/b92df8f5eb1fa20d8e09810c03c9dc0d94ef2820' (2023-04-21) → 'github:Misterio77/nix-colors/37227f274b34a3b51649166deb94ce7fec2c6a4c' (2023-09-22) • Updated input 'nix-colors/base16-schemes': 'github:tinted-theming/base16-schemes/dc048afa066287a719ddbab62b3e19e4b5110cf0' (2023-04-05) → 'github:tinted-theming/base16-schemes/d95123ca6377cd849cfdce92c0a24406b0c6a789' (2023-07-16) • Updated input 'nix-colors/nixpkgs-lib': 'github:nix-community/nixpkgs.lib/b18d328214ca3c627d3cc3f51fd9d1397fdbcd7a' (2023-04-02) → 'github:nix-community/nixpkgs.lib/819180647f428a3826bfc917a54449da1e532ce0' (2023-09-17) • Updated input 'nixos-hardware': 'github:NixOS/nixos-hardware/7f1836531b126cfcf584e7d7d71bf8758bb58969' (2023-08-18) → 'github:NixOS/nixos-hardware/b689465d0c5d88e158e7d76094fca08cc0223aad' (2023-11-11) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/d680ded26da5cf104dd2735a51e88d2d8f487b4d' (2023-08-19) → 'github:NixOS/nixpkgs/85f1ba3e51676fa8cc604a3d863d729026a6b8eb' (2023-11-04) • Updated input 'nixpkgs-wayland': 'github:nix-community/nixpkgs-wayland/1125ed61d8070c4ef9a2ac69a739207ac372936c' (2023-08-21) → 'github:nix-community/nixpkgs-wayland/51c0bd3e5d278f8b193657d8deaff6aa90444908' (2023-11-12) • Updated input 'nixpkgs-wayland/lib-aggregate': 'github:nix-community/lib-aggregate/7966f751e466bf1f7a4120166ff07ec7a753e704' (2023-08-20) → 'github:nix-community/lib-aggregate/6c60a229fa422698325b2788e93dfeeba3f11391' (2023-11-12) • Updated input 'nixpkgs-wayland/lib-aggregate/flake-utils': 'github:numtide/flake-utils/919d646de7be200f3bf08cb76ae1f09402b6f9b4' (2023-07-11) → 'github:numtide/flake-utils/ff7b65b44d01cf9ba6a71320833626af21126384' (2023-09-12) • Updated input 'nixpkgs-wayland/lib-aggregate/nixpkgs-lib': 'github:nix-community/nixpkgs.lib/2a3f8763738dca95b14705619c5e489912b7f36a' (2023-08-20) → 'github:nix-community/nixpkgs.lib/55682344eae38a1975ccd2cfac0dcb4197faedf8' (2023-11-12) • Updated input 'nixpkgs-wayland/nix-eval-jobs': 'github:nix-community/nix-eval-jobs/d98c3253176892bba3cfcf240528ffda19490b82' (2023-08-17) → 'github:nix-community/nix-eval-jobs/213e801956397b3edc16d0c13a3d479b1e0c65a3' (2023-11-12) • Updated input 'nixpkgs-wayland/nix-eval-jobs/flake-parts': 'github:hercules-ci/flake-parts/59cf3f1447cfc75087e7273b04b31e689a8599fb' (2023-08-01) → 'github:hercules-ci/flake-parts/8c9fa2545007b49a5db5f650ae91f227672c3877' (2023-11-01) • Added input 'nixpkgs-wayland/nix-eval-jobs/nix-github-actions': 'github:nix-community/nix-github-actions/4bb5e752616262457bc7ca5882192a564c0472d2' (2023-11-03) • Added input 'nixpkgs-wayland/nix-eval-jobs/nix-github-actions/nixpkgs': follows 'nixpkgs-wayland/nix-eval-jobs/nixpkgs' • Updated input 'nixpkgs-wayland/nix-eval-jobs/nixpkgs': 'github:NixOS/nixpkgs/ecf0aba4c9e096196f67a862606ba521c67a3e42' (2023-08-17) → 'github:NixOS/nixpkgs/44cf4801c0937b76cc6f416a0b160b5d1b3286af' (2023-11-12) • Updated input 'nixpkgs-wayland/nix-eval-jobs/treefmt-nix': 'github:numtide/treefmt-nix/19dee4bf6001849006a63f3435247316b0488e99' (2023-08-12) → 'github:numtide/treefmt-nix/e82f32aa7f06bbbd56d7b12186d555223dc399d1' (2023-11-12) • Updated input 'nixpkgs-wayland/nixpkgs': 'github:nixos/nixpkgs/d680ded26da5cf104dd2735a51e88d2d8f487b4d' (2023-08-19) → 'github:nixos/nixpkgs/85f1ba3e51676fa8cc604a3d863d729026a6b8eb' (2023-11-04) • Removed input 'nixpkgs-wayland/nixpkgs_sirula' • Updated input 'pre-commit-hooks-nix': 'github:cachix/pre-commit-hooks.nix/7e3517c03d46159fdbf8c0e5c97f82d5d4b0c8fa' (2023-08-17) → 'github:cachix/pre-commit-hooks.nix/ea758da1a6dcde6dc36db348ed690d09b9864128' (2023-11-06) • Updated input 'qmk-udev-rules': 'github:qmk/qmk_firmware/11970b1a52c00526ddd198e54137302b9e52bd70' (2023-08-21) → 'github:qmk/qmk_firmware/c2326c05c0778025adc681b962a04626ea6dba77' (2023-11-12) • Updated input 'sops-nix': 'github:Mic92/sops-nix/4f0f113b7dbcb92edb9c901515fcab0b91c6def7' (2023-08-20) → 'github:Mic92/sops-nix/2fc3c9edc3029ed396ec917f39a7253acc3d8999' (2023-11-12) • Updated input 'sops-nix/nixpkgs-stable': 'github:NixOS/nixpkgs/5e63e8bbc46bc4fc22254da1edaf42fc7549c18a' (2023-08-20) → 'github:NixOS/nixpkgs/9502d0245983bb233da8083b55d60d96fd3c29ff' (2023-11-12) • Updated input 'treefmt-nix': 'github:numtide/treefmt-nix/e2761d701581d8dcc4e0e88aecfde317ddf6f0cd' (2023-08-20) → 'github:numtide/treefmt-nix/e82f32aa7f06bbbd56d7b12186d555223dc399d1' (2023-11-12) • Updated input 'treefmt-nix/nixpkgs': 'github:nixos/nixpkgs/ce5e4a6ef2e59d89a971bc434ca8ca222b9c7f5e' (2023-08-10) → 'github:nixos/nixpkgs/6500b4580c2a1f3d0f980d32d285739d8e156d92' (2023-09-25) • Updated input 'xdg-desktop-portal-hyprland': 'github:hyprwm/xdg-desktop-portal-hyprland/57a3a41ba6b358109e4fc25c6a4706b5f7d93c6b' (2023-08-12) → 'github:hyprwm/xdg-desktop-portal-hyprland/b2fc1110963fa583ad5348a9dc0101bd58ceac7a' (2023-11-05) • Updated input 'xdg-desktop-portal-hyprland/nixpkgs': 'github:NixOS/nixpkgs/1a411f23ba299db155a5b45d5e145b85a7aafc42' (2023-05-02) → 'github:NixOS/nixpkgs/db9208ab987cdeeedf78ad9b4cf3c55f5ebd269b' (2023-09-08)• Updated input 'devshell': 'github:numtide/devshell/d208c58e2f7afef838add5f18a9936b12a71d695' (2023-08-20) → 'github:numtide/devshell/1aed986e3c81a4f6698e85a7452cbfcc4b31a36e' (2023-10-27) • Updated input 'flake-parts': 'github:hercules-ci/flake-parts/59cf3f1447cfc75087e7273b04b31e689a8599fb' (2023-08-01) → 'github:hercules-ci/flake-parts/8c9fa2545007b49a5db5f650ae91f227672c3877' (2023-11-01) • Updated input 'flake-parts/nixpkgs-lib': 'github:NixOS/nixpkgs/9e1960bc196baf6881340d53dccb203a951745a2?dir=lib' (2023-08-01) → 'github:NixOS/nixpkgs/0cbe9f69c234a7700596e943bfae7ef27a31b735?dir=lib' (2023-10-29) • Updated input 'home-manager': 'github:nix-community/home-manager/958c06303f43cf0625694326b7f7e5475b1a2d5c' (2023-08-20) → 'github:nix-community/home-manager/280721186ab75a76537713ec310306f0eba3e407' (2023-11-12) • Updated input 'hydra': 'github:NixOS/hydra/60e2c377d305b72cee39c51b5892d215e4238278' (2023-08-03) → 'github:NixOS/hydra/33f8a36736ea52d0cc31b947dc7e500134866a92' (2023-10-20) • Updated input 'hydra/nix': 'github:NixOS/nix/84050709ea18f3285a85d729f40c8f8eddf5008e' (2023-06-06) → 'github:NixOS/nix/a212300a1d9f9c7b0daf19c00c87fc50480f54f4' (2023-07-24) • Updated input 'hyprland': 'github:hyprwm/Hyprland/63b2189ce81f08ca77894f50e3d484902283189a' (2023-08-20) → 'github:hyprwm/Hyprland/0ba2e6870478bcf1af1b6508677b46a3484fb21f' (2023-11-12) • Updated input 'hyprland/wlroots': 'gitlab:wlroots/wlroots/c74f89d4f84bfed0284d3908aee5d207698c70c5' (2023-08-03) → 'gitlab:wlroots/wlroots/5de9e1a99d6642c2d09d589aa37ff0a8945dcee1' (2023-11-06) • Updated input 'hyprland/xdph': 'github:hyprwm/xdg-desktop-portal-hyprland/57a3a41ba6b358109e4fc25c6a4706b5f7d93c6b' (2023-08-12) → 'github:hyprwm/xdg-desktop-portal-hyprland/22e7a65ff9633e1dedfa5317fdffc49f68de2ff2' (2023-10-22) • Updated input 'hyprland-contrib': 'github:hyprwm/contrib/bef073cff65917ba2d888aa4dc39bd9868e2b0a4' (2023-07-29) → 'github:hyprwm/contrib/f2dc4a6a8be9f99177a5ebd23d4e028cbd859237' (2023-11-12) • Updated input 'jovian-nixos': 'github:Jovian-Experiments/Jovian-NixOS/97662e4872b88df79e60be0c27fc277b326fd6e9' (2023-08-16) → 'github:Jovian-Experiments/Jovian-NixOS/97dfcb8aa32a0ff07426b01c4d27c674c717ff76' (2023-11-12) • Updated input 'nix-colors': 'github:Misterio77/nix-colors/b92df8f5eb1fa20d8e09810c03c9dc0d94ef2820' (2023-04-21) → 'github:Misterio77/nix-colors/37227f274b34a3b51649166deb94ce7fec2c6a4c' (2023-09-22) • Updated input 'nix-colors/base16-schemes': 'github:tinted-theming/base16-schemes/dc048afa066287a719ddbab62b3e19e4b5110cf0' (2023-04-05) → 'github:tinted-theming/base16-schemes/d95123ca6377cd849cfdce92c0a24406b0c6a789' (2023-07-16) • Updated input 'nix-colors/nixpkgs-lib': 'github:nix-community/nixpkgs.lib/b18d328214ca3c627d3cc3f51fd9d1397fdbcd7a' (2023-04-02) → 'github:nix-community/nixpkgs.lib/819180647f428a3826bfc917a54449da1e532ce0' (2023-09-17) • Updated input 'nixos-hardware': 'github:NixOS/nixos-hardware/7f1836531b126cfcf584e7d7d71bf8758bb58969' (2023-08-18) → 'github:NixOS/nixos-hardware/b689465d0c5d88e158e7d76094fca08cc0223aad' (2023-11-11) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/d680ded26da5cf104dd2735a51e88d2d8f487b4d' (2023-08-19) → 'github:NixOS/nixpkgs/85f1ba3e51676fa8cc604a3d863d729026a6b8eb' (2023-11-04) • Updated input 'nixpkgs-wayland': 'github:nix-community/nixpkgs-wayland/1125ed61d8070c4ef9a2ac69a739207ac372936c' (2023-08-21) → 'github:nix-community/nixpkgs-wayland/51c0bd3e5d278f8b193657d8deaff6aa90444908' (2023-11-12) • Updated input 'nixpkgs-wayland/lib-aggregate': 'github:nix-community/lib-aggregate/7966f751e466bf1f7a4120166ff07ec7a753e704' (2023-08-20) → 'github:nix-community/lib-aggregate/6c60a229fa422698325b2788e93dfeeba3f11391' (2023-11-12) • Updated input 'nixpkgs-wayland/lib-aggregate/flake-utils': 'github:numtide/flake-utils/919d646de7be200f3bf08cb76ae1f09402b6f9b4' (2023-07-11) → 'github:numtide/flake-utils/ff7b65b44d01cf9ba6a71320833626af21126384' (2023-09-12) • Updated input 'nixpkgs-wayland/lib-aggregate/nixpkgs-lib': 'github:nix-community/nixpkgs.lib/2a3f8763738dca95b14705619c5e489912b7f36a' (2023-08-20) → 'github:nix-community/nixpkgs.lib/55682344eae38a1975ccd2cfac0dcb4197faedf8' (2023-11-12) • Updated input 'nixpkgs-wayland/nix-eval-jobs': 'github:nix-community/nix-eval-jobs/d98c3253176892bba3cfcf240528ffda19490b82' (2023-08-17) → 'github:nix-community/nix-eval-jobs/213e801956397b3edc16d0c13a3d479b1e0c65a3' (2023-11-12) • Updated input 'nixpkgs-wayland/nix-eval-jobs/flake-parts': 'github:hercules-ci/flake-parts/59cf3f1447cfc75087e7273b04b31e689a8599fb' (2023-08-01) → 'github:hercules-ci/flake-parts/8c9fa2545007b49a5db5f650ae91f227672c3877' (2023-11-01) • Added input 'nixpkgs-wayland/nix-eval-jobs/nix-github-actions': 'github:nix-community/nix-github-actions/4bb5e752616262457bc7ca5882192a564c0472d2' (2023-11-03) • Added input 'nixpkgs-wayland/nix-eval-jobs/nix-github-actions/nixpkgs': follows 'nixpkgs-wayland/nix-eval-jobs/nixpkgs' • Updated input 'nixpkgs-wayland/nix-eval-jobs/nixpkgs': 'github:NixOS/nixpkgs/ecf0aba4c9e096196f67a862606ba521c67a3e42' (2023-08-17) → 'github:NixOS/nixpkgs/44cf4801c0937b76cc6f416a0b160b5d1b3286af' (2023-11-12) • Updated input 'nixpkgs-wayland/nix-eval-jobs/treefmt-nix': 'github:numtide/treefmt-nix/19dee4bf6001849006a63f3435247316b0488e99' (2023-08-12) → 'github:numtide/treefmt-nix/e82f32aa7f06bbbd56d7b12186d555223dc399d1' (2023-11-12) • Updated input 'nixpkgs-wayland/nixpkgs': 'github:nixos/nixpkgs/d680ded26da5cf104dd2735a51e88d2d8f487b4d' (2023-08-19) → 'github:nixos/nixpkgs/85f1ba3e51676fa8cc604a3d863d729026a6b8eb' (2023-11-04) • Removed input 'nixpkgs-wayland/nixpkgs_sirula' • Updated input 'pre-commit-hooks-nix': 'github:cachix/pre-commit-hooks.nix/7e3517c03d46159fdbf8c0e5c97f82d5d4b0c8fa' (2023-08-17) → 'github:cachix/pre-commit-hooks.nix/ea758da1a6dcde6dc36db348ed690d09b9864128' (2023-11-06) • Updated input 'qmk-udev-rules': 'github:qmk/qmk_firmware/11970b1a52c00526ddd198e54137302b9e52bd70' (2023-08-21) → 'github:qmk/qmk_firmware/c2326c05c0778025adc681b962a04626ea6dba77' (2023-11-12) • Updated input 'sops-nix': 'github:Mic92/sops-nix/4f0f113b7dbcb92edb9c901515fcab0b91c6def7' (2023-08-20) → 'github:Mic92/sops-nix/2fc3c9edc3029ed396ec917f39a7253acc3d8999' (2023-11-12) • Updated input 'sops-nix/nixpkgs-stable': 'github:NixOS/nixpkgs/5e63e8bbc46bc4fc22254da1edaf42fc7549c18a' (2023-08-20) → 'github:NixOS/nixpkgs/9502d0245983bb233da8083b55d60d96fd3c29ff' (2023-11-12) • Updated input 'treefmt-nix': 'github:numtide/treefmt-nix/e2761d701581d8dcc4e0e88aecfde317ddf6f0cd' (2023-08-20) → 'github:numtide/treefmt-nix/e82f32aa7f06bbbd56d7b12186d555223dc399d1' (2023-11-12) • Updated input 'treefmt-nix/nixpkgs': 'github:nixos/nixpkgs/ce5e4a6ef2e59d89a971bc434ca8ca222b9c7f5e' (2023-08-10) → 'github:nixos/nixpkgs/6500b4580c2a1f3d0f980d32d285739d8e156d92' (2023-09-25) • Updated input 'xdg-desktop-portal-hyprland': 'github:hyprwm/xdg-desktop-portal-hyprland/57a3a41ba6b358109e4fc25c6a4706b5f7d93c6b' (2023-08-12) → 'github:hyprwm/xdg-desktop-portal-hyprland/b2fc1110963fa583ad5348a9dc0101bd58ceac7a' (2023-11-05) • Updated input 'xdg-desktop-portal-hyprland/nixpkgs': 'github:NixOS/nixpkgs/1a411f23ba299db155a5b45d5e145b85a7aafc42' (2023-05-02) → 'github:NixOS/nixpkgs/db9208ab987cdeeedf78ad9b4cf3c55f5ebd269b' (2023-09-08) fix: darkman is now part of home-manager fix: remove pulseeffects-pw package fix: force luks keyFile setting (weird bug?) fix: helix config with new multi-language-server support fix: replace exa -> eza fix: pin nvidia version, since this update breaks backlights on the thinkpad fix: drop waybar overlay and use new hyprland/workspaces module fix: update darkman to fix reference to /bin/bash
204 lines
6.8 KiB
Nix
204 lines
6.8 KiB
Nix
{
|
|
description = "Malte Tammena's system configuration";
|
|
|
|
inputs = {
|
|
flake-parts.url = "github:hercules-ci/flake-parts";
|
|
devshell.url = "github:numtide/devshell";
|
|
treefmt-nix.url = "github:numtide/treefmt-nix";
|
|
pre-commit-hooks-nix.url = "github:cachix/pre-commit-hooks.nix";
|
|
|
|
nixpkgs.url = "nixpkgs/nixos-unstable";
|
|
nixos-hardware.url = "github:NixOS/nixos-hardware";
|
|
custom-udev-rules.url = "github:MalteT/custom-udev-rules";
|
|
nix-colors.url = "github:Misterio77/nix-colors";
|
|
|
|
nixpkgs-wayland = {
|
|
url = "github:nix-community/nixpkgs-wayland";
|
|
};
|
|
mensa = {
|
|
url = "github:MalteT/mensa/main";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
sops-nix = {
|
|
url = "github:Mic92/sops-nix";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
home-manager = {
|
|
url = "github:nix-community/home-manager";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
fend = {
|
|
url = "github:MalteT/fend/flake";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
hydra = {
|
|
url = "github:NixOS/hydra";
|
|
};
|
|
hyprland = {
|
|
url = "github:hyprwm/Hyprland";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
hyprland-contrib = {
|
|
url = "github:hyprwm/contrib";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
xdg-desktop-portal-hyprland = {
|
|
url = "github:hyprwm/xdg-desktop-portal-hyprland";
|
|
};
|
|
|
|
qmk-udev-rules = {
|
|
url = "github:qmk/qmk_firmware";
|
|
flake = false;
|
|
};
|
|
jovian-nixos = {
|
|
url = "github:Jovian-Experiments/Jovian-NixOS";
|
|
flake = false;
|
|
};
|
|
};
|
|
|
|
nixConfig = {
|
|
# Only usefull if you're part of my VPN
|
|
extra-substituters = ["http://cache.home"];
|
|
};
|
|
|
|
outputs = inputs @ {flake-parts, ...}: let
|
|
# Overlays useful to most of my systems
|
|
overlaysSharedByAll = [
|
|
inputs.xdg-desktop-portal-hyprland.overlays.default
|
|
inputs.hyprland-contrib.overlays.default
|
|
(_: super: {
|
|
# Add my mensa tool
|
|
inherit (inputs.mensa.packages.x86_64-linux) mensa;
|
|
# TODO: Replace with upstream
|
|
inherit (inputs.fend.packages.x86_64-linux) fend;
|
|
hydra = inputs.hydra.packages.x86_64-linux.default;
|
|
# TODO: Remove once hydra fixes these removed aliases
|
|
inherit (super.perlPackages) buildPerlPackage;
|
|
netcat-openbsd = super.libressl.nc;
|
|
})
|
|
(import ./overlays/qmk-udev-rules.nix)
|
|
];
|
|
# Modules useful to most of my systems
|
|
modulesSharedByAllSystems = [
|
|
inputs.sops-nix.nixosModules.sops
|
|
inputs.self.nixosModules.nixUnstable
|
|
inputs.home-manager.nixosModules.home-manager
|
|
./modules/base-system.nix
|
|
];
|
|
# The list of all hosts known to me
|
|
listOfHosts = let
|
|
removeSuffix = builtins.replaceStrings [".nix"] [""];
|
|
hostDir = builtins.readDir ./hosts;
|
|
hostFileNames = builtins.attrNames hostDir;
|
|
in
|
|
map removeSuffix hostFileNames;
|
|
in
|
|
flake-parts.lib.mkFlake {inherit inputs;} {
|
|
# Flake-parts modules to use
|
|
imports = [
|
|
inputs.devshell.flakeModule
|
|
inputs.treefmt-nix.flakeModule
|
|
inputs.pre-commit-hooks-nix.flakeModule
|
|
];
|
|
# Available systems, only x86 for now
|
|
systems = ["x86_64-linux"];
|
|
perSystem = {
|
|
pkgs,
|
|
self',
|
|
config,
|
|
...
|
|
}: {
|
|
# Configure treefmt
|
|
treefmt.projectRootFile = "flake.nix";
|
|
treefmt.programs = {
|
|
alejandra.enable = true;
|
|
shellcheck.enable = true;
|
|
shfmt.enable = true;
|
|
};
|
|
# Configure pre-commit checks
|
|
pre-commit.settings.hooks.deadnix.enable = true;
|
|
pre-commit.settings.hooks.treefmt.enable = true;
|
|
pre-commit.settings.hooks.shellcheck.enable = true;
|
|
pre-commit.settings.hooks.markdownlint.enable = true;
|
|
# Load all packages from ./pkgs
|
|
packages = let
|
|
pkgFiles = builtins.attrNames (builtins.readDir ./pkgs);
|
|
toPackage = file: {
|
|
name = builtins.replaceStrings [".nix"] [""] file;
|
|
value = pkgs.callPackage ./pkgs/${file} {inherit inputs;};
|
|
};
|
|
in
|
|
builtins.listToAttrs (builtins.map toPackage pkgFiles);
|
|
# Create a useable devshell for me
|
|
devShells.default = pkgs.mkShell {
|
|
name = "dev";
|
|
shellHook = ''
|
|
${config.pre-commit.installationScript}
|
|
echo 1>&2 "Welcome to the development shell!"
|
|
'';
|
|
packages = [
|
|
pkgs.nil
|
|
pkgs.pre-commit
|
|
self'.packages.rebuild
|
|
self'.packages.personal-cache
|
|
self'.packages.all-hosts
|
|
self'.packages.option
|
|
self'.packages.test-config
|
|
];
|
|
};
|
|
};
|
|
# Useful modules and all those from ./modules
|
|
flake.nixosModules =
|
|
{
|
|
homeManagerConfig = _: {
|
|
home-manager.verbose = true;
|
|
home-manager.useGlobalPkgs = true;
|
|
home-manager.useUserPackages = true;
|
|
home-manager.extraSpecialArgs = {inherit (inputs) nix-colors;};
|
|
};
|
|
nixUnstable = {pkgs, ...}: {
|
|
nix.registry.nixpkgs.flake = inputs.nixpkgs;
|
|
nix.package = pkgs.nixUnstable;
|
|
nix.extraOptions = ''
|
|
experimental-features = nix-command flakes
|
|
'';
|
|
};
|
|
}
|
|
// (let
|
|
removeSuffix = builtins.replaceStrings [".nix"] [""];
|
|
moduleFiles = builtins.attrNames (builtins.readDir ./modules);
|
|
listOfModules = builtins.map removeSuffix moduleFiles;
|
|
toModule = name: {
|
|
inherit name;
|
|
value = builtins.readFile ./modules/${name};
|
|
};
|
|
in
|
|
builtins.listToAttrs (builtins.map toModule listOfModules));
|
|
# All my system's configurations
|
|
flake.nixosConfigurations = let
|
|
genSystem = name: {
|
|
inherit name;
|
|
value = inputs.nixpkgs.lib.nixosSystem {
|
|
system = "x86_64-linux";
|
|
specialArgs = {inherit inputs;};
|
|
modules = modulesSharedByAllSystems ++ [{nixpkgs.overlays = overlaysSharedByAll;} ./hosts/${name}.nix];
|
|
};
|
|
};
|
|
in
|
|
builtins.listToAttrs (builtins.map genSystem listOfHosts);
|
|
# Iso for USB
|
|
flake.packages.x86_64-linux.iso = inputs.self.nixosConfigurations.radix-balthica.config.system.build.isoImage;
|
|
# VM for testing
|
|
flake.packages.x86_64-linux.vm = inputs.self.nixosConfigurations.radix-balthica.config.system.build.vm;
|
|
# Copy most things to hydraJobs so hydra evaluates and builds them
|
|
flake.hydraJobs = {
|
|
inherit (inputs.self) packages devShells;
|
|
nixosConfigurations.x86_64-linux = builtins.listToAttrs (builtins.map (name: {
|
|
inherit name;
|
|
value = inputs.self.nixosConfigurations.${name}.config.system.build.toplevel;
|
|
})
|
|
listOfHosts);
|
|
};
|
|
};
|
|
}
|