From 15832ba2f36ce5d2d064efc67a1c68f5f7d7bd8a Mon Sep 17 00:00:00 2001 From: Kenryu Shibata Date: Thu, 15 Aug 2024 01:11:28 +0900 Subject: [PATCH] added some dev apps and services --- machines/base.nix | 2 +- machines/workstation/configuration.nix | 4 ++++ machines/workstation/home.nix | 8 +++++++- system/hardware/opengl.nix | 1 + system/services/docker.nix | 17 +++++++++++++++++ system/services/libvirtd.nix | 16 ++++++++++++++++ system/services/steam.nix | 5 +++++ system/services/tailscale.nix | 8 ++++++++ system/utils.nix | 2 ++ system/wm/plasma.nix | 2 +- system/wm/sddm.nix | 5 +++-- user/dev/editor/vscodium.nix | 4 ++++ user/dev/editor/zed-editor.nix | 4 ++++ user/dev/ide/qtcreator.nix | 4 ++++ user/dev/lang/cc.nix | 13 +++++++++++++ user/dev/lang/python.nix | 6 ++++++ user/dev/lang/rust.nix | 6 ++++++ user/dev/{ => tools}/git.nix | 0 18 files changed, 102 insertions(+), 5 deletions(-) create mode 100644 system/services/docker.nix create mode 100644 system/services/libvirtd.nix create mode 100644 system/services/steam.nix create mode 100644 system/services/tailscale.nix create mode 100644 user/dev/editor/vscodium.nix create mode 100644 user/dev/editor/zed-editor.nix create mode 100644 user/dev/ide/qtcreator.nix create mode 100644 user/dev/lang/cc.nix create mode 100644 user/dev/lang/python.nix create mode 100644 user/dev/lang/rust.nix rename user/dev/{ => tools}/git.nix (100%) diff --git a/machines/base.nix b/machines/base.nix index d467993..71bf9e7 100644 --- a/machines/base.nix +++ b/machines/base.nix @@ -31,7 +31,7 @@ users.users.${userSettings.username} = { isNormalUser = true; description = userSettings.name; - extraGroups = [ "networkmanager" "wheel" ]; + extraGroups = [ "networkmanager" "wheel" "docker" "input" "flatpak" "dialout" "video" "input" "audio" "libvirtd" ]; packages = with pkgs; []; uid = 1000; }; diff --git a/machines/workstation/configuration.nix b/machines/workstation/configuration.nix index b4420d7..968894a 100644 --- a/machines/workstation/configuration.nix +++ b/machines/workstation/configuration.nix @@ -9,6 +9,10 @@ ../../system/services/ssh.nix ../../system/services/polkit.nix ../../system/services/flatpak.nix + ../../system/services/steam.nix + ../../system/services/tailscale.nix + ../../system/services/libvirtd.nix + ../../system/services/docker.nix ../../system/hardware/kernel.nix ../../system/hardware/nvidia.nix ../../system/hardware/opengl.nix diff --git a/machines/workstation/home.nix b/machines/workstation/home.nix index f240527..17c789b 100644 --- a/machines/workstation/home.nix +++ b/machines/workstation/home.nix @@ -7,7 +7,13 @@ imports = [ ../../user/apps/browsers/firefox.nix - ../../user/dev/git.nix + ../../user/dev/tools/git.nix + ../../user/dev/editor/vscodium.nix + ../../user/dev/editor/zed-editor.nix + ../../user/dev/lang/cc.nix + ../../user/dev/lang/python.nix + ../../user/dev/lang/rust.nix + ../../user/dev/ide/qtcreator.nix ../../user/utils/alacritty.nix ../../user/wm/xmonad/xmonad.nix ]; diff --git a/system/hardware/opengl.nix b/system/hardware/opengl.nix index 906b45a..eca5f82 100644 --- a/system/hardware/opengl.nix +++ b/system/hardware/opengl.nix @@ -1,6 +1,7 @@ { pkgs, ... }: { hardware.graphics.enable = true; + hardware.graphics.enable32Bit = true; hardware.graphics.extraPackages = with pkgs; [ mesa ]; diff --git a/system/services/docker.nix b/system/services/docker.nix new file mode 100644 index 0000000..ee56420 --- /dev/null +++ b/system/services/docker.nix @@ -0,0 +1,17 @@ +{ pkgs, config, ... }: +{ + virtualisation.docker = { + enable = true; + storageDriver = "overlay2"; + enableOnBoot = true; + }; + + environment.systemPackages = with pkgs; [ + docker + docker-compose + docker-buildx + nvidia-container-toolkit + ]; + + hardware.nvidia-container-toolkit.enable = true; +} diff --git a/system/services/libvirtd.nix b/system/services/libvirtd.nix new file mode 100644 index 0000000..3a8086a --- /dev/null +++ b/system/services/libvirtd.nix @@ -0,0 +1,16 @@ +{ config, pkgs, ... }: +{ + virtualisation.libvirtd = { + enable = true; + allowedBridges = [ + "virbr0" + "nm-bridge" + ]; + qemu.package = pkgs.qemu_full; + }; + + environment.systemPackages = with pkgs; [ + qemu-utils + virt-manager + ]; +} diff --git a/system/services/steam.nix b/system/services/steam.nix new file mode 100644 index 0000000..11839b0 --- /dev/null +++ b/system/services/steam.nix @@ -0,0 +1,5 @@ +{ pkgs, ... }: +{ + environment.systemPackages = [ pkgs.steam ]; + programs.steam.enable = true; +} diff --git a/system/services/tailscale.nix b/system/services/tailscale.nix new file mode 100644 index 0000000..087b94a --- /dev/null +++ b/system/services/tailscale.nix @@ -0,0 +1,8 @@ +{ ... }: +{ + services.tailscale = { + enable = true; + openFirewall = true; + interfaceName = "tailscale0"; + }; +} diff --git a/system/utils.nix b/system/utils.nix index 076637d..1ae8013 100644 --- a/system/utils.nix +++ b/system/utils.nix @@ -4,6 +4,8 @@ environment.systemPackages = with pkgs; [ vim wget + file + jq htop mc git diff --git a/system/wm/plasma.nix b/system/wm/plasma.nix index 057ed70..fa5577d 100644 --- a/system/wm/plasma.nix +++ b/system/wm/plasma.nix @@ -3,7 +3,7 @@ imports = [ ./dbus.nix ]; - services.displayManager.plasma6.enable = true; + services.desktopManager.plasma6.enable = true; environment.plasma6.excludePackages = with pkgs.kdePackages; [ plasma-browser-integration diff --git a/system/wm/sddm.nix b/system/wm/sddm.nix index f5434e3..66b90ee 100644 --- a/system/wm/sddm.nix +++ b/system/wm/sddm.nix @@ -1,4 +1,4 @@ -{ config, pkgs, ... }: +{ config, pkgs, lib, ... }: { imports = [ ./fonts.nix @@ -13,7 +13,7 @@ wayland ]; - services.displayManager.sddm = { + services.displayManager.sddm = lib.mkDefault { enable = true; wayland.enable = true; package = pkgs.sddm; @@ -26,6 +26,7 @@ variant = ""; options = ""; }; + dpi = 96; excludePackages = [ pkgs.xterm ]; }; } diff --git a/user/dev/editor/vscodium.nix b/user/dev/editor/vscodium.nix new file mode 100644 index 0000000..018650b --- /dev/null +++ b/user/dev/editor/vscodium.nix @@ -0,0 +1,4 @@ +{ pkgs, ... }: +{ + home.packages = [ pkgs.vscodium ]; +} diff --git a/user/dev/editor/zed-editor.nix b/user/dev/editor/zed-editor.nix new file mode 100644 index 0000000..a4f2d5c --- /dev/null +++ b/user/dev/editor/zed-editor.nix @@ -0,0 +1,4 @@ +{ pkgs, ... }: +{ + home.packages = [ pkgs.zed-editor ]; +} diff --git a/user/dev/ide/qtcreator.nix b/user/dev/ide/qtcreator.nix new file mode 100644 index 0000000..014f538 --- /dev/null +++ b/user/dev/ide/qtcreator.nix @@ -0,0 +1,4 @@ +{ pkgs, ... }: +{ + home.packages = [ pkgs.qtcreator ]; +} diff --git a/user/dev/lang/cc.nix b/user/dev/lang/cc.nix new file mode 100644 index 0000000..18b1178 --- /dev/null +++ b/user/dev/lang/cc.nix @@ -0,0 +1,13 @@ +{ pkgs, ... }: +{ + home.packages = with pkgs; [ + gcc + gdb + cmake + autoconf + automake + libtool + clang-analyzer + clang-tools + ]; +} diff --git a/user/dev/lang/python.nix b/user/dev/lang/python.nix new file mode 100644 index 0000000..1c30ab1 --- /dev/null +++ b/user/dev/lang/python.nix @@ -0,0 +1,6 @@ +{ pkgs, ... }: +{ + home.packages = with pkgs; [ + python3Full + ]; +} diff --git a/user/dev/lang/rust.nix b/user/dev/lang/rust.nix new file mode 100644 index 0000000..71f6928 --- /dev/null +++ b/user/dev/lang/rust.nix @@ -0,0 +1,6 @@ +{ pkgs, ... }: +{ + home.packages = with pkgs; [ + rustup + ]; +} diff --git a/user/dev/git.nix b/user/dev/tools/git.nix similarity index 100% rename from user/dev/git.nix rename to user/dev/tools/git.nix