Compare commits

...

30 Commits

Author SHA1 Message Date
Whovian NTSN 499b4bf30a Dotnet lock files failing, basically right after I update `flake.lock`? Feels like a coincidence, but... 2024-05-18 18:01:41 -04:00
Whovian NTSN 884596a413 Forgot to update `rom-properties.src` before committing originally! 2024-05-18 17:48:32 -04:00
Whovian NTSN a30d7b0b94 Removed my `callPackage = pkgs.callPackage`\ "alias" so it's a little less confusing. 2024-05-18 17:47:43 -04:00
Whovian NTSN 3b7957d45b Silly me, I forgot `pkgs.` on the flake's `callPackage` call for `rom-properties`! 2024-05-18 17:46:13 -04:00
Whovian NTSN d4bb874a57 Finally add `rom-properties` to `home.packages`! 2024-05-18 17:40:09 -04:00
Whovian NTSN 3b82363534 Update `flake.lock` just because. 2024-05-18 17:20:43 -04:00
Whovian NTSN 5ae1623230 Remove `TargetName_lowercase.diff` since it didn't work, so I don't use it anymore. 2024-05-18 16:36:04 -04:00
Whovian NTSN a609e36403 Swap to using the main `csproj`, and rename the binary to `sabretools` 2024-05-18 16:35:10 -04:00
Whovian NTSN dc83e9ca00 Add SabreTools to `home.packages` -- Bianry is `SabreTools`, trying to fix that... 2024-05-18 06:27:33 -04:00
Whovian NTSN 1f699da0a1 Commas and incorrectly pointing at variables are hard. 2024-05-18 05:54:39 -04:00
Whovian NTSN 813722216b Oops, messed up where `ps3dec` was actually located. 2024-05-18 05:51:17 -04:00
Whovian NTSN 267dad7f8b idk, I moved some comments around again. 2024-05-18 05:49:45 -04:00
Whovian NTSN 4e4601eafa Change `ps3dec` license to `lib.licenses.unfree` because \*TECHNICALLY...\* 2024-05-18 05:49:17 -04:00
Whovian NTSN 5bfa7afb82 Add `ps3dec` to `home.packages` 2024-05-18 05:44:36 -04:00
Whovian NTSN 3edea2bd31 Update `flake.lock` 2024-05-18 04:06:46 -04:00
Whovian NTSN c63489eff2 Update IRDKit's `deps.nix` so it can build. 2024-05-18 03:48:31 -04:00
Whovian NTSN 8376e2453c Bleh 2024-05-18 03:34:23 -04:00
Whovian NTSN 4e034f1bfc Tweak some comments around my self-packaged apps. 2024-05-18 03:31:06 -04:00
Whovian NTSN a23fc68d9e Add my self-packaged apps to `flake.nix` so I can easily update them in future. 2024-05-18 03:30:33 -04:00
Whovian NTSN 1b7aa8a8b3 Enable `nixpkgs.config.allowUnfree = true;` to make my life easier. 2024-05-18 03:27:59 -04:00
Whovian NTSN 7ad91a64ac Remove myself as maintainer of `ird_tools` just to ease any issues there. 2024-05-18 02:16:16 -04:00
Whovian NTSN 08baf793bf Ah, I misread my own comment lol. Tweaked the message a little, that's for future me. 2024-05-18 02:11:05 -04:00
Whovian NTSN 42619cc0d5 Change `ird_tools` back to `lib.licenses.unfree`, and tweak comment layout. 2024-05-18 02:08:59 -04:00
Whovian NTSN e91485c0af Add `irdkit` and `ird_tools` to my packages again. 2024-05-18 01:50:05 -04:00
Whovian NTSN a4f824c0e7 Add old root channel list to `README.md` so I have a record of it. Just in case. 2024-05-17 19:19:37 -04:00
Whovian NTSN 77d5921a3d ... Maybe a couple more comments. 2024-05-14 06:02:59 -04:00
Whovian NTSN ac341f613a Move some comments around again. 2024-05-14 04:23:11 -04:00
Whovian NTSN 3bc7bddb25 Change `system.configurationRevision` to use `self.shortRev` instead of `rev`. 2024-05-14 04:04:51 -04:00
Whovian NTSN 2ea9051688 Remove some outdated files that git was still holding... for some reason. 2024-05-13 23:31:53 -04:00
Whovian NTSN d0c059e25e First try of a slightly cleaner version. 2024-05-13 23:18:54 -04:00
20 changed files with 742 additions and 370 deletions

View File

@ -1,125 +0,0 @@
{
description = "Whovian9369's WSL NixOS Config";
inputs = {
### Basically required
nixpkgs = {
url = "github:NixOS/nixpkgs/nixos-unstable";
};
nixos-wsl = {
url = "github:nix-community/NixOS-WSL/main";
inputs.nixpkgs.follows = "nixpkgs";
inputs.flake-utils.follows = "flake-utils";
};
### My extra inputs
agenix = {
url = "github:ryantm/agenix";
inputs.nixpkgs.follows = "nixpkgs";
# Optional, not necessary for the module
inputs.darwin.follows = "";
# Optionally choose not to download darwin deps
# (saves some resources on Linux)
inputs.systems.follows = "nix-systems_default";
inputs.home-manager.follows = "home-manager";
};
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
my_packages = {
url = "/home/whovian/.flakes";
inputs.nixpkgs.follows = "nixpkgs";
};
xil = {
url = "github:Qyriad/Xil";
inputs.nixpkgs.follows = "nixpkgs";
inputs.flake-utils.follows = "flake-utils";
};
nix-index-database = {
url = "github:nix-community/nix-index-database";
inputs.nixpkgs.follows = "nixpkgs";
};
#########
# Extra inputs that I am adding just to make my life easier,
# but don't like that they're included >:(
#########
# I don't like `flake-utils`, but so many things use it that I might as
# well only keep a single version of it.
flake-utils = {
url = "github:numtide/flake-utils";
inputs.systems.follows = "nix-systems_default";
};
# Ditto to github:nix-systems/default
nix-systems_default = {
url = "github:nix-systems/default";
};
}; # inputs
outputs = {
# Needed
self, nixpkgs, nixos-wsl,
# Added by me
agenix, home-manager, my_packages, nix-index-database, xil, ... }:
{
nixosConfigurations = {
testing-wsl = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
./system/configuration.nix
nixos-wsl.nixosModules.wsl
home-manager.nixosModules.home-manager
{
system.configurationRevision = self.rev or self.dirtyRev or "dirty";
home-manager = {
useGlobalPkgs = true;
useUserPackages = true;
extraSpecialArgs = {
inherit my_packages;
inherit xil;
my_pkgs = my_packages.packages.x86_64-linux;
system = "x86_64-linux";
};
sharedModules = [
# ./home/home.nix
agenix.homeManagerModules.default
nix-index-database.hmModules.nix-index
];
users.whovian = import ./home/home.nix;
# users.whovian.home.packages = [
# agenix.packages.x86_64-linux.default
# ];
/*
home-manager.lib.homeManagerConfiguration {
# configuration = import ./home/home.nix;
# system = "x86_64-linux";
# pkgs = import nixpkgs {
# system = "x86_64-linux";
# config = {
# allowUnfree = true;
# };
# };
};
*/
};
}
];
};
};
};
}

View File

@ -10,3 +10,11 @@ If you have suggestions on "fixing" or "cleaning up" my configurations, please a
[[Xe Iaso] Nix Flakes on WSL](https://xeiaso.net/blog/nix-flakes-4-wsl-2022-05-01/)
[[Home-Manager GitHub/Site] Setting up `home-manager` as a NixOS module.](https://nix-community.github.io/home-manager/index.xhtml#sec-flakes-nixos-module)
### Notes:
```bash
$ sudo nix-channel --list
nixos https://nixos.org/channels/nixos-23.11
nixos-wsl https://github.com/nix-community/NixOS-WSL/archive/refs/heads/main.tar.gz
```

View File

@ -70,11 +70,11 @@
]
},
"locked": {
"lastModified": 1715380449,
"narHash": "sha256-716+f9Rj3wjSyD1xitCv2FcYbgPz1WIVDj+ZBclH99Y=",
"lastModified": 1715930644,
"narHash": "sha256-W9pyM3/vePxrffHtzlJI6lDS3seANQ+Nqp+i58O46LI=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "d7682620185f213df384c363288093b486b2883f",
"rev": "e3ad5108f54177e6520535768ddbf1e6af54b59d",
"type": "github"
},
"original": {
@ -83,23 +83,6 @@
"type": "github"
}
},
"my_packages": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1715061149,
"narHash": "sha256-ZM13/Z/7W9POKVIoMIJzRRzKY8v9oMD1nhLdXej0pFY=",
"path": "/home/whovian/.flakes",
"type": "path"
},
"original": {
"path": "/home/whovian/.flakes",
"type": "path"
}
},
"nix-index-database": {
"inputs": {
"nixpkgs": [
@ -107,11 +90,11 @@
]
},
"locked": {
"lastModified": 1714878592,
"narHash": "sha256-E68C03sYRsYFsK7wiGHUIJm8IsyPRALOrFoTL0glXnI=",
"lastModified": 1715483403,
"narHash": "sha256-WMDuQj7J5jbpXI/X/E6FZRKgBFGcaSTvYyVxPnKE6KU=",
"owner": "nix-community",
"repo": "nix-index-database",
"rev": "a362555e9dbd4ecff3bb98969bbdb8f79fe87f10",
"rev": "f9027322f48b427da23746aa359a6510dfcd0228",
"type": "github"
},
"original": {
@ -146,11 +129,11 @@
]
},
"locked": {
"lastModified": 1715237610,
"narHash": "sha256-/ZeWQ4mL3DfHsbTZYc80qMrL4vBfENP0RiGv2KrCrEo=",
"lastModified": 1716028628,
"narHash": "sha256-sjgvUXjDXIA48tq+nbQ+e2BfAJyz865mfOtXTj1c8yQ=",
"owner": "nix-community",
"repo": "NixOS-WSL",
"rev": "61fe33f4194bbbc48c090a2e79f4eb61b47c9b75",
"rev": "041bad074dbde651c6b9d23dce5ee15b67e98c6c",
"type": "github"
},
"original": {
@ -162,11 +145,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1715266358,
"narHash": "sha256-doPgfj+7FFe9rfzWo1siAV2mVCasW+Bh8I1cToAXEE4=",
"lastModified": 1715961556,
"narHash": "sha256-+NpbZRCRisUHKQJZF3CT+xn14ZZQO+KjxIIanH3Pvn4=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "f1010e0469db743d14519a1efd37e23f8513d714",
"rev": "4a6b83b05df1a8bd7d99095ec4b4d271f2956b64",
"type": "github"
},
"original": {
@ -181,7 +164,6 @@
"agenix": "agenix",
"flake-utils": "flake-utils",
"home-manager": "home-manager",
"my_packages": "my_packages",
"nix-index-database": "nix-index-database",
"nix-systems_default": "nix-systems_default",
"nixos-wsl": "nixos-wsl",

View File

@ -31,11 +31,6 @@
inputs.nixpkgs.follows = "nixpkgs";
};
my_packages = {
url = "/home/whovian/.flakes";
inputs.nixpkgs.follows = "nixpkgs";
};
xil = {
url = "github:Qyriad/Xil";
inputs.nixpkgs.follows = "nixpkgs";
@ -71,42 +66,59 @@
# Needed
self, nixpkgs, nixos-wsl,
# Added by me
agenix, home-manager, my_packages, nix-index-database, xil, ... }:
agenix, home-manager, nix-index-database, xil, ... }:
let
pkgs = import nixpkgs {
system = "x86_64-linux";
config.allowUnfree = true;
};
in
{
nixosConfigurations = {
nixos-wsl = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
./system/configuration.nix
./system/nixos-wsl/configuration.nix
nixos-wsl.nixosModules.wsl
home-manager.nixosModules.home-manager
{
system.configurationRevision = self.rev or self.dirtyRev or "dirty";
system.configurationRevision = self.shortRev or self.dirtyShortRev or "dirty";
home-manager = {
useGlobalPkgs = true;
useUserPackages = true;
sharedModules = [
./home/home.nix
agenix.homeManagerModules.default
nix-index-database.hmModules.nix-index
];
users.whovian.home.packages = [
agenix.packages.x86_64-linux.default
];
users.whovian = ./home/home.nix;
# Optionally, use home-manager.extraSpecialArgs to pass arguments to home.nix
extraSpecialArgs = {
system = "x86_64-linux";
inherit my_packages;
inherit xil;
my_pkgs = my_packages.packages.x86_64-linux;
inherit nixpkgs;
pkgs = import nixpkgs {
system = "x86_64-linux";
config.allowUnfree = true;
};
inherit agenix;
# inherit my_packages;
# my_pkgs = my_packages.packages.x86_64-linux;
};
};
}
];
};
};
packages.x86_64-linux = {
irdkit = pkgs.callPackage ./home/packages/irdkit/package.nix {};
ird_tools = pkgs.callPackage ./home/packages/ird_tools/package.nix {};
ps3dec = pkgs.callPackage ./home/packages/ps3dec/package.nix {};
sabretools = pkgs.callPackage ./home/packages/sabretools/package.nix {};
rom-properties = pkgs.callPackage ./home/packages/rom-properties/package.nix {};
};
};
}

16
home/aliases.nix Normal file
View File

@ -0,0 +1,16 @@
{
home.shellAliases = {
# From Windows "%PATH%"
"adb" = "adb.exe";
"caja" = "explorer.exe";
"hactoolnet" = "hactoolnet.exe";
"mpv" = "mpv.com";
"tailscale" = "tailscale.exe";
"yt-dlp" = "yt-dlp.exe";
"7zexe" = "/mnt/c/Program\\ Files/7-Zip/7z.exe";
# From Nix environment
"7z" = "7zz";
# "7zz" is from "nixpkgs#_7zz"
};
}

37
home/dotfiles.nix Normal file
View File

@ -0,0 +1,37 @@
{
home.file = {
/*
# Building this configuration will create a copy of 'dotfiles/screenrc' in
# the Nix store. Activating the configuration will then make '~/.screenrc' a
# symlink to the Nix store copy.
".screenrc".source = dotfiles/screenrc;
# You can also set the file content immediately.
".gradle/gradle.properties".text = ''
org.gradle.console=verbose
org.gradle.daemon.idletimeout=3600000
'';
*/
".zshrc".text = ''
eval "$(direnv hook zsh)"
download_nixpkgs_cache_index () {
filename="index-$(uname -m | sed 's/^arm64$/aarch64/')-$(uname | tr A-Z a-z)"
mkdir -p ~/.cache/nix-index && cd ~/.cache/nix-index
# -N will only download a new version if there is an update.
wget -q -N https://github.com/Mic92/nix-index-database/releases/latest/download/$filename
ln -f $filename files
}
'';
".lftp/rc".text = ''
alias s32 "mirror -c --use-pget-n=32"
alias p32 "pget -n 32 -c"
alias p16 "pget -n 16 -c"
alias s16 "mirror -c --use-pget-n=16"
alias p8 "pget -n 8 -c"
alias ssl "set ssl:verify-certificate false"
'';
};
}

View File

@ -1,94 +1,52 @@
{
lib,
agenix,
config,
modulesPath,
nixosConfig,
nixpkgs,
options,
osConfig,
pkgs,
my_pkgs,
xil,
specialArgs,
system,
...
xil
}:
{
# Home Manager needs a bit of information about you and the paths it should
# manage.
home.username = "whovian";
home.homeDirectory = "/home/whovian";
imports = [
./pkgs_and_programs.nix # home.packages and programs
./dotfiles.nix # home.file
./variables.nix # home.sessionVariables
./aliases.nix # home.shellAliases
];
/*
This value determines the Home Manager release that your configuration is
compatible with. This helps avoid breakage when a new Home Manager release
introduces backwards incompatible changes.
home = {
# Home Manager needs a bit of information about you and the paths it should
# manage.
username = "whovian";
homeDirectory = "/home/whovian";
You should not change this value, even if you update Home Manager. If you do
want to update the value, then make sure to first check the Home Manager
release notes.
*/
home.stateVersion = "23.05"; # Please read the comment before changing.
/*
This value determines the Home Manager release that your configuration is
compatible with. This helps avoid breakage when a new Home Manager release
introduces backwards incompatible changes.
# The home.packages option allows you to install Nix packages into your
# environment.
nixpkgs = {
config = {
allowUnfree = true;
};
You should not change this value, even if you update Home Manager. If you do
want to update the value, then make sure to first check the Home Manager
release notes.
*/
stateVersion = "23.05"; # Please read the comment before changing.
# Let Home Manager install and manage itself.
# Probably not needed for a module?
# programs.home-manager.enable = true;
};
home.packages = [
pkgs._7zz
pkgs.bat
pkgs.binwalk
pkgs.cdecrypt
pkgs.colorized-logs
pkgs.croc
pkgs.dhex
pkgs.fd
pkgs.file
pkgs.gdrive3
pkgs.git
pkgs.hactool
pkgs.instaloader
pkgs.internetarchive
pkgs.lynx
pkgs.megatools
pkgs.ncdu
pkgs.nixfmt-classic
pkgs.progress
pkgs.pyrosimple
pkgs.python3
pkgs.quickbms
pkgs.rclone
pkgs.screen
pkgs.sshfs
pkgs.unrar-wrapper
pkgs.wget
pkgs.xxd
pkgs.yq
# my_pkgs.irdkit
my_pkgs.ird_tools
my_pkgs.rom-properties
xil.packages.${system}.xil
];
/*
Disabled
pkgs.binutils
# Instead just do `nix shell nixpkgs#binutils -c strings -- INPUT.ext > INPUT.ext.strings
pkgs.mpv
pkgs.terminator
pkgs.yt-dlp
pkgs.p7zip
# Replaced in favour of nixpkgs#_7zz
Disabled
*/
/*
# It is sometimes useful to fine-tune packages, for example, by applying
# overrides. You can do that directly here, just don't forget the
# parentheses. Maybe you want to install Nerd Fonts with a limited number of
# fonts?
(pkgs.nerdfonts.override { fonts = [ "FantasqueSansMono" ]; })
*/
# nixpkgs = {
# config = {
# allowUnfree = true;
# };
# };
age = {
identityPaths = [
@ -106,112 +64,4 @@
};
};
};
programs = {
bat = {
enable = true;
};
direnv = {
enable = true;
enableBashIntegration = true;
enableZshIntegration = true;
nix-direnv.enable = true;
};
git = {
enable = true;
userName = "Whovian9369";
userEmail = "Whovian9369@gmail.com";
extraConfig = {
init = {
defaultBranch = "main";
};
};
};
jq = {
enable = true;
};
nix-index = {
enable = true;
enableZshIntegration = false;
};
ripgrep = {
enable = true;
};
zsh = {
enable = true;
# Honestly unsure if I should be using `programs.zsh.envExtra` or
# `programs.zsh.localVariables` here.
localVariables = {
DISABLE_MAGIC_FUNCTIONS = true;
};
# enableAutosuggestions = true;
# enableCompletion = true;
oh-my-zsh = {
enable = true;
plugins = [
"git"
"sudo"
];
theme = "bira";
};
};
};
home.file = {
/*
# Building this configuration will create a copy of 'dotfiles/screenrc' in
# the Nix store. Activating the configuration will then make '~/.screenrc' a
# symlink to the Nix store copy.
".screenrc".source = dotfiles/screenrc;
# You can also set the file content immediately.
".gradle/gradle.properties".text = ''
org.gradle.console=verbose
org.gradle.daemon.idletimeout=3600000
'';
*/
".zshrc".text = ''
eval "$(direnv hook zsh)"
download_nixpkgs_cache_index () {
filename="index-$(uname -m | sed 's/^arm64$/aarch64/')-$(uname | tr A-Z a-z)"
mkdir -p ~/.cache/nix-index && cd ~/.cache/nix-index
# -N will only download a new version if there is an update.
wget -q -N https://github.com/Mic92/nix-index-database/releases/latest/download/$filename
ln -f $filename files
}
'';
".lftp/rc".text = ''
alias s32 "mirror -c --use-pget-n=32"
alias p32 "pget -n 32 -c"
alias p16 "pget -n 16 -c"
alias s16 "mirror -c --use-pget-n=16"
alias p8 "pget -n 8 -c"
alias ssl "set ssl:verify-certificate false"
'';
};
home.sessionVariables = {
EDITOR = "nano";
DOTNET_CLI_TELEMETRY_OPTOUT = "1";
OPENAI_API_KEY = "\$(cat ${config.age.secrets."openai".path})";
CURSEFORGE_API_KEY = "\$(cat ${config.age.secrets."cursed".path})";
ITCHIO_API_KEY = "\$(cat ${config.age.secrets."itchy".path})";
};
home.shellAliases = {
"adb" = "adb.exe";
"caja" = "explorer.exe";
"hactoolnet" = "hactoolnet.exe";
"mpv" = "mpv.com";
"tailscale" = "tailscale.exe";
"yt-dlp" = "yt-dlp.exe";
"7zexe" = "/mnt/c/Program\\ Files/7-Zip/7z.exe";
"7z" = "7zz";
};
# Let Home Manager install and manage itself.
programs.home-manager.enable = true;
}

View File

@ -0,0 +1,48 @@
{
lib,
fetchFromGitHub,
gcc13Stdenv,
makeWrapper,
zlib,
glibc,
}:
gcc13Stdenv.mkDerivation {
pname = "ird_tools";
version = "v0.7";
src = fetchFromGitHub {
name = "ird_tools";
owner = "Zarh";
repo = "ird_tools";
rev = "9489afc0979715a86fbfb6b5a9a93330863505eb";
hash = "sha256-1m243bPabo2riOInblDggqTniXg1f16UqeLXJfEBrf4=";
};
nativeBuildInputs = [ makeWrapper glibc.static zlib.static zlib.dev ];
installPhase = ''
runHook preInstall
mkdir -p $out/bin
cp ird_tools $out/bin
runHook postInstall
'';
meta = {
homepage = "https://github.com/Zarh/ird_tools";
description = "DESCRIPTION PLACEHOLDER";
longDescription = "DESCRIPTION PLACEHOLDER";
# license = lib.licenses.gpl3;
license = lib.licenses.unfree;
/*
Dev feels that it should be GPLv3, but doesn't have a `LICENSE` file in
the repository "proving" the licensing. Running with it for now.
Info on this: https://github.com/Zarh/ird_tools/issues/3
I'm keeping `lib.licenses.gpl3` license comment just to make sure I
remember to change it back... If the dev adds the file.
*/
maintainers = with lib.maintainers; [ ];
mainProgram = "ird_tools";
platforms = lib.platforms.linux;
};
}

View File

@ -0,0 +1,78 @@
# This file was automatically generated by passthru.fetch-deps.
# Please dont edit it manually, your changes might get overwritten!
{ fetchNuGet }: [
(fetchNuGet { pname = "CommandLineParser"; version = "2.9.1"; sha256 = "1sldkj8lakggn4hnyabjj1fppqh50fkdrr1k99d4gswpbk5kv582"; })
(fetchNuGet { pname = "Microsoft.AspNetCore.App.Ref"; version = "3.1.10"; sha256 = "0xn4zh7shvijqlr03fqsmps6gz856isd9bg9rk4z2c4599ggal77"; })
(fetchNuGet { pname = "Microsoft.AspNetCore.App.Ref"; version = "5.0.0"; sha256 = "0d7sjr89zwq0wxirf8la05hfalv9nhvlczg1c7a508k8aw79jvfg"; })
(fetchNuGet { pname = "Microsoft.AspNetCore.App.Ref"; version = "6.0.30"; sha256 = "17k3l8xd5bsyk69bm5q4nxbpb4i0izw1kzmzi7j3p8pmm9prgrpy"; })
(fetchNuGet { pname = "Microsoft.AspNetCore.App.Ref"; version = "7.0.19"; sha256 = "19pjhnx49srxp1qwknc390gapc44019wy4adz9caxpryw0ch4l1x"; })
(fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm64"; version = "3.1.32"; sha256 = "00ha2sl4gvqv68mbrsizd6ngqy0vv6vamngzjxr338k1w7a276dx"; })
(fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm64"; version = "5.0.17"; sha256 = "183xgqzlwd5lhacxdwcjl8vcq7r7xypv0hddps9k32mmmwf83d8h"; })
(fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm64"; version = "6.0.30"; sha256 = "1n4v5przbrjhzj01b6qijpdc2jbsxr66ijvd0483qxh4s0b4jppr"; })
(fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm64"; version = "7.0.19"; sha256 = "0i8mhcy09lmjqhzqmwvp0n5qkizdqin3vap206b2ad28yl6963wz"; })
(fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "3.1.32"; sha256 = "0ywz63q8vrdp25ix2j9b7h2jp5grc68hqfl64c6lqk26q9xwhp9r"; })
(fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "5.0.17"; sha256 = "066fwdlssbv556zd9w1x87x1j8j4kafj9rxyy0692bssdb4gcyc8"; })
(fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "6.0.30"; sha256 = "18v0l07q74m5xxaf6y6dkmr6and8ivya0nslffnr4djrxcbiygdr"; })
(fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "7.0.19"; sha256 = "1zypq8jgk9z3kn3mmkdijvc9h65iyy7gaif9p0vhnylmvvm89jzp"; })
(fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.osx-arm64"; version = "6.0.30"; sha256 = "0p53lyqmr5n2ym202pbgmsd9b9aa6jar7ic04dcq86h2g77r5jqk"; })
(fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.osx-arm64"; version = "7.0.19"; sha256 = "1dqilsqwwymy7fq2pnvjggn5mfvizqsisla0c36w53mg6xx7vn78"; })
(fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.osx-x64"; version = "3.1.32"; sha256 = "1crk54a1wvj76s9gnh46pi7wk8ryympm9xh2jq4s4rpp329fqgic"; })
(fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.osx-x64"; version = "5.0.17"; sha256 = "1qvvqf8mmzzc7a7fhx324dprnbxhknr3qxspb2xhsn3yyg44xn2d"; })
(fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.osx-x64"; version = "6.0.30"; sha256 = "009srl8vazkjnd93xr6k1m353spbki9gn1yzp4zgazgbrini6rqc"; })
(fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.osx-x64"; version = "7.0.19"; sha256 = "1jmg7sxjnsmaa7ag6bgyhndlhvibswcmnrw0n6sr6crw2y0in2a3"; })
(fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-arm64"; version = "3.1.32"; sha256 = "1zygp70xrk5zggs3q4a6yc6jfdwzcsjjsapqpwn6qyx35m69b72p"; })
(fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-arm64"; version = "5.0.17"; sha256 = "07v7vyqm556xr1ypkazfp6gh6drgf20zkwbhkpja8bwdcr6lphbb"; })
(fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-arm64"; version = "6.0.30"; sha256 = "0l3gjhmnjd5n67w83smqyhmfcwzszafjgcbq8kdwxiwwh2m6nh2i"; })
(fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-arm64"; version = "7.0.19"; sha256 = "1dv4vk07a7kj53sk1nf63h51swzk9yl4j7jdvkc5w2v0z5a186hm"; })
(fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-x64"; version = "3.1.32"; sha256 = "08sar3s7j6z1q5prjmz2jrbsq5ms81mrsi1c1zbfrkplkfjpld3a"; })
(fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-x64"; version = "5.0.17"; sha256 = "1lc2jhr4ikffi5ylyf8f6ya6k0hdj0wp1l0017grrwd4m5ajj4vv"; })
(fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-x64"; version = "6.0.30"; sha256 = "0ss3108c2h7afypvliyqixv4dll60sq9iwqy90k1p132znpszrmb"; })
(fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-x64"; version = "7.0.19"; sha256 = "0jcfmaq4ckcpywwxm1ack9xa001aic8pn85ggglidxgcfdr6mpzd"; })
(fetchNuGet { pname = "Microsoft.NETCore.App.Host.osx-arm64"; version = "6.0.30"; sha256 = "08k5v35mvcs712kb0vcfjd1dsas5rgwrmv8rn87mzjb2p6ajl3n3"; })
(fetchNuGet { pname = "Microsoft.NETCore.App.Host.osx-arm64"; version = "7.0.19"; sha256 = "0xyc0mdd7nnmc9wjzq8nxwrqagmiqxds8qwghr2rgxw55b9slc33"; })
(fetchNuGet { pname = "Microsoft.NETCore.App.Host.osx-x64"; version = "3.1.32"; sha256 = "186gjn8sbhp4z6pq8fw4g8nqk9dwyaplwvdz2y3fbbvg36lggsh0"; })
(fetchNuGet { pname = "Microsoft.NETCore.App.Host.osx-x64"; version = "5.0.17"; sha256 = "02g5w41ivrw3n6cy3l3ixhcl8bw1fsv4bzs2m34k9h5fqmliaf3c"; })
(fetchNuGet { pname = "Microsoft.NETCore.App.Host.osx-x64"; version = "6.0.30"; sha256 = "02x38c68xan8hlr59mindcl4rcx49bbh4bibh6fw1l4rrijb38lw"; })
(fetchNuGet { pname = "Microsoft.NETCore.App.Host.osx-x64"; version = "7.0.19"; sha256 = "1srx048x6nv88s308bfn2vsg9gyqvzmgn4xlzknm9yr89c5pm96q"; })
(fetchNuGet { pname = "Microsoft.NETCore.App.Ref"; version = "3.1.0"; sha256 = "08svsiilx9spvjamcnjswv0dlpdrgryhr3asdz7cvnl914gjzq4y"; })
(fetchNuGet { pname = "Microsoft.NETCore.App.Ref"; version = "5.0.0"; sha256 = "1p62khf9zk23lh91lvz7plv3g1nzmm3b5szqrcm6mb8w3sjk03wi"; })
(fetchNuGet { pname = "Microsoft.NETCore.App.Ref"; version = "6.0.30"; sha256 = "1wqqjhhlqz4dmijcx3kg3hnwq0s0jzqsddaksskzhq8avr4ziy18"; })
(fetchNuGet { pname = "Microsoft.NETCore.App.Ref"; version = "7.0.19"; sha256 = "1z9zfzccqn6yh9mcqrkiidjagzmnk4blrralzb8q0b7mnf1b1ww9"; })
(fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-arm64"; version = "3.1.32"; sha256 = "13pcn74z1swz73s72zjl07f118j35wacnzgk7kbjqn83nwgqdgvq"; })
(fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-arm64"; version = "5.0.17"; sha256 = "16whaq82pj6fqa0vam3a0va9ly843aa1z12hza040vn6252kk9fq"; })
(fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-arm64"; version = "6.0.30"; sha256 = "0xfhcig3gj3986rxp3dhnd8hvnj4nvyhz1fz7kpx342d3g53wb37"; })
(fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-arm64"; version = "7.0.19"; sha256 = "0m30aykrzl48i8589qn8z89hm9p1yl71cdigv1f09fmwb7c6jfm3"; })
(fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-x64"; version = "3.1.32"; sha256 = "0mmc57dl8plrspdxwb7209wz29vhiwqds4nfbdfws7zg35yy70c7"; })
(fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-x64"; version = "5.0.17"; sha256 = "0jgcfs3jc98jfyaaamssznckbpnaygplk8pjsp6dswpansz5bnnq"; })
(fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-x64"; version = "6.0.30"; sha256 = "1s81sj8lnb8szqawxh3vc8wi815ln12cyhrl3f7hwcpay57xgswx"; })
(fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-x64"; version = "7.0.19"; sha256 = "12zgh8pvbdl99zs0rq5ajbl91r976i47hdrrvxl2hbsxl2ws3brs"; })
(fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.osx-arm64"; version = "6.0.30"; sha256 = "0s71k92daakzwish65gmn4nniy6bf2hv34c0sb6m1hv3criqxmp4"; })
(fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.osx-arm64"; version = "7.0.19"; sha256 = "08gs703rz3agmisy3vsdnyv5lyc32qb8kvfljzszbyqlaf5cxhd1"; })
(fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.osx-x64"; version = "3.1.32"; sha256 = "06bk39zcv27cwshjsxfg5d6wzkkzdhfk08sipdc7mr1s8pk7ihi1"; })
(fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.osx-x64"; version = "5.0.17"; sha256 = "1ph5kx18syinp8bpzw80bgq3njl65gwzws727xcmxnysgm7snmjp"; })
(fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.osx-x64"; version = "6.0.30"; sha256 = "0xybqg2wd240r1nm2vrbn2qbfqfnqsmxn1012zzwjn17wa2si9a1"; })
(fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.osx-x64"; version = "7.0.19"; sha256 = "1lwnwxscza5m7pk83fwjz5r9kms3ybag2rl07f3gqp3b203iyyxx"; })
(fetchNuGet { pname = "Microsoft.NETFramework.ReferenceAssemblies"; version = "1.0.3"; sha256 = "0hc4d4d4358g5192mf8faijwk0bpf9pjwcfd3h85sr67j0zhj6hl"; })
(fetchNuGet { pname = "Microsoft.NETFramework.ReferenceAssemblies.net20"; version = "1.0.3"; sha256 = "1s65wgj49mikq4y16yqyff315qkgm84zvjd8ymqdx39kxizrjx3z"; })
(fetchNuGet { pname = "Microsoft.NETFramework.ReferenceAssemblies.net35"; version = "1.0.3"; sha256 = "1ybq6l7lf6n4w8x54k8s9c1nx1dlzijx9ysply8hsrw8388mcqdi"; })
(fetchNuGet { pname = "Microsoft.NETFramework.ReferenceAssemblies.net40"; version = "1.0.3"; sha256 = "1566qd1s2p7l5bjlmb05axd1zs35284ivmynjn9zgjk13c5f5mjl"; })
(fetchNuGet { pname = "Microsoft.NETFramework.ReferenceAssemblies.net452"; version = "1.0.3"; sha256 = "1hicvqqf0s7xxry8caxw6nhvhncr5b814a6i43q0kvh3dwafwcs5"; })
(fetchNuGet { pname = "Microsoft.NETFramework.ReferenceAssemblies.net462"; version = "1.0.3"; sha256 = "08bfss2p262d8zj41xqndv0qgvz9lq636k2xhl80jl23ay22lsgf"; })
(fetchNuGet { pname = "Microsoft.NETFramework.ReferenceAssemblies.net472"; version = "1.0.3"; sha256 = "0z7mpiljkqjw1qi5zapv7mg9pyfyzlgmil34j4wi3y9r19bsb87z"; })
(fetchNuGet { pname = "Microsoft.NETFramework.ReferenceAssemblies.net48"; version = "1.0.3"; sha256 = "18h4265rn5dy5d1igddsz1ilygcyyj4id4cn2qsr3sz7722k8zla"; })
(fetchNuGet { pname = "MinAsyncBridge"; version = "0.12.4"; sha256 = "1xqiz0p9rz8kqdhi2h9gysvpfcg88vj2w4yi9ryf6205fxzra167"; })
(fetchNuGet { pname = "MinTasksExtensionsBridge"; version = "0.3.4"; sha256 = "0h69035ahcgc6h8y2qgdwi63c57rfi66nf5rjn4gqa0m76x61y8x"; })
(fetchNuGet { pname = "MinThreadingBridge"; version = "0.11.4"; sha256 = "0x9xsdjma7jf6m5z08y7fkp9xsk52zfjh8cdkmvjn396bwwql681"; })
(fetchNuGet { pname = "Net30.LinqBridge"; version = "1.3.0"; sha256 = "1i1dfksllqi84552ipbk863m2wxgp4kvsjkybkcygp8iv0pw4yqk"; })
(fetchNuGet { pname = "Net35.Actions"; version = "1.1.0"; sha256 = "0w86r4z58amb7yabk2jwx3qz038x9iqr7iwc5qc58f2svab9lv8y"; })
(fetchNuGet { pname = "Newtonsoft.Json"; version = "13.0.3"; sha256 = "0xrwysmrn4midrjal8g2hr1bbg38iyisl0svamb11arqws4w2bw7"; })
(fetchNuGet { pname = "SabreTools.Hashing"; version = "1.1.4"; sha256 = "14qv1yallxqgd765ib65r7nsy8h6hlfb9lpl15k0q3qwwnkhkf9f"; })
(fetchNuGet { pname = "SabreTools.Models"; version = "1.3.0"; sha256 = "16jmg6cjilwf0brra7mwv91wylhfyrv5d3iz6vnfjca35mhzqxma"; })
(fetchNuGet { pname = "SabreTools.RedumpLib"; version = "1.3.4"; sha256 = "1xp74va7893aa94gaz2v2ws1wjn3011cfpcp00gd6c5x6hpz1qjs"; })
(fetchNuGet { pname = "System.Buffers"; version = "4.5.1"; sha256 = "04kb1mdrlcixj9zh1xdi5as0k0qi8byr5mi3p3jcxx72qz93s2y3"; })
(fetchNuGet { pname = "System.IO.Hashing"; version = "8.0.0"; sha256 = "1hg5i9hiihj9x4d0mlvhfddmivzrhzz83dyh26fqw1nd8jvqccxk"; })
(fetchNuGet { pname = "System.Memory"; version = "4.5.5"; sha256 = "08jsfwimcarfzrhlyvjjid61j02irx6xsklf32rv57x2aaikvx0h"; })
(fetchNuGet { pname = "System.Numerics.Vectors"; version = "4.5.0"; sha256 = "1kzrj37yzawf1b19jq0253rcs8hsq1l2q8g69d7ipnhzb0h97m59"; })
(fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.5.3"; sha256 = "1afi6s2r1mh1kygbjmfba6l4f87pi5sg13p4a48idqafli94qxln"; })
]

View File

@ -0,0 +1,38 @@
{
lib,
buildDotnetModule,
dotnetCorePackages,
fetchFromGitHub
}:
buildDotnetModule {
pname = "libird";
version = "0.9.2";
# NuGet page: https://www.nuget.org/packages/LibIRD
src = fetchFromGitHub {
owner = "Deterous";
repo = "LibIRD";
rev = "82d53db68f610d9cb972efa0dacb1c85a363880a";
hash = "sha256-QPpS+zxH0fFoMGNA1AraqOseRaYJS+s67IGHKB6n2ig=";
fetchSubmodules = true;
leaveDotGit = false;
};
dotnet-sdk = dotnetCorePackages.sdk_8_0;
dotnet-runtime = dotnetCorePackages.runtime_8_0;
nugetDeps = ./deps.nix;
projectFile = "IRDKit/IRDKit.csproj";
selfContainedBuild = false;
dotnetBuildFlags = [ "--framework net8.0" ];
dotnetInstallFlags = [ "--framework net8.0" ];
meta = {
description = "Placeholder :)";
homepage = "https://github.com/Deterous/LibIRD";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ ];
mainProgram = "irdkit";
platforms = lib.platforms.all;
};
}

View File

@ -0,0 +1,49 @@
{
lib,
cmake,
fetchFromGitHub,
mbedtls_2,
perl,
python3,
stdenv,
### Ninja
withNinja ? false,
ninja
}:
stdenv.mkDerivation {
pname = "ps3dec";
version = "unstable-2018-12-16";
src = fetchFromGitHub {
owner = "al3xtjames";
repo = "PS3Dec";
rev = "7d1d27f028aa86cd961a89795d0d19a9b3771446";
hash = "sha256-kvkkB7NclFfbqf3vqwFjKOFwHUz1X+KRCwGopN7YCis=";
fetchSubmodules = true;
leaveDotGit = false;
};
nativeBuildInputs = [
cmake
mbedtls_2
perl
python3
] ++ lib.optionals withNinja ninja;
installPhase = ''
mkdir -p $out/bin
mv Release/PS3Dec $out/bin/ps3dec
'';
meta = {
description = "PS3Dec r5 source mirror";
homepage = "https://github.com/al3xtjames/PS3Dec";
license = lib.licenses.unfree;
# Technically it was posted to the 3k3y forums without a license file,
# So technically it's probably "All Rights Reserved"...
# I think that's how this works?
maintainers = with lib.maintainers; [ ];
};
}

View File

@ -0,0 +1,70 @@
{
lib,
stdenv,
fetchFromGitHub,
cmake,
gettext,
curl,
libjpeg,
libpng,
libseccomp,
lz4,
lzo,
nettle,
pkg-config,
tinyxml2,
zlib,
zstd,
glib
}:
stdenv.mkDerivation {
pname = "rom-properties";
version = "git";
src = fetchFromGitHub {
owner = "GerbilSoft";
repo = "rom-properties";
rev = "1df55be31d5aab88db1ba722267255389a812802";
hash = "sha256-e2K2XRPLLSXM+lWv5aFiU3PwotuUT0V8INAFc9QKmYY=";
};
nativeBuildInputs = [
cmake
nettle.dev
pkg-config
glib.dev
];
buildInputs = [
gettext
curl.dev
libjpeg.dev
libpng.dev
libseccomp.dev
lz4.dev
lzo
tinyxml2
zlib.dev
zstd.dev
];
cmakeFlags = [
"-DCMAKE_BUILD_TYPE=Release"
"-DINSTALL_APPARMOR=OFF"
];
postPatch = ''
substituteInPlace "src/librpsecure/os-secure_linux.c" \
--replace "SCMP_SYS(write)," "SCMP_SYS(write), SCMP_SYS(getdents64),"
'';
meta = {
description = "ROM Properties Page shell extension";
homepage = "https://github.com/GerbilSoft/rom-properties";
license = lib.licenses.gpl2Only;
maintainers = with lib.maintainers; [ ];
mainProgram = "rpcli";
platforms = lib.platforms.all;
};
}

View File

@ -0,0 +1,102 @@
# This file was automatically generated by passthru.fetch-deps.
# Please dont edit it manually, your changes might get overwritten!
{ fetchNuGet }: [
(fetchNuGet { pname = "Aaru.Checksums.Native"; version = "6.0.0-alpha9"; sha256 = "0v4p28v1zsb6iq42pz1945zb7il55aylzfm6n0c3c7xniiiz2qmh"; })
(fetchNuGet { pname = "Blake3"; version = "1.1.0"; sha256 = "10bnjx524c79r821y6dgipkvbm3d7li9mdj1slkmlfjri5gfc9c1"; })
(fetchNuGet { pname = "Microsoft.AspNetCore.App.Ref"; version = "3.1.10"; sha256 = "0xn4zh7shvijqlr03fqsmps6gz856isd9bg9rk4z2c4599ggal77"; })
(fetchNuGet { pname = "Microsoft.AspNetCore.App.Ref"; version = "5.0.0"; sha256 = "0d7sjr89zwq0wxirf8la05hfalv9nhvlczg1c7a508k8aw79jvfg"; })
(fetchNuGet { pname = "Microsoft.AspNetCore.App.Ref"; version = "6.0.30"; sha256 = "17k3l8xd5bsyk69bm5q4nxbpb4i0izw1kzmzi7j3p8pmm9prgrpy"; })
(fetchNuGet { pname = "Microsoft.AspNetCore.App.Ref"; version = "7.0.19"; sha256 = "19pjhnx49srxp1qwknc390gapc44019wy4adz9caxpryw0ch4l1x"; })
(fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm64"; version = "3.1.32"; sha256 = "00ha2sl4gvqv68mbrsizd6ngqy0vv6vamngzjxr338k1w7a276dx"; })
(fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm64"; version = "5.0.17"; sha256 = "183xgqzlwd5lhacxdwcjl8vcq7r7xypv0hddps9k32mmmwf83d8h"; })
(fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm64"; version = "6.0.30"; sha256 = "1n4v5przbrjhzj01b6qijpdc2jbsxr66ijvd0483qxh4s0b4jppr"; })
(fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm64"; version = "7.0.19"; sha256 = "0i8mhcy09lmjqhzqmwvp0n5qkizdqin3vap206b2ad28yl6963wz"; })
(fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "3.1.32"; sha256 = "0ywz63q8vrdp25ix2j9b7h2jp5grc68hqfl64c6lqk26q9xwhp9r"; })
(fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "5.0.17"; sha256 = "066fwdlssbv556zd9w1x87x1j8j4kafj9rxyy0692bssdb4gcyc8"; })
(fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "6.0.30"; sha256 = "18v0l07q74m5xxaf6y6dkmr6and8ivya0nslffnr4djrxcbiygdr"; })
(fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "7.0.19"; sha256 = "1zypq8jgk9z3kn3mmkdijvc9h65iyy7gaif9p0vhnylmvvm89jzp"; })
(fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.osx-arm64"; version = "6.0.30"; sha256 = "0p53lyqmr5n2ym202pbgmsd9b9aa6jar7ic04dcq86h2g77r5jqk"; })
(fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.osx-arm64"; version = "7.0.19"; sha256 = "1dqilsqwwymy7fq2pnvjggn5mfvizqsisla0c36w53mg6xx7vn78"; })
(fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.osx-x64"; version = "3.1.32"; sha256 = "1crk54a1wvj76s9gnh46pi7wk8ryympm9xh2jq4s4rpp329fqgic"; })
(fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.osx-x64"; version = "5.0.17"; sha256 = "1qvvqf8mmzzc7a7fhx324dprnbxhknr3qxspb2xhsn3yyg44xn2d"; })
(fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.osx-x64"; version = "6.0.30"; sha256 = "009srl8vazkjnd93xr6k1m353spbki9gn1yzp4zgazgbrini6rqc"; })
(fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.osx-x64"; version = "7.0.19"; sha256 = "1jmg7sxjnsmaa7ag6bgyhndlhvibswcmnrw0n6sr6crw2y0in2a3"; })
(fetchNuGet { pname = "Microsoft.Bcl.AsyncInterfaces"; version = "5.0.0"; sha256 = "0cp5jbax2mf6xr3dqiljzlwi05fv6n9a35z337s92jcljiq674kf"; })
(fetchNuGet { pname = "Microsoft.Build.Tasks.Git"; version = "8.0.0"; sha256 = "0055f69q3hbagqp8gl3nk0vfn4qyqyxsxyy7pd0g7wm3z28byzmx"; })
(fetchNuGet { pname = "Microsoft.Data.Sqlite"; version = "8.0.4"; sha256 = "1d41r78blfh3i0lh27bh4vrdd26ix6r63xa74cycjnc7pr98xaqc"; })
(fetchNuGet { pname = "Microsoft.Data.Sqlite.Core"; version = "8.0.4"; sha256 = "03i9b45n2vnsv4wdsk6qvjzj1ga2hcli168liyrqfa87l54skckd"; })
(fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-arm64"; version = "3.1.32"; sha256 = "1zygp70xrk5zggs3q4a6yc6jfdwzcsjjsapqpwn6qyx35m69b72p"; })
(fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-arm64"; version = "5.0.17"; sha256 = "07v7vyqm556xr1ypkazfp6gh6drgf20zkwbhkpja8bwdcr6lphbb"; })
(fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-arm64"; version = "6.0.30"; sha256 = "0l3gjhmnjd5n67w83smqyhmfcwzszafjgcbq8kdwxiwwh2m6nh2i"; })
(fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-arm64"; version = "7.0.19"; sha256 = "1dv4vk07a7kj53sk1nf63h51swzk9yl4j7jdvkc5w2v0z5a186hm"; })
(fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-x64"; version = "3.1.32"; sha256 = "08sar3s7j6z1q5prjmz2jrbsq5ms81mrsi1c1zbfrkplkfjpld3a"; })
(fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-x64"; version = "5.0.17"; sha256 = "1lc2jhr4ikffi5ylyf8f6ya6k0hdj0wp1l0017grrwd4m5ajj4vv"; })
(fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-x64"; version = "6.0.30"; sha256 = "0ss3108c2h7afypvliyqixv4dll60sq9iwqy90k1p132znpszrmb"; })
(fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-x64"; version = "7.0.19"; sha256 = "0jcfmaq4ckcpywwxm1ack9xa001aic8pn85ggglidxgcfdr6mpzd"; })
(fetchNuGet { pname = "Microsoft.NETCore.App.Host.osx-arm64"; version = "6.0.30"; sha256 = "08k5v35mvcs712kb0vcfjd1dsas5rgwrmv8rn87mzjb2p6ajl3n3"; })
(fetchNuGet { pname = "Microsoft.NETCore.App.Host.osx-arm64"; version = "7.0.19"; sha256 = "0xyc0mdd7nnmc9wjzq8nxwrqagmiqxds8qwghr2rgxw55b9slc33"; })
(fetchNuGet { pname = "Microsoft.NETCore.App.Host.osx-x64"; version = "3.1.32"; sha256 = "186gjn8sbhp4z6pq8fw4g8nqk9dwyaplwvdz2y3fbbvg36lggsh0"; })
(fetchNuGet { pname = "Microsoft.NETCore.App.Host.osx-x64"; version = "5.0.17"; sha256 = "02g5w41ivrw3n6cy3l3ixhcl8bw1fsv4bzs2m34k9h5fqmliaf3c"; })
(fetchNuGet { pname = "Microsoft.NETCore.App.Host.osx-x64"; version = "6.0.30"; sha256 = "02x38c68xan8hlr59mindcl4rcx49bbh4bibh6fw1l4rrijb38lw"; })
(fetchNuGet { pname = "Microsoft.NETCore.App.Host.osx-x64"; version = "7.0.19"; sha256 = "1srx048x6nv88s308bfn2vsg9gyqvzmgn4xlzknm9yr89c5pm96q"; })
(fetchNuGet { pname = "Microsoft.NETCore.App.Ref"; version = "3.1.0"; sha256 = "08svsiilx9spvjamcnjswv0dlpdrgryhr3asdz7cvnl914gjzq4y"; })
(fetchNuGet { pname = "Microsoft.NETCore.App.Ref"; version = "5.0.0"; sha256 = "1p62khf9zk23lh91lvz7plv3g1nzmm3b5szqrcm6mb8w3sjk03wi"; })
(fetchNuGet { pname = "Microsoft.NETCore.App.Ref"; version = "6.0.30"; sha256 = "1wqqjhhlqz4dmijcx3kg3hnwq0s0jzqsddaksskzhq8avr4ziy18"; })
(fetchNuGet { pname = "Microsoft.NETCore.App.Ref"; version = "7.0.19"; sha256 = "1z9zfzccqn6yh9mcqrkiidjagzmnk4blrralzb8q0b7mnf1b1ww9"; })
(fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-arm64"; version = "3.1.32"; sha256 = "13pcn74z1swz73s72zjl07f118j35wacnzgk7kbjqn83nwgqdgvq"; })
(fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-arm64"; version = "5.0.17"; sha256 = "16whaq82pj6fqa0vam3a0va9ly843aa1z12hza040vn6252kk9fq"; })
(fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-arm64"; version = "6.0.30"; sha256 = "0xfhcig3gj3986rxp3dhnd8hvnj4nvyhz1fz7kpx342d3g53wb37"; })
(fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-arm64"; version = "7.0.19"; sha256 = "0m30aykrzl48i8589qn8z89hm9p1yl71cdigv1f09fmwb7c6jfm3"; })
(fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-x64"; version = "3.1.32"; sha256 = "0mmc57dl8plrspdxwb7209wz29vhiwqds4nfbdfws7zg35yy70c7"; })
(fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-x64"; version = "5.0.17"; sha256 = "0jgcfs3jc98jfyaaamssznckbpnaygplk8pjsp6dswpansz5bnnq"; })
(fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-x64"; version = "6.0.30"; sha256 = "1s81sj8lnb8szqawxh3vc8wi815ln12cyhrl3f7hwcpay57xgswx"; })
(fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-x64"; version = "7.0.19"; sha256 = "12zgh8pvbdl99zs0rq5ajbl91r976i47hdrrvxl2hbsxl2ws3brs"; })
(fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.osx-arm64"; version = "6.0.30"; sha256 = "0s71k92daakzwish65gmn4nniy6bf2hv34c0sb6m1hv3criqxmp4"; })
(fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.osx-arm64"; version = "7.0.19"; sha256 = "08gs703rz3agmisy3vsdnyv5lyc32qb8kvfljzszbyqlaf5cxhd1"; })
(fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.osx-x64"; version = "3.1.32"; sha256 = "06bk39zcv27cwshjsxfg5d6wzkkzdhfk08sipdc7mr1s8pk7ihi1"; })
(fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.osx-x64"; version = "5.0.17"; sha256 = "1ph5kx18syinp8bpzw80bgq3njl65gwzws727xcmxnysgm7snmjp"; })
(fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.osx-x64"; version = "6.0.30"; sha256 = "0xybqg2wd240r1nm2vrbn2qbfqfnqsmxn1012zzwjn17wa2si9a1"; })
(fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.osx-x64"; version = "7.0.19"; sha256 = "1lwnwxscza5m7pk83fwjz5r9kms3ybag2rl07f3gqp3b203iyyxx"; })
(fetchNuGet { pname = "Microsoft.NETFramework.ReferenceAssemblies"; version = "1.0.3"; sha256 = "0hc4d4d4358g5192mf8faijwk0bpf9pjwcfd3h85sr67j0zhj6hl"; })
(fetchNuGet { pname = "Microsoft.NETFramework.ReferenceAssemblies.net20"; version = "1.0.3"; sha256 = "1s65wgj49mikq4y16yqyff315qkgm84zvjd8ymqdx39kxizrjx3z"; })
(fetchNuGet { pname = "Microsoft.NETFramework.ReferenceAssemblies.net35"; version = "1.0.3"; sha256 = "1ybq6l7lf6n4w8x54k8s9c1nx1dlzijx9ysply8hsrw8388mcqdi"; })
(fetchNuGet { pname = "Microsoft.NETFramework.ReferenceAssemblies.net40"; version = "1.0.3"; sha256 = "1566qd1s2p7l5bjlmb05axd1zs35284ivmynjn9zgjk13c5f5mjl"; })
(fetchNuGet { pname = "Microsoft.NETFramework.ReferenceAssemblies.net452"; version = "1.0.3"; sha256 = "1hicvqqf0s7xxry8caxw6nhvhncr5b814a6i43q0kvh3dwafwcs5"; })
(fetchNuGet { pname = "Microsoft.NETFramework.ReferenceAssemblies.net462"; version = "1.0.3"; sha256 = "08bfss2p262d8zj41xqndv0qgvz9lq636k2xhl80jl23ay22lsgf"; })
(fetchNuGet { pname = "Microsoft.NETFramework.ReferenceAssemblies.net472"; version = "1.0.3"; sha256 = "0z7mpiljkqjw1qi5zapv7mg9pyfyzlgmil34j4wi3y9r19bsb87z"; })
(fetchNuGet { pname = "Microsoft.NETFramework.ReferenceAssemblies.net48"; version = "1.0.3"; sha256 = "18h4265rn5dy5d1igddsz1ilygcyyj4id4cn2qsr3sz7722k8zla"; })
(fetchNuGet { pname = "Microsoft.SourceLink.Common"; version = "8.0.0"; sha256 = "0xrr8yd34ij7dqnyddkp2awfmf9qn3c89xmw2f3npaa4wnajmx81"; })
(fetchNuGet { pname = "Microsoft.SourceLink.GitHub"; version = "8.0.0"; sha256 = "1gdx7n45wwia3yvang3ls92sk3wrymqcx9p349j8wba2lyjf9m44"; })
(fetchNuGet { pname = "MinAsyncBridge"; version = "0.12.4"; sha256 = "1xqiz0p9rz8kqdhi2h9gysvpfcg88vj2w4yi9ryf6205fxzra167"; })
(fetchNuGet { pname = "MinTasksExtensionsBridge"; version = "0.3.4"; sha256 = "0h69035ahcgc6h8y2qgdwi63c57rfi66nf5rjn4gqa0m76x61y8x"; })
(fetchNuGet { pname = "MinThreadingBridge"; version = "0.11.4"; sha256 = "0x9xsdjma7jf6m5z08y7fkp9xsk52zfjh8cdkmvjn396bwwql681"; })
(fetchNuGet { pname = "MinValueTupleBridge"; version = "0.2.0"; sha256 = "1mibhbj5hcwrzabwk3jck8xifzwb4rfyki0viyh6wkp8ip0wsw9b"; })
(fetchNuGet { pname = "Net30.LinqBridge"; version = "1.3.0"; sha256 = "1i1dfksllqi84552ipbk863m2wxgp4kvsjkybkcygp8iv0pw4yqk"; })
(fetchNuGet { pname = "Net35.Actions"; version = "1.1.0"; sha256 = "0w86r4z58amb7yabk2jwx3qz038x9iqr7iwc5qc58f2svab9lv8y"; })
(fetchNuGet { pname = "NetLegacySupport.Numerics"; version = "1.0.1"; sha256 = "1v33swahnifjifjq0rsh9biikgi2a9vfzxxjdivajxzsg54wlc8r"; })
(fetchNuGet { pname = "Newtonsoft.Json"; version = "13.0.3"; sha256 = "0xrwysmrn4midrjal8g2hr1bbg38iyisl0svamb11arqws4w2bw7"; })
(fetchNuGet { pname = "SabreTools.ASN1"; version = "1.3.2"; sha256 = "1kdscm83z0r4j6q3rhn5ip49qadcybyfgp8aq07fi1vbx5vnzc9a"; })
(fetchNuGet { pname = "SabreTools.Hashing"; version = "1.2.0"; sha256 = "033nhcb6zvwv8j9v62q1ld4y8bj8g218wzh60dnyd71qlbpslrig"; })
(fetchNuGet { pname = "SabreTools.IO"; version = "1.4.5"; sha256 = "0drgsywcv1j55b0w40d7apq3sdynyanhif2557snjv5bvjkrgaif"; })
(fetchNuGet { pname = "SabreTools.Matching"; version = "1.3.1"; sha256 = "09b2h3hyh42l8s59ypn0ih52ryp4daxj8rdy3yzrmlcqfwd0dwmw"; })
(fetchNuGet { pname = "SabreTools.Models"; version = "1.4.5"; sha256 = "0n7c2ywnwilwd4d53zmrxxzhf5yhqf4amsbxzbi31z73w9s7bcy9"; })
(fetchNuGet { pname = "SabreTools.Serialization"; version = "1.6.0"; sha256 = "0jjfgrh9p2fglbfj0l781c4vjx4a9gca2nzq587ynplvrb5j90qz"; })
(fetchNuGet { pname = "SabreTools.Skippers"; version = "1.1.2"; sha256 = "1sx9ghq2ink3wzj7cpjr8izds92zm3y6g978h0dgassdq4w3bkb5"; })
(fetchNuGet { pname = "SharpCompress"; version = "0.37.0"; sha256 = "14qynp3qqb2d735g4f7m86knk2pzgky1c159ci6xaxvih40w61fk"; })
(fetchNuGet { pname = "SQLitePCLRaw.bundle_e_sqlite3"; version = "2.1.6"; sha256 = "0pzgdfl707pd9fz108xaff22w7c2y27yaix6wfp36phqkdnzz43m"; })
(fetchNuGet { pname = "SQLitePCLRaw.core"; version = "2.1.6"; sha256 = "1w8zsgz2w2q0a9cw9cl1rzrpv48a04nhyq67ywan6xlgknds65a7"; })
(fetchNuGet { pname = "SQLitePCLRaw.lib.e_sqlite3"; version = "2.1.6"; sha256 = "0g959z7r3h43nwzm7z3jiib1xvyx146lxyv0x6fl8ll5wivpjyxq"; })
(fetchNuGet { pname = "SQLitePCLRaw.provider.e_sqlite3"; version = "2.1.6"; sha256 = "1vs1c7yhi0mdqrd35ji289cxkhg7dxdnn6wgjjbngvqxkdhkyxyc"; })
(fetchNuGet { pname = "System.Buffers"; version = "4.5.1"; sha256 = "04kb1mdrlcixj9zh1xdi5as0k0qi8byr5mi3p3jcxx72qz93s2y3"; })
(fetchNuGet { pname = "System.IO.Hashing"; version = "8.0.0"; sha256 = "1hg5i9hiihj9x4d0mlvhfddmivzrhzz83dyh26fqw1nd8jvqccxk"; })
(fetchNuGet { pname = "System.Memory"; version = "4.5.3"; sha256 = "0naqahm3wljxb5a911d37mwjqjdxv9l0b49p5dmfyijvni2ppy8a"; })
(fetchNuGet { pname = "System.Memory"; version = "4.5.5"; sha256 = "08jsfwimcarfzrhlyvjjid61j02irx6xsklf32rv57x2aaikvx0h"; })
(fetchNuGet { pname = "System.Numerics.Vectors"; version = "4.5.0"; sha256 = "1kzrj37yzawf1b19jq0253rcs8hsq1l2q8g69d7ipnhzb0h97m59"; })
(fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.5.3"; sha256 = "1afi6s2r1mh1kygbjmfba6l4f87pi5sg13p4a48idqafli94qxln"; })
(fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "6.0.0"; sha256 = "0qm741kh4rh57wky16sq4m0v05fxmkjjr87krycf5vp9f0zbahbc"; })
(fetchNuGet { pname = "System.Text.Encoding.CodePages"; version = "8.0.0"; sha256 = "1lgdd78cik4qyvp2fggaa0kzxasw6kc9a6cjqw46siagrm0qnc3y"; })
(fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.5.4"; sha256 = "0y6ncasgfcgnjrhynaf0lwpkpkmv4a07sswwkwbwb5h7riisj153"; })
(fetchNuGet { pname = "System.ValueTuple"; version = "4.5.0"; sha256 = "00k8ja51d0f9wrq4vv5z2jhq8hy31kac2rg0rv06prylcybzl8cy"; })
(fetchNuGet { pname = "ZstdSharp.Port"; version = "0.8.0"; sha256 = "169vnv9j0kmr44qv4wflsdcjfmkys32whmnl0bcjx0x978h182cx"; })
]

View File

@ -0,0 +1,41 @@
{
lib,
buildDotnetModule,
dotnetCorePackages,
fetchFromGitHub
}:
buildDotnetModule {
pname = "sabretools";
version = "0.2.0";
src = fetchFromGitHub {
owner = "SabreTools";
repo = "SabreTools";
rev = "806d0221d0f4275239feb1f47f08c7c1d2c0f911";
hash = "sha256-qEoHKQYe1IuXYmxGRgq2idRIDarqZlhPgtikw52kJQU=";
fetchSubmodules = true;
leaveDotGit = false;
};
dotnet-sdk = dotnetCorePackages.sdk_8_0;
dotnet-runtime = dotnetCorePackages.runtime_8_0;
nugetDeps = ./deps.nix;
# projectFile = "SabreTools.sln";
projectFile = "SabreTools/SabreTools.csproj";
dotnetBuildFlags = [ "--framework net8.0" ];
dotnetInstallFlags = [ "--framework net8.0" ];
postFixup = ''
mv $out/bin/SabreTools $out/bin/sabretools
'';
meta = {
description = "DAT management tool with advanced editing and sorting features";
homepage = "https://github.com/SabreTools/SabreTools";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ ];
mainProgram = "SabreTools";
platforms = lib.platforms.all;
};
}

148
home/pkgs_and_programs.nix Normal file
View File

@ -0,0 +1,148 @@
{
agenix,
pkgs,
system,
xil,
...
}:
let
# Especially for dotnet packages, remember to update "/flake.nix" too!
my_packages = {
irdkit = pkgs.callPackage ./packages/irdkit/package.nix {};
ird_tools = pkgs.callPackage ./packages/ird_tools/package.nix {};
ps3dec = pkgs.callPackage ./packages/ps3dec/package.nix {};
sabretools = pkgs.callPackage ./packages/sabretools/package.nix {};
rom-properties = pkgs.callPackage ./packages/rom-properties/package.nix {};
};
in
{
programs = {
bat = {
enable = true;
};
direnv = {
enable = true;
enableBashIntegration = true;
enableZshIntegration = true;
nix-direnv.enable = true;
};
git = {
enable = true;
userName = "Whovian9369";
userEmail = "Whovian9369@gmail.com";
extraConfig = {
init = {
defaultBranch = "main";
};
};
};
jq = {
enable = true;
};
nix-index = {
enable = false;
};
ripgrep = {
enable = true;
};
zsh = {
enable = true;
# Honestly unsure if I should be using `programs.zsh.envExtra` or
# `programs.zsh.localVariables` here.
localVariables = {
DISABLE_MAGIC_FUNCTIONS = true;
};
# enableAutosuggestions = true;
# enableCompletion = true;
oh-my-zsh = {
enable = true;
plugins = [
"git"
"sudo"
];
theme = "bira";
};
};
};
# The home.packages option allows you to install Nix packages into your
# environment.
home.packages = [
pkgs._7zz
pkgs.bat
pkgs.binwalk
pkgs.cdecrypt
pkgs.colorized-logs
pkgs.croc
pkgs.dhex
pkgs.fd
pkgs.file
pkgs.gdrive3
pkgs.git
pkgs.hactool
pkgs.instaloader
pkgs.internetarchive
pkgs.lynx
pkgs.megatools
pkgs.ncdu
pkgs.nixfmt-classic
pkgs.progress
pkgs.pyrosimple
pkgs.python3
pkgs.quickbms
pkgs.rclone
pkgs.screen
pkgs.sshfs
pkgs.unrar-wrapper
pkgs.wget
pkgs.xxd
pkgs.yq
my_packages.irdkit
my_packages.ird_tools
my_packages.ps3dec
my_packages.sabretools
# my_packages.rom-properties
agenix.packages.${system}.default
xil.packages.${system}.xil
];
# Disabled Packages
/*
pkgs.binutils
# Just use "nix shell nixpkgs#binutils -c strings -- INPUT"
pkgs.mpv
# Not needed on WSL
pkgs.p7zip
# Replaced in favour of nixpkgs#_7zz
pkgs.terminator
# Not needed on WSL, even though I'd like it on WSL sometimes.
pkgs.yt-dlp
# Not needed on WSL
*/
/*
# It is sometimes useful to fine-tune packages, for example, by applying
# overrides. You can do that directly here, just don't forget the
# parentheses.
# Maybe you want to install Nerd Fonts with a limited number of fonts?
(pkgs.nerdfonts.override {
fonts = [
"FantasqueSansMono"
];
})
*/
}

14
home/variables.nix Normal file
View File

@ -0,0 +1,14 @@
{
agenix,
config,
...
}:
{
home.sessionVariables = {
EDITOR = "nano";
DOTNET_CLI_TELEMETRY_OPTOUT = "1";
OPENAI_API_KEY = "\$(cat ${config.age.secrets."openai".path})";
CURSEFORGE_API_KEY = "\$(cat ${config.age.secrets."cursed".path})";
ITCHIO_API_KEY = "\$(cat ${config.age.secrets."itchy".path})";
};
}

View File

@ -10,19 +10,9 @@
imports = [
./packages.nix
./users.nix
./wsl.nix
];
wsl = {
enable = true;
defaultUser = "whovian";
startMenuLaunchers = false;
wslConf = {
automount = {
root = "/mnt";
};
};
};
networking.hostName = "nixos-wsl";
# Enable nix flakes
@ -41,7 +31,9 @@
https://github.com/nix-community/home-manager/issues/3521#issuecomment-1367197995
[Issue #3521]
*/
environment.pathsToLink = [ "/share/zsh" ];
environment.pathsToLink = [
"/share/zsh"
];
system.stateVersion = "22.05";
}

12
system/nixos-wsl/wsl.nix Normal file
View File

@ -0,0 +1,12 @@
{
wsl = {
enable = true;
defaultUser = "whovian";
startMenuLaunchers = false;
wslConf = {
automount = {
root = "/mnt";
};
};
};
}