diff --git a/hosts/MONSTER/default.nix b/hosts/MONSTER/default.nix index 3b6ffd0..ba1007e 100644 --- a/hosts/MONSTER/default.nix +++ b/hosts/MONSTER/default.nix @@ -37,7 +37,10 @@ supportedFilesystems = [ "ntfs" ]; }; - desktops.hyprland.enable = true; + desktops = { + hyprland.enable = true; + # gamescope.enable = true; + }; locale.preset.theaninova.enable = true; hardware = { @@ -118,6 +121,8 @@ # system-wide wine lutris wine-staging + winetricks + protontricks # docker docker-compose ]; diff --git a/modules/home-manager/programs/nixvim/default.nix b/modules/home-manager/programs/nixvim/default.nix index bde3818..4898717 100644 --- a/modules/home-manager/programs/nixvim/default.nix +++ b/modules/home-manager/programs/nixvim/default.nix @@ -254,17 +254,12 @@ in ''; }; - lint = { + none-ls = { enable = true; - lintersByFt = { - javascript = [ "eslint" ]; - typescript = [ "eslint" ]; - css = [ "stylelint" ]; - scss = [ "stylelint" ]; - less = [ "stylelint" ]; - bash = [ "shellcheck" ]; + sources = { + diagnostics.stylelint.enable = true; + formatting.stylelint.enable = true; }; - autoCmd.event = "TextChanged"; }; lsp = { @@ -323,6 +318,9 @@ in cssls.enable = true; svelte.enable = true; tsserver.enable = true; + eslint.enable = true; + + dockerls.enable = true; yamlls.enable = true; jsonls.enable = true; @@ -419,6 +417,7 @@ in h = "Diagnostics"; a = "Code Actions"; f = "Auto Formatting"; + x = "LSP Format"; }; "x" = { name = "Trouble"; diff --git a/modules/home-manager/programs/nixvim/keymaps.nix b/modules/home-manager/programs/nixvim/keymaps.nix index 0be00c4..859fff9 100644 --- a/modules/home-manager/programs/nixvim/keymaps.nix +++ b/modules/home-manager/programs/nixvim/keymaps.nix @@ -71,6 +71,13 @@ options.silent = true; action = ":ConformToggle"; } + { + key = "sx"; + mode = "n"; + options.silent = true; + lua = true; + action = "vim.lsp.buf.format"; + } # Trouble { key = "xx"; diff --git a/modules/nixos/default.nix b/modules/nixos/default.nix index 215bb24..d1562e2 100644 --- a/modules/nixos/default.nix +++ b/modules/nixos/default.nix @@ -4,6 +4,7 @@ ./boot/quiet.nix ./desktops/hyprland.nix + ./desktops/gamescope.nix ./fonts/fira-code.nix ./fonts/noto-sans.nix diff --git a/modules/nixos/desktops/gamescope.nix b/modules/nixos/desktops/gamescope.nix new file mode 100644 index 0000000..db619d5 --- /dev/null +++ b/modules/nixos/desktops/gamescope.nix @@ -0,0 +1,70 @@ +{ + config, + lib, + pkgs, + username, + ... +}: + +with lib; + +let + cfg = config.desktops.gamescope; +in +{ + options.desktops.gamescope.enable = mkEnableOption "Enable the SteamOS Compositor as a desktop environment"; + + config = mkIf cfg.enable { + programs.steam = { + enable = true; + gamescopeSession = { + enable = true; + args = [ + "--hide-cursor-delay" + "3000" + "--fadee-out-duration" + "200" + "--xwayland-count" + "2" + "-W" + (placeholder "SCREEN_WIDTH") + "-H" + (placeholder "SCREEN_HEIGHT") + ]; + }; + }; + + /* + services = { + greetd = { + enable = true; + settings = rec { + initial_session = { + command = "${pkgs.hyprland}/bin/Hyprland &> /dev/null"; + user = username; + }; + default_session = "${pkgs.greetd.tuigreet}/bin/tuigreet"; + }; + }; + + dbus.enable = true; + + pcscd.enable = true; + + # nautilus on non-gnome + gvfs.enable = true; + # fix pinentry on non-gnome + dbus.packages = with pkgs; [ gcr ]; + gnome.gnome-online-accounts.enable = true; + gnome.evolution-data-server.enable = true; + }; + + programs = { + hyprland.enable = true; + kdeconnect.enable = true; + }; + + environment.sessionVariables.NIXOS_OZONE_WL = "1"; + */ + }; +} diff --git a/modules/nixos/desktops/hyprland.nix b/modules/nixos/desktops/hyprland.nix index 5481b67..4e1f0d9 100644 --- a/modules/nixos/desktops/hyprland.nix +++ b/modules/nixos/desktops/hyprland.nix @@ -33,7 +33,10 @@ in command = "${pkgs.hyprland}/bin/Hyprland &> /dev/null"; user = username; }; - default_session = initial_session; + default_session = { + command = "${pkgs.greetd.tuigreet}/bin/tuigreet --asterisks --sessions ${config.services.xserver.displayManager.sessionData.desktops}"; + user = username; + }; }; }; diff --git a/modules/nixos/hardware/fv43u.nix b/modules/nixos/hardware/fv43u.nix index cf20789..199e11e 100644 --- a/modules/nixos/hardware/fv43u.nix +++ b/modules/nixos/hardware/fv43u.nix @@ -19,5 +19,16 @@ in fonts.fontconfig.subpixel.rgba = "bgr"; hardware.gbmonctl.enable = true; boot.kernelParams = [ "video=3840x2160@144" ]; + + programs.steam.gamescopeSession = { + env = { + SCREEN_WIDTH = "3840"; + SCREEN_HEIGHT = "2160"; + }; + args = [ + "--hdr-enabled" + "--hdr-itm-enable" + ]; + }; }; }