Compare commits

..

30 commits

Author SHA1 Message Date
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
884596a413 Forgot to update rom-properties.src before committing originally! 2024-05-18 17:48:32 -04:00
a30d7b0b94 Removed my callPackage = pkgs.callPackage\ "alias" so it's a little less confusing. 2024-05-18 17:47:43 -04:00
3b7957d45b Silly me, I forgot pkgs. on the flake's callPackage call for rom-properties! 2024-05-18 17:46:13 -04:00
d4bb874a57 Finally add rom-properties to home.packages! 2024-05-18 17:40:09 -04:00
3b82363534 Update flake.lock just because. 2024-05-18 17:20:43 -04:00
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
a609e36403 Swap to using the main csproj, and rename the binary to sabretools 2024-05-18 16:35:10 -04:00
dc83e9ca00 Add SabreTools to home.packages -- Bianry is SabreTools, trying to fix that... 2024-05-18 06:27:33 -04:00
1f699da0a1 Commas and incorrectly pointing at variables are hard. 2024-05-18 05:54:39 -04:00
813722216b Oops, messed up where ps3dec was actually located. 2024-05-18 05:51:17 -04:00
267dad7f8b idk, I moved some comments around again. 2024-05-18 05:49:45 -04:00
4e4601eafa Change ps3dec license to lib.licenses.unfree because \*TECHNICALLY...\* 2024-05-18 05:49:17 -04:00
5bfa7afb82 Add ps3dec to home.packages 2024-05-18 05:44:36 -04:00
3edea2bd31 Update flake.lock 2024-05-18 04:06:46 -04:00
c63489eff2 Update IRDKit's deps.nix so it can build. 2024-05-18 03:48:31 -04:00
8376e2453c Bleh 2024-05-18 03:34:23 -04:00
4e034f1bfc Tweak some comments around my self-packaged apps. 2024-05-18 03:31:06 -04:00
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
1b7aa8a8b3 Enable nixpkgs.config.allowUnfree = true; to make my life easier. 2024-05-18 03:27:59 -04:00
7ad91a64ac Remove myself as maintainer of ird_tools just to ease any issues there. 2024-05-18 02:16:16 -04:00
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
42619cc0d5 Change ird_tools back to lib.licenses.unfree, and tweak comment layout. 2024-05-18 02:08:59 -04:00
e91485c0af Add irdkit and ird_tools to my packages again. 2024-05-18 01:50:05 -04:00
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
77d5921a3d ... Maybe a couple more comments. 2024-05-14 06:02:59 -04:00
ac341f613a Move some comments around again. 2024-05-14 04:23:11 -04:00
3bc7bddb25 Change system.configurationRevision to use self.shortRev instead of rev. 2024-05-14 04:04:51 -04:00
2ea9051688 Remove some outdated files that git was still holding... for some reason. 2024-05-13 23:31:53 -04:00
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,17 +1,30 @@
{
lib,
agenix,
config,
modulesPath,
nixosConfig,
nixpkgs,
options,
osConfig,
pkgs,
my_pkgs,
xil,
specialArgs,
system,
...
xil
}:
{
imports = [
./pkgs_and_programs.nix # home.packages and programs
./dotfiles.nix # home.file
./variables.nix # home.sessionVariables
./aliases.nix # home.shellAliases
];
home = {
# Home Manager needs a bit of information about you and the paths it should
# manage.
home.username = "whovian";
home.homeDirectory = "/home/whovian";
username = "whovian";
homeDirectory = "/home/whovian";
/*
This value determines the Home Manager release that your configuration is
@ -22,73 +35,18 @@
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.
stateVersion = "23.05"; # Please read the comment before changing.
# The home.packages option allows you to install Nix packages into your
# environment.
nixpkgs = {
config = {
allowUnfree = true;
};
# 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";
};
};
};
}