Add NixOS dual-configuration setup (dev and gaming profiles)
Co-authored-by: ragusa-it <196988693+ragusa-it@users.noreply.github.com>
This commit is contained in:
86
modules/dev.nix
Normal file
86
modules/dev.nix
Normal file
@@ -0,0 +1,86 @@
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
# Identification tag (shows in boot menu and `nixos-version`)
|
||||
system.nixos.tags = [ "dev" ];
|
||||
|
||||
# --------------------------------------------------------------------------
|
||||
# KERNEL - Latest stable for RDNA 4 GPU support
|
||||
# --------------------------------------------------------------------------
|
||||
# NOTE: LTS kernels often lag behind new GPU support.
|
||||
# For RDNA 4 (RX 9060 XT), use linuxPackages_latest instead of linuxPackages.
|
||||
boot.kernelPackages = pkgs.linuxPackages_latest;
|
||||
|
||||
# --------------------------------------------------------------------------
|
||||
# DOCKER
|
||||
# --------------------------------------------------------------------------
|
||||
virtualisation.docker = {
|
||||
enable = true;
|
||||
autoPrune = {
|
||||
enable = true;
|
||||
dates = "weekly";
|
||||
};
|
||||
};
|
||||
|
||||
# IMPORTANT: Replace <username> with actual username
|
||||
users.users.<username>.extraGroups = [ "docker" ];
|
||||
|
||||
# --------------------------------------------------------------------------
|
||||
# DEVELOPMENT TOOLS
|
||||
# --------------------------------------------------------------------------
|
||||
programs.direnv = {
|
||||
enable = true;
|
||||
nix-direnv.enable = true; # Caches nix shells
|
||||
};
|
||||
|
||||
# IMPORTANT: Replace <username> with actual username
|
||||
users.users.<username>.packages = with pkgs; [
|
||||
# -- Git --
|
||||
lazygit
|
||||
gh # GitHub CLI
|
||||
|
||||
# -- Node.js --
|
||||
nodejs_22
|
||||
nodePackages.pnpm
|
||||
nodePackages.yarn
|
||||
|
||||
# -- CLI Tools --
|
||||
httpie # HTTP client
|
||||
jq # JSON processor
|
||||
yq # YAML processor
|
||||
fd # Find alternative
|
||||
ripgrep # Grep alternative
|
||||
eza # ls alternative
|
||||
bat # cat alternative
|
||||
fzf # Fuzzy finder
|
||||
zoxide # cd alternative
|
||||
delta # Git diff viewer
|
||||
|
||||
# -- Database Clients --
|
||||
postgresql # psql client
|
||||
# redis # Uncomment if needed
|
||||
|
||||
# -- Misc --
|
||||
gnumake
|
||||
gcc
|
||||
];
|
||||
|
||||
# --------------------------------------------------------------------------
|
||||
# SERVICES (Optional - uncomment if needed)
|
||||
# --------------------------------------------------------------------------
|
||||
# Local PostgreSQL
|
||||
# services.postgresql = {
|
||||
# enable = true;
|
||||
# ensureDatabases = [ "devdb" ];
|
||||
# ensureUsers = [{
|
||||
# name = "<username>";
|
||||
# ensureDBOwnership = true;
|
||||
# }];
|
||||
# };
|
||||
|
||||
# Local Redis
|
||||
# services.redis.servers."dev" = {
|
||||
# enable = true;
|
||||
# port = 6379;
|
||||
# };
|
||||
}
|
||||
Reference in New Issue
Block a user