init(release): desktop template -> desktop wip

This commit is contained in:
Rasyidan Akbar F. 2025-10-24 11:09:00 +07:00
commit 1ae2855bb1
18 changed files with 63 additions and 92 deletions

View file

@ -1,11 +1,11 @@
{ pkgs, ... }: { pkgs, ... }: {
{
# Browser configurations # Browser configurations
home.packages = with pkgs; [ home.packages = with pkgs;
firefox [
# chromium firefox
# brave # chromium
]; # brave
];
# Firefox config (expand as needed) # Firefox config (expand as needed)
# programs.firefox = { # programs.firefox = {

View file

@ -1,5 +1,4 @@
{ pkgs, lib, ... }: { pkgs, lib, ... }: {
{
# Terminal emulators # Terminal emulators
# Kitty - GPU-accelerated terminal # Kitty - GPU-accelerated terminal

View file

@ -1,5 +1,4 @@
{ lib, pkgs, config, ... }: { lib, pkgs, config, ... }: {
{
# Base desktop user configuration # Base desktop user configuration
# GTK theming # GTK theming
@ -28,9 +27,10 @@
}; };
# Basic GUI packages # Basic GUI packages
home.packages = with pkgs; [ home.packages = with pkgs;
# Add common desktop apps here [
# firefox # Add common desktop apps here
# vscodium # firefox
]; # vscodium
];
} }

View file

@ -1,5 +1,4 @@
{ ... }: { ... }: {
{
# Wayland compositor configurations # Wayland compositor configurations
# Import the compositor you want to use # Import the compositor you want to use

View file

@ -1,5 +1,4 @@
{ lib, pkgs, ... }: { lib, pkgs, ... }: {
{
# Hyprland user configuration # Hyprland user configuration
wayland.windowManager.hyprland = { wayland.windowManager.hyprland = {
enable = lib.mkDefault true; enable = lib.mkDefault true;
@ -31,16 +30,15 @@
border_size = 2; border_size = 2;
}; };
decoration = { decoration = { rounding = 8; };
rounding = 8;
};
}; };
}; };
# Hyprland utilities # Hyprland utilities
home.packages = with pkgs; [ home.packages = with pkgs;
# wofi # Launcher [
# waybar # Status bar # wofi # Launcher
# dunst # Notifications # waybar # Status bar
]; # dunst # Notifications
];
} }

View file

@ -1,14 +1,9 @@
{ lib, pkgs, ... }: { lib, pkgs, ... }: {
{
# Niri user configuration # Niri user configuration
programs.niri = { programs.niri = {
settings = { settings = {
# Minimal config - expand as needed # Minimal config - expand as needed
input = { input = { keyboard.xkb = { layout = "us"; }; };
keyboard.xkb = {
layout = "us";
};
};
# Example keybinds # Example keybinds
binds = { binds = {
@ -31,9 +26,10 @@
}; };
# Niri utilities # Niri utilities
home.packages = with pkgs; [ home.packages = with pkgs;
# fuzzel # Launcher (recommended for niri) [
# waybar # Status bar # fuzzel # Launcher (recommended for niri)
# dunst # Notifications # waybar # Status bar
]; # dunst # Notifications
];
} }

View file

@ -1,5 +1,4 @@
{ lib, ... }: { lib, ... }: {
{
# Modern audio stack - PipeWire replaces PulseAudio + JACK + ALSA # Modern audio stack - PipeWire replaces PulseAudio + JACK + ALSA
services.pipewire = { services.pipewire = {
enable = lib.mkDefault true; enable = lib.mkDefault true;

View file

@ -1,5 +1,4 @@
{ lib, ... }: { lib, ... }: {
{
hardware.bluetooth = { hardware.bluetooth = {
enable = lib.mkDefault false; # Enable when needed enable = lib.mkDefault false; # Enable when needed
powerOnBoot = lib.mkDefault true; powerOnBoot = lib.mkDefault true;

View file

@ -1,5 +1,4 @@
{ lib, pkgs, ... }: { lib, pkgs, ... }: {
{
# Shared desktop settings (imported by all DEs) # Shared desktop settings (imported by all DEs)
# XDG portals for desktop integration # XDG portals for desktop integration

View file

@ -1,5 +1,4 @@
{ pkgs, lib, ... }: { pkgs, lib, ... }: {
{
imports = [ ./base.nix ]; imports = [ ./base.nix ];
# Hyprland - Dynamic tiling Wayland compositor # Hyprland - Dynamic tiling Wayland compositor

View file

@ -1,11 +1,8 @@
{ pkgs, lib, ... }: { pkgs, lib, ... }: {
{
imports = [ ./base.nix ]; imports = [ ./base.nix ];
# Niri - Scrollable-tiling Wayland compositor # Niri - Scrollable-tiling Wayland compositor
programs.niri = { programs.niri = { enable = lib.mkDefault true; };
enable = lib.mkDefault true;
};
# Wayland-specific portal # Wayland-specific portal
xdg.portal.wlr.enable = lib.mkDefault true; xdg.portal.wlr.enable = lib.mkDefault true;

View file

@ -1,5 +1,4 @@
{ lib, ... }: { lib, ... }: {
{
imports = [ ./base.nix ]; imports = [ ./base.nix ];
# KDE Plasma 6 # KDE Plasma 6

View file

@ -1,17 +1,10 @@
{ lib, pkgs, ... }: { lib, pkgs, ... }: {
{
fonts = { fonts = {
enableDefaultPackages = lib.mkDefault true; enableDefaultPackages = lib.mkDefault true;
packages = with pkgs; [ packages = with pkgs; [
# Nerd Fonts for terminal icons # Nerd Fonts for terminal icons
(nerdfonts.override { (nerdfonts.override { fonts = [ "FiraCode" "JetBrainsMono" "Iosevka" ]; })
fonts = [
"FiraCode"
"JetBrainsMono"
"Iosevka"
];
})
# Core fonts # Core fonts
noto-fonts noto-fonts
@ -27,10 +20,7 @@
fontconfig = { fontconfig = {
enable = lib.mkDefault true; enable = lib.mkDefault true;
defaultFonts = { defaultFonts = {
monospace = [ monospace = [ "JetBrains Mono" "FiraCode Nerd Font" ];
"JetBrains Mono"
"FiraCode Nerd Font"
];
sansSerif = [ "Noto Sans" ]; sansSerif = [ "Noto Sans" ];
serif = [ "Noto Serif" ]; serif = [ "Noto Serif" ];
emoji = [ "Noto Color Emoji" ]; emoji = [ "Noto Color Emoji" ];

View file

@ -1,5 +1,4 @@
{ lib, pkgs, ... }: { lib, pkgs, ... }: {
{
# Hardware acceleration (OpenGL/Vulkan) # Hardware acceleration (OpenGL/Vulkan)
hardware.graphics = { hardware.graphics = {
enable = lib.mkDefault true; enable = lib.mkDefault true;

View file

@ -1,5 +1,4 @@
{ ... }: { ... }: {
{
# Desktop user configuration (for Hyprland/Niri setups) # Desktop user configuration (for Hyprland/Niri setups)
imports = [ imports = [

View file

@ -1,5 +1,4 @@
{ pkgs, ... }: { pkgs, ... }: {
{
# Gaming user configuration (for KDE Plasma) # Gaming user configuration (for KDE Plasma)
imports = [ imports = [
@ -12,17 +11,18 @@
]; ];
# Gaming-specific user packages # Gaming-specific user packages
home.packages = with pkgs; [ home.packages = with pkgs;
# Communication [
# discord # Communication
# teamspeak_client # discord
# teamspeak_client
# Streaming/Recording # Streaming/Recording
# obs-studio # obs-studio
# Media # Media
# spotify # spotify
]; ];
# KDE-specific settings (optional) # KDE-specific settings (optional)
# programs.plasma = { # programs.plasma = {

View file

@ -1,5 +1,4 @@
{ pkgs, ... }: { pkgs, ... }: {
{
# Example desktop development workstation configuration # Example desktop development workstation configuration
# Copy and modify for your actual hardware # Copy and modify for your actual hardware
@ -31,11 +30,12 @@
# hardware.bluetooth.enable = true; # hardware.bluetooth.enable = true;
# Development-specific packages # Development-specific packages
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs;
# Add desktop dev tools here [
# docker-compose # Add desktop dev tools here
# k9s # docker-compose
]; # k9s
];
# This value determines the NixOS release compatibility # This value determines the NixOS release compatibility
system.stateVersion = "24.05"; system.stateVersion = "24.05";

View file

@ -1,5 +1,4 @@
{ pkgs, ... }: { pkgs, ... }: {
{
# Example gaming desktop configuration # Example gaming desktop configuration
# Copy and modify for your actual hardware # Copy and modify for your actual hardware