{ config, pkgs, ... }: { imports = [ # Include the results of the hardware scan. ./hardware-configuration.nix ]; fileSystems."/kovo1" = { device = "/dev/disk/by-uuid/206cb0e8-e70c-4643-925f-bb1db79eb6e5"; fsType = "ext4"; options = [ "nofail" ]; }; fileSystems."/kovo2" = { device = "/dev/disk/by-uuid/6218f0c6-c629-4763-9af5-7c6b8c6f4ba5"; fsType = "ext4"; options = [ "nofail" ]; }; hardware.opengl.enable = true; hardware.opengl.driSupport = true; hardware.opengl.driSupport32Bit = true; hardware.opengl.extraPackages = with pkgs; [ mesa.drivers rocm-opencl-icd rocm-opencl-runtime ]; boot = { loader = { efi = { canTouchEfiVariables = true; efiSysMountPoint = "/boot/efi"; }; grub = { efiSupport = true; device = "nodev"; memtest86.enable = true; }; #systemd-boot = { # enable = true; # consoleMode = "max"; # memtest86.enable = true; # netbootxyz.enable = true; #}; }; kernelParams = [ "radeon.si_support=0" "radeon.cik_support=0" "amdgpu.si_support=1" "amdgpu.cik_support=1" ]; extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback.out ]; kernelModules = [ "v4l2loopback" ]; initrd.kernelModules = [ "amdgpu" ]; extraModprobeConfig = '' options v4l2loopback exclusive_caps=1 card_label="Virtual Camera" ''; }; networking.hostName = "nixos"; networking.networkmanager.enable = true; time.timeZone = "Europe/Helsinki"; i18n.defaultLocale = "fi_FI.UTF-8"; i18n.extraLocaleSettings = { LC_ADDRESS = "fi_FI.UTF-8"; LC_IDENTIFICATION = "fi_FI.UTF-8"; LC_MEASUREMENT = "fi_FI.UTF-8"; LC_MONETARY = "fi_FI.UTF-8"; LC_NAME = "fi_FI.UTF-8"; LC_NUMERIC = "fi_FI.UTF-8"; LC_PAPER = "fi_FI.UTF-8"; LC_TELEPHONE = "fi_FI.UTF-8"; LC_TIME = "fi_FI.UTF-8"; }; services.xserver = { enable = true; layout = "fi"; xkbVariant = "nodeadkeys"; libinput = { enable = true; mouse = { accelProfile = "flat"; accelSpeed = ".5"; # -1..1 }; touchpad = { accelProfile = "flat"; }; }; deviceSection = '' Option "VariableRefresh" "True" ''; displayManager = { lightdm.enable = true; autoLogin.enable = true; autoLogin.user = "jt"; defaultSession = "none+i3"; }; windowManager = { i3 = { enable = true; extraPackages = with pkgs; [ dmenu rofi dunst imagemagick xclip i3status i3lock lxappearance ]; }; }; desktopManager = { xterm.enable = false; xfce = { enable = true; enableScreensaver = false; thunarPlugins = [ pkgs.xfce.thunar-archive-plugin ]; }; }; }; # Configure console keymap console.keyMap = "fi"; # Enable CUPS to print documents. services.printing.enable = true; services.avahi = { enable = true; nssmdns = true; }; # Enable sound with pipewire. sound.enable = true; hardware.pulseaudio.enable = false; security.rtkit.enable = true; services.pipewire = { enable = true; alsa.enable = true; alsa.support32Bit = true; pulse.enable = true; jack.enable = true; # use the example session manager (no others are packaged yet so this is enabled by default, # no need to redefine it in your config for now) #media-session.enable = true; }; services.openssh.enable = true; services.gnome.gnome-keyring.enable = true; services.udev.packages = with pkgs; [ logitech-udev-rules ]; networking.firewall.enable = false; virtualisation.docker = { enable = true; }; #fonts.fontDir.enable = true; #fonts.enableDefaultFonts = true; fonts.fontconfig.defaultFonts.monospace = [ "Fira Code" ]; fonts.fonts = with pkgs; [ fira-code fira-code-symbols emacs-all-the-icons-fonts glasstty-ttf #symbola #fantasque-sans-mono #noto-fonts #noto-fonts-cjk #noto-fonts-emoji ]; 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 }; bash ={ shellAliases = { cross="NIX_STORE=/nix/store cross"; }; }; }; programs.dconf.enable = true; programs.iftop.enable = true; programs.iotop.enable = true; programs.htop.enable = true; programs.tmux.enable = true; nixpkgs.config.allowUnfree = true; environment.systemPackages = with pkgs; [ # vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default. # wget emacs polkit_gnome pavucontrol pasystray xarchiver gparted parted unrar unzip zip p7zip graphite-gtk-theme tela-circle-icon-theme qemu_full virt-manager python3 ]; security.polkit.enable = true; # Define a user account. Don't forget to set a password with passwd . users.users.jt = { isNormalUser = true; description = "Jarkko Toivanen"; extraGroups = [ "networkmanager" "wheel" "dialout" "libvirtd" "docker" ]; packages = with pkgs; [ firefox wineWowPackages.stable winetricks heroic libreoffice nextcloud-client helvum solaar vlc youtube-music kate kdenlive gimp discord element-desktop nheko bitwarden chiaki prismlauncher mangohud #vulkan-tools git rustup rust-analyzer cargo-cross gcc obs-studio appimage-run steam-run-native #thunderbird xmrig ]; }; # Some programs need SUID wrappers, can be configured further or are # started in user sessions. #programs.mtr.enable = true; #programs.gnupg.agent = { # enable = true; # enableSSHSupport = true; #}; # This value determines the NixOS release from which the default # settings for stateful data, like file locations and database versions # on your system were taken. It is perfectly fine and recommended to leave # this value at the release version of the first install of this system. # Before changing this value read the documentation for this option # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). system.stateVersion = "22.11"; # Did you read the comment? }