summaryrefslogtreecommitdiff
path: root/hosts/desktop/configuration.nix
diff options
context:
space:
mode:
Diffstat (limited to 'hosts/desktop/configuration.nix')
-rw-r--r--hosts/desktop/configuration.nix155
1 files changed, 155 insertions, 0 deletions
diff --git a/hosts/desktop/configuration.nix b/hosts/desktop/configuration.nix
new file mode 100644
index 0000000..ad49e90
--- /dev/null
+++ b/hosts/desktop/configuration.nix
@@ -0,0 +1,155 @@
+{ inputs, pkgs, ... }:
+
+{
+ nixpkgs.config.allowUnfree = true;
+
+ imports =
+ [
+ ./hardware-configuration.nix
+ ../../modules/greet.nix
+ ../../modules/virtualization.nix
+ ../../modules/boot.nix
+ ../../modules/audio.nix
+ ../../modules/networking.nix
+ ../../modules/scx.nix
+ ../../modules/firefox.nix
+ ../../modules/tor.nix
+ ../../modules/disko.nix
+ inputs.home-manager.nixosModules.home-manager
+ inputs.chaotic.nixosModules.default
+ ];
+
+ home-manager = {
+ extraSpecialArgs = { inherit inputs; };
+ users = {
+ "adam" = import ../../home/home.nix;
+ };
+ backupFileExtension = "bak";
+ useGlobalPkgs = true;
+ useUserPackages = true;
+ };
+
+ services.spotifyd = {
+ enable = true;
+ };
+
+ programs.gnupg.agent = {
+ enable = true;
+ enableSSHSupport = true;
+ pinentryPackage = pkgs.pinentry-curses;
+ };
+
+programs.steam = {
+ enable = true;
+ localNetworkGameTransfers.openFirewall = true;
+ dedicatedServer.openFirewall = true;
+ remotePlay.openFirewall = false;
+ gamescopeSession.enable = true;
+ extest.enable = true;
+ protontricks.enable = true;
+
+ extraCompatPackages = with pkgs; [
+ proton-cachyos_x86_64_v4
+ proton-ge-custom
+ ];
+};
+
+hardware.cpu.amd.updateMicrocode = true;
+
+services.xserver.videoDrivers = [ "amdgpu" ];
+hardware.sensor.iio.enable = true;
+programs.kdeconnect.enable = true;
+services.lact.enable = true;
+environment.variables.AMD_VULKAN_ICD = "RADV";
+hardware.amdgpu.initrd.enable = true;
+
+programs.hyprland.enable = true;
+programs.hyprland.package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland;
+
+ nix.settings = {
+ trusted-users = [ "root" "adam" ];
+ experimental-features = [ "nix-command" "flakes" ];
+ };
+
+ hardware = {
+ enableRedistributableFirmware = true;
+ graphics = {
+ enable = true;
+ enable32Bit = true;
+ };
+ };
+
+chaotic = {
+ mesa-git = {
+ enable = true;
+ fallbackSpecialisation = false;
+ };
+};
+
+services.dbus.enable = true;
+
+xdg.portal = {
+ enable = true;
+ wlr.enable = true;
+};
+
+time.timeZone = "Europe/Warsaw";
+
+ # Select internationalisation properties.
+ # i18n.defaultLocale = "en_US.UTF-8";
+ # console = {
+ # font = "Lat2-Terminus16";
+ # keyMap = "pl";
+ # useXkbConfig = true; # use xkb.options in tty.
+ # };
+
+environment.sessionVariables = {
+ NH_FLAKE = "/etc/nixos";
+ NIXOS_OZONE_WL = "1";
+ MOZ_ENABLE_WAYLAND = "1";
+ GDK_BACKEND = "wayland";
+ QT_QPA_PLATFORM = "wayland";
+ ELECTRON_ENABLE_WAYLAND = "1";
+ };
+
+programs.fish.enable = true;
+
+ users.users.adam = {
+ isNormalUser = true;
+ extraGroups = [ "wheel" ];
+ home = "/home/adam";
+ shell = pkgs.fish;
+ };
+
+ environment.systemPackages = with pkgs; [
+ vim
+ lan-mouse_git
+ tuigreet
+ hyprland
+ linux-firmware
+ dbus
+ nh
+ gamemode
+ mangohud
+ grim
+ grimblast
+ slurp
+ wl-clipboard
+ swappy
+ git
+ nix-output-monitor
+ nvd
+ rivalcfg
+ easyeffects
+ wineWowPackages.stagingFull
+ lutris
+ winetricks
+ nix-tree
+ ];
+
+ fonts.packages = with pkgs; [
+ nerd-fonts.jetbrains-mono
+];
+
+system.stateVersion = "25.05";
+}