diff options
| -rw-r--r-- | roles/home/dev/default.nix | 4 | ||||
| -rw-r--r-- | roles/home/dev/vscode.nix | 62 | ||||
| -rw-r--r-- | snowfall/homes/x86_64-linux/c/default.nix | 1 | ||||
| -rw-r--r-- | snowfall/modules/home/apps/vscode/default.nix | 75 | ||||
| -rw-r--r-- | snowfall/modules/home/suites/dev/default.nix | 18 |
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; + }; + }; + }; +} |