Compare commits
5 commits
90062a97d9
...
261c104c87
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
261c104c87 | ||
|
|
ea100744d6 | ||
|
|
eb574f5e4b | ||
|
|
4d7a64d72e | ||
|
|
b036345fa7 |
88
flake.lock
88
flake.lock
|
|
@ -9,8 +9,8 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1747936972,
|
||||
"narHash": "sha256-MZUY92ZRyEsM6tfqFqbvqx8InwJ+jh7peYreR4bbsSQ=",
|
||||
"lastModified": 1748618316,
|
||||
"narHash": "sha256-NzkDNSFTVwoXX37n/+u7z93aUdPFIeh8+P7QhX7M8cw=",
|
||||
"path": "/home/alice/projects/edit",
|
||||
"type": "path"
|
||||
},
|
||||
|
|
@ -28,11 +28,11 @@
|
|||
"rust-analyzer-src": "rust-analyzer-src"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1747392669,
|
||||
"narHash": "sha256-zky3+lndxKRu98PAwVK8kXPdg+Q1NVAhaI7YGrboKYA=",
|
||||
"lastModified": 1748414334,
|
||||
"narHash": "sha256-pWLq78fWssxiRAvLQZnxKupUogR25u+28XS4lfxMMoE=",
|
||||
"owner": "nix-community",
|
||||
"repo": "fenix",
|
||||
"rev": "c3c27e603b0d9b5aac8a16236586696338856fbb",
|
||||
"rev": "1c050d9008ff9e934f8bb5298c902259ea2cb3f7",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -77,6 +77,24 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils_3": {
|
||||
"inputs": {
|
||||
"systems": "systems_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1731533236,
|
||||
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flakey-profile": {
|
||||
"locked": {
|
||||
"lastModified": 1712898590,
|
||||
|
|
@ -99,11 +117,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1747875884,
|
||||
"narHash": "sha256-tdVx4kghhdy62LKuTnwE2RytOe8o88tah/yhpyuL0D4=",
|
||||
"lastModified": 1751824240,
|
||||
"narHash": "sha256-aDDC0CHTlL7QDKWWhdbEgVPK6KwWt+ca0QkmHYZxMzI=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "f9186c64fcc6ee5f0114547acf9e814c806a640b",
|
||||
"rev": "fd9e55f5fac45a26f6169310afca64d56b681935",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -149,11 +167,11 @@
|
|||
},
|
||||
"nixos-hardware": {
|
||||
"locked": {
|
||||
"lastModified": 1747900541,
|
||||
"narHash": "sha256-dn64Pg9xLETjblwZs9Euu/SsjW80pd6lr5qSiyLY1pg=",
|
||||
"lastModified": 1751432711,
|
||||
"narHash": "sha256-136MeWtckSHTN9Z2WRNRdZ8oRP3vyx3L8UxeBYE+J9w=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixos-hardware",
|
||||
"rev": "11f2d9ea49c3e964315215d6baa73a8d42672f06",
|
||||
"rev": "497ae1357f1ac97f1aea31a4cb74ad0d534ef41f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -165,11 +183,11 @@
|
|||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1747744144,
|
||||
"narHash": "sha256-W7lqHp0qZiENCDwUZ5EX/lNhxjMdNapFnbErcbnP11Q=",
|
||||
"lastModified": 1751637120,
|
||||
"narHash": "sha256-xVNy/XopSfIG9c46nRmPaKfH1Gn/56vQ8++xWA8itO4=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "2795c506fe8fb7b03c36ccb51f75b6df0ab2553f",
|
||||
"rev": "5c724ed1388e53cc231ed98330a60eb2f7be4be3",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -184,17 +202,18 @@
|
|||
"home-manager": "home-manager",
|
||||
"lix-module": "lix-module",
|
||||
"nixos-hardware": "nixos-hardware",
|
||||
"nixpkgs": "nixpkgs"
|
||||
"nixpkgs": "nixpkgs",
|
||||
"tepid-client-services": "tepid-client-services"
|
||||
}
|
||||
},
|
||||
"rust-analyzer-src": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1747323949,
|
||||
"narHash": "sha256-G4NwzhODScKnXqt2mEQtDFOnI0wU3L1WxsiHX3cID/0=",
|
||||
"lastModified": 1748389118,
|
||||
"narHash": "sha256-5QJCzMtA2lBFNGou2dbFrGgWXxfL2O92oJoUnqeoNjI=",
|
||||
"owner": "rust-lang",
|
||||
"repo": "rust-analyzer",
|
||||
"rev": "f8e784353bde7cbf9a9046285c1caf41ac484ebe",
|
||||
"rev": "4f7af13637a77ce1dc21e58fcd3f635efbfb43a7",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -233,6 +252,39 @@
|
|||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_3": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"tepid-client-services": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils_3",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1748621871,
|
||||
"narHash": "sha256-mflM2kstVU2S/bil0IJQb+T6gqlB7Sm7BkRW7FZG7l0=",
|
||||
"path": "/home/alice/projects/tepid-client-services/",
|
||||
"type": "path"
|
||||
},
|
||||
"original": {
|
||||
"path": "/home/alice/projects/tepid-client-services/",
|
||||
"type": "path"
|
||||
}
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
|
|
|
|||
11
flake.nix
11
flake.nix
|
|
@ -20,6 +20,12 @@
|
|||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
tepid-client-services = {
|
||||
url = "path:/home/alice/projects/tepid-client-services/";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
|
||||
};
|
||||
outputs =
|
||||
{
|
||||
|
|
@ -28,7 +34,8 @@
|
|||
lix-module,
|
||||
home-manager,
|
||||
nixos-hardware,
|
||||
edit
|
||||
edit,
|
||||
tepid-client-services
|
||||
}:
|
||||
let
|
||||
system = "x86_64-linux";
|
||||
|
|
@ -48,7 +55,7 @@
|
|||
name = hostname;
|
||||
value = nixpkgs.lib.nixosSystem {
|
||||
inherit system;
|
||||
# _module.args = { inherit edit; };
|
||||
specialArgs = { inherit edit tepid-client-services; };
|
||||
modules = defaultModules ++ modules;
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
# your system. Help is available in the configuration.nix(5) man page, on
|
||||
# https://search.nixos.org/options and in the NixOS manual (`nixos-help`).
|
||||
|
||||
{ config, lib, pkgs, ... }:
|
||||
{ config, lib, pkgs, edit, tepid-client-services, flakelib, ... }: # fix this this is awful
|
||||
|
||||
{
|
||||
imports = [ # Include the results of the hardware scan.
|
||||
|
|
@ -39,6 +39,9 @@
|
|||
|
||||
# Enable unfree packages.
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
nixpkgs.config.permittedInsecurePackages = [
|
||||
"dotnet-runtime-7.0.20"
|
||||
];
|
||||
|
||||
networking.hostName = "randolph"; # Define your hostname.
|
||||
networking.networkmanager.enable =
|
||||
|
|
@ -158,6 +161,9 @@
|
|||
shell = pkgs.zsh;
|
||||
};
|
||||
home-manager.users.alice = import ./home.nix;
|
||||
home-manager.extraSpecialArgs = {
|
||||
inherit edit tepid-client-services flakelib;
|
||||
};
|
||||
|
||||
# Make sure swaylock works (defined in home.nix)
|
||||
security.pam.services.swaylock = { };
|
||||
|
|
|
|||
BIN
pkgs/celeste/celeste-linux.zip
Normal file
BIN
pkgs/celeste/celeste-linux.zip
Normal file
Binary file not shown.
122
pkgs/celeste/default.nix
Normal file
122
pkgs/celeste/default.nix
Normal file
|
|
@ -0,0 +1,122 @@
|
|||
{
|
||||
stdenvNoCC,
|
||||
lib,
|
||||
requireFile,
|
||||
unzip,
|
||||
copyDesktopItems,
|
||||
xxd,
|
||||
makeWrapper,
|
||||
SDL2,
|
||||
mono,
|
||||
makeDesktopItem,
|
||||
libfmodstudio_fix,
|
||||
libfmodstudio,
|
||||
libfna3d,
|
||||
libfmodsdl,
|
||||
}:
|
||||
stdenvNoCC.mkDerivation rec {
|
||||
name = "celeste-game";
|
||||
version = "1.4.0.0";
|
||||
|
||||
src = requireFile {
|
||||
name = "celeste-linux.zip";
|
||||
url = "https://maddymakesgamesinc.itch.io/celeste";
|
||||
hash = "sha256-q4gniSgg00U3j5TZpvIZnSmqAyCHd/pOVAuQ3rDYEAs=";
|
||||
};
|
||||
sourceRoot = "."; # needed for multiple directories
|
||||
|
||||
nativeBuildInputs = [
|
||||
unzip # for unzipping
|
||||
copyDesktopItems # will help!
|
||||
makeWrapper
|
||||
xxd
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
libfmodstudio_fix
|
||||
libfmodstudio
|
||||
libfna3d
|
||||
SDL2
|
||||
libfmodsdl
|
||||
|
||||
mono
|
||||
];
|
||||
|
||||
strictDeps = true;
|
||||
dontConfigure = true;
|
||||
|
||||
patchPhase = ''
|
||||
# patch celeste
|
||||
runHook prePatch
|
||||
# TODO: i don't know what this magic string does and it bothers me
|
||||
# TODO: convert these to patch files?
|
||||
xxd -p < Celeste.exe | tr -d '\n' | LC_ALL=C sed 's/03000616fe012a0013300200210000000a000011160a02145112012014100100/03000616fe012a0013300200210000000a000011160a02145112012006020200/g' | xxd -r -p > Celeste.exe.patched
|
||||
mv Celeste.exe.patched Celeste.exe
|
||||
|
||||
# this cannot possibly be the best way of doing this
|
||||
cat >Celeste.exe.config <<EOF
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<dllmap dll="fmod" os="linux" target="libfmod.so.13"/>
|
||||
<dllmap dll="fmodstudio" os="linux" target="libfmodstudio.so.13">
|
||||
<dllentry dll="fmodstudio_fix.so" name="FMOD_Studio_EventInstance_SetParameterValue" target="_FMOD_Studio_EventInstance_SetParameterValue"/>
|
||||
<dllentry dll="fmodstudio_fix.so" name="FMOD_Studio_System_Create" target="_FMOD_Studio_System_Create"/>
|
||||
<dllentry dll="fmodstudio.so.13" name="FMOD_Studio_System_GetLowLevelSystem" target="FMOD_Studio_System_GetCoreSystem"/>
|
||||
<dllentry dll="fmodstudio.so.13" name="FMOD_Studio_EventInstance_TriggerCue" target="FMOD_Studio_EventInstance_KeyOff"/>
|
||||
</dllmap>
|
||||
</configuration>
|
||||
EOF
|
||||
|
||||
runHook postPatch
|
||||
'';
|
||||
|
||||
dontBuild = true;
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall # these get clobbered
|
||||
|
||||
mkdir -p $out/{bin,lib}
|
||||
cp Celeste.exe Celeste.exe.config Celeste.pdb $out/lib
|
||||
cp Celeste.Content.dll Celeste.Content.pdb $out/lib
|
||||
cp FNA.dll FNA.dll.config FNA3D.dll $out/lib
|
||||
cp -r Content/ $out/lib
|
||||
cp -r Backups/ $out/lib
|
||||
cp gamecontrollerdb.txt $out/lib
|
||||
|
||||
mkdir -p $out/share/icons/hicolor/512x512/apps
|
||||
cp Celeste.png $out/share/icons/hicolor/512x512/apps
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
makeWrapper "${mono}/bin/mono" "$out/bin/celeste-game" \
|
||||
--add-flags "--debug $out/lib/Celeste.exe" \
|
||||
--prefix LD_LIBRARY_PATH : ${
|
||||
lib.makeLibraryPath [
|
||||
"$out"
|
||||
libfmodstudio_fix
|
||||
libfmodstudio
|
||||
libfna3d
|
||||
SDL2
|
||||
libfmodsdl
|
||||
]
|
||||
}
|
||||
'';
|
||||
|
||||
desktopItems = [
|
||||
(makeDesktopItem {
|
||||
name = name;
|
||||
exec = "celeste-game %U";
|
||||
icon = "Celeste";
|
||||
comment = "Just breathe. You can do this..."; # should be an actual description of Celeste
|
||||
desktopName = "Celeste";
|
||||
categories = [
|
||||
"Game"
|
||||
"Application"
|
||||
];
|
||||
})
|
||||
];
|
||||
|
||||
meta = { };
|
||||
}
|
||||
|
|
@ -1,62 +0,0 @@
|
|||
{
|
||||
description = "core-lending";
|
||||
|
||||
inputs = {
|
||||
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
|
||||
flake-parts.url = "github:hercules-ci/flake-parts";
|
||||
rust-overlay = {
|
||||
url = "github:oxalica/rust-overlay";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
};
|
||||
|
||||
outputs = inputs: inputs.flake-parts.lib.mkFlake { inherit inputs; } {
|
||||
systems = [
|
||||
"x86_64-linux"
|
||||
"aarch64-darwin"
|
||||
];
|
||||
|
||||
perSystem = { self', pkgs, system, ... }:
|
||||
let
|
||||
rustVersion = "1.86.0";
|
||||
rust = pkgs.rust-bin.stable.${rustVersion};
|
||||
rustPlatform = pkgs.makeRustPlatform {
|
||||
rustc = rust.minimal;
|
||||
cargo = rust.minimal;
|
||||
};
|
||||
cargoToml = builtins.fromTOML (builtins.readFile ./Cargo.toml);
|
||||
in
|
||||
{
|
||||
_module.args.pkgs = import inputs.nixpkgs {
|
||||
inherit system;
|
||||
overlays = [ inputs.rust-overlay.overlays.default ];
|
||||
};
|
||||
|
||||
packages.default = rustPlatform.buildRustPackage {
|
||||
pname = cargoToml.package.name;
|
||||
version = cargoToml.package.version;
|
||||
|
||||
src = ./.;
|
||||
cargoLock = {
|
||||
lockFile = ./Cargo.lock;
|
||||
};
|
||||
};
|
||||
|
||||
devShells.default = pkgs.mkShell {
|
||||
buildInputs = [
|
||||
pkgs.diesel-cli
|
||||
pkgs.elmPackages.elm
|
||||
pkgs.elmPackages.elm-language-server
|
||||
pkgs.postgresql_17
|
||||
(rust.default.override {
|
||||
extensions = [ "rust-analyzer" "rust-src" ];
|
||||
})
|
||||
];
|
||||
|
||||
shellHook = ''
|
||||
export LANG="en_US.UTF-8"
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
1
pkgs/edit/result
Symbolic link
1
pkgs/edit/result
Symbolic link
|
|
@ -0,0 +1 @@
|
|||
/nix/store/v87dnjfc7275z6lwc52qa42vw773nvr3-edit-1.0.0
|
||||
|
|
@ -1,20 +1,20 @@
|
|||
{lib, pkgs, ...}:
|
||||
let
|
||||
overlay = (final: prev: {
|
||||
clifm = prev.clifm.overrideAttrs (old: {
|
||||
version = "1.23";
|
||||
src = prev.fetchFromGitHub {
|
||||
owner = "leo-arch";
|
||||
repo = prev.clifm.pname;
|
||||
rev = "v1.23";
|
||||
hash = "sha256-FtlLz77yy/QfRyAhJSh5juCSPCZ921sTGhuYJzCusus=";
|
||||
};
|
||||
});
|
||||
});
|
||||
# overlay = (final: prev: {
|
||||
# clifm = prev.clifm.overrideAttrs (old: {
|
||||
# version = "1.23";
|
||||
# src = prev.fetchFromGitHub {
|
||||
# owner = "leo-arch";
|
||||
# repo = prev.clifm.pname;
|
||||
# rev = "v1.23";
|
||||
# hash = "sha256-FtlLz77yy/QfRyAhJSh5juCSPCZ921sTGhuYJzCusus=";
|
||||
# };
|
||||
# });
|
||||
# });
|
||||
file_picker = pkgs.writeScriptBin "file_picker" (builtins.readFile "${pkgs.clifm}/share/clifm/plugins/file_picker.sh");
|
||||
in
|
||||
{
|
||||
home.packages = with pkgs.extend overlay; [ atool fzf xdragon unzip zip sshfs clifm ]
|
||||
home.packages = with pkgs; [ atool fzf xdragon unzip zip sshfs clifm ]
|
||||
++ [ file_picker ];
|
||||
xdg.configFile."clifm/profiles/default/clifmrc".source = ./clifm/clifmrc;
|
||||
xdg.configFile."clifm/profiles/default/mimelist.clifm".source = ./clifm/mimelist.clifm;
|
||||
|
|
|
|||
|
|
@ -55,8 +55,8 @@
|
|||
# envs
|
||||
[ xdg-terminal-exec glib upower ] ++
|
||||
(let
|
||||
archivo = callPackage ../../pkgs/archivo/archivo.nix { };
|
||||
highway-gothic = callPackage ../../pkgs/highway-gothic/highway-gothic.nix { };
|
||||
archivo = callPackage ../pkgs/archivo/archivo.nix { };
|
||||
highway-gothic = callPackage ../pkgs/highway-gothic/highway-gothic.nix { };
|
||||
in [
|
||||
noto-fonts
|
||||
inter
|
||||
|
|
|
|||
Loading…
Reference in a new issue