dot

vizie's NixOS desktop: Hyprland, CachyOS kernel and gaming tweaks

70 lines1970 bytesNix
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.${system} = {
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.${system} = pkgs.nixfmt;
69 };
70}