dot
vizie's NixOS desktop: Hyprland, CachyOS kernel and gaming tweaks
| 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 = "/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 = "/Projects"; |
| 48 | }; |
| 49 | |
| 50 | programs.home-manager.enable = true; |
| 51 | }; |
| 52 | } |