nix/configuration.nix

115 lines
2.4 KiB
Nix
Raw Normal View History

2024-06-13 15:38:40 +02:00
{ pkgs, ... }: {
imports = [
./hardware-configuration.nix
];
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
nix.settings.experimental-features = [ "nix-command" "flakes" ];
networking.hostName = "laptop";
networking.networkmanager.enable = true;
time.timeZone = "Europe/Warsaw";
services.xserver = {
enable = true;
windowManager.i3.enable = true;
xkb.layout = "pl";
libinput = {
enable = true;
touchpad = {
naturalScrolling = false; # it's reversed on my laptop for some reason
tapping = true;
tappingButtonMap = "lmr";
scrollMethod = "edge";
};
};
# 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
'';
environment.systemPackages = with pkgs; [
ed # is the standard text editor.
vim
wget
btop
git
gcc
unzip
python312
ripgrep
gnomeExtensions.user-themes
xdg-user-dirs
man-pages
man-pages-posix
];
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";
}