From 19ad0e1223622c4c0be670bdb950da4a86018f1c Mon Sep 17 00:00:00 2001 From: "Reid \"reidlab" Date: Thu, 30 May 2024 22:36:36 -0700 Subject: [PATCH 01/12] add intel-gpu-tools --- hosts/goopnet-interface/hardware.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/hosts/goopnet-interface/hardware.nix b/hosts/goopnet-interface/hardware.nix index b9dfe29..d381e74 100755 --- a/hosts/goopnet-interface/hardware.nix +++ b/hosts/goopnet-interface/hardware.nix @@ -67,6 +67,8 @@ MOZ_DISABLE_RDD_SANDBOX = "1"; }; + environment.systemPackages = with pkgs; [ intel-gpu-tools ]; + boot.kernelParams = [ # enable the i915 sandybridge framebuffer compression (475mw savings) "i915.i915_enable_fbc=1" From acf7c88934448ddd53440409b5069590f7f285f5 Mon Sep 17 00:00:00 2001 From: "Reid \"reidlab" Date: Thu, 30 May 2024 23:11:58 -0700 Subject: [PATCH 02/12] install eza --- hosts/goopnet-interface/default.nix | 5 +++-- modules/software/tools/eza.nix | 15 +++++++++++++++ 2 files changed, 18 insertions(+), 2 deletions(-) create mode 100644 modules/software/tools/eza.nix diff --git a/hosts/goopnet-interface/default.nix b/hosts/goopnet-interface/default.nix index ab96dc9..05fd678 100755 --- a/hosts/goopnet-interface/default.nix +++ b/hosts/goopnet-interface/default.nix @@ -21,7 +21,7 @@ # compatibility wineWowPackages.waylandFull winetricks # misc - bat file which tree prismlauncher yt-dlp wl-screenrec + bat file which prismlauncher yt-dlp wl-screenrec ] ++ (with pkgs.my; [ # none yet ]) ++ (with pkgs.gnome; [ @@ -75,8 +75,9 @@ distractions.discord.vesktop = true; distractions.steam.enable = true; # tools - tools.mpv.enable = true; + tools.eza.enable = true; tools.gpg.enable = true; + tools.mpv.enable = true; }; }; diff --git a/modules/software/tools/eza.nix b/modules/software/tools/eza.nix new file mode 100644 index 0000000..d510bd6 --- /dev/null +++ b/modules/software/tools/eza.nix @@ -0,0 +1,15 @@ +{ config, lib, pkgs, ... }: + +with lib; +let + cfg = config.modules.software.tools.eza; +in { + options.modules.software.tools.eza = { + enable = mkEnableOption "Enable eza, a modern replacement for ls"; + }; + + config = mkIf cfg.enable { + hm.programs.eza.enable = true; + hm.programs.eza.git = true; + }; +} \ No newline at end of file From 42151b5cacec4a69fa995c1ba19a87df4ff2ae08 Mon Sep 17 00:00:00 2001 From: "Reid \"reidlab" Date: Fri, 31 May 2024 14:41:02 -0700 Subject: [PATCH 03/12] improve boot speed --- hosts/goopnet-interface/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/hosts/goopnet-interface/default.nix b/hosts/goopnet-interface/default.nix index 05fd678..87a7989 100755 --- a/hosts/goopnet-interface/default.nix +++ b/hosts/goopnet-interface/default.nix @@ -82,4 +82,5 @@ }; networking.networkmanager.enable = true; + systemd.services.NetworkManager-wait-online.enable = false; } From 9a688451bf00aafe5c5b62493a0c643bd47c2b37 Mon Sep 17 00:00:00 2001 From: "Reid \"reidlab" Date: Fri, 31 May 2024 15:55:45 -0700 Subject: [PATCH 04/12] update/fix hyprland --- flake.lock | 20 ++++++++++---------- modules/desktop/hyprland.nix | 10 ++++++++++ 2 files changed, 20 insertions(+), 10 deletions(-) diff --git a/flake.lock b/flake.lock index ca37175..c729753 100644 --- a/flake.lock +++ b/flake.lock @@ -101,11 +101,11 @@ ] }, "locked": { - "lastModified": 1716327911, - "narHash": "sha256-PI+wygItS/TKzi4gEAROvKTUzTx9GT+PGBttS/IOA/Q=", + "lastModified": 1716576411, + "narHash": "sha256-FIN1wMoyePBTtibCbaeJaoKNLuAYIGwLCWAYC1DJanw=", "owner": "hyprwm", "repo": "hyprcursor", - "rev": "27ca640abeef2d425b5dbecf804f5eb622cef56d", + "rev": "57298fc4f13c807e50ada2c986a3114b7fc2e621", "type": "github" }, "original": { @@ -144,11 +144,11 @@ "xdph": "xdph" }, "locked": { - "lastModified": 1716417827, - "narHash": "sha256-TYHpA/i9+Ns01+RzknJ5eYskQXL9GTTA7JX9Lo4JKVg=", + "lastModified": 1717186020, + "narHash": "sha256-PQF/ng2hSQsKKsn4N+4RmVu+4ljzsrSsrAm5Yp7wADM=", "ref": "refs/heads/main", - "rev": "7ad9116de8d0b7dac27eaf080bd92998a8fb40e5", - "revCount": 4728, + "rev": "a54ab301602e205f273969c093cf494d38ba4a98", + "revCount": 4752, "submodules": true, "type": "git", "url": "https://github.com/hyprwm/Hyprland" @@ -236,11 +236,11 @@ ] }, "locked": { - "lastModified": 1715791527, - "narHash": "sha256-HhQ4zvGHrRjR63ltySSeg+x+0jb0lepiutWdnFhLRoo=", + "lastModified": 1716473782, + "narHash": "sha256-+qLn4lsHU6iL3+HTo1gTQ1tWzet8K9h+IfVemzEQZj8=", "owner": "hyprwm", "repo": "hyprlang", - "rev": "969cb076e5b76f2e823aeca1937a3e1f159812ee", + "rev": "87d5d984109c839482b88b4795db073eb9ed446f", "type": "github" }, "original": { diff --git a/modules/desktop/hyprland.nix b/modules/desktop/hyprland.nix index 9992083..3c22448 100644 --- a/modules/desktop/hyprland.nix +++ b/modules/desktop/hyprland.nix @@ -21,6 +21,7 @@ in { config = mkIf cfg.enable { services.displayManager.sessionPackages = [ cfg.package ]; + xdg.portal = { enable = true; extraPortals = [ pkgs.xdg-desktop-portal-gtk cfg.portalPackage ]; @@ -30,6 +31,15 @@ in { }; }; }; + + # fixes a few things, most notibly, xwayland + programs.hyprland = { + enable = true; + xwayland.enable = true; + package = cfg.package; + portalPackage = cfg.portalPackage; + }; + hm.wayland.windowManager.hyprland = { enable = true; xwayland.enable = true; From 09393d500d97754b6ddec5d41a1dd972e35b8f9a Mon Sep 17 00:00:00 2001 From: "Reid \"reidlab" Date: Fri, 31 May 2024 15:59:35 -0700 Subject: [PATCH 05/12] refactor hardware a little --- .../apple-macbook-air-9-1.nix | 52 +++++++++++++++++++ hosts/goopnet-interface/hardware.nix | 52 +------------------ 2 files changed, 54 insertions(+), 50 deletions(-) create mode 100644 hosts/goopnet-interface/apple-macbook-air-9-1.nix diff --git a/hosts/goopnet-interface/apple-macbook-air-9-1.nix b/hosts/goopnet-interface/apple-macbook-air-9-1.nix new file mode 100644 index 0000000..6ee508f --- /dev/null +++ b/hosts/goopnet-interface/apple-macbook-air-9-1.nix @@ -0,0 +1,52 @@ +{ pkgs, ... }: +{ + # support power features such as suspend to ram + powerManagement.enable = true; + # tune power saving options on boot + powerManagement.powertop.enable = true; + # thermald proactively prevents overheating on intel CPUs and works well with other tools + services.thermald.enable = true; + # power-profile-daemon for power management + services.power-profiles-daemon.enable = true; + # manage fans for macbook devices + services.mbpfan.enable = true; + + # better performance than the actual intel driver + services.xserver.videoDrivers = [ "modesetting" ]; + + # needed for our broadcom/brcm 4377b chip to work + hardware.firmware = with pkgs; [ + my.apple-firmware + ]; + + # VA-API + hardware.opengl = { + extraPackages = with pkgs; [ + intel-media-driver + intel-vaapi-driver + libvdpau-va-gl + ]; + + extraPackages32 = with pkgs.pkgsi686Linux; [ + intel-media-driver + intel-vaapi-driver + libvdpau-va-gl + ]; + }; + + environment.variables = { + LIBVA_DRIVER_NAME= "iHD"; + VDPAU_DRIVER = "va_gl"; + # VA-API on firefox + MOZ_DISABLE_RDD_SANDBOX = "1"; + }; + + environment.systemPackages = with pkgs; [ intel-gpu-tools ]; + + boot.kernelParams = [ + # enable the i915 sandybridge framebuffer compression (475mw savings) + "i915.i915_enable_fbc=1" + "i915.fastboot=1" + "enable_gvt=1" + ]; +} \ No newline at end of file diff --git a/hosts/goopnet-interface/hardware.nix b/hosts/goopnet-interface/hardware.nix index d381e74..18f19f6 100755 --- a/hosts/goopnet-interface/hardware.nix +++ b/hosts/goopnet-interface/hardware.nix @@ -12,6 +12,8 @@ inputs.hardware.nixosModules.apple-t2 (modulesPath + "/installer/scan/not-detected.nix") + + ./apple-macbook-air-9-1.nix ]; boot.initrd.availableKernelModules = [ "xhci_pci" "ehci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" "sdhci_pci" ]; @@ -26,56 +28,6 @@ efi.canTouchEfiVariables = true; }; - # support power features such as suspend to ram - powerManagement.enable = true; - # tune power saving options on boot - powerManagement.powertop.enable = true; - # thermald proactively prevents overheating on intel CPUs and works well with other tools - services.thermald.enable = true; - # power-profile-daemon for power management - services.power-profiles-daemon.enable = true; - # manage fans for macbook devices - services.mbpfan.enable = true; - - # better performance than the actual intel driver - services.xserver.videoDrivers = [ "modesetting" ]; - - # needed for our broadcom/brcm 4377b chip to work - hardware.firmware = with pkgs; [ - my.apple-firmware - ]; - - # VA-API - hardware.opengl = { - extraPackages = with pkgs; [ - intel-media-driver - intel-vaapi-driver - libvdpau-va-gl - ]; - - extraPackages32 = with pkgs.pkgsi686Linux; [ - intel-media-driver - intel-vaapi-driver - libvdpau-va-gl - ]; - }; - - environment.variables = { - LIBVA_DRIVER_NAME= "iHD"; - VDPAU_DRIVER = "va_gl"; - # VA-API on firefox - MOZ_DISABLE_RDD_SANDBOX = "1"; - }; - - environment.systemPackages = with pkgs; [ intel-gpu-tools ]; - - boot.kernelParams = [ - # enable the i915 sandybridge framebuffer compression (475mw savings) - "i915.i915_enable_fbc=1" - "i915.fastboot=1" - "enable_gvt=1" - ]; - fileSystems."/" = { device = "/dev/disk/by-uuid/0f09afdc-88e4-4764-818b-77828931278f"; fsType = "ext4"; From 972664c2546ae07cf1e4d02706af2a8d86505033 Mon Sep 17 00:00:00 2001 From: "Reid \"reidlab" Date: Fri, 31 May 2024 16:28:57 -0700 Subject: [PATCH 06/12] WE CAN FINALLY SUSPEND --- hosts/goopnet-interface/apple-macbook-air-9-1.nix | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/hosts/goopnet-interface/apple-macbook-air-9-1.nix b/hosts/goopnet-interface/apple-macbook-air-9-1.nix index 6ee508f..23e6046 100644 --- a/hosts/goopnet-interface/apple-macbook-air-9-1.nix +++ b/hosts/goopnet-interface/apple-macbook-air-9-1.nix @@ -19,6 +19,18 @@ my.apple-firmware ]; + # handle suspend issues (fuck you broadcom!) + powerManagement.powerDownCommands = '' + ${pkgs.kmod}/bin/modprobe -r brcmfmac_wcc + ${pkgs.kmod}/bin/modprobe -r brcmfmac + ${pkgs.kmod}/bin/modprobe -r hci_bcm4377 + ''; + powerManagement.resumeCommands = '' + ${pkgs.kmod}/bin/modprobe hci_bcm4377 + ${pkgs.kmod}/bin/modprobe brcmfmac + ${pkgs.kmod}/bin/modprobe brcmfmac_wcc + ''; + # VA-API hardware.opengl = { extraPackages = with pkgs; [ From ec87ee614a1def6593c7222b592fd36d3d4884f5 Mon Sep 17 00:00:00 2001 From: "Reid \"reidlab" Date: Fri, 31 May 2024 22:51:27 -0700 Subject: [PATCH 07/12] s2idle suspenson --- hosts/goopnet-interface/apple-macbook-air-9-1.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/hosts/goopnet-interface/apple-macbook-air-9-1.nix b/hosts/goopnet-interface/apple-macbook-air-9-1.nix index 23e6046..a4d6b71 100644 --- a/hosts/goopnet-interface/apple-macbook-air-9-1.nix +++ b/hosts/goopnet-interface/apple-macbook-air-9-1.nix @@ -59,6 +59,8 @@ # enable the i915 sandybridge framebuffer compression (475mw savings) "i915.i915_enable_fbc=1" "i915.fastboot=1" - "enable_gvt=1" + "i915.enable_gvt=1" + # makes waking up from suspend much more bareable + "mem_sleep_default=s2idle" ]; } \ No newline at end of file From e2310ad642c12a453e2f130932182ccc533e5b17 Mon Sep 17 00:00:00 2001 From: "Reid \"reidlab" Date: Fri, 31 May 2024 22:52:13 -0700 Subject: [PATCH 08/12] fix weird formatting --- modules/desktop/hypridle.nix | 52 ++++++++++++++++++------------------ 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/modules/desktop/hypridle.nix b/modules/desktop/hypridle.nix index 5cea86e..8948480 100644 --- a/modules/desktop/hypridle.nix +++ b/modules/desktop/hypridle.nix @@ -21,34 +21,34 @@ in { package = cfg.package; settings = { - general = { - lock_cmd = "${pkgs.procps}/bin/pidof hyprlock || ${lib.getExe config.modules.desktop.hyprlock.package}"; - unlock_cmd = "${pkgs.procps}/bin/pkill -USR1 hyprlock"; + general = { + lock_cmd = "${pkgs.procps}/bin/pidof hyprlock || ${lib.getExe config.modules.desktop.hyprlock.package}"; + unlock_cmd = "${pkgs.procps}/bin/pkill -USR1 hyprlock"; - before_sleep_cmd = "${pkgs.systemd}/bin/loginctl lock-session"; # lock the screen before sleeping - after_sleep_cmd = "${hyprctl} dispatch dpms on"; # turn on the screen to avoid moving mouse/pressing key - }; + before_sleep_cmd = "${pkgs.systemd}/bin/loginctl lock-session"; # lock the screen before sleeping + after_sleep_cmd = "${hyprctl} dispatch dpms on"; # turn on the screen to avoid moving mouse/pressing key + }; - listener = [ - { - timeout = 60 * 1; - on-timeout = "${lib.getExe pkgs.brightnessctl} -c backlight -s set 1%"; # dim screen, save brightness state - on-resume = "${lib.getExe pkgs.brightnessctl} -c backlight -r"; # restore previous screen brightness state - } - { - timeout = 90; # 1.5 min - on-timeout = "${hyprctl} dispatch dpms off"; # turn off screen - on-resume = "${hyprctl} dispatch dpms on"; # turn it back on - } - { - timeout = 60 * 2; # 2 min - on-timeout = "${pkgs.systemd}/bin/loginctl lock-session"; # lock computer - } - { - timeout = 60 * 15; # 15 min - on-timeout = "${pkgs.systemd}/bin/systemctl suspend"; # sleep/suspend - } - ]; + listener = [ + { + timeout = 60 * 1; + on-timeout = "${lib.getExe pkgs.brightnessctl} -c backlight -s set 1%"; # dim screen, save brightness state + on-resume = "${lib.getExe pkgs.brightnessctl} -c backlight -r"; # restore previous screen brightness state + } + { + timeout = 90; # 1.5 min + on-timeout = "${hyprctl} dispatch dpms off"; # turn off screen + on-resume = "${hyprctl} dispatch dpms on"; # turn it back on + } + { + timeout = 60 * 2; # 2 min + on-timeout = "${pkgs.systemd}/bin/loginctl lock-session"; # lock computer + } + { + timeout = 60 * 15; # 15 min + on-timeout = "${pkgs.systemd}/bin/systemctl suspend"; # sleep/suspend + } + ]; }; }; }; From b60cd331a86860aec8be5d43dbf754bd060b804b Mon Sep 17 00:00:00 2001 From: "Reid \"reidlab" Date: Fri, 31 May 2024 23:56:45 -0700 Subject: [PATCH 09/12] more hyprland binds! --- modules/desktop/hyprland.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/modules/desktop/hyprland.nix b/modules/desktop/hyprland.nix index 3c22448..98ff996 100644 --- a/modules/desktop/hyprland.nix +++ b/modules/desktop/hyprland.nix @@ -94,6 +94,9 @@ in { # scroll through workspaces with mod + scroll "$mod, mouse_down, workspace, e+1" "$mod, mouse_up, workspace, e-1" + # alternatively, scroll through workspaces with mod + brackets + "$mod, bracketleft, workspace, e-1" + "$mod, bracketright, workspace, e+1" ] ++ ( # workspaces # binds $mod + [shift +] {1..10} to [move to] workspace {1..10} From 4ad213371d4122b1bfed2bde058f3d6c9bfddec1 Mon Sep 17 00:00:00 2001 From: "Reid \"reidlab" Date: Mon, 3 Jun 2024 16:13:52 -0700 Subject: [PATCH 10/12] fix hyprlock --- modules/desktop/hyprlock.nix | 101 ++++++++++++++++++----------------- 1 file changed, 51 insertions(+), 50 deletions(-) diff --git a/modules/desktop/hyprlock.nix b/modules/desktop/hyprlock.nix index 6d1d670..f569504 100644 --- a/modules/desktop/hyprlock.nix +++ b/modules/desktop/hyprlock.nix @@ -20,61 +20,62 @@ in { package = cfg.package; settings = { - general = { - hide_cursor = false; - no_fade_in = true; - no_fade_out = true; - }; + general = { + hide_cursor = false; + no_fade_in = true; + no_fade_out = true; + text_trim = false; + }; - background = [ - { - path = toString ../../assets/lockscreen.png; - blur_passes = 3; - blur_size = 6; - } - ]; + background = [ + { + path = toString ../../assets/lockscreen.png; + blur_passes = 3; + blur_size = 6; + } + ]; - label = [ - { - text = "cmd[update:1000] echo \"$(date +'%H:%M')\""; - font_size = 58; - color = "rgb(${base05})"; - font_family = config.modules.desktop.fonts.fonts.sansSerif.family; - position = "0, 30"; - halign = "center"; - valign = "center"; - } - { - text = "cmd[update:1000] echo \"$(date +'%A %B %e')\""; - font_size = 14; - color = "rgb(${base05})"; - font_family = config.modules.desktop.fonts.fonts.sansSerif.family; - position = "0, 10"; - halign = "center"; - valign = "center"; - } - ]; + label = [ + { + text = "cmd[update:1000] echo \"$(date +'%H:%M')\""; + font_size = 58; + color = "rgb(${base05})"; + font_family = config.modules.desktop.fonts.fonts.sansSerif.family; + position = "0, 30"; + halign = "center"; + valign = "center"; + } + { + text = "cmd[update:1000] echo \"$(date +'%A %B %e')\""; + font_size = 14; + color = "rgb(${base05})"; + font_family = config.modules.desktop.fonts.fonts.sansSerif.family; + position = "0, 10"; + halign = "center"; + valign = "center"; + } + ]; - input-field = [ - { - size = "300, 28"; - outline_thickness = 2; - dots_size = 0.2; - fade_on_empty = false; - placeholder_text = ""; + input-field = [ + { + size = "300, 28"; + outline_thickness = 2; + dots_size = 0.2; + fade_on_empty = false; + placeholder_text = ""; - outer_color = "rgb(${base0E})"; - inner_color = "rgb(${base00})"; - font_color = "rgb(${base05})"; - check_color = "rgb(${base02})"; - fail_color = "rgb(${base08})"; - capslock_color = "rgb(${base09})"; + outer_color = "rgb(${base0E})"; + inner_color = "rgb(${base00})"; + font_color = "rgb(${base05})"; + check_color = "rgb(${base02})"; + fail_color = "rgb(${base08})"; + capslock_color = "rgb(${base09})"; - position = "0, -30"; - halign = "center"; - valign = "center"; - } - ]; + position = "0, -30"; + halign = "center"; + valign = "center"; + } + ]; }; }; }; From dbbdd80e30e60566916330fc9323b00de39b2425 Mon Sep 17 00:00:00 2001 From: "Reid \"reidlab" Date: Mon, 3 Jun 2024 16:30:04 -0700 Subject: [PATCH 11/12] update hyprland --- flake.lock | 8 ++++---- modules/desktop/hyprland.nix | 12 ------------ 2 files changed, 4 insertions(+), 16 deletions(-) diff --git a/flake.lock b/flake.lock index c729753..d745169 100644 --- a/flake.lock +++ b/flake.lock @@ -144,11 +144,11 @@ "xdph": "xdph" }, "locked": { - "lastModified": 1717186020, - "narHash": "sha256-PQF/ng2hSQsKKsn4N+4RmVu+4ljzsrSsrAm5Yp7wADM=", + "lastModified": 1717447622, + "narHash": "sha256-yT+e+NxXDes75AXaoxr41uStjXQgwK1SR5ZQEl27XlU=", "ref": "refs/heads/main", - "rev": "a54ab301602e205f273969c093cf494d38ba4a98", - "revCount": 4752, + "rev": "d0a224a4915b5a90555818ed3f9e49e1a61b7cdb", + "revCount": 4761, "submodules": true, "type": "git", "url": "https://github.com/hyprwm/Hyprland" diff --git a/modules/desktop/hyprland.nix b/modules/desktop/hyprland.nix index 98ff996..6f1002f 100644 --- a/modules/desktop/hyprland.nix +++ b/modules/desktop/hyprland.nix @@ -150,33 +150,21 @@ in { windowrulev2 = [ # common popups "float, class:org.gnome.FileRoller" - "center, class:org.gnome.FileRoller" "size 1100 650, class:org.gnome.FileRoller" "float, class:org.gnome.Loupe" - "center, class:org.gnome.Loupe" "size 1100 650, class:org.gnome.Loupe" "float, initialTitle:^Open Folder$" - "center, initialTitle:^Open Folder$" "size 1100 650, initialTitle:^Open Folder$" "float, initialTitle:^Open File$" - "center, initialTitle:^Open File$" "size 1100 650, initialTitle:^Open File$" "float, initialTitle:^Open Files$" - "center, initialTitle:^Open Files$" "size 1100 650, initialTitle:^Open Files$" "float, initialTitle:^Save As$" - "center, initialTitle:^Save As$" "size 1100 650, initialTitle:^Save As$" "float, initialTitle:^Select a file to open$" - "center, initialTitle:^Select a file to open$" "size 1100 650, initialTitle:^Select a file to open$" "float, initialTitle:^File Upload$" - "center, initialTitle:^File Upload$" "size 1100 650, initialTitle:^File Upload$" - # https://github.com/hyprwm/Hyprland/issues/6154 - "center, class:^gcr-prompter" - "center, class:^pinentry-" - "center, class:^polkit-" "float, class:\.exe$" From 3888e1546bec14ddfeb314a5762801ca9f1a5983 Mon Sep 17 00:00:00 2001 From: "Reid \"reidlab" Date: Tue, 4 Jun 2024 18:27:42 -0700 Subject: [PATCH 12/12] add the vscode ssh extension --- modules/software/editors/vscode.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/software/editors/vscode.nix b/modules/software/editors/vscode.nix index 60e0785..efdfe10 100644 --- a/modules/software/editors/vscode.nix +++ b/modules/software/editors/vscode.nix @@ -17,6 +17,7 @@ in { usernamehw.errorlens editorconfig.editorconfig ms-vsliveshare.vsliveshare + ms-vscode-remote.remote-ssh ] ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [ { name = "discord-vscode";