dotfiles/home/hosts/nixmsi.nix

130 lines
3.7 KiB
Nix
Raw Normal View History

2023-04-06 09:45:02 +07:00
{ config, pkgs, lib, pkgs-wayland, ... }:
2023-01-24 02:24:40 +07:00
{
imports = [
../common/general.nix
../common/firefox
2023-01-24 02:24:40 +07:00
../common/i3-sway.nix
../common/nvim.nix
2023-01-24 02:24:40 +07:00
../common/helix.nix
../common/kakoune.nix
];
home.stateVersion = "22.11";
home.username = "user";
home.homeDirectory = "/home/user";
termShell = {
enable = true;
path = "${pkgs.fish}/bin/fish";
};
2023-01-24 02:24:40 +07:00
xsession.windowManager.i3.enable = true;
wayland.windowManager.sway.enable = true;
terminals = ["kitty" "urxvt"];
services.mpd = {
enable = true;
network.startWhenNeeded = true;
};
services.mpdris2 = {
enable = true;
};
programs.ncmpcpp = {
enable = true;
};
2023-02-13 21:56:34 +07:00
services.kdeconnect.enable = true;
2023-01-24 02:24:40 +07:00
nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [
"steam-run"
"steam"
"steam-original"
"steam-runtime"
"steamcmd"
2023-02-20 00:49:39 +07:00
"osu-lazer-bin"
2023-01-24 02:24:40 +07:00
];
2023-02-13 21:56:34 +07:00
home.sessionVariables = let sources = (import ../_sources/generated.nix {
inherit (pkgs) fetchgit fetchurl fetchFromGitHub dockerTools;
});
proton-ge = pkgs.stdenvNoCC.mkDerivation {
2023-02-13 21:56:34 +07:00
inherit (sources.proton-ge) pname version src;
nativeBuildInputs = [];
installPhase = ''
mkdir -p $out
tar -C $out --strip=1 -x -f $src
'';
}; in {
STEAM_EXTRA_COMPAT_TOOLS_PATHS = "${proton-ge}";
CARGO_PROFILE_DEV_INCREMENTAL = "true";
RUSTC_LINKER = "${pkgs.clang_latest}/bin/clang";
RUSTFLAGS = "-C link-arg=--ld-path=${pkgs.mold}/bin/mold";
CARGO_TARGET_X86_64_UNKNOWN_LINUX_GNU_LINKER = "${pkgs.clang_latest}/bin/clang";
CARGO_TARGET_X86_64_UNKNOWN_LINUX_GNU_RUSTFLAGS = "-C link-arg=--ld-path=${pkgs.mold}/bin/mold";
2023-02-13 21:56:34 +07:00
};
2023-01-24 02:24:40 +07:00
home.packages = with pkgs; [
mold
2023-03-15 16:41:44 +07:00
(ghidra.overrideAttrs (old: {
patches = old.patches ++ [ ../common/ghidra-stdcall.patch ];
})) cutter
openrgb piper
2023-01-24 02:24:40 +07:00
steam-run steam
2023-04-06 09:45:02 +07:00
((osu-lazer-bin.override {
gmrun_enable = false;
}).overrideAttrs (old: {
paths = assert builtins.length old.paths == 2;
let
osu = builtins.head old.paths;
osu' = osu.overrideAttrs (old: {
installPhase = builtins.replaceStrings
["runHook postInstall"]
["sed -i 's:exec :exec ${obs-studio-plugins.obs-vkcapture}/bin/obs-gamecapture :g' $out/bin/osu-lazer\nrunHook postInstall"]
old.installPhase;
});
in assert osu.pname == "osu-lazer-bin"; [
osu'
(makeDesktopItem {
name = osu'.pname;
exec = "${osu'.outPath}/bin/osu-lazer";
icon = "${osu'.outPath}/osu.png";
comment = "A free-to-win rhythm game. Rhythm is just a *click* away!";
desktopName = "osu!";
categories = ["Game"];
})
];
}))
taisei
2023-04-10 19:21:20 +07:00
techmino
2023-04-06 09:45:02 +07:00
(wrapOBS {
plugins = with obs-studio-plugins; [ wlrobs obs-vkcapture ];
})
2023-01-24 02:24:40 +07:00
easyeffects
# wineWowPackages.waylandFull
2023-01-24 02:24:40 +07:00
winetricks
protontricks # proton-caller
2023-02-20 00:49:39 +07:00
# bottles
virtmanager
2023-01-24 02:24:40 +07:00
gimp krita blender
tdesktop
clang_latest rustc rustfmt cargo clippy
2023-04-06 09:45:02 +07:00
kdenlive
mediainfo
glaxnimate
lalrpop
2023-01-24 02:24:40 +07:00
# waiting until the PR gets merged
(looking-glass-client.overrideAttrs (old: {
version = "B6";
src = fetchFromGitHub {
owner = "gnif";
repo = "LookingGlass";
rev = "B6";
sha256 = "sha256-6vYbNmNJBCoU23nVculac24tHqH7F4AZVftIjL93WJU=";
fetchSubmodules = true;
};
buildInputs = old.buildInputs ++ (with pkgs; [ pipewire libsamplerate ]);
cmakeFlags = old.cmakeFlags ++ [ "-DENABLE_PULSEAUDIO=no" ];
}))
];
2023-01-25 01:33:07 +07:00
xdg.configFile."looking-glass/client.ini".text = ''
2023-01-24 02:24:40 +07:00
[app]
shmFile=/dev/kvmfr0
[input]
rawMouse=yes
escapeKey=KEY_INSERT
'';
}