From 0e69d956f5fc20546d0a96a3891d6dd29942468b Mon Sep 17 00:00:00 2001 From: polwex Date: Fri, 31 Jan 2025 01:55:31 +0700 Subject: config for wayland on nvidia --- hosts/local/i3.nix | 74 +++++++++++++----------- hosts/local/master/configuration.nix | 12 ++-- hosts/local/master/default.nix | 1 + hosts/local/master/keyboard.nix | 58 +++++++++---------- hosts/local/master/thinkpad.kbd | 105 +++++++++++++++++++++++++++++++++++ hosts/local/nvidia.nix | 42 ++++++++++---- hosts/local/wayland.nix | 20 +++++-- hosts/nixos.nix | 16 +++--- hosts/unfree.nix | 17 ++++-- 9 files changed, 243 insertions(+), 102 deletions(-) create mode 100644 hosts/local/master/thinkpad.kbd (limited to 'hosts') diff --git a/hosts/local/i3.nix b/hosts/local/i3.nix index 50b9afa..a45c3c1 100644 --- a/hosts/local/i3.nix +++ b/hosts/local/i3.nix @@ -27,9 +27,15 @@ # gnome stuff services.gvfs.enable = true; programs.dconf.enable = true; + # screen tearing + services.picom = { + enable = true; + vSync = true; + }; environment.systemPackages = with pkgs; [ + #notifications + dunst # gnome stuff - gnome.adwaita-icon-theme nautilus polybar rofi @@ -40,6 +46,7 @@ # screenshots flameshot shutter + xclip maim kitty @@ -49,6 +56,8 @@ brave gimp vlc + mpv + celluloid thunderbird kmail firefox @@ -91,36 +100,37 @@ defaultFonts.sansSerif = ["DejaVu Sans"]; defaultFonts.serif = ["DejaVu Serif" "Source Han Serif SC"]; }; - packages = with pkgs; [ - fira-code - fira - cooper-hewitt - ibm-plex - jetbrains-mono - iosevka - spleen - fira-code-symbols - powerline-fonts - nerdfonts - arphic-ukai - arphic-uming - dejavu_fonts - font-awesome - inconsolata # monospaced - noto-fonts - noto-fonts-cjk-sans - noto-fonts-emoji - noto-fonts-extra - powerline-fonts - source-han-sans-japanese - source-han-sans-korean - source-han-sans-simplified-chinese - source-han-sans-traditional-chinese - source-sans-pro - ubuntu_font_family - wqy_microhei - wqy_zenhei - ]; + packages = with pkgs; + [ + fira-code + fira + cooper-hewitt + ibm-plex + jetbrains-mono + iosevka + spleen + fira-code-symbols + powerline-fonts + arphic-ukai + arphic-uming + dejavu_fonts + font-awesome + inconsolata # monospaced + noto-fonts + noto-fonts-cjk-sans + noto-fonts-emoji + noto-fonts-extra + powerline-fonts + source-han-sans-japanese + source-han-sans-korean + source-han-sans-simplified-chinese + source-han-sans-traditional-chinese + source-sans-pro + ubuntu_font_family + wqy_microhei + wqy_zenhei + ] + ++ builtins.filter lib.attrsets.isDerivation (builtins.attrValues pkgs.nerd-fonts); }; # screen capture @@ -133,7 +143,7 @@ ## Remove sound.enable or set it to false if you had it set previously, as sound.enable is only meant for ALSA-based configurations # rtkit is optional but recommended - hardware.pulseaudio.enable = false; + services.pulseaudio.enable = false; security.rtkit.enable = true; services.pipewire = { enable = true; diff --git a/hosts/local/master/configuration.nix b/hosts/local/master/configuration.nix index 4888f30..aa12e1c 100644 --- a/hosts/local/master/configuration.nix +++ b/hosts/local/master/configuration.nix @@ -6,13 +6,13 @@ # Include the results of the hardware scan. ../../base.nix ../../linux.nix - # ../../unfree.nix + ../../unfree.nix #../../android.nix - # ../i3.nix + ../i3.nix # ../gnome.nix - # ../wayland.nix + #../wayland.nix ../nvidia.nix - ./keyboard.nix + ./keyboard.nix ]; # Use the systemd-boot EFI boot loader. @@ -32,8 +32,8 @@ time.timeZone = "Asia/Bangkok"; # Enable the OpenSSH daemon. - services.openssh.enable = true; - services.openssh.ports = [5555]; + # services.openssh.enable = true; + # services.openssh.ports = [5555]; # This value determines the NixOS release from which the default # settings for stateful data, like file locations and database versions diff --git a/hosts/local/master/default.nix b/hosts/local/master/default.nix index 91e5016..e2ee3e0 100644 --- a/hosts/local/master/default.nix +++ b/hosts/local/master/default.nix @@ -1,4 +1,5 @@ inputs: [ + {nixpkgs.config.allowUnfree = true;} inputs.kmonad.nixosModules.default ./hardware-configuration.nix ./configuration.nix diff --git a/hosts/local/master/keyboard.nix b/hosts/local/master/keyboard.nix index 215d05f..d9f6d84 100644 --- a/hosts/local/master/keyboard.nix +++ b/hosts/local/master/keyboard.nix @@ -1,46 +1,38 @@ -{ config, lib, pkgs, ... }: - -{ - services.logind.extraConfig = '' +{pkgs, ...}: { + services.logind.extraConfig = '' # don’t shutdown when power button is short-pressed HandlePowerKey=ignore ''; -# config file keeps getting rewritten but I don't know by who - # i18n.inputMethod = { - # enabled = "fcitx5"; - # fcitx5.addons = with pkgs; [ - # fcitx5-mozc - # # mozc-ut is better, wat do - # fcitx5-gtk - # libsForQt5.fcitx5-qt - # fcitx5-lua - # fcitx5-configtool - # fcitx5-rime - # ]; - # }; + # config file keeps getting rewritten but I don't know by who + i18n.inputMethod = { + enable = true; + type = "fcitx5"; + fcitx5.addons = with pkgs; [ + fcitx5-mozc + # mozc-ut is better, wat do + fcitx5-gtk + libsForQt5.fcitx5-qt + fcitx5-lua + fcitx5-configtool + fcitx5-rime + ]; + }; environment.variables = { GTK_IM_MODULE = "fcitx"; - QT_IM_MODULE = "fcitx"; + QT_IM_MODULE = "fcitx"; XMODIFIERS = "@im=fcitx"; FCITX_SOCKET = "default"; }; - - #kmonad - services.kmonad ={ - enable = true; - - keyboards.internal = { - device = "/dev/input/by-id/usb-Compx_2.4G_Receiver-event-kbd"; - config = builtins.readFile ./compx.kbd; - # device = "/dev/input/by-id/usb-RAPOO_Rapoo_2.4G_Wireless_Device-if02-event-kbd"; - # config = builtins.readFile ./rapoo.kbd; - - # defcfg = { - # enable = true; - # fallthrough = true; - # }; + #kmonad + services.kmonad = { + enable = true; + keyboards = { + usbThinkpad = { + device = "/dev/input/by-id/usb-Lenovo_TrackPoint_Keyboard_II-event-kbd"; + config = builtins.readFile ./thinkpad.kbd; }; }; + }; } diff --git a/hosts/local/master/thinkpad.kbd b/hosts/local/master/thinkpad.kbd new file mode 100644 index 0000000..6f9c253 --- /dev/null +++ b/hosts/local/master/thinkpad.kbd @@ -0,0 +1,105 @@ +;; one liner comments ';;' +#| Multiline + comments |# + +(defcfg ;; For linux & by-id lists pluggable devices +;; If a key is not bound/left_empty(_) then it will fall back to the previous +;; layer's binding if not then default. +fallthrough true +;; To run system commands. You MIGHT face issues with tiling window managers due to command helpers. +;; allow-cmd true +;; use 'ls /dev/input/by-id/' for detachable keyboards and +;; 'ls /dev/input/by-path/' for builtin keyboards location' +input (device-file "/dev/input/by-id/usb-Lenovo_ThinkPad_Compact_USB_Keyboard_with_TrackPoint-event-kbd") +;; Not sure what this does. Please check the docs. +output (uinput-sink "My KMonad output") +) + +;; This is the real representation of your actual keyboard. We haven't started +;; customizing layouts yet. +(defsrc + esc f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 del + ` 1 2 3 4 5 6 7 8 9 0 - = bspc + tab q w e r t y u i o p [ ] \ + caps a s d f g h j k l ; ' ret + lsft z x c v b n m , . / rsft + lctl lmet lalt spc ralt rctl pgup up pgdn + left down right +) +;; Aliases + +(defalias +;; Layer toggles +sym (layer-toggle syms) +sym2 (layer-toggle syms2) +cords (sticky-key 1000 (layer-toggle mods)) +;; +hrt (layer-switch homerowmods) +back (layer-switch qwerty) + +;; Homerow keys +a (tap-hold-next-release 280 a lctl) +s (tap-hold-next-release 280 s lalt) +d (tap-hold-next-release 280 d lmet) +f (tap-hold-next-release 280 f lsft) +;; +j (tap-hold-next-release 280 j rsft) +k (tap-hold-next-release 280 k lmet) +l (tap-hold-next-release 280 l lalt) +semi (tap-hold-next-release 280 ; rctl) + +;; button to launch brave browser +;; veeb (cmd-button "brave") +;; ssf (sticky-key 500 (layer-toggle rshift)) +;; rsf (layer-toggle rshift) +) + +;; The first custom layer is the one that gets activated when kmonad is started +(deflayer qwerty ;; The default layer that'd be read when you launch kmonad + esc f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 del + ` 1 2 3 4 5 6 7 8 9 0 - = bspc + tab q w e r t y u i o p [ ] \ + esc a s d f g h j k l ; ' ret + @sym z x c v b n m , . / rsft + lctl lmet @sym spc @cords @hrt left up right + left down right +) +(deflayer homerowmods + esc f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 del + ` 1 2 3 4 5 6 7 8 9 0 - = bspc + tab q w e r t y u i o p [ ] \ + esc @a @s @d @f g h @j @k @l @semi ' ret + @sym z x c v b n m , . / rsft + lctl lmet @sym spc lalt @back left up right + left down right +) +(deflayer mods + esc f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 del + ` 1 2 3 4 5 6 7 8 9 0 - = bspc + tab q w e r t y u i o p [ ] h + esc lctl lalt lmet lsft g h rsft rmet ralt rctl ' ret + @sym z x c v b n m , . / rsft + lctl lmet @sym spc lalt @back left up right + left down right +) + +;; A layer dedicated to symbols +(deflayer syms + _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ up _ _ ! @ # $ % _ _ _ + _ _ left down right @sym2 ' ^ & - = _ ret + _ _ _ _ _ _ \( [ { < \ _ _ + _ _ _ _ _ _ _ _ _ _ _ +) + + +;; More symbols +(deflayer syms2 + _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ ` ~ * \_ + _ ret + _ _ _ _ _ _ \) ] } > | _ _ + _ _ _ _ _ _ _ _ _ _ _ +) diff --git a/hosts/local/nvidia.nix b/hosts/local/nvidia.nix index 4b2e67a..2d094c9 100644 --- a/hosts/local/nvidia.nix +++ b/hosts/local/nvidia.nix @@ -1,7 +1,23 @@ -{config, pkgs, ...}: { +{ + config, + lib, + pkgs, + ... +}: let + nverStable = config.boot.kernelPackages.nvidiaPackages.stable.version; + nverBeta = config.boot.kernelPackages.nvidiaPackages.beta.version; + nvidiaPackage = + if (lib.versionOlder nverBeta nverStable) + then config.boot.kernelPackages.nvidiaPackages.stable + else config.boot.kernelPackages.nvidiaPackages.beta; +in { boot.kernelModules = ["nvidia" "nvidia_modeset" "nvidia_uvm" "nvidia_drm"]; # boot.kernelPackages = lib.mkForce unfreePkgs.linuxKernel.packages.linux_xanmod_latest; # boot.kernelParams = ["video=HDMI-A-1:1920x1080"]; + # + hardware.graphics = { + enable = true; + }; # hardware.graphics= { # package = (pkgs.mesa.override { galliumDrivers = [ "i915" "swrast" ]; }).drivers; # enable = true; @@ -11,23 +27,26 @@ "https://cuda-maintainers.cachix.org" ]; nix.settings.trusted-public-keys = [ - "cuda-maintainers.cachix.org-1:0dq3bujKpuEPMCX6U4WylrUDZ9JyUG0VpVZa7CNfq5E=" + "cuda-maintainers.cachix.org-1:0dq3bujKpuEPMCX6U4WylrUDZ9JyUG0VpVZa7CNfq5E=" ]; - + services.xserver = { videoDrivers = ["nvidia"]; + displayManager.gdm.wayland = true; + displayManager.gdm.nvidiaWayland = true; }; # environment.systemPackages = with pkgs;[ - # libva-utils - # nvidia-vaapi-driver - # pciutils - # vdpauinfo - # (blender.override { - # cudaSupport = true; - # }) + # libva-utils + # nvidia-vaapi-driver + # pciutils + # vdpauinfo + # (blender.override { + # cudaSupport = true; + # }) # ]; hardware.nvidia = { - package = config.boot.kernelPackages.nvidiaPackages.stable; + # package = config.boot.kernelPackages.nvidiaPackages.stable; + package = nvidiaPackage; modesetting.enable = true; powerManagement.enable = false; powerManagement.finegrained = false; @@ -44,5 +63,4 @@ # ibtSupport = true; # }; - } diff --git a/hosts/local/wayland.nix b/hosts/local/wayland.nix index 674c54b..8f588c8 100644 --- a/hosts/local/wayland.nix +++ b/hosts/local/wayland.nix @@ -1,4 +1,8 @@ -{pkgs, ...}: { +{ + inputs, + pkgs, + ... +}: { nixpkgs.config.packageOVerrides = pkgs: { intel-vaapi-driver = pkgs.intel-vaapi-driver.override {enableHybridCodec = true;}; vaapiIntel = pkgs.vaapiIntel.override {enableHybridCodec = true;}; @@ -15,7 +19,7 @@ programs.sway = { enable = true; wrapperFeatures.gtk = true; - extraOptions = ["--verbose" "--debug"]; + extraOptions = ["unsupported-gpu" "--verbose" "--debug"]; extraPackages = with pkgs; [ xdg-utils xdg-desktop-portal @@ -29,9 +33,6 @@ brightnessctl swayidle foot - (waybar.override { - wireplumberSupport = false; - }) mako kanshi grim @@ -42,6 +43,10 @@ playerctl blueman wdisplays + inputs.nixpkgs-wayland.packages.x86_64-linux.waybar + glxinfo + vulkan-tools + glmark2 ]; extraSessionCommands = '' ''; @@ -51,8 +56,11 @@ # exec swayc # fi #''; - + environment.variables = { + WLR_NO_HARDWARE_CURSOR = "1"; + }; environment.sessionVariables = { + WLR_NO_HARDWARE_CURSOR = "1"; NIXOS_OZONE_WL = "1"; SDL_VIDEODRIVER = "wayland"; QT_QPA_PLATFORM = "wayland"; diff --git a/hosts/nixos.nix b/hosts/nixos.nix index 1b7b55c..94348d8 100644 --- a/hosts/nixos.nix +++ b/hosts/nixos.nix @@ -10,16 +10,16 @@ in { s15 = mkNixosSystem "aarch64-linux" "local/s15"; fw11 = mkNixosSystem "x86_64-linux" "local/fw11"; - master = mkNixosSystem "x64_64-linux" "local/master"; - # vivo2025 = mkNixosSystem "x64_64-linux" "local/vivo2025"; - ohira = mkNixosSystem "x64_64-linux" "local/ohira"; + master = mkNixosSystem "x86_64-linux" "local/master"; + # vivo2025 = mkNixosSystem "x86_64-linux" "local/vivo2025"; + ohira = mkNixosSystem "x86_64-linux" "local/ohira"; # # headless # r5s = mkNixosSystem "aarch64-linux" "headless/r5s"; # pi4 = mkNixosSystem "aarch64-linux" "headless/pi4"; # # cloud boxes - sortug = mkNixosSystem "x64_64-linux" "cloud/sortug"; - span = mkNixosSystem "x64_64-linux" "cloud/span"; - lightnode = mkNixosSystem "x64_64-linux" "cloud/bkk"; - hostinger = mkNixosSystem "x64_64-linux" "cloud/jeet"; - # contabo = mkNixosSystem "x64_64-linux" "cloud/contabo"; + sortug = mkNixosSystem "x86_64-linux" "cloud/sortug"; + span = mkNixosSystem "x86_64-linux" "cloud/span"; + lightnode = mkNixosSystem "x86_64-linux" "cloud/bkk"; + hostinger = mkNixosSystem "x86_64-linux" "cloud/jeet"; + # contabo = mkNixosSystem "x86_64-linux" "cloud/contabo"; } diff --git a/hosts/unfree.nix b/hosts/unfree.nix index 73c4a8a..169b086 100644 --- a/hosts/unfree.nix +++ b/hosts/unfree.nix @@ -15,21 +15,28 @@ # opera spotify microsoft-edge - vscode + # vscode # fonts corefonts # symbola - steamcmd - steam-run + # steamcmd + # steam-run protonup-qt - # inputs.claude-desktop.packages.x86_64-linux.claude-desktop + # mangohud + # lutris + # bottles + # heroic + inputs.claude-desktop.packages.x86_64-linux.claude-desktop ]; # fucking vscode requires this for github copilot services.gnome.gnome-keyring.enable = true; programs.steam = { enable = true; - extraCompatPackages = [pkgs.proton-ge-bin]; + # package = pkgs.steam.override { + # extraLibraries = pkgs: [pkgs.openssl pkgs.nghttp2 pkgs.libidn2 pkgs.rtmpdump pkgs.libpsl pkgs.curl pkgs.krb5 pkgs.keyutils]; + # }; + # extraCompatPackages = [pkgs.proton-ge-bin]; protontricks.enable = true; remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play dedicatedServer.openFirewall = true; # Open ports in the firewall for Source Dedicated Server -- cgit v1.2.3 From 59ab4467b69f3ba455ef23163cfc4543338d8a41 Mon Sep 17 00:00:00 2001 From: polwex Date: Fri, 21 Feb 2025 15:57:54 +0700 Subject: m --- hosts/cloud/sortug/nginx.nix | 20 +++++++++++++++++++- hosts/editors.nix | 1 + hosts/local/i3.nix | 15 ++++++++++++++- hosts/local/master/configuration.nix | 8 +++++++- hosts/local/master/keyboard.nix | 6 +++++- hosts/local/nvidia.nix | 5 +++-- hosts/pkgs.nix | 16 ++++++++++++++-- hosts/unfree.nix | 4 +++- hosts/users.nix | 1 + 9 files changed, 67 insertions(+), 9 deletions(-) (limited to 'hosts') diff --git a/hosts/cloud/sortug/nginx.nix b/hosts/cloud/sortug/nginx.nix index 78e93b8..68a0c5b 100644 --- a/hosts/cloud/sortug/nginx.nix +++ b/hosts/cloud/sortug/nginx.nix @@ -27,7 +27,7 @@ enableACME = true; forceSSL = true; locations."/stt" = { - proxyPass = "http://127.0.0.1:8000"; + proxyPass = "http://127.0.0.1:8010"; extraConfig = '' proxy_connect_timeout 300s; proxy_send_timeout 300s; @@ -76,6 +76,24 @@ proxy_cache off; ''; }; + virtualHosts."mcp.sortug.com" = { + enableACME = true; + forceSSL = true; + locations."/" = { + proxyPass = "http://127.0.0.1:8000"; + proxyWebsockets = true; # needed if you need to use WebSocket + extraConfig = '' + proxy_set_header Host $host; + proxy_set_header Forwarded $proxy_add_x_forwarded_for; + ''; + }; + extraConfig = '' + proxy_http_version 1.1; + chunked_transfer_encoding off; + proxy_buffering off; + proxy_cache off; + ''; + }; virtualHosts."line.sortug.com" = { enableACME = true; forceSSL = true; diff --git a/hosts/editors.nix b/hosts/editors.nix index bd2acca..b3e6e69 100644 --- a/hosts/editors.nix +++ b/hosts/editors.nix @@ -8,6 +8,7 @@ environment.systemPackages = [ pkgs.neovim inputs.helix.packages.${pkgs.system}.helix + pkgs.nodePackages.prettier # pkgs.helix ]; } diff --git a/hosts/local/i3.nix b/hosts/local/i3.nix index a45c3c1..ba84982 100644 --- a/hosts/local/i3.nix +++ b/hosts/local/i3.nix @@ -12,11 +12,13 @@ extraPackages = with pkgs; [ dmenu i3status + i3status-rust i3lock i3blocks ]; }; }; + # TODO check autotiling services.displayManager.defaultSession = "none+i3"; environment.sessionVariables = { @@ -51,16 +53,23 @@ kitty alacritty + ghostty signal-desktop tdesktop brave gimp vlc + # mpv celluloid + ffmpeg-full + nv-codec-headers + # + smplayer thunderbird kmail firefox + vivaldi chromium pavucontrol # icons @@ -158,5 +167,9 @@ # pipewire requires these off # sound.enable = true; # hardware.pulseaudio.enable = true; - # hardware.bluetooth.enable = true; + hardware.bluetooth = { + enable = true; + powerOnBoot = true; + }; + services.blueman.enable = true; } diff --git a/hosts/local/master/configuration.nix b/hosts/local/master/configuration.nix index aa12e1c..e228246 100644 --- a/hosts/local/master/configuration.nix +++ b/hosts/local/master/configuration.nix @@ -10,7 +10,7 @@ #../../android.nix ../i3.nix # ../gnome.nix - #../wayland.nix + # ../wayland.nix ../nvidia.nix ./keyboard.nix ]; @@ -41,6 +41,12 @@ # this value at the release version of the first install of this system. # Before changing this value read the documentation for this option # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). + # + # + environment.systemPackages = [ + pkgs.nodejs + pkgs.python312 + ]; system.stateVersion = "23.11"; # Did you read the comment? diff --git a/hosts/local/master/keyboard.nix b/hosts/local/master/keyboard.nix index d9f6d84..852f084 100644 --- a/hosts/local/master/keyboard.nix +++ b/hosts/local/master/keyboard.nix @@ -29,10 +29,14 @@ services.kmonad = { enable = true; keyboards = { - usbThinkpad = { + wirelessThinkpad = { device = "/dev/input/by-id/usb-Lenovo_TrackPoint_Keyboard_II-event-kbd"; config = builtins.readFile ./thinkpad.kbd; }; + wiredThinkpad = { + device = "/dev/input/by-id/usb-Lenovo_ThinkPad_Compact_USB_Keyboard_with_TrackPoint-event-kbd"; + config = builtins.readFile ./thinkpad.kbd; + }; }; }; } diff --git a/hosts/local/nvidia.nix b/hosts/local/nvidia.nix index 2d094c9..295d05d 100644 --- a/hosts/local/nvidia.nix +++ b/hosts/local/nvidia.nix @@ -32,8 +32,9 @@ in { services.xserver = { videoDrivers = ["nvidia"]; - displayManager.gdm.wayland = true; - displayManager.gdm.nvidiaWayland = true; + # wayland only + # displayManager.gdm.wayland = true; + # }; # environment.systemPackages = with pkgs;[ # libva-utils diff --git a/hosts/pkgs.nix b/hosts/pkgs.nix index 0f1703f..953b7fd 100644 --- a/hosts/pkgs.nix +++ b/hosts/pkgs.nix @@ -1,5 +1,10 @@ -{pkgs, ...}: { +{ + inputs, + pkgs, + ... +}: { environment.systemPackages = with pkgs; [ + moreutils alejandra # nixfmt # @@ -17,6 +22,7 @@ lsd lsof tmux + socat tmate curlFull ripgrep @@ -57,7 +63,8 @@ nil direnv nix-direnv - devenv + # devenv + inputs.devenv.packages.${pkgs.system}.default # scraping python312Packages.yt-dlp # markdown lsp @@ -71,5 +78,10 @@ superhtml sshfs sxiv + + # ai stuff! + # aider-chat + yek + # python312Packages.google-generativeai ]; } diff --git a/hosts/unfree.nix b/hosts/unfree.nix index 169b086..803c04d 100644 --- a/hosts/unfree.nix +++ b/hosts/unfree.nix @@ -15,7 +15,7 @@ # opera spotify microsoft-edge - # vscode + vscode # fonts corefonts # symbola @@ -26,7 +26,9 @@ # lutris # bottles # heroic + code-cursor inputs.claude-desktop.packages.x86_64-linux.claude-desktop + inputs.windsurf.packages.x86_64-linux.default ]; # fucking vscode requires this for github copilot diff --git a/hosts/users.nix b/hosts/users.nix index 8377c2a..3572fbc 100644 --- a/hosts/users.nix +++ b/hosts/users.nix @@ -44,6 +44,7 @@ in { "docker" "plugdev" "uinput" + "jellyfin" ]; createHome = true; home = "/home/y"; -- cgit v1.2.3