dot
vizie's NixOS desktop: Hyprland, CachyOS kernel and gaming tweaks
0d0abb6
8 files changed +114 −35
modifiedMIGRATION.md
@@ -108,8 +108,10 @@ | ||
| 108 | 108 | |
| 109 | 109 | |
| 110 | 110 | |
| 111 | - | |
| 112 | - | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 113 | 115 | |
| 114 | 116 | |
| 115 | 117 | |
@@ -122,11 +124,11 @@ | ||
| 122 | 124 | |
| 123 | 125 | |
| 124 | 126 | - |
| 125 | -- | |
| 126 | - | |
| 127 | - | |
| 128 | -- | |
| 129 | - | |
| 127 | +- | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 130 | 132 | - |
| 131 | 133 | |
| 132 | 134 | - |
@@ -186,11 +188,13 @@ | ||
| 186 | 188 | sudo umount /mnt |
| 187 | 189 | ``` |
| 188 | 190 | |
| 189 | -- | |
| 190 | - | |
| 191 | - | |
| 191 | +- | |
| 192 | + | |
| 192 | 193 | |
| 193 | 194 | |
| 194 | 195 | |
| 195 | - | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 196 | 200 | |
modifiedREADME.md
@@ -21,7 +21,7 @@ | ||
| 21 | 21 | nvidia.nix RTX 3080 Ti, open kernel module |
| 22 | 22 | desktop.nix Hyprland, uwsm, greetd, audio, Bluetooth, fonts |
| 23 | 23 | gaming.nix Steam, proton-cachyos, gamemode, gamescope, ... |
| 24 | - apps.nix desktop apps, Claude Cowork, OpenDeck udev, Bolt | |
| 24 | + apps.nix desktop apps, Claude Cowork, OpenDeck udev, Flatpak | |
| 25 | 25 | vm.nix the test VM |
| 26 | 26 | |
| 27 | 27 | |
@@ -51,8 +51,7 @@ | ||
| 51 | 51 | |
| 52 | 52 | |
| 53 | 53 | |
| 54 | - | |
| 55 | - | |
| 54 | + | |
| 56 | 55 | |
| 57 | 56 | |
| 58 | 57 | |
modifiedhosts/desktop/default.nix
@@ -15,8 +15,8 @@ | ||
| 15 | 15 | useGlobalPkgs = true; |
| 16 | 16 | useUserPackages = true; |
| 17 | 17 | extraSpecialArgs = { inherit inputs; }; |
| 18 | - # The first switch finds the old symlinks into ~/git/dotfiles where Home | |
| 19 | - # Manager wants its own; they are moved aside with this suffix, not deleted. | |
| 18 | + # A file already in the way of one Home Manager wants to place is moved | |
| 19 | + # aside with this suffix rather than overwritten. | |
| 20 | 20 | backupFileExtension = "pre-nixos"; |
| 21 | 21 | users.vizie = import ../../modules/home; |
| 22 | 22 | }; |
modifiedmodules/home/files.nix
@@ -18,7 +18,7 @@ | ||
| 18 | 18 | else |
| 19 | 19 | ../../config + "/"; |
| 20 | 20 | |
| 21 | - # Configs the programs write themselves (GOverlay, btop, micro, apps that | |
| 21 | + # Configs the programs write themselves (MangoHud, btop, micro, apps that | |
| 22 | 22 | # register URL handlers): copied in only when missing, and never overwritten, |
| 23 | 23 | # so changes made in the app stick. Your existing files in /home win. |
| 24 | 24 | seeds = { |
modifiedmodules/home/packages.nix
@@ -24,8 +24,5 @@ | ||
| 24 | 24 | inputs.imsh-clients.packages..default |
| 25 | 25 | # Philly, the file browser (also the handler for folders, in mimeapps.list). |
| 26 | 26 | inputs.philly.packages..default |
| 27 | - | |
| 28 | - nodejs | |
| 29 | - go | |
| 30 | 27 | ]; |
| 31 | 28 | } |
modifiedmodules/nixos/apps.nix
@@ -14,8 +14,6 @@ | ||
| 14 | 14 | kdePackages.kio-extras |
| 15 | 15 | kdePackages.ffmpegthumbs |
| 16 | 16 | cosmic-files |
| 17 | - kdePackages.partitionmanager | |
| 18 | - meld | |
| 19 | 17 | mpv |
| 20 | 18 | vlc |
| 21 | 19 | pavucontrol |
@@ -43,12 +41,11 @@ | ||
| 43 | 41 | |
| 44 | 42 | # --- Flatpak -------------------------------------------------------------------- |
| 45 | 43 | |
| 46 | - # Bolt (RuneScape launcher) was a system Flatpak on CachyOS. System Flatpaks | |
| 47 | - # live outside /home, so it is installed again here the first time the system | |
| 48 | - # boots with a network; its data in ~/.var/app/com.adamcake.Bolt is kept. | |
| 44 | + # Flatpak with Flathub, for apps that are only published there. Nothing is | |
| 45 | + # installed from it by default. | |
| 49 | 46 | services.flatpak.enable = true; |
| 50 | - systemd.services.flatpak-bolt = { | |
| 51 | - description = "Install Bolt from Flathub"; | |
| 47 | + systemd.services.flathub-remote = { | |
| 48 | + description = "Add the Flathub Flatpak remote"; | |
| 52 | 49 | wantedBy = [ "multi-user.target" ]; |
| 53 | 50 | wants = [ "network-online.target" ]; |
| 54 | 51 | after = [ "network-online.target" ]; |
@@ -60,7 +57,6 @@ | ||
| 60 | 57 | }; |
| 61 | 58 | script = '' |
| 62 | 59 | flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo |
| 63 | - flatpak info com.adamcake.Bolt >/dev/null 2>&1 || flatpak install --noninteractive flathub com.adamcake.Bolt | |
| 64 | 60 | ''; |
| 65 | 61 | }; |
| 66 | 62 | } |
modifiedmodules/nixos/gaming.nix
@@ -27,18 +27,11 @@ | ||
| 27 | 27 | |
| 28 | 28 | environment.systemPackages = with pkgs; [ |
| 29 | 29 | mangohud |
| 30 | - goverlay | |
| 31 | 30 | vkbasalt |
| 32 | 31 | umu-launcher |
| 33 | - winetricks | |
| 34 | - wineWow64Packages.staging | |
| 35 | - lutris | |
| 36 | - heroic | |
| 37 | 32 | faugus-launcher |
| 38 | 33 | protonplus |
| 39 | - prismlauncher | |
| 40 | 34 | wowup-cf |
| 41 | - parsec-bin | |
| 42 | 35 | vulkan-tools |
| 43 | 36 | mesa-demos |
| 44 | 37 | ]; |
addedrestore-filter
@@ -1,0 +1,90 @@ | ||
| 1 | +# rsync filter for restoring the home folder from the backup drive after the | |
| 2 | +# install (MIGRATION.md, section 2). Only what is listed here comes back: the | |
| 3 | +# move to NixOS is a fresh start. Everything else stays on the backup drive, | |
| 4 | +# to copy back by hand if you miss it. The first matching line wins. | |
| 5 | + | |
| 6 | +# --- Caches inside the apps' folders: the apps rebuild them ---------------------- | |
| 7 | +- /.config/*/Cache/ | |
| 8 | +- /.config/*/Code Cache/ | |
| 9 | +- /.config/*/GPUCache/ | |
| 10 | +- /.config/*/GPUPersistentCache/ | |
| 11 | +- /.config/*/DawnGraphiteCache/ | |
| 12 | +- /.config/*/DawnWebGPUCache/ | |
| 13 | +- /.config/*/Crashpad/ | |
| 14 | +- /.config/*/logs/ | |
| 15 | +- /.config/*/Singleton* | |
| 16 | +- /.config/*/.org.chromium.Chromium.* | |
| 17 | +- /.config/*/*.tmp-* | |
| 18 | +- /.config/Claude/fcache/ | |
| 19 | +- /.config/Claude/sentry/ | |
| 20 | + | |
| 21 | +# --- Home folder ------------------------------------------------------------------ | |
| 22 | +- /.ssh/known_hosts.old | |
| 23 | ++ /.ssh/*** | |
| 24 | ++ /.zsh_history | |
| 25 | ++ /.claude/*** | |
| 26 | ++ /.claude.json | |
| 27 | +# RuneLite's settings and profiles (the official launcher starts RuneLite too). | |
| 28 | +- /.runelite/cache/ | |
| 29 | +- /.runelite/jagexcache/ | |
| 30 | +- /.runelite/logs/ | |
| 31 | ++ /.runelite/*** | |
| 32 | ++ /benchmarks/*** | |
| 33 | ++ /update-macrotally.sh | |
| 34 | ++ /watch_20260628-022622 | |
| 35 | ++ /Pictures/ | |
| 36 | ++ /Pictures/Screenshots/*** | |
| 37 | + | |
| 38 | +# Only this repo; the others are on GitHub or stay on the backup drive. | |
| 39 | ++ /git/ | |
| 40 | ++ /git/dot/*** | |
| 41 | + | |
| 42 | +# --- ~/.config: app data, logins and settings ------------------------------------- | |
| 43 | ++ /.config/ | |
| 44 | ++ /.config/mozilla/*** | |
| 45 | ++ /.config/Signal/*** | |
| 46 | ++ /.config/discord/*** | |
| 47 | ++ /.config/Bitwarden/*** | |
| 48 | ++ /.config/WowUpCf/*** | |
| 49 | ++ /.config/ow-electron/*** | |
| 50 | ++ /.config/opendeck/*** | |
| 51 | ++ /.config/Claude/*** | |
| 52 | ++ /.config/faugus-launcher/*** | |
| 53 | ++ /.config/philly/*** | |
| 54 | +# The imsh upload key, the GitHub CLI login, rclone remotes. | |
| 55 | ++ /.config/keys/*** | |
| 56 | ++ /.config/gh/*** | |
| 57 | ++ /.config/rclone/*** | |
| 58 | +# Settings the programs write themselves (Home Manager adds them when missing). | |
| 59 | ++ /.config/btop/*** | |
| 60 | ++ /.config/micro/*** | |
| 61 | ++ /.config/MangoHud/*** | |
| 62 | ++ /.config/vkBasalt/*** | |
| 63 | ++ /.config/vkSumi/*** | |
| 64 | ++ /.config/qalculate/*** | |
| 65 | ++ /.config/pavucontrol.ini | |
| 66 | ++ /.config/mimeapps.list | |
| 67 | ++ /.config/user-dirs.dirs | |
| 68 | + | |
| 69 | +# --- ~/.local ------------------------------------------------------------------- | |
| 70 | ++ /.local/ | |
| 71 | ++ /.local/share/ | |
| 72 | +# Steam: settings, login, Proton-CachyOS Latest (WoW's runner) and game saves. | |
| 73 | +- /.local/share/Steam/compatibilitytools.d/GE-Proton*/ | |
| 74 | +- /.local/share/Steam/compatibilitytools.d/Proton-CachyOS Wineland*/ | |
| 75 | +- /.local/share/Steam/steamapps/compatdata/3354750/ | |
| 76 | ++ /.local/share/Steam/*** | |
| 77 | ++ /.local/share/faugus-launcher/*** | |
| 78 | ++ /.local/share/opendeck/*** | |
| 79 | ++ /.local/share/dev.philly.desktop/*** | |
| 80 | ++ /.local/share/nvim/*** | |
| 81 | ++ /.local/share/qalculate/*** | |
| 82 | ++ /.local/state/ | |
| 83 | ++ /.local/state/faugus-launcher/*** | |
| 84 | ++ /.local/state/nvim/*** | |
| 85 | ++ /.local/state/philly/*** | |
| 86 | ++ /.local/state/philly-dev/*** | |
| 87 | ++ /.local/state/wireplumber/*** | |
| 88 | + | |
| 89 | +# --- Everything else stays behind ----------------------------------------------- | |
| 90 | +- * |