From df098242f5d6c5f5316d06a764b6d763f4a2de06 Mon Sep 17 00:00:00 2001 From: Asaki Yuki Date: Mon, 13 Apr 2026 20:10:50 +0700 Subject: [PATCH] add docker.nix --- home/asakiyuki/modules/files.nix | 2 +- host/desktop/device.nix | 12 ++++++++++-- host/desktop/programs.nix | 1 + modules/features/home/kitty.nix | 3 ++- modules/features/system/docker.nix | 6 ++++++ modules/features/system/packages.nix | 3 ++- modules/programs/hyprland/settings/key-bind.nix | 2 +- options/system/programs.nix | 9 +++++++++ 8 files changed, 32 insertions(+), 6 deletions(-) create mode 100644 modules/features/system/docker.nix diff --git a/home/asakiyuki/modules/files.nix b/home/asakiyuki/modules/files.nix index 0d4ae48..064fab0 100644 --- a/home/asakiyuki/modules/files.nix +++ b/home/asakiyuki/modules/files.nix @@ -43,7 +43,7 @@ ColorScheme=qt6ct [General] - TerminalApplication=${osconfig.device.programs.terminal} + TerminalApplication=${osconfig.device.programs.terminal.name} [Icons] Theme=Papirus diff --git a/host/desktop/device.nix b/host/desktop/device.nix index 5fb7061..aa7f19c 100644 --- a/host/desktop/device.nix +++ b/host/desktop/device.nix @@ -1,4 +1,9 @@ -{ lib, ... }: +{ + lib, + libs, + pkgs, + ... +}: let ENABLE_HDR = false; in @@ -86,7 +91,10 @@ in }; programs = { - terminal = "ghostty"; + terminal = { + enable = true; + name = "ghostty"; + }; obs-studio.enable = true; nixcord.enable = true; tmux.enable = true; diff --git a/host/desktop/programs.nix b/host/desktop/programs.nix index 049b29e..2ba2b75 100644 --- a/host/desktop/programs.nix +++ b/host/desktop/programs.nix @@ -46,5 +46,6 @@ proton-apps.enable = true; firefox.enable = true; chromium.enable = true; + gcc.enable = true; }; } diff --git a/modules/features/home/kitty.nix b/modules/features/home/kitty.nix index e07fa97..8225e23 100644 --- a/modules/features/home/kitty.nix +++ b/modules/features/home/kitty.nix @@ -1,7 +1,8 @@ { lib, osconfig, ... }: { programs.kitty = - lib.mkIf (osconfig.device.programs.terminal.enable && osconfig.device.programs.terminal == "kitty") + lib.mkIf + (osconfig.device.programs.terminal.enable && osconfig.device.programs.terminal.name == "kitty") { enable = true; diff --git a/modules/features/system/docker.nix b/modules/features/system/docker.nix new file mode 100644 index 0000000..2f929eb --- /dev/null +++ b/modules/features/system/docker.nix @@ -0,0 +1,6 @@ +{ ... }: +{ + virtualisation.docker = { + enable = true; + }; +} diff --git a/modules/features/system/packages.nix b/modules/features/system/packages.nix index 83902eb..40baae6 100644 --- a/modules/features/system/packages.nix +++ b/modules/features/system/packages.nix @@ -12,7 +12,7 @@ git vim btop - gcc + nixd (lib.mkIf config.programs.wget.enable config.programs.wget.package) (lib.mkIf config.programs.tree.enable config.programs.tree.package) @@ -31,6 +31,7 @@ (lib.mkIf config.programs.quickshell.enable config.programs.quickshell.package) (lib.mkIf config.programs.papirus-icons.enable config.programs.papirus-icons.package) ] + ++ (lib.optionals config.programs.gcc.enable config.programs.gcc.packages) ++ (lib.optionals config.programs.winepackages.enable config.programs.winepackages.packages) ++ (lib.optionals config.programs.kde-packages.enable config.programs.kde-packages.packages) ++ (lib.optionals config.programs.r-tensorflow.enable [ config.programs.r-tensorflow.package ]) diff --git a/modules/programs/hyprland/settings/key-bind.nix b/modules/programs/hyprland/settings/key-bind.nix index 3e50488..0208a6f 100644 --- a/modules/programs/hyprland/settings/key-bind.nix +++ b/modules/programs/hyprland/settings/key-bind.nix @@ -2,7 +2,7 @@ { wayland.windowManager.hyprland.settings = { bind = [ - "CTRL ALT, T, exec, ${osconfig.device.programs.terminal}" + "CTRL ALT, T, exec, ${osconfig.device.programs.terminal.name}" "SUPER SHIFT, L, exit," "SUPER SHIFT, TAB, togglefloating," diff --git a/options/system/programs.nix b/options/system/programs.nix index 22a55d4..17eb5a9 100644 --- a/options/system/programs.nix +++ b/options/system/programs.nix @@ -123,6 +123,15 @@ default = pkgs.rPackages.tensorflow; }; }; + gcc = { + enable = lib.mkEnableOption "c"; + packages = lib.mkOption { + type = lib.types.listOf lib.types.package; + default = with pkgs; [ + gcc + ]; + }; + }; hyprland-portals = { enable = lib.mkEnableOption "XDGP for hyprland"; packages = lib.mkOption {