diff --git a/nixos/msi/configuration.nix b/nixos/msi/configuration.nix index 5b3d77b..11c9b1f 100644 --- a/nixos/msi/configuration.nix +++ b/nixos/msi/configuration.nix @@ -4,8 +4,7 @@ { config, lib, pkgs, ... }: let - unstable = import {}; - packages = (with pkgs; [ + packages = with pkgs; [ vim git curl @@ -13,22 +12,14 @@ let gnumake gcc - # Lua - (luajit.withPackages (p: with p; [ luarocks ])) - lua-language-server - - # Nix - nixd - # Neovim wl-clipboard tree-sitter ripgrep fd unzip - ]) ++ (with unstable; [ neovim - ]); + ]; in { imports = @@ -37,7 +28,6 @@ in ./hardware-configuration.nix ./nvidia.nix ./boot.nix - ./gaming.nix ]; # Nix package installer settings @@ -128,14 +118,11 @@ in enableSSHSupport = true; }; }; - firefox = { + steam = { enable = true; - package = pkgs.firefox-devedition; - preferences = { - "widget.use-xdg-desktop-portal.file-picker" = 1; - "widget.use-xdg-desktop-portal.mime-handler" = 1; - }; + gamescopeSession.enable = true; }; + gamemode.enable = true; }; users.users.kamov = { diff --git a/nixos/msi/gaming.nix b/nixos/msi/gaming.nix index 18d7854..14173dc 100644 --- a/nixos/msi/gaming.nix +++ b/nixos/msi/gaming.nix @@ -1,23 +1,15 @@ { pkgs, ... }: { - environment.systemPackages = with pkgs; [ + home.packages = with pkgs; [ mangohud protonup lutris bottles ]; - programs = { - steam = { - enable = true; - gamescopeSession.enable = true; - }; - gamemode.enable = true; - }; - - environment.sessionVariables = { + home.sessionVariables = { # Tell protonup where to install patched proton GE - STEAM_EXTRA_COMPAT_TOOLS_PATHS = "/home/kamov/.steam/root/compatibilitytools.d"; + STEAM_EXTRA_COMPAT_TOOLS_PATHS = "\${HOME}/.steam/root/compatibilitytools.d"; # Apparently Steam client has broken scaling on Linux STEAM_FORCE_DESKTOPUI_SCALING = "1.2"; }; diff --git a/nixos/msi/home.nix b/nixos/msi/home.nix index ea7721a..4171b23 100644 --- a/nixos/msi/home.nix +++ b/nixos/msi/home.nix @@ -1,21 +1,12 @@ { pkgs, ... }: let unstable = import {}; - packages = (with pkgs; [ - anki - discord - krita - prismlauncher - qbittorrent - spotify - vlc - obs-studio - audacity - ]) ++ (with unstable; [ - neovide - ]); in { + imports = [ + ./gaming.nix + ]; + home = { # Home Manager needs a bit of information about you and the # paths it should manage. @@ -23,7 +14,23 @@ in homeDirectory = "/home/kamov"; # Packages that should be installed to the user profile. - packages = packages; + packages = with pkgs; [ + anki + audacity + discord + krita + obs-studio + qbittorrent + spotify + vlc + ]; + }; + + xdg.mimeApps.defaultApplications = { + "text/html" = ["firefox-devedition.desktop"]; + "text/xml" = ["firefox-devedition.desktop"]; + "x-scheme-handler/http" = ["firefox-devedition.desktop"]; + "x-scheme-handler/https" = ["firefox-devedition.desktop"]; }; programs = { @@ -39,6 +46,42 @@ in key = "191CBFF5F72ECAFD!"; }; }; + + firefox = { + enable = true; + package = pkgs.firefox-devedition; + policies = { + "DisablePocket" = true; + "DisableTelemetry" = true; + "PrimaryPassword" = false; + "PasswordManagerEnabled" = false; + "FirefoxHome" = { + "Search" = true; + "TopSites" = false; + "SponsoredTopSites" = false; + "Highlights" = false; + "Pocket" = false; + "SponsoredPocket" = false; + "Snippets" = false; + "Locked" = true; + }; + "Preferences" = { + "widget.use-xdg-desktop-portal.file-picker" = 1; + "widget.use-xdg-desktop-portal.mime-handler" = 1; + }; + }; + }; + + neovim = { + enable = true; + package = unstable.neovim-unwrapped; + defaultEditor = true; + extraPackages = with pkgs; [ + lua-language-server + nixd + lldb + ]; + }; }; services.kdeconnect.enable = true;