Closed6

Linuxデスクトップ環境Tips(NixOS with Hyprland)

AsahiAsahi

これは何?

Linuxディストリビューション NixOS
デスクトップ環境 Wayland
ウィンドウマネージャ Hyprland(タイル型)

という、特殊極まるLinuxデスクトップ環境で生活するためのTips

AsahiAsahi

[Wayland] IMEが動作しない

問題

Wayland環境下で、chromium系アプリケーション(諸々のブラウザ、VS Code等)でIME(fcitx5)が動作しない。

解決策

$ 起動したいアプリケーション --enable-features=UseOzonePlatfor --ozone-platform=x11

Chromiumには、Chromium flagsという起動オプションがあり、様々な設定を行える(flags一覧)。
ブラウザであればchrome://flagsにアクセスして設定することも可能。

home-managerとChromium系ブラウザの場合

{
  # programs.<アプリケーション名>のところには、
  # chromium, google-chrome, google-chrome-beta, google-chrome-dev, brave, vivaldi
  # を渡せる
  programs.chromium = {
    enable = true;
    commandLineArgs = ["--enable-features=UseOzonePlatfor" "--ozone-platform=x11"];
  };
}
  • 起動時にChromium flagsを自動で渡してくれるようになる
  • programs.<アプリケーション名>のところには、chromium google-chrome google-chrome-beta google-chrome-dev brave vivaldiを指定できる
AsahiAsahi

[home-manager] Discordの自動アップデート無効化 / 開発者ツール有効化 / フォント変更

home-manager

{
  home.file.".config/discord/settings.json".text = ''
    {
      "SKIP_HOST_UPDATE": true,
      "DANGEROUS_ENABLE_DEVTOOLS_ONLY_ENABLE_IF_YOU_KNOW_WHAT_YOURE_DOING": true
    }
  '';

  programs.discocss = {
    enable = true;
    css = ''
      * {
        font-family: "Migu 1P" !important;
        -webkit-font-smoothing: subpixel-antialiased;
      }
    '';
  };
}

Discordは~/.config/discord下にsettings.jsonを置くことで諸々の設定を行える。注意点として、settings.jsonの最後にvalueの末尾に,を付けると、Pythonのライブラリがエラーを起こして起動できない(マジで?)。

discocssはDiscordにCSSを注入できるツール。Migu 1Pとなっているところは、適宜好きなフォントに変えてください。home-managerのprograms.discocssはデフォルトでdiscordAlias = true;となっており、勝手にDiscordのパッケージも一緒にインストールしてくる。home.packagesにpkgs.discordが含まれていると、$ home-manager switch時にエラーを吐く。

AsahiAsahi

[NixOS] Steam

NixOS modules

{
  programs.steam = {
    enable = true;
    remotePlay.openFirewall = true;
    dedicatedServer.openFirewall = true;
  };
}

nixos-rebuild後、Steam Play設定からProtonを有効化するとWindows向けのゲームが遊べる。Protonはすごいので、Windowsとほとんど遜色ないパフォーマンスが出る。
最近EasyAntiCheatシステムがProtonに対応したため、Apex Legendsなども普通に遊べる。

アジア系フォント

wqy_zenheiというフォントをインストールするとSteamクライアント上で正しく日本語が表示される(ただし中華フォント)。
が、NixOS(というかLinux)でフォント設定を上手くやる方法が分からないため、現在私のsystem-uiの日本語表示がコイツに乗っ取られている。

解決

以下の設定を追加して解決した。システムのデフォルトフォントはNoto Sans CJK JPだが、Steamクライアント(steamwebhelper)だけMigu 1Pというフォントを適用している。

 {pkgs, ...}: {
   # Fonts
   fonts = {
     fonts = with pkgs; [
       noto-fonts-cjk-serif
       noto-fonts-cjk-sans
       migu
       nerdfonts
       twemoji-color-font
     ];
     fontDir.enable = true;
     fontconfig = {
       defaultFonts = {
         serif = [
           "Noto Serif CJK JP"
           "Twitter Color Emoji"
         ];
         sansSerif = [
           "Noto Sans CJK JP"
           "Twitter Color Emoji"
         ];
         monospace = [
           "JetBrainsMono Nerd Font"
           "Twitter Color Emoji"
         ];
         emoji = ["Twitter Color Emoji"];
       };
       localConf = ''
         <?xml version="1.0"?>
         <!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
         <fontconfig>
           <description>Change default fonts for Steam client</description>
           <match>
             <test name="prgname">
               <string>steamwebhelper</string>
             </test>
             <test name="family" qual="any">
               <string>sans-serif</string>
             </test>
             <edit mode="prepend" name="family">
               <string>Migu 1P</string>
             </edit>
           </match>
         </fontconfig>
       '';
     };
   };
 }
AsahiAsahi

[Linux] Microsoft Teamsとタイル型ウィンドウマネージャ

問題

DiscordやSlackと同じElectron製アプリケーションの1つでありながら、Microsoftの素晴らしい独自実装によって、タイル型ウィンドウマネージャ上で制御が効かないことが多数報告されている。

解決策

  • 代わりにteams-for-linuxを入れる

https://github.com/IsmaelMartinez/teams-for-linux

非公式クライアントだが、UIは本家Teamsと全く同じなので純粋な代替である。

このスクラップは2023/08/24にクローズされました