dot
vizie's NixOS desktop: Hyprland, CachyOS kernel and gaming tweaks
| 1 | { |
| 2 | description = "vizie's NixOS desktop: Hyprland, CachyOS kernel and gaming tweaks"; |
| 3 | |
| 4 | inputs = { |
| 5 | nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; |
| 6 | |
| 7 | home-manager = { |
| 8 | url = "github:nix-community/home-manager"; |
| 9 | inputs.nixpkgs.follows = "nixpkgs"; |
| 10 | }; |
| 11 | |
| 12 | # CachyOS kernels, built by the maintainer's CI. Its nixpkgs input is left |
| 13 | # alone on purpose: overriding it changes the kernel's hash, so nothing comes |
| 14 | # from the binary cache and the kernel compiles locally. |
| 15 | nix-cachyos-kernel.url = "github:xddxdd/nix-cachyos-kernel/release"; |
| 16 | |
| 17 | imsh-clients = { |
| 18 | url = "github:echozio/imsh-clients"; |
| 19 | inputs.nixpkgs.follows = "nixpkgs"; |
| 20 | }; |
| 21 | |
| 22 | # Private repo: fetched with git so the gh credential helper can sign in. |
| 23 | philly = { |
| 24 | url = "git+https://github.com/Eiziv/philly?ref=master"; |
| 25 | inputs.nixpkgs.follows = "nixpkgs"; |
| 26 | }; |
| 27 | }; |
| 28 | |
| 29 | nixConfig = { |
| 30 | extra-substituters = [ "https://attic.xuyh0120.win/lantian" ]; |
| 31 | extra-trusted-public-keys = [ "lantian:EeAUQ+W+6r7EtwnmYjeVwx5kOGEBpjlBfPlzGlTNvHc=" ]; |
| 32 | }; |
| 33 | |
| 34 | outputs = |
| 35 | { self, nixpkgs, ... }@inputs: |
| 36 | let |
| 37 | system = "x86_64-linux"; |
| 38 | pkgs = import nixpkgs { |
| 39 | inherit system; |
| 40 | config.allowUnfree = true; |
| 41 | overlays = [ self.overlays.default ]; |
| 42 | }; |
| 43 | in |
| 44 | { |
| 45 | overlays.default = import ./pkgs; |
| 46 | |
| 47 | # The packages this repo adds or patches, so each can be built on its own: |
| 48 | # nix build .#waybar |
| 49 | packages. = { |
| 50 | inherit (pkgs) |
| 51 | waybar |
| 52 | xembedsniproxy |
| 53 | signal-desktop-themed |
| 54 | claude-desktop |
| 55 | opendeck |
| 56 | breezex-cursor |
| 57 | proton-cachyos |
| 58 | python3-desktop |
| 59 | ; |
| 60 | }; |
| 61 | |
| 62 | nixosConfigurations.desktop = nixpkgs.lib.nixosSystem { |
| 63 | inherit system; |
| 64 | specialArgs = { inherit inputs; }; |
| 65 | modules = [ ./hosts/desktop ]; |
| 66 | }; |
| 67 | |
| 68 | formatter. = pkgs.nixfmt; |
| 69 | }; |
| 70 | } |