Garuda dotfiles with existing home partition

Hi all,
I just installed Garuda sway on my machine. Before I was using EndeavourOS with XFCE/i3. I do have a standalone home partition, which is mounted to /home which works for the most part.

Now what I noticed immediately, the dotfiles of the live environment were not getting copied over after the install. For now, I just grabbed (at least sway, swaylock, waybar) off the live environment and copied them over. But I guess thats not the way things should work here? Never had to do that in the past before…

Any suggestions on this? Is this a thing only with the sway edition? Not sure about keeping that though, as I am running this on a Intel iGPU/Nvidia Optimus laptop.

What’s the problem with not posting garuda-inxi?
It contains additional, useful information about the status of your system.

:warning: Missing information requested in the template may result in not receiving assistance

Make sure you have done the following before you post:

Issue still unresolved? Then:

  • ONE issue per topic.

  • Describe your issue in detail. The more we know, the better we can help

  • Show us the results of your searches, and what you’ve tried

  • After rebooting, post the FULL output of garuda-inxi in the body of the post (not linked externally, or collapsed with the “hide details” feature)

  • Format terminal output (including your garuda-inxi) as a code block by clicking the preformatted text button (</>) , or put three tildes (~) above and below the text

Without garuda-inxi this request will be moved to 412 Precondition Failed

I move it to Sway


Youre absolutely right, sorry. Dont know how I missed that.

❯ garuda-inxi
  Kernel: 6.5.9-zen2-1-zen arch: x86_64 bits: 64 compiler: gcc v: 13.2.1
    clocksource: tsc available: acpi_pm
    parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-zen
    root=UUID=6e33c085-1b23-49d2-a02e-298ac6148f40 rw rootflags=subvol=@
    quiet loglevel=3 ibt=off
  Desktop: sway v: 1.8.1 info: waybar vt: 1 dm: greetd Distro: Garuda Linux
    base: Arch Linux
  Type: Laptop System: Dell product: Precision 5560 v: N/A
    serial: <superuser required> Chassis: type: 10 serial: <superuser required>
  Mobo: Dell model: 0G06MM v: A00 serial: <superuser required> UEFI: Dell
    v: 1.24.0 date: 09/12/2023
  ID-1: BAT0 charge: 57.3 Wh (97.8%) condition: 58.6/84.3 Wh (69.5%)
    volts: 12.7 min: 11.4 model: BYD DELL M59JH19 type: Li-poly serial: <filter>
    status: charging
  Info: model: 11th Gen Intel Core i7-11800H bits: 64 type: MT MCP
    arch: Tiger Lake gen: core 11 level: v4 note: check built: 2020
    process: Intel 10nm family: 6 model-id: 0x8D (141) stepping: 1
    microcode: 0x46
  Topology: cpus: 1x cores: 8 tpc: 2 threads: 16 smt: enabled cache:
    L1: 640 KiB desc: d-8x48 KiB; i-8x32 KiB L2: 10 MiB desc: 8x1.2 MiB
    L3: 24 MiB desc: 1x24 MiB
  Speed (MHz): avg: 1655 high: 3861 min/max: 800/4600 scaling:
    driver: intel_pstate governor: powersave cores: 1: 1799 2: 1120 3: 2871
    4: 800 5: 3861 6: 1007 7: 1452 8: 975 9: 1114 10: 800 11: 3072 12: 2376
    13: 2838 14: 800 15: 800 16: 800 bogomips: 73728
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
  Vulnerabilities: <filter>
  Device-1: Intel TigerLake-H GT1 [UHD Graphics] vendor: Dell driver: i915
    v: kernel arch: Gen-12.1 process: Intel 10nm built: 2020-21 ports:
    active: DP-5,DP-6,eDP-1 empty: DP-1, DP-2, DP-3, DP-4 bus-ID: 00:02.0
    chip-ID: 8086:9a60 class-ID: 0300
  Device-2: NVIDIA GA107GLM [RTX A2000 Mobile] vendor: Dell driver: nouveau
    v: kernel non-free: 545.xx+ status: current (as of 2023-10; EOL~2026-12-xx)
    arch: Ampere code: GAxxx process: TSMC n7 (7nm) built: 2020-2023 pcie:
    gen: 4 speed: 16 GT/s lanes: 8 link-max: lanes: 16 bus-ID: 01:00.0
    chip-ID: 10de:25b8 class-ID: 0302
  Device-3: Microdia Integrated_Webcam_HD driver: uvcvideo type: USB
    rev: 2.0 speed: 480 Mb/s lanes: 1 mode: 2.0 bus-ID: 3-11:3
    chip-ID: 0c45:672e class-ID: 0e02
  Device-4: Logitech Logi Webcam C920e driver: uvcvideo type: USB rev: 2.0
    speed: 480 Mb/s lanes: 1 mode: 2.0 bus-ID: 3- chip-ID: 046d:08b6
    class-ID: 0e02 serial: <filter>
  Display: wayland server: Xwayland v: 23.2.4 compositor: sway v: 1.8.1
    driver: X: loaded: modesetting,nvidia alternate: fbdev,intel,nouveau,nv,vesa
    dri: iris gpu: i915 d-rect: 7920x1440 display-ID: 1
  Monitor-1: DP-5 pos: center model: Mi Monitor built: 2020 res: 3440x1440
    hz: 50 dpi: 110 gamma: 1.2 scale: 1 size: 797x334mm (31.38x13.15")
    diag: 864mm (34") modes: max: 3440x1440 min: 720x400
  Monitor-2: DP-6 pos: right model: Lenovo LEN P24q-20 serial: <filter>
    built: 2022 res: 2560x1440 hz: 60 dpi: 123 gamma: 1.2 scale: 1
    size: 527x296mm (20.75x11.65") diag: 604mm (23.8") ratio: 16:9 modes:
    max: 2560x1440 min: 720x400
  Monitor-3: eDP-1 pos: primary,left model: LG Display 0x06b3 built: 2021
    res: 1920x1200 hz: 60 dpi: 145 gamma: 1.2 scale: 1
    size: 336x210mm (13.23x8.27") diag: 396mm (15.6") ratio: 16:10
    modes: 1920x1200
  API: Vulkan v: 1.3.276 layers: 7 device: 0 type: integrated-gpu name: Intel
    UHD Graphics (TGL GT1) driver: mesa intel v: 23.3.4-arch1.2
    device-ID: 8086:9a60 surfaces: xcb,xlib,wayland device: 1 type: cpu
    name: llvmpipe (LLVM 16.0.6 256 bits) driver: mesa llvmpipe
    v: 23.3.4-arch1.2 (LLVM 16.0.6) device-ID: 10005:0000
    surfaces: xcb,xlib,wayland
  API: EGL Message: EGL data requires eglinfo. Check --recommends.
  Device-1: Intel Tiger Lake-H HD Audio vendor: Dell driver: snd_hda_intel
    v: kernel alternate: snd_sof_pci_intel_tgl bus-ID: 00:1f.3
    chip-ID: 8086:43c8 class-ID: 0403
  Device-2: HP HyperX SoloCast driver: hid-generic,snd-usb-audio,usbhid
    type: USB rev: 1.1 speed: 12 Mb/s lanes: 1 mode: 1.1 bus-ID: 3-
    chip-ID: 03f0:078b class-ID: 0300
  Device-3: Realtek USB Audio driver: snd-usb-audio type: USB rev: 2.0
    speed: 480 Mb/s lanes: 1 mode: 2.0 bus-ID: 3-4.3.4:11 chip-ID: 0bda:402e
    class-ID: 0102 serial: <filter>
  API: ALSA v: k6.5.9-zen2-1-zen status: kernel-api tools: N/A
  Server-1: sndiod v: N/A status: off tools: aucat,midicat,sndioctl
  Server-2: PipeWire v: 1.0.1 status: active with: 1: pipewire-pulse
    status: active 2: wireplumber status: active 3: pipewire-alsa type: plugin
    4: pw-jack type: plugin tools: pactl,pw-cat,pw-cli,wpctl
  Device-1: Intel Tiger Lake PCH CNVi WiFi driver: iwlwifi v: kernel
    bus-ID: 00:14.3 chip-ID: 8086:43f0 class-ID: 0280
  IF: wlp0s20f3 state: down mac: <filter>
  Device-2: Realtek RTL8153 Gigabit Ethernet Adapter driver: r8152 type: USB
    rev: 3.0 speed: 5 Gb/s lanes: 1 mode: 3.2 gen-1x1 bus-ID: 2-4.4:7
    chip-ID: 0bda:8153 class-ID: 0000 serial: <filter>
  IF: enp0s13f0u4u4 state: up speed: 1000 Mbps duplex: full mac: <filter>
  Device-1: Intel AX201 Bluetooth driver: btusb v: 0.8 type: USB rev: 2.0
    speed: 12 Mb/s lanes: 1 mode: 1.1 bus-ID: 3-14:4 chip-ID: 8087:0026
    class-ID: e001
  Report: btmgmt ID: hci0 rfk-id: 0 state: up address: <filter> bt-v: 5.2
    lmp-v: 11 status: discoverable: no pairing: no class-ID: 6c010c
  Local Storage: total: 3.96 TiB used: 520.64 GiB (12.8%)
  SMART Message: Required tool smartctl not installed. Check --recommends
  ID-1: /dev/nvme0n1 maj-min: 259:5 vendor: Lexar model: SSD NM790 4TB
    size: 3.73 TiB block-size: physical: 512 B logical: 512 B speed: 63.2 Gb/s
    lanes: 4 tech: SSD serial: <filter> fw-rev: 12237 temp: 43.9 C scheme: GPT
  ID-2: /dev/nvme1n1 maj-min: 259:0 model: PCIe SSD size: 238.47 GiB
    block-size: physical: 512 B logical: 512 B speed: 31.6 Gb/s lanes: 4
    tech: SSD serial: <filter> fw-rev: ECFM22.6 temp: 26.9 C scheme: GPT
  ID-1: / raw-size: 500 GiB size: 500 GiB (100.00%) used: 9.08 GiB (1.8%)
    fs: btrfs dev: /dev/nvme0n1p1 maj-min: 259:6
  ID-2: /boot/efi raw-size: 1024 MiB size: 1022 MiB (99.80%)
    used: 584 KiB (0.1%) fs: vfat dev: /dev/nvme0n1p4 maj-min: 259:9
  ID-3: /home raw-size: 3.21 TiB size: 3.21 TiB (100.00%)
    used: 511.56 GiB (15.6%) fs: btrfs dev: /dev/nvme0n1p3 maj-min: 259:8
  ID-4: /var/log raw-size: 500 GiB size: 500 GiB (100.00%)
    used: 9.08 GiB (1.8%) fs: btrfs dev: /dev/nvme0n1p1 maj-min: 259:6
  ID-5: /var/tmp raw-size: 500 GiB size: 500 GiB (100.00%)
    used: 9.08 GiB (1.8%) fs: btrfs dev: /dev/nvme0n1p1 maj-min: 259:6
  Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default) zswap: no
  ID-1: swap-1 type: partition size: 32.23 GiB used: 0 KiB (0.0%)
    priority: -2 dev: /dev/nvme0n1p2 maj-min: 259:7
  ID-2: swap-2 type: zram size: 31.08 GiB used: 0 KiB (0.0%) priority: 100
    comp: zstd avail: lzo,lzo-rle,lz4,lz4hc,842 max-streams: 16 dev: /dev/zram0
  System Temperatures: cpu: 89.0 C mobo: 47.0 C sodimm: SODIMM C
  Fan Speeds (rpm): cpu: 2912
  Processes: 415 Uptime: 22m wakeups: 0 Memory: total: 32 GiB note: est.
  available: 31.08 GiB used: 6.75 GiB (21.7%) Init: systemd v: 255
  default: graphical tool: systemctl Compilers: gcc: 13.2.1 Packages:
  pm: pacman pkgs: 1204 libs: 369 tools: paru Shell: fish v: 3.7.0
  running-in: alacritty inxi: 3.3.31
Garuda (2.6.22-1):
  System install date:     2024-01-30
  Last full system update: 2024-01-30 ↻
  Is partially upgraded:   No
  Relevant software:       snapper NetworkManager dracut
  Windows dual boot:       Probably (Run as root to verify)
  Failed units:
1 Like

Hi there, welcome to the forum.
This topic has been discussed several times in the forum.
I’d like to mention this one: the solution is OK, but especially good to explain “the context”. Also the suggestion two posts after to use symlinking is a very very common approach to this “issue”.


and reboot

local/linux-zen 6.7.2.zen1-1

That does make a lot of sense with the background, thanks. Of course I searched for issues with the dotfiles, not with the home partition.

So in my current state, the /home partition is formatted in BTRFS, but not as a subvolume. Is there a best practice how to handle that? I could go and convert it to a subvolume (thats something I also found in my search), but the symlinks also make sense.

Im asking out of the perspective of very possible distro-hopping, as I would want to avoid as much issues there as possible. In sense of BTRFS, I guess coverting it to a subvolume would be the way to go?

Personally, I would prefer to go ahead with symlinks, so your home remains there and you continue to use it even if you have new “hops”. Which hopefully you won’t do :wink:


Great, than my thought was not that bad :smiley: Well currently Im settling in, but I really like some of the Garuda approaches, as a bit of a “quality of life” improvement over the more stock arch EndeavourOS.

But, there still is the issue with my device having that Nvidia GPU and the struggle to set that up in combiantion with wayland. So maybe I get back to i3, but definitely will try Garuda for now :slight_smile:

Edit: I just looked through my current BTRFS volumes, and I think as I mounted the /home partition right in the installation, there was no @home created on / or am I missing something?

❯ sudo btrfs subvolume list /
[sudo] password for daniel:
ID 256 gen 170 top level 5 path @
ID 257 gen 164 top level 5 path @root
ID 258 gen 45 top level 5 path @srv
ID 259 gen 138 top level 5 path @cache
ID 260 gen 169 top level 5 path @log
ID 261 gen 170 top level 5 path @tmp
ID 262 gen 113 top level 256 path .snapshots
ID 263 gen 99 top level 262 path .snapshots/1/snapshot
ID 264 gen 104 top level 262 path .snapshots/2/snapshot
ID 265 gen 110 top level 262 path .snapshots/3/snapshot
ID 266 gen 112 top level 262 path .snapshots/4/snapshot

~ took 2s

You first need to reboot before anything is going to work correctly. That’s what the stylized ‘swoosh’ at the end of the garuda-inxi means.


Done already, before the output of the btrfs subvolumes

1 Like

I agree with Filo, I think this is going to be the best/easiest option for getting set up but still making it easy to hop to another distro if you want to. If you are not to deep in already I would reinstall first.

  • Reinstall, leaving the extra disk with the “mobile” /home out of it altogether. Don’t even touch that disk in the installer, just pretend it isn’t there.
  • After the installation is complete, make a mount point for the extra disk. It doesn’t matter where you mount it. Add it to /etc/fstab so it will be automatically mounted at boot.
  • Delete the (empty!) directories in the new installation that you have on the extra disk. For example:
rmdir ~/Documents ~/Pictures ~/Videos
  • Set up symlinks to point to your extra disk wherever you mounted it, so the directories there appear to be in your normal home directory. Make the directory target ~, for example:
ln -s /mnt/my_other_drive/Documents /mnt/my_other_drive/Pictures /mnt/my_other_drive/Videos ~

This way your separate drive won’t be cluttered with dotfiles and such from the Garuda installation (in case you want to hop), but you can still get to all your stuff and interact with normally while using Garuda Linux.


That sounds like the way to go, thanks a lot. The /home is on the same drive, but not mounting it in the installer should do the trick.

Yeah I also planned for re-install as I did not really configure anything anyway until now. I guess I switch to hyprland also at the same time, as my research so far regarding sway and NVIDIA drivers looks everything but good.

Getting proprietary Nvidia drivers working on Sway is more complicated than with any other spin. I have a wiki doc for how to do it drafted, but the doc refers to changes made to the Sway spin that aren’t in the ISO yet due to an ongoing issue with the Calamares installer (since December now).

So a new Sway ISO and a wiki doc for Nvidia drivers are both Coming SoonTM. :wink:


Hyprland is quite new but looks already great.
Make sure to check this thread:

I’m not a Nvidia user, so I skipped the relevant hints.


This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.