nix-conf/configuration.nix

161 lines
3.4 KiB
Nix
Raw Normal View History

2024-08-18 12:27:36 -04:00
{ config, pkgs, lib, ... }:
2024-08-16 10:36:55 -04:00
{
imports = [ ./hardware-configuration.nix ];
nix.settings = {
experimental-features = [ "nix-command" "flakes" ];
use-xdg-base-directories = true;
};
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
2024-08-18 12:27:36 -04:00
boot.tmp.useTmpfs = true;
2024-08-16 10:36:55 -04:00
networking.hostName = "nixos";
networking.networkmanager.enable = true;
time.timeZone = "America/Chicago";
i18n.defaultLocale = "en_US.UTF-8";
i18n.supportedLocales = [
"en_US.UTF-8/UTF-8"
"ja_JP.UTF-8/UTF-8"
];
services.xserver = {
enable = true;
autorun = false;
displayManager.startx.enable = true;
2024-08-18 12:27:36 -04:00
displayManager.sx.enable = true;
2024-08-16 10:36:55 -04:00
windowManager.awesome.enable = true;
desktopManager.plasma5.enable = true;
autoRepeatDelay = 200;
autoRepeatInterval = 30;
videoDrivers = [ "amdgpu" ];
deviceSection = ''Option "TearFree" "true"'';
};
services.libinput = {
enable = true;
mouse.accelProfile = "flat";
};
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
};
security.rtkit.enable = true;
hardware.bluetooth = {
enable = true;
powerOnBoot = true;
settings.General = {
Enable = "Source,Sink,Media,Socket";
};
};
environment.systemPackages = with pkgs; [
neovim
wget
tree
tmux
git
btop
cryptsetup
];
2024-08-18 12:27:36 -04:00
programs.bash = {
enableCompletion = true;
promptInit = ''PS1="[\u \W] \e[32;1m\$\e[0m "'';
};
environment.etc.bashrc.text = lib.mkAfter ''[ -f ~/.config/bash/bashrc ] && . ~/.config/bash/bashrc'';
environment.localBinInPath = true;
2024-08-16 10:36:55 -04:00
users.users.ahnwuoa = {
isNormalUser = true;
extraGroups = [ "wheel" ];
packages = with pkgs; [
firefox
alacritty
mpv
nsxiv
rofi
sct
maim
xclip
libsForQt5.kcalc
libsForQt5.kolourpaint
libsForQt5.filelight
papirus-icon-theme
pavucontrol
qpwgraph
gdb
lsd
bat
zoxide
fd
ripgrep
fzf
trash-cli
tlrc
micro
speedtest-cli
bluetuith
unixtools.xxd
python3
gnumake
];
};
programs.partition-manager = {
enable = true;
package = pkgs.libsForQt5.partitionmanager;
};
services.udisks2.enable = true;
virtualisation.libvirtd.enable = true;
programs.virt-manager.enable = true;
security.doas = {
enable = true;
};
fonts.packages = with pkgs; [
noto-fonts
noto-fonts-cjk
source-han-sans
source-han-serif
2024-08-18 12:27:36 -04:00
(nerdfonts.override { fonts = [ "JetBrainsMono" ]; })
2024-08-16 10:36:55 -04:00
];
i18n.inputMethod = {
enabled = "fcitx5";
fcitx5.addons = with pkgs; [
fcitx5-mozc
fcitx5-gtk
];
};
qt = {
enable = true;
platformTheme = "qt5ct";
style = "breeze";
};
security.polkit.enable = true;
systemd = {
user.services.polkit-kde-authentication-agent-1 = {
description = "polkit-kde-authentication-agent-1";
wantedBy = [ "graphical-session.target" ];
wants = [ "graphical-session.target" ];
after = [ "graphical-session.target" ];
serviceConfig = {
Type = "simple";
ExecStart = "${pkgs.libsForQt5.polkit-kde-agent}/libexec/polkit-kde-authentication-agent-1";
Restart = "on-failure";
RestartSec = 1;
TimeoutStopSec = 10;
};
};
};
system.stateVersion = "24.05";
}