From 7e444a894a2786807c4d3be3ef4c0ca1e7022d32 Mon Sep 17 00:00:00 2001 From: xunuwu Date: Sat, 10 Jan 2026 10:03:52 +0100 Subject: [PATCH 1/3] clion --- hosts/nixdesk/default.nix | 1 + hosts/nixdesk/home.nix | 1 + 2 files changed, 2 insertions(+) diff --git a/hosts/nixdesk/default.nix b/hosts/nixdesk/default.nix index 7fc15cd..a8492e6 100644 --- a/hosts/nixdesk/default.nix +++ b/hosts/nixdesk/default.nix @@ -130,6 +130,7 @@ "discord-ptb" "obsidian" "rider" + "clion" "idea-ultimate" "android-studio-stable" "krunker" diff --git a/hosts/nixdesk/home.nix b/hosts/nixdesk/home.nix index 101795b..cb11f3e 100644 --- a/hosts/nixdesk/home.nix +++ b/hosts/nixdesk/home.nix @@ -121,6 +121,7 @@ vscodium-fhs android-studio jetbrains.rider + jetbrains.clion (pkgs.buildFHSEnv { name = "silk-fhs"; runScript = "bash"; From 7fd3391cc4b506cf1a0960922168ad0d48735318 Mon Sep 17 00:00:00 2001 From: xunuwu Date: Sat, 10 Jan 2026 10:11:31 +0100 Subject: [PATCH 2/3] webgpu --- hosts/nixdesk/home.nix | 7 ++++++- sys/profiles/programs/tools.nix | 1 + 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/hosts/nixdesk/home.nix b/hosts/nixdesk/home.nix index cb11f3e..1d363cd 100644 --- a/hosts/nixdesk/home.nix +++ b/hosts/nixdesk/home.nix @@ -125,7 +125,12 @@ (pkgs.buildFHSEnv { name = "silk-fhs"; runScript = "bash"; - targetPkgs = pkgs: with pkgs; [glfw assimp]; + targetPkgs = pkgs: + with pkgs; [ + glfw + assimp + wgpu-native + ]; }) # jetbrains.idea-ultimate diff --git a/sys/profiles/programs/tools.nix b/sys/profiles/programs/tools.nix index 127fc34..22b32b3 100644 --- a/sys/profiles/programs/tools.nix +++ b/sys/profiles/programs/tools.nix @@ -14,6 +14,7 @@ fd # find replacement graphviz-nox p7zip + zip unar jq openssl # for generating passwords From 09baf8960f27ca5ced2e8a13ce51ea1973261610 Mon Sep 17 00:00:00 2001 From: xunuwu Date: Mon, 12 Jan 2026 08:58:18 +0100 Subject: [PATCH 3/3] runsh --- hosts/nixdesk/default.nix | 1 + hosts/nixdesk/home.nix | 10 ------- hosts/nixdesk/profiles/devshells.nix | 44 ++++++++++++++++++++++++++++ 3 files changed, 45 insertions(+), 10 deletions(-) create mode 100644 hosts/nixdesk/profiles/devshells.nix diff --git a/hosts/nixdesk/default.nix b/hosts/nixdesk/default.nix index a8492e6..d0cd579 100644 --- a/hosts/nixdesk/default.nix +++ b/hosts/nixdesk/default.nix @@ -10,6 +10,7 @@ [ ./hardware.nix ./profiles/hibernate-boot.nix + ./profiles/devshells.nix ./profiles/samba-mount.nix ./profiles/wireguard.nix ./profiles/restic-server.nix diff --git a/hosts/nixdesk/home.nix b/hosts/nixdesk/home.nix index 1d363cd..1e0737a 100644 --- a/hosts/nixdesk/home.nix +++ b/hosts/nixdesk/home.nix @@ -122,16 +122,6 @@ android-studio jetbrains.rider jetbrains.clion - (pkgs.buildFHSEnv { - name = "silk-fhs"; - runScript = "bash"; - targetPkgs = pkgs: - with pkgs; [ - glfw - assimp - wgpu-native - ]; - }) # jetbrains.idea-ultimate # communication diff --git a/hosts/nixdesk/profiles/devshells.nix b/hosts/nixdesk/profiles/devshells.nix new file mode 100644 index 0000000..d174caf --- /dev/null +++ b/hosts/nixdesk/profiles/devshells.nix @@ -0,0 +1,44 @@ +{ + pkgs, + lib, + ... +}: let + shells = { + silk-fhs = "with pkgs; [glfw libGL assimp wgpu-native]"; + }; +in { + environment.systemPackages = [ + (pkgs.writeShellApplication { + name = "runsh"; + + runtimeInputs = [pkgs.nix]; + + text = '' + ${lib.concatMapAttrsStringSep "\n" (name: value: '' + runshell-${name}() { + # shellcheck disable=SC2016 + nix shell --impure --expr '(import {}).buildFHSEnv { + name = "devshell"; + runScript = "$SHELL"; + targetPkgs = pkgs: ${value}; + }' --command devshell + } + '') + shells} + if [ -z "''${1:-}" ]; then + echo "available shells:" + ${lib.concatMapAttrsStringSep "\n" (name: _: "echo ${name}") shells} + exit + fi + + case $1 in + ${lib.concatMapAttrsStringSep "\n" (name: _: '' + "${name}") runshell-${name} ;; + '') + shells} + *) echo no such shell ;; + esac + ''; + }) + ]; +}