nix/configuration.nix
2024-06-15 21:59:32 +02:00

135 lines
2.7 KiB
Nix

{ pkgs, ...}: {
imports = [
./hardware-configuration.nix
];
boot = {
loader.grub = {
enable = true;
device = "/dev/disk/by-id/ata-Samsung_SSD_860_EVO_500GB_S4CNNE0M700172J";
};
# kernelParams = [
# "video=DP-3:1920x1080@240"
# "video=HDMI-3:1920x1080@75"
# ];
};
nix.settings.experimental-features = [ "nix-command" "flakes" ];
networking.hostName = "krizej-pc";
networking.networkmanager.enable = true;
time.timeZone = "Europe/Warsaw";
services.libinput = {
enable = true;
touchpad = {
naturalScrolling = false; # it's reversed on my laptop for some reason
tapping = true;
tappingButtonMap = "lmr";
scrollMethod = "edge";
};
};
services.xserver = {
enable = true;
displayManager.gdm.enable = true;
windowManager.i3.enable = true;
xkb.layout = "pl";
# this shit doesn't actually work
autoRepeatDelay = 180;
autoRepeatInterval = 50;
# this does
displayManager.sessionCommands = "xset r rate 180 50\n";
};
fonts = {
enableDefaultPackages = true;
packages = with pkgs; [
jetbrains-mono
];
fontconfig.defaultFonts = {
serif = [ "JetBrains Mono NL" ];
sansSerif = [ "JetBrains Mono NL" ];
monospace = [ "JetBrains Mono NL" ];
};
};
sound.enable = true;
hardware.pulseaudio.enable = true;
# fucking stupid android shit man
# users.groups.plugdev.members = [ "krizej" ];
# services.udev.extraRules = ''
# SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", ATTR{idProduct}=="2e76", MODE="0666", GROUP="plugdev"
# '';
users.users.krizej = {
isNormalUser = true;
extraGroups = [ "wheel" ];
shell = pkgs.fish;
};
qt = {
enable = true;
platformTheme = "gnome";
style = "adwaita-dark";
};
programs.nano.enable = false;
programs.dconf.enable = true;
# any-nix-shell
programs.fish.enable = true;
programs.fish.promptInit = ''
${pkgs.any-nix-shell}/bin/any-nix-shell fish --info-right | source
'';
programs.steam = {
enable = true;
};
environment.systemPackages = with pkgs; [
ed # is the standard text editor.
vim
file
wget
btop
git
gcc
unzip
python311
ripgrep
gnomeExtensions.user-themes
xdg-user-dirs
man-pages
man-pages-posix
ntfs3g
gnumake
xclip
tcl
pkg-config
tree
];
documentation.dev.enable = true;
programs.gnupg.agent = {
enable = true;
enableSSHSupport = true;
};
services.openssh.enable = true;
security.sudo.extraConfig = ''
Defaults pwfeedback
'';
nixpkgs.overlays = import ./pkgs pkgs;
nixpkgs.config.allowUnfree = true;
system.stateVersion = "23.11";
}