This commit is contained in:
2026-05-30 23:37:40 +09:00
parent 394638638d
commit 3ff532f9e5
61 changed files with 708 additions and 36 deletions
+13
View File
@@ -0,0 +1,13 @@
{ lib, config, ... }:
let
cfg = config.my.features.gui.audio;
in
{
options.my.features.gui.audio = {
enable = lib.mkEnableOption "Audio support (PipeWire)";
};
config = lib.mkIf cfg.enable {
my.system.audio.enable = true;
};
}
+13
View File
@@ -0,0 +1,13 @@
{ lib, config, ... }:
let
cfg = config.my.features.gui.camera;
in
{
options.my.features.gui.camera = {
enable = lib.mkEnableOption "Camera support";
};
config = lib.mkIf cfg.enable {
my.system.camera.enable = true;
};
}
+22
View File
@@ -0,0 +1,22 @@
{
pkgs,
lib,
config,
...
}:
let
cfg = config.my.features.gui.capture;
in
{
options.my.features.gui.capture = {
enable = lib.mkEnableOption "Screen capture tools (slurp, grim, wf-recorder)";
};
config = lib.mkIf cfg.enable {
environment.systemPackages = with pkgs; [
slurp # Tool for selecting a region of the screen
grim # Screenshot tool for Wayland
wf-recorder # Screen recorder for Wayland
];
};
}
+13
View File
@@ -0,0 +1,13 @@
{
imports = [
./audio.nix
./camera.nix
./capture.nix
./desktop.nix
./editor.nix
./file-manager.nix
./graphic.nix
./jp-input.nix
./terminal.nix
];
}
+25
View File
@@ -0,0 +1,25 @@
{
lib,
config,
...
}:
let
cfg = config.my.features.gui.desktop;
in
{
options.my.features.gui.desktop = {
enable = lib.mkEnableOption "Niri Wayland compositor environment";
};
config = lib.mkIf cfg.enable {
my.applications = {
gtk.enable = true;
niri.enable = true;
wayland.enable = true;
greetd.enable = true;
noctalia.enable = true;
swayidle.enable = true;
vicinae.enable = true;
};
};
}
+13
View File
@@ -0,0 +1,13 @@
{ lib, config, ... }:
let
cfg = config.my.features.gui.editor;
in
{
options.my.features.gui.editor = {
enable = lib.mkEnableOption "GUI code editor (VSCode)";
};
config = lib.mkIf cfg.enable {
my.applications.vscode.enable = true;
};
}
+13
View File
@@ -0,0 +1,13 @@
{ lib, config, ... }:
let
cfg = config.my.features.gui.fileManager;
in
{
options.my.features.gui.fileManager = {
enable = lib.mkEnableOption "File manager (Nautilus)";
};
config = lib.mkIf cfg.enable {
my.applications.nautilus.enable = true;
};
}
+13
View File
@@ -0,0 +1,13 @@
{ lib, config, ... }:
let
cfg = config.my.features.gui.graphic;
in
{
options.my.features.gui.graphic = {
enable = lib.mkEnableOption "GPU/graphics hardware acceleration";
};
config = lib.mkIf cfg.enable {
my.system.hardware.gui.enable = true;
};
}
+13
View File
@@ -0,0 +1,13 @@
{ lib, config, ... }:
let
cfg = config.my.features.gui.jpInput;
in
{
options.my.features.gui.jpInput = {
enable = lib.mkEnableOption "Japanese input method (fcitx5)";
};
config = lib.mkIf cfg.enable {
my.applications.fcitx5.enable = true;
};
}
+22
View File
@@ -0,0 +1,22 @@
{
pkgs,
lib,
config,
...
}:
let
cfg = config.my.features.gui.terminal;
in
{
options.my.features.gui.terminal = {
enable = lib.mkEnableOption "Terminal emulators (Ghostty, Alacritty)";
};
config = lib.mkIf cfg.enable {
my.applications.ghostty.enable = true;
environment.systemPackages = with pkgs; [
alacritty # A GPU Accelerated Terminal Emulator
];
};
}