Initial NixOS config
This commit is contained in:
89
modules/system.nix
Normal file
89
modules/system.nix
Normal file
@@ -0,0 +1,89 @@
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
# Essential system packages
|
||||
environment.systemPackages = with pkgs; [
|
||||
# System utilities
|
||||
wget
|
||||
curl
|
||||
git
|
||||
vim
|
||||
neovim
|
||||
htop
|
||||
btop
|
||||
killall
|
||||
unzip
|
||||
zip
|
||||
p7zip
|
||||
|
||||
# Network tools
|
||||
networkmanagerapplet
|
||||
|
||||
# File managers
|
||||
ranger
|
||||
lf
|
||||
|
||||
# Terminal
|
||||
kitty
|
||||
alacritty
|
||||
|
||||
# Shell
|
||||
zsh
|
||||
oh-my-zsh
|
||||
|
||||
# Development
|
||||
gcc
|
||||
gnumake
|
||||
cmake
|
||||
|
||||
# Misc utilities
|
||||
ripgrep
|
||||
fd
|
||||
fzf
|
||||
bat
|
||||
eza
|
||||
tldr
|
||||
tree
|
||||
];
|
||||
|
||||
# Enable sound
|
||||
sound.enable = true;
|
||||
hardware.pulseaudio.enable = false;
|
||||
security.rtkit.enable = true;
|
||||
services.pipewire = {
|
||||
enable = true;
|
||||
alsa.enable = true;
|
||||
alsa.support32Bit = true;
|
||||
pulse.enable = true;
|
||||
jack.enable = true;
|
||||
};
|
||||
|
||||
# Enable CUPS for printing
|
||||
services.printing.enable = true;
|
||||
|
||||
# Enable OpenGL
|
||||
hardware.opengl = {
|
||||
enable = true;
|
||||
driSupport = true;
|
||||
driSupport32Bit = true;
|
||||
};
|
||||
|
||||
# Enable Bluetooth
|
||||
hardware.bluetooth.enable = true;
|
||||
services.blueman.enable = true;
|
||||
|
||||
# Enable SSH
|
||||
services.openssh.enable = true;
|
||||
|
||||
# Enable ZSH
|
||||
programs.zsh.enable = true;
|
||||
|
||||
# Enable dconf (required for some applications)
|
||||
programs.dconf.enable = true;
|
||||
|
||||
# XDG portals for Wayland
|
||||
xdg.portal = {
|
||||
enable = true;
|
||||
extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user