diff --git a/home/common/optional/desktop/common/default.nix b/home/common/optional/desktop/common/default.nix index 79ccb19..4c135e9 100644 --- a/home/common/optional/desktop/common/default.nix +++ b/home/common/optional/desktop/common/default.nix @@ -30,5 +30,6 @@ pkgs.gimp pkgs.gajim pkgs.vlc + pkgs.xarchiver ]; } diff --git a/home/common/optional/desktop/common/x11/default.nix b/home/common/optional/desktop/common/x11/default.nix index f20148e..9bd4fd6 100644 --- a/home/common/optional/desktop/common/x11/default.nix +++ b/home/common/optional/desktop/common/x11/default.nix @@ -9,6 +9,7 @@ pkgs.st pkgs.xclip pkgs.feh + pkgs.arandr ]; programs.chromium = { diff --git a/home/common/optional/desktop/common/xdg/default.nix b/home/common/optional/desktop/common/xdg/default.nix index 82c4c29..143d085 100644 --- a/home/common/optional/desktop/common/xdg/default.nix +++ b/home/common/optional/desktop/common/xdg/default.nix @@ -1,5 +1,9 @@ -{pkgs, config, lib, ...}: { - +{ + pkgs, + config, + lib, + ... +}: { xdg.desktopEntries = { firefox = { name = "Firefox"; @@ -30,19 +34,134 @@ terminal = false; mimeType = ["video/*"]; }; + thunar-wrapper = { + name = "Thunar-wrapper"; + exec = "st -T st-float -g 150x50 -e thunar %F"; + terminal = false; + mimeType = ["inode/directory"]; + }; }; # Forces creation of mimeapps.list if hm link has been overwritten by another application # https://discourse.nixos.org/t/home-manager-and-the-mimeapps-list-file-on-plasma-kde-desktops/37694 - xdg.configFile."mimeapps.list" = lib.mkIf config.xdg.mimeApps.enable { force = true; }; + xdg.configFile."mimeapps.list" = lib.mkIf config.xdg.mimeApps.enable {force = true;}; xdg.mimeApps = { enable = lib.mkDefault true; defaultApplications = { + # application "application/pdf" = "zathura-wrapper.desktop"; + "application/msexcel" = "calc.desktop"; + "application/mspowerpoint" = "impress.desktop"; + "application/msword" = "writer.desktop"; + "application/ogg" = "mpv-wrapper.desktop"; + "application/postscript" = "gimp.desktop"; + "application/rdf+xml" = "firefox.desktop"; + "application/rss+xml" = "firefox.desktop"; + "application/rtf" = "writer.desktop"; + "application/vnd.lotus-wordpro" = "writer.desktop"; + "application/vnd.ms-excel" = "calc.desktop"; + "application/vnd.ms-excel.sheet.binary.macroenabled.12" = "calc.desktop"; + "application/vnd.ms-excel.sheet.macroenabled.12" = "calc.desktop"; + "application/vnd.ms-excel.template.macroenabled.12" = "calc.desktop"; + "application/vnd.ms-powerpoint" = "impress.desktop"; + "application/vnd.ms-powerpoint.presentation.macroenabled.12" = "impress.desktop"; + "application/vnd.ms-powerpoint.template.macroenabled.12" = "impress.desktop"; + "application/vnd.ms-word" = "writer.desktop"; + "application/vnd.ms-word.document.macroenabled.12" = "writer.desktop"; + "application/vnd.ms-word.template.macroenabled.12" = "writer.desktop"; + "application/vnd.oasis.opendocument.formula" = "math.desktop"; + "application/vnd.oasis.opendocument.graphics" = "draw.desktop"; + "application/vnd.oasis.opendocument.graphics-flat-xml" = "draw.desktop"; + "application/vnd.oasis.opendocument.graphics-template" = "draw.desktop"; + "application/vnd.oasis.opendocument.presentation" = "impress.desktop"; + "application/vnd.oasis.opendocument.presentation-flat-xml" = "impress.desktop"; + "application/vnd.oasis.opendocument.presentation-template" = "impress.desktop"; + "application/vnd.oasis.opendocument.spreadsheet" = "calc.desktop"; + "application/vnd.oasis.opendocument.spreadsheet-flat-xml" = "calc.desktop"; + "application/vnd.oasis.opendocument.spreadsheet-template" = "calc.desktop"; + "application/vnd.oasis.opendocument.text" = "writer.desktop"; + "application/vnd.oasis.opendocument.text-flat-xml" = "writer.desktop"; + "application/vnd.oasis.opendocument.text-master" = "writer.desktop"; + "application/vnd.oasis.opendocument.text-template" = "writer.desktop"; + "application/vnd.oasis.opendocument.text-web" = "writer.desktop"; + "application/vnd.openofficeorg.extension" = "base.desktop"; + "application/vnd.openxmlformats-officedocument.presentationml.presentation" = "impress.desktop"; + "application/vnd.openxmlformats-officedocument.presentationml.slide" = "impress.desktop"; + "application/vnd.openxmlformats-officedocument.presentationml.slideshow" = "impress.desktop"; + "application/vnd.openxmlformats-officedocument.presentationml.template" = "impress.desktop"; + "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" = "calc.desktop"; + "application/vnd.openxmlformats-officedocument.spreadsheetml.template" = "calc.desktop"; + "application/vnd.openxmlformats-officedocument.wordprocessingml.document" = "writer.desktop"; + "application/vnd.openxmlformats-officedocument.wordprocessingml.template" = "writer.desktop"; + "application/vnd.rn-realmedia" = "mpv-wrapper.desktop"; + "application/vnd.sun.xml.calc" = "calc.desktop"; + "application/vnd.sun.xml.calc.template" = "calc.desktop"; + "application/vnd.sun.xml.draw" = "draw.desktop"; + "application/vnd.sun.xml.draw.template" = "draw.desktop"; + "application/vnd.sun.xml.impress" = "impress.desktop"; + "application/vnd.sun.xml.impress.template" = "impress.desktop"; + "application/vnd.sun.xml.math" = "math.desktop"; + "application/vnd.sun.xml.writer" = "writer.desktop"; + "application/vnd.sun.xml.writer.global" = "writer.desktop"; + "application/vnd.sun.xml.writer.template" = "writer.desktop"; + "application/vnd.visio" = "draw.desktop"; + "application/vnd.wordperfect" = "writer.desktop"; + "application/wordperfect" = "writer.desktop"; + "application/x-7z-compressed" = "xarchiver.desktop"; + "application/x-arj" = "xarchiver.desktop"; + "application/x-bzip" = "xarchiver.desktop"; + "application/x-bzip-compressed-tar" = "xarchiver.desktop"; + "application/x-bzip2" = "xarchiver.desktop"; + "application/x-bzip2-compressed-tar" = "xarchiver.desktop"; + "application/x-compressed-tar" = "xarchiver.desktop"; + "application/x-dbf" = "calc.desktop"; + "application/x-doc" = "writer.desktop"; + "application/x-extension-mp4" = "mpv-wrapper.desktop"; + "application/x-flac" = "mpv-wrapper.desktop"; + "application/x-gzip" = "xarchiver.desktop"; + "application/x-hwp" = "writer.desktop"; + "application/x-lzma" = "xarchiver.desktop"; + "application/x-lzma-compressed-tar" = "xarchiver.desktop"; + "application/x-ogg" = "mpv-wrapper.desktop"; + "application/x-rar" = "xarchiver.desktop"; + "application/x-rar-compressed" = "xarchiver.desktop"; + "application/x-shockwave-flash" = "mpv-wrapper.desktop"; + "application/x-tar" = "xarchiver.desktop"; + "application/x-zip" = "xarchiver.desktop"; + "application/x-zip-compressed" = "xarchiver.desktop"; + "application/xhtml+xml" = "firefox.desktop"; + "application/xml" = "firefox.desktop"; + "application/xspf+xml" = "mpv-wrapper.desktop"; + "application/zip" = "xarchiver.desktop"; + + "application/x-cd-image" = "mpv-wrapper.desktop"; + "application/x-gnumeric" = "calc.desktop"; + "application/x-matroska" = "mpv-wrapper.desktop"; + "application/x-ole-storage" = "calc.desktop"; + "application/epub+zip" = "fbreader.desktop"; + "application/json" = "nvim-wrapper.desktop"; + + # directory + "inode/directory" = "thunar-wrapper.desktop"; # text "text/html" = "firefox.desktop"; "text/plain" = "nvim-wrapper.desktop"; + "text/markdown" = "nvim-wrapper.desktop"; + "text/tab-separated-values" = "nvim-wrapper.desktop"; + "text/x-csrc" = "nvim-wrapper.desktop"; + "text/x-log" = "nvim-wrapper.desktop"; + "text/x-python" = "nvim-wrapper.desktop"; + "text/x-python3" = "nvim-wrapper.desktop"; + "text/x-retext-rst" = "nvim-wrapper.desktop"; + "text/x-rst" = "nvim-wrapper.desktop"; + "text/x-ssa" = "nvim-wrapper.desktop"; + "text/x-tmplayer" = "nvim-wrapper.desktop"; + "text/csv" = "calc.desktop"; + "text/rtf" = "writer.desktop"; + "text/spreadsheet" = "calc.desktop"; + "text/x-apt-sources-list" = "software-properties-gtk.desktop"; + "text/xml" = "nvim-wrapper.desktop"; # images "image/jpeg" = "nsxiv-wrapper.desktop"; @@ -54,14 +173,103 @@ "image/bmp" = "nsxiv-wrapper.desktop"; "image/webp" = "nsxiv-wrapper.desktop"; + "image/x-portable-anymap" = "inkscape.desktop"; + "image/x-portable-bitmap" = "inkscape.desktop"; + "image/x-xcf" = "gimp.desktop"; + + "image/g3fax" = "gimp.desktop"; + "image/jp2" = "gimp.desktop"; + "image/jpeg2000" = "gimp.desktop"; + "image/jpx" = "gimp.desktop"; + "image/svg+xml" = "gimp.desktop"; + "image/vnd.rn-realpix" = "mpv-wrapper.desktop"; + "image/x-compressed-xcf" = "gimp.desktop"; + "image/x-fits" = "gimp.desktop"; + "image/x-gimp-gbr" = "gimp.desktop"; + "image/x-gimp-gih" = "gimp.desktop"; + "image/x-gimp-pat" = "gimp.desktop"; + "image/x-icon" = "gimp.desktop"; + "image/x-pcx" = "gimp.desktop"; + "image/x-pixmap" = "ristretto.desktop"; + "image/x-portable-graymap" = "gimp.desktop"; + "image/x-portable-pixmap" = "gimp.desktop"; + "image/x-psd" = "gimp.desktop"; + "image/x-psp" = "gimp.desktop"; + "image/x-sgi" = "gimp.desktop"; + "image/x-tga" = "gimp.desktop"; + "image/x-wmf" = "gimp.desktop"; + "image/x-xbitmap" = "gimp.desktop"; + "image/x-xcursor" = "gimp.desktop"; + "image/x-xpixmap" = "gimp.desktop"; + "image/x-xwindowdump" = "gimp.desktop"; + # video "video/mp4" = "mpv-wrapper.desktop"; "video/mpeg" = "mpv-wrapper.desktop"; + "video/mp2t" = "mpv-wrapper.desktop"; + "video/ogg" = "mpv-wrapper.desktop"; + "video/quicktime" = "mpv-wrapper.desktop"; + "video/webm" = "mpv-wrapper.desktop"; + "video/x-matroska" = "mpv-wrapper.desktop"; + "video/x-msvideo" = "mpv-wrapper.desktop"; + "video/dv" = "mpv-wrapper.desktop"; + "video/mp4v-es" = "mpv-wrapper.desktop"; + "video/msvideo" = "mpv-wrapper.desktop"; + "video/vnd.rn-realvideo" = "mpv-wrapper.desktop"; + "video/x-anim" = "mpv-wrapper.desktop"; + "video/x-avi" = "mpv-wrapper.desktop"; + "video/x-flc" = "mpv-wrapper.desktop"; + "video/x-fli" = "mpv-wrapper.desktop"; + "video/x-flv" = "mpv-wrapper.desktop"; + "video/x-mpeg" = "mpv-wrapper.desktop"; + "video/x-ms-asf" = "mpv-wrapper.desktop"; + "video/x-ms-wmv" = "mpv-wrapper.desktop"; + "video/x-nsv" = "mpv-wrapper.desktop"; + "video/x-ogm+ogg" = "mpv-wrapper.desktop"; + # web "x-scheme-handler/http" = "firefox.desktop"; "x-scheme-handler/https" = "firefox.desktop"; "x-scheme-handler/about" = "firefox.desktop"; "x-scheme-handler/unknown" = "firefox.desktop"; + + # audio + "audio/flac" = "mpv-wrapper.desktop"; + "audio/mpeg" = "mpv-wrapper.desktop"; + "audio/x-wav" = "mpv-wrapper.desktop"; + "audio/amr" = "mpv-wrapper.desktop"; + "audio/amr-wb" = "mpv-wrapper.desktop"; + "audio/mp4" = "mpv-wrapper.desktop"; + "audio/vnd.rn-realaudio" = "mpv-wrapper.desktop"; + "audio/webm" = "mpv-wrapper.desktop"; + "audio/x-flac" = "mpv-wrapper.desktop"; + "audio/x-m4a" = "mpv-wrapper.desktop"; + "audio/x-matroska" = "mpv-wrapper.desktop"; + "audio/x-mp3" = "mpv-wrapper.desktop"; + "audio/x-mpeg" = "mpv-wrapper.desktop"; + "audio/x-mpegurl" = "mpv-wrapper.desktop"; + "audio/x-ms-asf" = "mpv-wrapper.desktop"; + "audio/x-ms-asx" = "mpv-wrapper.desktop"; + "audio/x-ms-wax" = "mpv-wrapper.desktop"; + "audio/x-pn-aiff" = "mpv-wrapper.desktop"; + "audio/x-pn-au" = "mpv-wrapper.desktop"; + "audio/x-pn-realaudio" = "mpv-wrapper.desktop"; + "audio/x-pn-realaudio-plugin" = "mpv-wrapper.desktop"; + "audio/x-pn-wav" = "mpv-wrapper.desktop"; + "audio/x-pn-windows-acm" = "mpv-wrapper.desktop"; + "audio/x-real-audio" = "mpv-wrapper.desktop"; + "audio/x-scpls" = "mpv-wrapper.desktop"; + "audio/x-vorbis+ogg" = "mpv-wrapper.desktop"; + + # misc + "message/rfc822" = "firefox.desktop"; + "misc/ultravox" = "mpv-wrapper.desktop"; + "multipart/x-zip" = "xarchiver.desktop"; + "x-content/audio-player" = "mpv-wrapper.desktop"; + "x-content/video-dvd" = "mpv-wrapper.desktop"; + "x-scheme-handler/chrome" = "firefox.desktop"; + "x-scheme-handler/ftp" = "firefox.desktop"; + "x-scheme-handler/steam" = "steam.desktop"; }; }; } diff --git a/hosts/common/optional/distributed-builds/local-machine.nix b/hosts/common/optional/distributed-builds/local-machine.nix index 511926e..a2471fd 100644 --- a/hosts/common/optional/distributed-builds/local-machine.nix +++ b/hosts/common/optional/distributed-builds/local-machine.nix @@ -21,8 +21,8 @@ in # ]; programs.ssh.knownHosts = { - "merlin" = { - publicKey = "${remoteMachineIp} ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFSGyrQvwa7gj0tG/EX3siWzGT9badUkD0yw0YGkcNeQ"; + "${remoteMachineIp}" = { + publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFSGyrQvwa7gj0tG/EX3siWzGT9badUkD0yw0YGkcNeQ"; }; }; diff --git a/hosts/common/optional/gaming.nix b/hosts/common/optional/gaming.nix index 949f03b..5cd669b 100644 --- a/hosts/common/optional/gaming.nix +++ b/hosts/common/optional/gaming.nix @@ -1,5 +1,8 @@ -{ pkgs, lib, ... }: { + pkgs, + lib, + ... +}: { # Gaming # xone failing to build - https://github.com/NixOS/nixpkgs/pull/347471 # hardware.xone.enable = true; @@ -7,11 +10,11 @@ #Xbox controller # linuxKernel.packages.linux_zen.xone - # Steam + # Steam mangohud gamemode - # WINE + # WINE wine winetricks protontricks @@ -29,6 +32,21 @@ libxml2 xml2 SDL2 + + # minecraft + prismlauncher + (prismlauncher.override { + # Add binary required by some mod + additionalPrograms = [ffmpeg]; + + # Change Java runtimes available to Prism Launcher + jdks = [ + graalvm-ce + zulu8 + zulu17 + zulu + ]; + }) ]; nixpkgs.config.allowUnfreePredicate = pkg: @@ -47,13 +65,13 @@ nixpkgs.config.packageOverrides = pkgs: { steam = pkgs.steam.override { - extraPkgs = pkgs: with pkgs; [ - pango - libthai - harfbuzz - gamemode - ]; + extraPkgs = pkgs: + with pkgs; [ + pango + libthai + harfbuzz + gamemode + ]; }; }; - }