From a72167be096a3c3992d78aea70d3f0f6d938c0ff Mon Sep 17 00:00:00 2001 From: Kenryu Shibata Date: Sat, 19 Oct 2024 00:04:55 +0900 Subject: [PATCH] update 10/19/2024 --- flake.lock | 18 +++++++------- machines/workstation/home.nix | 1 + pkgs/badlion-client/badlion-client.nix | 34 ++++++++++++++++++++++++++ pkgs/badlion-client/default.nix | 4 +++ system/wm/xmonad.nix | 2 +- user/apps/games/badlion-client.nix | 7 ++++++ user/apps/games/minecraft.nix | 6 +++++ user/wm/xmonad/xmobarrc | 10 +++----- user/wm/xmonad/xmonad.hs | 14 +++++++---- user/wm/xmonad/xmonad.nix | 1 + 10 files changed, 76 insertions(+), 21 deletions(-) create mode 100644 pkgs/badlion-client/badlion-client.nix create mode 100644 pkgs/badlion-client/default.nix create mode 100644 user/apps/games/badlion-client.nix create mode 100644 user/apps/games/minecraft.nix diff --git a/flake.lock b/flake.lock index e7a419b..bc62bc5 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1728337164, - "narHash": "sha256-VdRTjJFyq4Q9U7Z/UoC2Q5jK8vSo6E86lHc2OanXtvc=", + "lastModified": 1729260213, + "narHash": "sha256-jAvHoU/1y/yCuXzr2fNF+q6uKmr8Jj2xgAisK4QB9to=", "owner": "nix-community", "repo": "home-manager", - "rev": "038630363e7de57c36c417fd2f5d7c14773403e4", + "rev": "09a0c0c02953318bf94425738c7061ffdc4cba75", "type": "github" }, "original": { @@ -23,11 +23,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1728269138, - "narHash": "sha256-oKxDImsOvgUZMY4NwXVyUc/c1HiU2qInX+b5BU0yXls=", + "lastModified": 1728729581, + "narHash": "sha256-oazkQ/z7r43YkDLLQdMg8oIB3CwWNb+2ZrYOxtLEWTQ=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "ecfcd787f373f43307d764762e139a7cdeb9c22b", + "rev": "a8dd1b21995964b115b1e3ec639dd6ce24ab9806", "type": "github" }, "original": { @@ -39,11 +39,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1728492678, - "narHash": "sha256-9UTxR8eukdg+XZeHgxW5hQA9fIKHsKCdOIUycTryeVw=", + "lastModified": 1728888510, + "narHash": "sha256-nsNdSldaAyu6PE3YUA+YQLqUDJh+gRbBooMMekZJwvI=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "5633bcff0c6162b9e4b5f1264264611e950c8ec7", + "rev": "a3c0b3b21515f74fd2665903d4ce6bc4dc81c77c", "type": "github" }, "original": { diff --git a/machines/workstation/home.nix b/machines/workstation/home.nix index d488f9b..38e3fdc 100644 --- a/machines/workstation/home.nix +++ b/machines/workstation/home.nix @@ -28,6 +28,7 @@ ../../user/apps/graphics/gimp.nix ../../user/apps/graphics/inkscape.nix ../../user/apps/games/mangohud.nix + ../../user/apps/games/minecraft.nix ../../user/apps/office/texlive.nix ../../user/shell/bash.nix ../../user/wm/xmonad/xmonad.nix diff --git a/pkgs/badlion-client/badlion-client.nix b/pkgs/badlion-client/badlion-client.nix new file mode 100644 index 0000000..a3a431c --- /dev/null +++ b/pkgs/badlion-client/badlion-client.nix @@ -0,0 +1,34 @@ +{ lib, fetchurl, appimageTools }: + +let + pname = "badlion-client"; + version = "4.4.1"; + + src = fetchurl { + name = "badlion-client-linux"; + # https://www.badlion.net/download/client/latest/linux + url = "https://client-updates-cdn77.badlion.net/BadlionClient"; + hash = "sha256-lyu0WQtkevCduGb5Hw5D79CekoHTQiKHvofnqS57mVU="; + }; + + appimageContents = appimageTools.extract { inherit pname version src; }; +in + appimageTools.wrapType2 rec { + inherit pname version src; + + extraInstallCommands = '' + install -Dm444 ${appimageContents}/BadlionClient.desktop $out/share/applications/BadlionClient.desktop + install -Dm444 ${appimageContents}/BadlionClient.png $out/share/pixmaps/BadlionClient.png + substituteInPlace $out/share/applications/BadlionClient.desktop \ + --replace 'Exec=AppRun --no-sandbox %U' 'Exec=badlion-client' + ''; + + meta = with lib; { + description = "Most Complete All-In-One Mod Library for Minecraft with 100+ Mods, FPS Improvements, and more"; + homepage = "https://client.badlion.net"; + license = with licenses; [ unfree ]; + maintainers = [ ]; + mainProgram = "badlion-client"; + platforms = [ "x86_64-linux" ]; + }; + } diff --git a/pkgs/badlion-client/default.nix b/pkgs/badlion-client/default.nix new file mode 100644 index 0000000..3afd0cf --- /dev/null +++ b/pkgs/badlion-client/default.nix @@ -0,0 +1,4 @@ +let + pkgs = import { }; +in + pkgs.callPackage ./badlion-client.nix { } diff --git a/system/wm/xmonad.nix b/system/wm/xmonad.nix index 67cb40a..729c662 100644 --- a/system/wm/xmonad.nix +++ b/system/wm/xmonad.nix @@ -1,4 +1,4 @@ -{ ... }: +{ pkgs, ... }: { services.xserver.windowManager.xmonad = { enable = true; diff --git a/user/apps/games/badlion-client.nix b/user/apps/games/badlion-client.nix new file mode 100644 index 0000000..443f298 --- /dev/null +++ b/user/apps/games/badlion-client.nix @@ -0,0 +1,7 @@ +{ pkgs, ... }: +let + badlionClient = pkgs.callPackage ../../../pkgs/badlion-client/badlion-client.nix { }; +in +{ + home.packages = [ badlionClient ]; +} diff --git a/user/apps/games/minecraft.nix b/user/apps/games/minecraft.nix new file mode 100644 index 0000000..b1d162f --- /dev/null +++ b/user/apps/games/minecraft.nix @@ -0,0 +1,6 @@ +{ pkgs, ... }: +{ + home.packages = with pkgs; [ + minecraft + ]; +} diff --git a/user/wm/xmonad/xmobarrc b/user/wm/xmonad/xmobarrc index fdd213b..64ebcc9 100644 --- a/user/wm/xmonad/xmobarrc +++ b/user/wm/xmonad/xmobarrc @@ -19,14 +19,12 @@ Config { commands = [ - Run DynNetwork [ - "--template", ": kB/s|kB/s", - "--Low", "1000" -- units: B/s, - "--High", "5000" -- units: B/s, + Run DynNetwork [ "--template", ": kB/s|kB/s", + "--Low", "1000", -- units: B/s + "--High", "5000", -- units: B/s "--low", "darkgreen", "--normal", "darkorange", - "--high", "darkred" - ] 10, + "--high", "darkred" ] 10, Run MultiCpu [ "--template", "Cpu: C|C" diff --git a/user/wm/xmonad/xmonad.hs b/user/wm/xmonad/xmonad.hs index a2c96f4..d80c4fd 100644 --- a/user/wm/xmonad/xmonad.hs +++ b/user/wm/xmonad/xmonad.hs @@ -8,6 +8,7 @@ -- import XMonad +import XMonad.Hooks.DynamicLog import Data.Monoid import System.Exit @@ -36,7 +37,7 @@ myBorderWidth = 1 -- ("right alt"), which does not conflict with emacs keybindings. The -- "windows key" is usually mod4Mask. -- -myModMask = mod1Mask +myModMask = mod4Mask -- The default number of workspaces (virtual screens) and their names. -- By default we use numeric strings, but any string may be used as a @@ -47,7 +48,7 @@ myModMask = mod1Mask -- -- > workspaces = ["web", "irc", "code" ] ++ map show [4..9] -- -myWorkspaces = ["1","2","3","4","5","6","7","8","9"] +myWorkspaces = ["term", "web", "code", "debug", "docs"] ++ map show [6..9] -- Border colors for unfocused and focused windows, respectively. -- @@ -243,14 +244,17 @@ myLogHook = return () -- per-workspace layout choices. -- -- By default, do nothing. -myStartupHook = return () +myStartupHook = do + spawn "feh --bg-scale ~/画像/wallpaper/85444653_p0.jpg" ------------------------------------------------------------------------ -- Now run xmonad with all the defaults we set up. -- Run xmonad with the settings you specify. No need to modify this. -- -main = xmonad defaults +main :: IO() +main = do + xmobar myConfig >>= xmonad -- A structure containing your configuration settings, overriding -- fields in the default config. Any you don't override, will @@ -258,7 +262,7 @@ main = xmonad defaults -- -- No need to modify this. -- -defaults = def { +myConfig = def { -- simple stuff terminal = myTerminal, focusFollowsMouse = myFocusFollowsMouse, diff --git a/user/wm/xmonad/xmonad.nix b/user/wm/xmonad/xmonad.nix index 8e75923..827fd2e 100644 --- a/user/wm/xmonad/xmonad.nix +++ b/user/wm/xmonad/xmonad.nix @@ -14,4 +14,5 @@ ]; home.file.".config/xmonad/xmonad.hs".source = ./xmonad.hs; + home.file.".config/xmobar/xmobarrc".source = ./xmobarrc; }