512hardpc/configuration.nix
2025-02-10 10:52:33 +00:00

131 lines
3.6 KiB
Nix

let
unstable = import (fetchTarball {
url = "https://nixos.org/channels/nixos-unstable/nixexprs.tar.xz";
sha256 = "0k9xxn1kz32jbjzgcqxmh7czx0mrpq6zais5pzd86bii50cl40c7";
}) { };
in
{ modulesPath, config, lib, pkgs, ... }: {
imports = [
./hardware-configuration.nix
./disk-config.nix
];
boot = {
initrd.systemd.enable = true;
plymouth = {
enable = true;
theme = "rings";
themePackages = with pkgs; [
# By default we would install all themes
(adi1090x-plymouth-themes.override {
selected_themes = [ "rings" ];
})
];
};
# Enable "Silent Boot"
consoleLogLevel = 0;
initrd.verbose = false;
kernelParams = [
"quiet"
"splash"
"boot.shell_on_fail"
"loglevel=3"
"rd.systemd.show_status=false"
"rd.udev.log_level=3"
"udev.log_priority=3"
];
loader = {
efi.canTouchEfiVariables = true;
systemd-boot.enable = true;
systemd-boot.consoleMode = "max";
# Hide the OS choice for bootloaders.
# It's still possible to open the bootloader list by pressing any key
# It will just not appear on screen unless a key is pressed
timeout = 0;
};
};
# programs.adb.enable = true;
services.greetd = {
enable = true;
settings = rec {
initial_session = {
command = "${pkgs.hyprland}/bin/Hyprland";
user = "akulij";
};
default_session = initial_session;
};
};
networking.hostName = "pc";
programs.hyprland = {
enable = true;
xwayland.enable = true;
};
programs.steam = {
enable = true;
remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play
dedicatedServer.openFirewall = true; # Open ports in the firewall for Source Dedicated Server
localNetworkGameTransfers.openFirewall = true; # Open ports in the firewall for Steam Local Network Game Transfers
};
nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [
"steam"
"steam-original"
"steam-unwrapped"
"steam-run"
];
services.openssh = {
enable = true;
ports = [ 1440 ];
settings = {
PasswordAuthentication = true;
AllowUsers = null; # Allows all users by default. Can be [ "user1" "user2" ]
UseDns = true;
X11Forwarding = false;
PermitRootLogin = "no"; # "yes", "without-password", "prohibit-password", "forced-commands-only", "no"
};
};
environment.systemPackages = map lib.lowPrio [
# unstable.cope
pkgs.curl
pkgs.gitMinimal
pkgs.neovim
pkgs.kitty
pkgs.tmux
pkgs.gamescope
];
users.users.akulij = {
isNormalUser = true;
extraGroups = [ "wheel" ];
};
users.users.akulij.openssh.authorizedKeys.keys = [
# change this to your ssh key
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDCOZgbO0xzciMbBCSC1fZLEY8qIB4c+UK0niwVvaphOPp87xjE+eyeHDhQLntxhTeOgAob24pBmhycAkQXxu0FcDZN7RmZOyNTFFQPd2w8KRgGwUnZtfOFUaT9KxV0xpnfnJN+PeCeys9/jz5XHBzlei0HPuaC85KcKqa1GMNldtFELqa1MySAIQ0mV3TynLooqqjdr2kqou9DPEqC2A2VrdDn2FFc1+RuaiEitmOG2rLUHLSje2R+GN3kkPPtWI/CzapwHC/j7hcgPEPZcAT5Pe+cQqTMXpMGK2ZFsQsgCIhwPfKg/o8LN5QKYm8sJb42OftgTpoUJNMMWvRYv9J1lRa57wLyVNl56wchj/d5kh13CJ+WDR7KnaY00xlRHxXChp9ZU7sqFMgBOlS1OUQv5iDdUerLPrSIr9JqMVtkcP1betqDKFZLJYvRpV35IQX6FsDOuzTYkojX8gKsxPL6Prq0EHwtuatvGxNq/en7VBbzHRpf32+x8luypkFLoKM="
];
environment.shellAliases = {
u = "sudo -E nixos-rebuild switch --flake .#";
n = "nvim";
se = "sudo -E nvim";
gs = "git status";
gd = "git diff";
ga = "git add";
gc = "git commit";
};
system.stateVersion = "24.11";
nix.settings.experimental-features = [ "nix-command" "flakes" ];
}