aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--roles/home/dev/default.nix4
-rw-r--r--roles/home/dev/vscode.nix62
-rw-r--r--snowfall/homes/x86_64-linux/c/default.nix1
-rw-r--r--snowfall/modules/home/apps/vscode/default.nix75
-rw-r--r--snowfall/modules/home/suites/dev/default.nix18
5 files changed, 94 insertions, 66 deletions
diff --git a/roles/home/dev/default.nix b/roles/home/dev/default.nix
index b6a6366..e451d76 100644
--- a/roles/home/dev/default.nix
+++ b/roles/home/dev/default.nix
@@ -18,10 +18,6 @@ let cfg = config.home.roles.dev; in {
};
config = mkIf cfg.enable {
- programs = {
- vscode.enable = config.home.roles.desktop.enable;
- };
-
home.packages = with pkgs; [
cloc
];
diff --git a/roles/home/dev/vscode.nix b/roles/home/dev/vscode.nix
deleted file mode 100644
index 0e1ef22..0000000
--- a/roles/home/dev/vscode.nix
+++ /dev/null
@@ -1,62 +0,0 @@
-{ config, lib, pkgs, ... }:
-
-{
- programs.vscode = {
- package = pkgs.vscodium;
-
- extensions = with pkgs.vscode-extensions; [
- jdinhlife.gruvbox
- vscode-icons-team.vscode-icons
-
- jnoortheen.nix-ide
- golang.go
- ziglang.vscode-zig
- ] ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [
- {
- name = "shader";
- publisher = "slevesque";
- version = "1.1.5";
- sha256 = "sha256-Pf37FeQMNlv74f7LMz9+CKscF6UjTZ7ZpcaZFKtX2ZM=";
- }
- {
- name = "yuck";
- publisher = "eww-yuck";
- version = "0.0.3";
- sha256 = "sha256-DITgLedaO0Ifrttu+ZXkiaVA7Ua5RXc4jXQHPYLqrcM=";
- }
- ];
-
- userSettings = {
- "workbench.colorTheme" = "Gruvbox Dark Medium";
- "workbench.iconTheme" = "vscode-icons";
- "window.titleBarStyle" = "custom";
- "editor.fontFamily" = "monospace";
-
- "git.confirmSync" = false;
-
- "vsicons.dontShowNewVersionMessage" = true;
-
- "files.associations" = {
- "*.vsh" = "glsl";
- "*.fsh" = "glsl";
- "*.gsh" = "glsl";
- };
-
- # Zig
- "zig.initialSetupDone" = true;
- "zig.path" = "";
- "zig.formattingProvider" = "off";
-
- "zig.zls.path" = "";
- "zig.zls.enableAutofix" = false;
- "zig.zls.enableInlayHints" = false;
- };
- };
-
- xdg.desktopEntries.nixeditor = lib.mkIf config.programs.vscode.enable {
- name = "NixOS Config";
- genericName = "Edit in VSCode";
- icon = "nix-snowflake";
- exec = "${pkgs.vscodium}/bin/codium /etc/nixos";
- };
-}
diff --git a/snowfall/homes/x86_64-linux/c/default.nix b/snowfall/homes/x86_64-linux/c/default.nix
index f24778e..fce384d 100644
--- a/snowfall/homes/x86_64-linux/c/default.nix
+++ b/snowfall/homes/x86_64-linux/c/default.nix
@@ -5,6 +5,7 @@ with lib; with lib.${namespace}; {
suites = {
common.enable = true;
desktop.enable = true;
+ dev.enable = true;
};
desktop.background = "shinobu.png";
diff --git a/snowfall/modules/home/apps/vscode/default.nix b/snowfall/modules/home/apps/vscode/default.nix
new file mode 100644
index 0000000..bf4b5da
--- /dev/null
+++ b/snowfall/modules/home/apps/vscode/default.nix
@@ -0,0 +1,75 @@
+{ options, config, lib, pkgs, namespace, ... }:
+
+with lib; with lib.${namespace}; let
+ cfg = config.${namespace}.apps.vscode;
+in {
+ options.${namespace}.apps.vscode = with types; {
+ enable = mkEnableOption "vscode";
+ };
+
+ config = mkIf cfg.enable {
+ programs.vscode = {
+ enable = true;
+ package = pkgs.vscodium;
+
+ extensions = with pkgs.vscode-extensions; [
+ jdinhlife.gruvbox
+ vscode-icons-team.vscode-icons
+
+ jnoortheen.nix-ide
+ golang.go
+ ziglang.vscode-zig
+ ] ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [
+ {
+ name = "shader";
+ publisher = "slevesque";
+ version = "1.1.5";
+ sha256 = "sha256-Pf37FeQMNlv74f7LMz9+CKscF6UjTZ7ZpcaZFKtX2ZM=";
+ }
+ {
+ name = "yuck";
+ publisher = "eww-yuck";
+ version = "0.0.3";
+ sha256 = "sha256-DITgLedaO0Ifrttu+ZXkiaVA7Ua5RXc4jXQHPYLqrcM=";
+ }
+ ];
+
+ userSettings = {
+ "workbench.colorTheme" = "Gruvbox Dark Medium";
+ "workbench.iconTheme" = "vscode-icons";
+ "window.titleBarStyle" = "custom";
+ "editor.fontFamily" = "monospace";
+
+ "git.confirmSync" = false;
+
+ "vsicons.dontShowNewVersionMessage" = true;
+
+ "files.associations" = {
+ "*.vsh" = "glsl";
+ "*.fsh" = "glsl";
+ "*.gsh" = "glsl";
+ };
+
+ # Zig
+ "zig.initialSetupDone" = true;
+ "zig.path" = "";
+ "zig.formattingProvider" = "off";
+
+ "zig.zls.path" = "";
+ "zig.zls.enableAutofix" = false;
+ "zig.zls.enableInlayHints" = false;
+ };
+ };
+
+ xdg.desktopEntries.nixeditor = {
+ name = "NixOS Config";
+ genericName = "Edit in VSCode";
+ icon = "nix-snowflake";
+ exec = "${pkgs.vscodium}/bin/codium /etc/nixos";
+ };
+
+ home.shellAliases = {
+ "c" = "codium .";
+ };
+ };
+}
diff --git a/snowfall/modules/home/suites/dev/default.nix b/snowfall/modules/home/suites/dev/default.nix
new file mode 100644
index 0000000..2884897
--- /dev/null
+++ b/snowfall/modules/home/suites/dev/default.nix
@@ -0,0 +1,18 @@
+{ options, config, lib, namespace, ... }:
+
+with lib; with lib.${namespace}; let
+ cfg = config.${namespace}.suites.dev;
+ desktop = config.${namespace}.suites.desktop;
+in {
+ options.${namespace}.suites.dev = with types; {
+ enable = mkEnableOption "dev";
+ };
+
+ config = mkIf cfg.enable {
+ cxl = {
+ apps = {
+ vscode.enable = desktop.enable;
+ };
+ };
+ };
+}