115 lines
2.4 KiB
Nix
115 lines
2.4 KiB
Nix
|
{ 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";
|
||
|
}
|
||
|
|