My NixOS configuration (mirror)
1{
2 description = "NixOS configuration";
3
4 inputs = {
5 dustpan.url = "github:matthew-hre/dustpan";
6
7 git-hooks.url = "github:cachix/git-hooks.nix";
8 git-hooks.inputs.nixpkgs.follows = "nixpkgs";
9
10 home-manager.url = "github:nix-community/home-manager";
11 home-manager.inputs.nixpkgs.follows = "nixpkgs";
12
13 kwin-effects-forceblur = {
14 url = "github:taj-ny/kwin-effects-forceblur";
15 inputs.nixpkgs.follows = "nixpkgs";
16 };
17
18 ghostty = {
19 url = "github:ghostty-org/ghostty";
20 inputs.nixpkgs.follows = "nixpkgs";
21 };
22
23 niri.url = "github:sodiboo/niri-flake";
24
25 nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
26
27 nvf.url = "github:notashelf/nvf";
28 nvf.inputs.nixpkgs.follows = "nixpkgs";
29
30 quickshell = {
31 url = "git+https://git.outfoxxed.me/outfoxxed/quickshell";
32 inputs.nixpkgs.follows = "nixpkgs";
33 };
34
35 solaar = {
36 url = "github:Svenum/Solaar-Flake/main";
37 inputs.nixpkgs.follows = "nixpkgs";
38 };
39
40 stash.url = "github:NotAShelf/stash";
41
42 vicinae.url = "github:vicinaehq/vicinae";
43 };
44
45 outputs = inputs @ {
46 nixpkgs,
47 self,
48 ...
49 }: let
50 system = "x86_64-linux";
51 lib = import ./lib {inherit inputs nixpkgs;};
52 in {
53 nixosConfigurations = {
54 toad = lib.mkHost "toad" [
55 ./hosts/toad/configuration.nix
56 {nixpkgs.overlays = [inputs.niri.overlays.niri];}
57 ];
58 thwomp = lib.mkHost "thwomp" [./hosts/thwomp/configuration.nix];
59 };
60
61 checks.${system} = {
62 pre-commit-check = inputs.git-hooks.lib.${system}.run {
63 src = ./.;
64 hooks = {
65 alejandra.enable = true;
66 };
67 };
68 };
69
70 devShells.${system}.default = let
71 pkgs = nixpkgs.legacyPackages.${system};
72 in
73 pkgs.mkShell {
74 inherit (self.checks.${system}.pre-commit-check) shellHook;
75 buildInputs = self.checks.${system}.pre-commit-check.enabledPackages;
76 };
77
78 formatter.${system} = nixpkgs.legacyPackages.${system}.alejandra;
79 };
80}