dot

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

52 lines1226 bytesNix
1# Home Manager: everything in your home directory.
2{
3 config,
4 lib,
5 ...
6}:
7{
8 imports = [
9 ./files.nix
10 ./services.nix
11 ./shell.nix
12 ./theming.nix
13 ./packages.nix
14 ];
15
16 options.dot = {
17 repoPath = lib.mkOption {
18 type = lib.types.str;
19 default = "${config.home.homeDirectory}/git/dot";
20 description = "Where this repo is checked out.";
21 };
22
23 liveConfig = lib.mkOption {
24 type = lib.types.bool;
25 default = true;
26 description = ''
27 Link the hand-edited configs (hypr, waybar, kitty, ...) straight to the
28 checkout at repoPath, as the old symlink.sh did: an edit takes effect
29 the next time the program reads it, with no rebuild. Off, they are
30 copied into the Nix store and change only on a rebuild (the test VM
31 does this, since it has no checkout).
32 '';
33 };
34 };
35
36 config = {
37 home = {
38 username = "vizie";
39 homeDirectory = "/home/vizie";
40 stateVersion = "26.05";
41 };
42
43 xdg.enable = true;
44 xdg.userDirs = {
45 enable = true;
46 createDirectories = true;
47 extraConfig.XDG_PROJECTS_DIR = "${config.home.homeDirectory}/Projects";
48 };
49
50 programs.home-manager.enable = true;
51 };
52}