Compare commits

...

3 Commits

Author SHA1 Message Date
Jill 5f3dabf56a fix olympus 2024-02-13 14:31:34 +03:00
Jill 6b0f130b97 add a package for olympus, the celeste modding utility 2024-02-13 09:32:15 +03:00
Jill 5251310b99 i hate discord so much 2024-02-07 12:36:18 +03:00
5 changed files with 104 additions and 45 deletions

View File

@ -55,11 +55,11 @@
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1704923501,
"narHash": "sha256-Kz3pymvpNHTlKruepOZ3lbiWxfGhtlK5JiqF0Hk+h6I=",
"lastModified": 1707059042,
"narHash": "sha256-6tomg1cTo7cwd7U3hIyDMA5iBuHg82cTr9TrUGnfxMw=",
"owner": "catppuccin",
"repo": "vscode",
"rev": "cf7019fdeba269650940fb0bd2c4e50c7bf498d8",
"rev": "50aa91ba31192bef8563a96e246d469091502d10",
"type": "github"
},
"original": {
@ -187,11 +187,11 @@
},
"hardware": {
"locked": {
"lastModified": 1706182238,
"narHash": "sha256-Ti7CerGydU7xyrP/ow85lHsOpf+XMx98kQnPoQCSi1g=",
"lastModified": 1707211557,
"narHash": "sha256-LTKTzZ6fM5j8XWXf51IMBzDaOaJg9kYWLUZxoIhzRN8=",
"owner": "nixos",
"repo": "nixos-hardware",
"rev": "f84eaffc35d1a655e84749228cde19922fcf55f1",
"rev": "6e5cc385fc8cf5ca6495d70243074ccdea9f64c7",
"type": "github"
},
"original": {
@ -207,11 +207,11 @@
]
},
"locked": {
"lastModified": 1705659542,
"narHash": "sha256-WA3xVfAk1AYmFdwghT7mt/erYpsU6JPu9mdTEP/e9HQ=",
"lastModified": 1706981411,
"narHash": "sha256-cLbLPTL1CDmETVh4p0nQtvoF+FSEjsnJTFpTxhXywhQ=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "10cd9c53115061aa6a0a90aad0b0dde6a999cdb9",
"rev": "652fda4ca6dafeb090943422c34ae9145787af37",
"type": "github"
},
"original": {
@ -291,11 +291,11 @@
},
"nixpkgs-unstable": {
"locked": {
"lastModified": 1706589919,
"narHash": "sha256-pNHnDITxSI3a17GOF1RUF3jBO1OiNYTRH2yV/cJG4m4=",
"lastModified": 1707205916,
"narHash": "sha256-fmRJilYGlB7VCt3XsdYxrA0u8e/K84O5xYucerUY0iM=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "222c1940fafeda4dea161858ffe6ebfc853d3db5",
"rev": "8cc79aa39bbc6eaedaf286ae655b224c71e02907",
"type": "github"
},
"original": {
@ -322,11 +322,11 @@
},
"nixpkgs_3": {
"locked": {
"lastModified": 1706515015,
"narHash": "sha256-eFfY5A7wlYy3jD/75lx6IJRueg4noE+jowl0a8lIlVo=",
"lastModified": 1707091808,
"narHash": "sha256-LahKBAfGbY836gtpVNnWwBTIzN7yf/uYM/S0g393r0Y=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "f4a8d6d5324c327dcc2d863eb7f3cc06ad630df4",
"rev": "9f2ee8c91ac42da3ae6c6a1d21555f283458247e",
"type": "github"
},
"original": {

View File

@ -53,8 +53,7 @@
};
};
#packages."${system}" = mapModules ./packages (p: pkgs.callPackage p {});
packages."${system}" = {};
packages."${system}" = mapModules ./packages (p: pkgs.callPackage p {});
nixosModules = mapModulesRec ./modules import;

View File

@ -20,8 +20,10 @@
# compatilibility
wineWowPackages.waylandFull winetricks
# misc
cowsay file which tree gnused yt-dlp
];
cowsay file which tree gnused yt-dlp prismlauncher
] ++ (with pkgs.my; [
olympus
]);
# usually you don't need to do this, but this is a workaround for https://github.com/flameshot-org/flameshot/issues/3328
hm.services.flameshot.enable = true;
@ -85,6 +87,7 @@
# distractions
distractions.steam.enable = true;
distractions.discord.enable = true;
distractions.discord.armcord = true;
};
};
}

View File

@ -6,32 +6,38 @@ let
in {
options.modules.software.distractions.discord = {
enable = mkEnableOption "Enable Discord, a social messaging app";
armcord = mkEnableOption "Use Armcord, an alternative Electron client";
};
config = mkIf cfg.enable {
user.packages = let
flags =
[
"--flag-switches-begin"
"--flag-switches-end"
"--disable-gpu-memory-buffer-video-frames"
"--enable-accelerated-mjpeg-decode"
"--enable-accelerated-video"
"--enable-gpu-rasterization"
"--enable-native-gpu-memory-buffers"
"--enable-zero-copy"
"--ignore-gpu-blocklist"
"--disable-features=UseOzonePlatform"
"--enable-features=VaapiVideoDecoder"
];
discord = (pkgs.unstable.discord-canary.override {
withOpenASAR = false;
withVencord = true;
}).overrideAttrs (old: {
preInstall = ''
gappsWrapperArgs+=("--add-flags" "${concatStringsSep " " flags}")
'';
});
in [ discord ];
};
config = mkIf cfg.enable (mkMerge [
(mkIf (!cfg.armcord) {
user.packages = let
flags =
[
"--flag-switches-begin"
"--flag-switches-end"
"--disable-gpu-memory-buffer-video-frames"
"--enable-accelerated-mjpeg-decode"
"--enable-accelerated-video"
"--enable-gpu-rasterization"
"--enable-native-gpu-memory-buffers"
"--enable-zero-copy"
"--ignore-gpu-blocklist"
"--disable-features=UseOzonePlatform"
"--enable-features=VaapiVideoDecoder"
];
discord = (pkgs.unstable.discord-canary.override {
withOpenASAR = false;
withVencord = true;
}).overrideAttrs (old: {
preInstall = ''
gappsWrapperArgs+=("--add-flags" "${concatStringsSep " " flags}")
'';
});
in [ discord ];
})
(mkIf cfg.armcord {
user.packages = with pkgs.unstable; [ armcord ];
})
]);
}

View File

@ -0,0 +1,51 @@
# Borrowed from https://raw.githubusercontent.com/VergeDX/config-nixpkgs/341684da8ccb6699fad399b998aa0caad723d882/packages/gui/olympus.nix
{ pkgs, makeDesktopItem }:
let
olympus = pkgs.stdenv.mkDerivation rec {
pname = "olympus";
version = "3813";
# https://everestapi.github.io/
src = pkgs.fetchzip {
url = "https://dev.azure.com/EverestAPI/Olympus/_apis/build/builds/${version}/artifacts?artifactName=linux.main&$format=zip#linux.main.zip";
hash = "sha256-thnHPPsuUne0zX1Fx+BjQiOoKseXDDUIvrczhOdSZmY=";
};
buildInputs = [ pkgs.unzip pkgs.makeWrapper ];
installPhase = ''
mkdir -p "$out/opt/olympus/"
mv dist.zip "$out/opt/olympus/" && cd "$out/opt/olympus/"
unzip dist.zip && rm dist.zip
mkdir $out && echo XDG_DATA_HOME=$out
echo y | XDG_DATA_HOME="$out/share/" bash install.sh
rm ./love
rm ./find-love
cp ${pkgs.love}/bin/love ./find-love
sed -i "s/Exec=.*/Exec=olympus %u/g" ../../share/applications/Olympus.desktop
'';
};
in
pkgs.buildFHSEnv {
name = "olympus";
runScript = "${olympus}/opt/olympus/olympus";
targetPkgs = pkgs: [
pkgs.freetype
pkgs.zlib
pkgs.SDL2
pkgs.curl
pkgs.libpulseaudio
pkgs.gtk3
pkgs.glib
pkgs.xdg-utils
pkgs.icu
pkgs.openssl
];
# https://github.com/EverestAPI/Olympus/blob/main/lib-linux/olympus.desktop
# https://stackoverflow.com/questions/8822097/how-to-replace-a-whole-line-with-sed
extraInstallCommands = ''cp -r "${olympus}/share/" $out'';
}