From 862b040540b2b28b76bbd744507e6a206e03b1de Mon Sep 17 00:00:00 2001 From: Whovian9369 Date: Thu, 24 Oct 2024 01:24:22 -0400 Subject: [PATCH] So I may have tried to clean up my `flake.nix` a lot. --- .gitignore | 8 +- Notes.md | 103 ++++++ README.md | 49 --- chimchar-hold_for_flake.nix | 7 - flake.lock | 115 +++++-- flake.nix | 294 +++--------------- home/aliases.nix | 20 +- home/dotfiles.nix | 8 - home/home.nix | 11 +- home/packages/binaryobjectscanner/deps.nix | 28 +- home/packages/irdkit/deps.nix | 28 +- home/packages/sabretools/deps.nix | 98 ++++-- home/packages/sabretools/package.nix | 6 +- home/pkgs_and_programs.nix | 47 +-- system/chimchar/.gitkeep | 0 system/{piplup => chimchar}/configuration.nix | 0 system/chimchar/hardware-configuration.nix | 37 +++ system/chimchar/main.nix | 105 +++++++ system/chimchar/packages.nix | 32 ++ .../dotnet_os_codename-workaround.nix | 0 system/{ => common}/groups.nix | 0 system/{ => common}/nix_lix.nix | 0 system/{ => common}/sshKeys.nix | 1 + system/{ => common}/users.nix | 2 + system/isoimage-pc/main.nix | 108 +++++++ system/nixos-wsl/main.nix | 94 ++++++ system/nixps/docker.nix | 14 + system/nixps/gui.nix | 54 ++++ system/nixps/hardware-configuration.nix | 46 +++ system/nixps/main.nix | 146 +++++++++ system/nixps/packages.nix | 47 +++ system/nixps/tailscale.nix | 32 ++ system/nixps/udev.nix | 17 + system/nixps/users.nix | 38 +++ system/piplup/gui-mate.nix | 12 + .../configuration.nix => piplup/main.nix} | 37 ++- system/shared_imports.nix | 33 ++ 37 files changed, 1237 insertions(+), 440 deletions(-) create mode 100644 Notes.md delete mode 100644 system/chimchar/.gitkeep rename system/{piplup => chimchar}/configuration.nix (100%) create mode 100644 system/chimchar/hardware-configuration.nix create mode 100644 system/chimchar/main.nix create mode 100644 system/chimchar/packages.nix rename system/{ => common}/dotnet_os_codename-workaround.nix (100%) rename system/{ => common}/groups.nix (100%) rename system/{ => common}/nix_lix.nix (100%) rename system/{ => common}/sshKeys.nix (55%) rename system/{ => common}/users.nix (88%) create mode 100644 system/isoimage-pc/main.nix create mode 100644 system/nixos-wsl/main.nix create mode 100644 system/nixps/docker.nix create mode 100644 system/nixps/gui.nix create mode 100644 system/nixps/hardware-configuration.nix create mode 100644 system/nixps/main.nix create mode 100644 system/nixps/packages.nix create mode 100644 system/nixps/tailscale.nix create mode 100644 system/nixps/udev.nix create mode 100644 system/nixps/users.nix create mode 100644 system/piplup/gui-mate.nix rename system/{nixos-wsl/configuration.nix => piplup/main.nix} (64%) create mode 100644 system/shared_imports.nix diff --git a/.gitignore b/.gitignore index 4abd952..56c72af 100644 --- a/.gitignore +++ b/.gitignore @@ -1,10 +1,8 @@ .env -manualEpub* +/manualEpub* # symlink for # nixosConfigurations.nixos-wsl.config.system.build.manual.manualEpub -result* +/result* # Symlink for system build -isoimage-pc* +/isoimage-pc* # Symlink for x86_64-linux ISO build -/system/xps/ - # Ignore the `nixps` config since it's out of commission right now anyway. diff --git a/Notes.md b/Notes.md new file mode 100644 index 0000000..c478532 --- /dev/null +++ b/Notes.md @@ -0,0 +1,103 @@ +# Notes for possible future use: + +`/run/udev/rules.d` exists. Might be good to remember. + +------------------------------- + +## GUI Notes + - Look into `nixpkgs#eww` for no real reason + +### Wallpapers that I like +https://github.com/NixOS/nixos-artwork/blob/master/wallpapers/nix-wallpaper-nineish-dark-gray.png + +## Information Backups: +```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 +``` + +## Options that I may want: +I really really should look further into these before actually using them. +```nix +virtualisation.docker = { + enableOnBoot = true; + autoPrune = { + enable = true; + }; +}; + +wsl = { + # Enable integration with Docker Desktop (needs to be installed) + docker-desktop.enable = false; +}; + +environment.shells = [pkgs.zsh]; + +nix = { + settings = { + access-tokens = [ + "github.com=${github_token-variable}" + "gitlab.com=OAuth2:${gitlab_token-variable}" + ]; + accept-flake-config = true; + auto-optimise-store = true; + }; + + gc = { + automatic = true; + options = "--delete-older-than 7d"; + }; +}; + +networking.networkmanager.plugins = []; +``` + +## Yubikey, probably? +Source: https://old.reddit.com/r/NixOS/comments/170tbbj/cannot_force_yubikey_in_2fa/k3okj79/ + +Add this to config: +```nix +{ pkgs, ... }: { + programs.gnupg.agent.enable = true; + services = { + pcscd.enable = true; + udev.packages = [ pkgs.yubikey-personalization pkgs.libu2f-host ]; + } +} +``` + +Run these commands +```bash + $ gpg --card-status # Verify that the hardware support works + + $ gpg --change-pin # Change both the pin and the admin pin + # Default pins are 123456 and 12345678 respectively + + $ gpg --edit-card # Issue these commands in the interactive session: + admin # Allow the "generate" command to be used + key-attr # Tell it you want RSA 4096 + generate # Several interactive prompts. + # Asks for user pin first and admin pin second. + # and touch the key. + + $ pamu2fcfg # Put this in security.pam.u2f.authFile. + # pamu2fcfg is in the pam_u2f package. + + # ykman is in the yubikey-manager package. + $ ykman config usb --disable OTP # Optional: Don't emit gibberish when bumped. + $ ykman openpgp keys set-touch sig on # Optional: Require key to be touched on use + $ ykman openpgp keys set-touch enc on + $ ykman openpgp keys set-touch aut on + $ ykman openpgp keys set-touch att on +``` + +```nix +{ pkgs, ... }: { + security.pam.u2f.control = "required"; + security.pam.u2f.enable = true; + security.pam.u2f.authFile = pkgs.writeText "u2f-auth-file" '' + + ''; +} +``` diff --git a/README.md b/README.md index 2d5aae6..ae8110c 100644 --- a/README.md +++ b/README.md @@ -14,52 +14,3 @@ If you have suggestions on "fixing" or "cleaning up" my configurations, please a - [[github:LGUG2Z/nixos-wsl-starter] "A sane, batteries-included starter template for running NixOS on WSL"](https://github.com/LGUG2Z/nixos-wsl-starter) - [[githubL:ashebanow Starred - Example Nix Configs] "These are other people's nix configs I've found useful, informative, and/or inspirational."](https://github.com/stars/ashebanow/lists/example-nix-configs/) - -### Notes for possible future use: - -`/run/udev/rules.d` exists. Might be good to remember. - -------------------------------- - -I really really should look further into these before actually using them. -```nix -virtualisation.docker = { - enableOnBoot = true; - autoPrune = { - enable = true; - }; -}; - -wsl = { - # Enable integration with Docker Desktop (needs to be installed) - docker-desktop.enable = false; -}; - -environment.shells = [pkgs.zsh]; - -nix = { - settings = { - access-tokens = [ - "github.com=${github_token-variable}" - "gitlab.com=OAuth2:${gitlab_token-variable}" - ]; - accept-flake-config = true; - auto-optimise-store = true; - }; - - gc = { - automatic = true; - options = "--delete-older-than 7d"; - }; -}; -``` - -### GUI Notes - - Look into `nixpkgs#eww` - -### Information Backups: -```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 -``` diff --git a/chimchar-hold_for_flake.nix b/chimchar-hold_for_flake.nix index 3d7bac2..5ca751b 100644 --- a/chimchar-hold_for_flake.nix +++ b/chimchar-hold_for_flake.nix @@ -87,13 +87,6 @@ chimchar = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; modules = [ - # ./system/chimchar/configuration.nix - # Am I going to use "configuration.nix" in this next config? - # Am I going to put it all into the flake itself? - # Am I going to do something else? - ./system/dotnet_os_codename-workaround.nix - # Source of this fix file is - # https://github.com/nazarewk-iac/nix-configs/blob/main/modules/ascii-workaround.nix ./system/nix_lix.nix # Enable Nix fork "Lix" instead of default "Nix" version from # upstream diff --git a/flake.lock b/flake.lock index 488027d..7879e94 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1723761384, - "narHash": "sha256-MSBNNd9U/nBt4f7aSwoTm+nYsfSc9EoOkZfgo5NAnTs=", + "lastModified": 1727848216, + "narHash": "sha256-5xBFB413aR6u0npUyWT62Znnk0rZ5R2PenJ2AWJesoo=", "owner": "Whovian9369", "repo": "aaru-nix-flake", - "rev": "c45fa35a8b0d92f72ed0853c1cc2277ac7e581f9", + "rev": "a00781581982af1ef5cbf662fe0f3c004cd047e8", "type": "github" }, "original": { @@ -69,11 +69,11 @@ ] }, "locked": { - "lastModified": 1710146030, - "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", + "lastModified": 1726560853, + "narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=", "owner": "numtide", "repo": "flake-utils", - "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", + "rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a", "type": "github" }, "original": { @@ -104,11 +104,11 @@ ] }, "locked": { - "lastModified": 1726440980, - "narHash": "sha256-ChhIrjtdu5d83W+YDRH+Ec5g1MmM0xk6hJnkz15Ot7M=", + "lastModified": 1729551526, + "narHash": "sha256-7LAGY32Xl14OVQp3y6M43/0AtHYYvV6pdyBcp3eoz0s=", "owner": "nix-community", "repo": "home-manager", - "rev": "a9c9cc6e50f7cbd2d58ccb1cd46a1e06e9e445ff", + "rev": "5ec753a1fc4454df9285d8b3ec0809234defb975", "type": "github" }, "original": { @@ -130,11 +130,11 @@ "pre-commit-hooks": "pre-commit-hooks" }, "locked": { - "lastModified": 1726342126, - "narHash": "sha256-SqATcoZoC90sjVXmjBpvXAiksQfTGR08nuZh4h8esY0=", + "lastModified": 1729611156, + "narHash": "sha256-Mxz5UkP7PU00Wm5FwTO2CR/injIJQk2MQYfkYjApsak=", "ref": "refs/heads/main", - "rev": "727258241fc0b3c02691b72302d2c3092baca275", - "revCount": 16244, + "rev": "1d9d40b2a663464f1e6800d6de8df61433507423", + "revCount": 16371, "type": "git", "url": "https://git@git.lix.systems/lix-project/lix" }, @@ -157,11 +157,11 @@ ] }, "locked": { - "lastModified": 1725836728, - "narHash": "sha256-dCbHCwqrzcHlEsRilMX+KM3IfRV46ieGqDyAD3GgCSs=", + "lastModified": 1727752861, + "narHash": "sha256-jowmo2aEzrEpPSM96IWtajuogdJm7DjAWxFTEb7Ct0s=", "ref": "refs/heads/main", - "rev": "353b25f0b6da5ede15206d416345a2ec4195b5c8", - "revCount": 107, + "rev": "fd186f535a4ac7ae35d98c1dd5d79f0a81b7976d", + "revCount": 116, "type": "git", "url": "https://git.lix.systems/lix-project/nixos-module" }, @@ -170,6 +170,30 @@ "url": "https://git.lix.systems/lix-project/nixos-module" } }, + "ninfs": { + "inputs": { + "flake-utils": [ + "flake-utils" + ], + "nixpkgs": [ + "nixpkgs" + ], + "pyctr": "pyctr" + }, + "locked": { + "lastModified": 1728455832, + "narHash": "sha256-iOLmSb38I4M0hZL/JE6bHy5cwbFmdFX+H7ycxSN/aSg=", + "owner": "ihaveamac", + "repo": "ninfs", + "rev": "bec4e62f29040d28904cbc05c52bf25fca4af5f8", + "type": "github" + }, + "original": { + "owner": "ihaveamac", + "repo": "ninfs", + "type": "github" + } + }, "nix-index-database": { "inputs": { "nixpkgs": [ @@ -177,11 +201,11 @@ ] }, "locked": { - "lastModified": 1726449931, - "narHash": "sha256-1AX7MyYzP7sNgZiGF8jwehCCI75y2kBGwACeryJs+yE=", + "lastModified": 1729394935, + "narHash": "sha256-2ntUG+NJKdfhlrh/tF+jOU0fOesO7lm5ZZVSYitsvH8=", "owner": "nix-community", "repo": "nix-index-database", - "rev": "c1b0fa0bec5478185eae2fd3f39b9e906fc83995", + "rev": "04f8a11f247ba00263b060fbcdc95484fd046104", "type": "github" }, "original": { @@ -208,11 +232,11 @@ "nix2container": { "flake": false, "locked": { - "lastModified": 1720642556, - "narHash": "sha256-qsnqk13UmREKmRT7c8hEnz26X3GFFyIQrqx4EaRc1Is=", + "lastModified": 1724996935, + "narHash": "sha256-njRK9vvZ1JJsP8oV2OgkBrpJhgQezI03S7gzskCcHos=", "owner": "nlewo", "repo": "nix2container", - "rev": "3853e5caf9ad24103b13aa6e0e8bcebb47649fe4", + "rev": "fa6bb0a1159f55d071ba99331355955ae30b3401", "type": "github" }, "original": { @@ -234,11 +258,11 @@ ] }, "locked": { - "lastModified": 1725882169, - "narHash": "sha256-v5L+Dh6KdyycIgcdIc6SQ1fRNNvFJmYz02+fyeptA2o=", + "lastModified": 1729639198, + "narHash": "sha256-AshdfLU9yWhtYQdR5FnUtoQUlXvFee+vlQwPng4DSNY=", "owner": "nix-community", "repo": "NixOS-WSL", - "rev": "34b95b3962f5b3436d4bae5091d1b2ff7c1eb180", + "rev": "eb326eabbfce607700d0af08cd957fd9d06e48fa", "type": "github" }, "original": { @@ -250,11 +274,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1726243404, - "narHash": "sha256-sjiGsMh+1cWXb53Tecsm4skyFNag33GPbVgCdfj3n9I=", + "lastModified": 1729413321, + "narHash": "sha256-I4tuhRpZFa6Fu6dcH9Dlo5LlH17peT79vx1y1SpeKt0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "345c263f2f53a3710abe117f28a5cb86d0ba4059", + "rev": "1997e4aa514312c1af7e2bda7fad1644e778ff26", "type": "github" }, "original": { @@ -283,11 +307,11 @@ "pre-commit-hooks": { "flake": false, "locked": { - "lastModified": 1721042469, - "narHash": "sha256-6FPUl7HVtvRHCCBQne7Ylp4p+dpP3P/OYuzjztZ4s70=", + "lastModified": 1726745158, + "narHash": "sha256-D5AegvGoEjt4rkKedmxlSEmC+nNLMBPWFxvmYnVLhjk=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "f451c19376071a90d8c58ab1a953c6e9840527fd", + "rev": "4e743a6920eab45e8ba0fbe49dc459f1423a4b74", "type": "github" }, "original": { @@ -296,6 +320,32 @@ "type": "github" } }, + "pyctr": { + "inputs": { + "flake-utils": [ + "ninfs", + "flake-utils" + ], + "nixpkgs": [ + "ninfs", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1727998922, + "narHash": "sha256-71/9idhRs+SbFPC6AbiYdrmx39hFGZgI9YUpqJrN8Ic=", + "owner": "ihaveamac", + "repo": "pyctr", + "rev": "b583b9553bef7e8ee430f70a5406a5b057caf88c", + "type": "github" + }, + "original": { + "owner": "ihaveamac", + "ref": "master", + "repo": "pyctr", + "type": "github" + } + }, "rom-properties": { "inputs": { "nixpkgs": [ @@ -325,6 +375,7 @@ "home-manager": "home-manager", "lix": "lix", "lix-module": "lix-module", + "ninfs": "ninfs", "nix-index-database": "nix-index-database", "nix-systems_default": "nix-systems_default", "nixos-wsl": "nixos-wsl", diff --git a/flake.nix b/flake.nix index fcbb1f2..4f68dd1 100644 --- a/flake.nix +++ b/flake.nix @@ -53,6 +53,12 @@ inputs.nixpkgs.follows = "nixpkgs"; }; + ninfs = { + url = "github:ihaveamac/ninfs"; + inputs.nixpkgs.follows = "nixpkgs"; + inputs.flake-utils.follows = "flake-utils"; + }; + ### Lix! Lix! Lix! lix = { @@ -108,14 +114,14 @@ # Lix lix, lix-module, # Added by me - agenix, home-manager, nix-index-database, xil, aaru, rom-properties, ... }: + aaru, agenix, home-manager, ninfs, nix-index-database, rom-properties, xil, ... }: let pkgs = import nixpkgs { system = "x86_64-linux"; config.allowUnfree = true; }; - inherit (import ./system/sshKeys.nix) mySSHKeys; + inherit (import ./system/common/sshKeys.nix) mySSHKeys; in { # Notes @@ -143,290 +149,92 @@ nixosConfigurations = { nixos-wsl = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; + specialArgs = { + inherit aaru agenix home-manager ninfs nix-index-database xil rom-properties mySSHKeys; + }; modules = [ - ./system/nixos-wsl/configuration.nix + ./system/shared_imports.nix + ./system/nixos-wsl/main.nix # ./system/dotnet_os_codename-workaround.nix # Source of this fix file is # https://github.com/nazarewk-iac/nix-configs # /modules/ascii-workaround.nix - ./system/nix_lix.nix - ./system/users.nix nixos-wsl.nixosModules.wsl lix-module.nixosModules.default home-manager.nixosModules.home-manager { system.configurationRevision = self.shortRev or self.dirtyShortRev or "dirty"; - - users.users.whovian = { - openssh.authorizedKeys.keys = mySSHKeys; - }; - - environment.shells = [ - pkgs.zsh - ]; - - home-manager = { - useGlobalPkgs = true; - useUserPackages = true; - - users = { - whovian = { - imports = [ - ./home/home.nix - agenix.homeManagerModules.default - nix-index-database.hmModules.nix-index - ]; - }; - }; - - # Optionally, use home-manager.extraSpecialArgs to pass arguments - # to home.nix - extraSpecialArgs = { - system = "x86_64-linux"; - inherit aaru; - inherit agenix; - inherit nixpkgs; - inherit rom-properties; - inherit xil; - pkgs = import nixpkgs { system = "x86_64-linux"; config.allowUnfree = true; }; - }; - }; - - # services.nixseparatedebuginfod.enable = true; } ]; }; - isoimage-pc = nixpkgs.lib.nixosSystem { + chimchar = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; + specialArgs = { + # inherit aaru home-manager xil; + # inherit agenix nix-index-database rom-properties mySSHKeys; + inherit aaru agenix home-manager ninfs nix-index-database xil rom-properties mySSHKeys; + }; modules = [ - "${nixpkgs}/nixos/modules/installer/cd-dvd/installation-cd-graphical-gnome.nix" + ./system/shared_imports.nix + ./system/chimchar/main.nix + lix-module.nixosModules.default + home-manager.nixosModules.home-manager { - - /* - - isoImage = { - # Defaults - isoName = "nixos-24.11.20240607.051f920-x86_64-linux.iso"; - # "iso-image.nix" says that it defaults to - # "${config.isoImage.isoBaseName}.iso" - # "installation-cd-base.nix" seems to default it as - # "${config.isoImage.isoBaseName}-${config.system.nixos.label}-${pkgs.stdenv.hostPlatform.system}.iso" - # "installation-cd-base.nix" seems to be the canonical here. - isoBaseName = "nixos"; - # Defaults to config.system.nixos.distroId - # config.system.nixos.distroId = "nixos" - edition = "gnome"; - # Defaults to an empty string - # "gnome" is set due to using - # "installation-cd-graphical-gnome.nix" - volumeID = "nixos-gnome-24.11-x86_64"; - # Defaults to "nixos${optionalString (config.isoImage.edition != "") "-${config.isoImage.edition}"}-${config.system.nixos.release}-${pkgs.stdenv.hostPlatform.uname.processor}"; - prependToMenuLabel = ""; - # Defaults to an empty string - appendToMenuLabel = ""; - # Defaults to an empty string - }; - - */ - - isoImage = { - isoBaseName = "Whovian-nixos"; - # Defaults to config.system.nixos.distroId - # config.system.nixos.distroId simply output... "nixos" lol - # I'm adding "Whovian-" in front because I like marking that - # it's a custom image. - }; - - environment.systemPackages = [ - pkgs._7zz - pkgs.bat - pkgs.dhex - pkgs.fd - pkgs.file - pkgs.git - pkgs.lynx - pkgs.ncdu - pkgs.progress - pkgs.ripgrep - pkgs.sshfs - pkgs.terminator - pkgs.wget - pkgs.xxd - pkgs.yq - # xil.packages.x86_64-linux.xil - ]; - - nix.extraOptions = '' - experimental-features = nix-command flakes - ''; - - programs = { - nano.enable = true; - screen.enable = true; - zsh = { - enable = true; - shellInit = '' zsh-newuser-install () {} ''; - /* - Disable "zsh/newuser" since this is a Live-DVD! - I just want a working shell to use, please. - See https://www.zsh.org/mla/users/2007/msg00396.html for - some conversation about this unchanged feature! ... - 17 years later! - */ - # Honestly unsure if I should be using `programs.zsh.envExtra` - # or `programs.zsh.localVariables` here. - /* - localVariables = { - DISABLE_MAGIC_FUNCTIONS = true; - }; - */ - ohMyZsh = { - enable = true; - theme = "bira"; - plugins = [ - "git" - "sudo" - ]; - }; - }; - }; - - users = { - defaultUserShell = pkgs.zsh; - users.root.openssh.authorizedKeys.keys = mySSHKeys; - users.nixos.openssh.authorizedKeys.keys = mySSHKeys; - }; - - services.openssh = { - enable = true; - settings = { - PasswordAuthentication = false; - KbdInteractiveAuthentication = false; - }; - }; + system.configurationRevision = self.shortRev or self.dirtyShortRev or "dirty"; } ]; }; piplup = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; - specialArgs = { inherit rom-properties; }; + specialArgs = { + inherit aaru agenix home-manager ninfs nix-index-database xil rom-properties mySSHKeys; + }; modules = [ - ./system/piplup/configuration.nix + ./system/shared_imports.nix + ./system/piplup/main.nix # ./system/dotnet_os_codename-workaround.nix # Source of this fix file is # https://github.com/nazarewk-iac/nix-configs # /modules/ascii-workaround.nix - ./system/nix_lix.nix - ./system/users.nix lix-module.nixosModules.default home-manager.nixosModules.home-manager { system.configurationRevision = self.shortRev or self.dirtyShortRev or "dirty"; - - boot.loader.systemd-boot = { - enable = true; - editor = false; - }; - - users.users.whovian = { - openssh.authorizedKeys.keys = mySSHKeys; - }; - - services.openssh = { - enable = true; - settings = { - PasswordAuthentication = false; - KbdInteractiveAuthentication = false; - }; - }; - - environment.shells = [ - pkgs.zsh - ]; - - home-manager = { - useGlobalPkgs = true; - useUserPackages = true; - - users = { - whovian = { - imports = [ - ./home/home.nix - agenix.homeManagerModules.default - nix-index-database.hmModules.nix-index - ]; - }; - }; - - # Optionally, use home-manager.extraSpecialArgs to pass arguments - # to home.nix - extraSpecialArgs = { - system = "x86_64-linux"; - inherit aaru; - # inherit xil; - inherit nixpkgs; - pkgs = import nixpkgs { - system = "x86_64-linux"; - config.allowUnfree = true; - }; - inherit rom-properties; - inherit agenix; - }; - }; } ]; }; - /* nixps = nixpkgs.lib.nixosSystem { - system = "x86_64-linux"; - modules = [ - ./system/xps/configuration.nix - # ./system/xps/users.nix - home-manager.nixosModules.home-manager - { - system.configurationRevision = self.shortRev or self.dirtyShortRev or "dirty"; + system = "x86_64-linux"; + modules = [ + ./system/shared_imports.nix + ./system/nixps/main.nix + home-manager.nixosModules.home-manager + { + system.configurationRevision = self.shortRev or self.dirtyShortRev or "dirty"; + } + ]; + }; - home-manager = { - useGlobalPkgs = true; - useUserPackages = true; + isoimage-pc = nixpkgs.lib.nixosSystem { + system = "x86_64-linux"; + specialArgs = { inherit mySSHKeys; }; + modules = [ + ./system/isoimage-pc/main.nix + "${nixpkgs}/nixos/modules/installer/cd-dvd/installation-cd-graphical-gnome.nix" + ]; + }; - users = { - whovian = { - imports = [ - ./home/home.nix - agenix.homeManagerModules.default - nix-index-database.hmModules.nix-index - ]; - }; - }; - - # Optionally, use home-manager.extraSpecialArgs to pass arguments to home.nix - extraSpecialArgs = { - system = "x86_64-linux"; - inherit xil; - inherit nixpkgs; - pkgs = import nixpkgs { - system = "x86_64-linux"; - config.allowUnfree = true; - }; - inherit agenix; - }; - }; - } - ]; - }; - */ }; formatter.x86_64-linux = nixpkgs.legacyPackages.x86_64-linux.nixfmt-rfc-style; /* Some options: - nixpkgs.legacyPackages.x86_64-linux.alejandra + - nixpkgs.legacyPackages.x86_64-linux.nixfmt - nixpkgs.legacyPackages.x86_64-linux.nixfmt-classic - - nixpkgs.legacyPackages.x86_64-linux.nixfmt-rfc-style - nixpkgs.legacyPackages.x86_64-linux.treefmt - Didn't figure it out - Seems too... "Meh" @@ -455,9 +263,9 @@ build_isoimage-pc = self.nixosConfigurations.isoimage-pc.config.system.build.isoImage; external_lix = lix.packages.x86_64-linux.nix; - external_xil = xil.packages.x86_64-linux.xil; - external_aaru = aaru.packages.x86_64-linux.git; - external_rom-properties = rom-properties.packages.x86_64-linux.default; + # external_xil = xil.packages.x86_64-linux.xil; + # external_aaru = aaru.packages.x86_64-linux.git; + # external_rom-properties = rom-properties.packages.x86_64-linux.default; }; }; } diff --git a/home/aliases.nix b/home/aliases.nix index 2ea6061..b207d48 100644 --- a/home/aliases.nix +++ b/home/aliases.nix @@ -1,12 +1,17 @@ -{ nixpkgs, options, ... }: +{ + lib, + osConfig, + ... +}: { home.shellAliases = { - # From Nix environment - "7z" = "7zz"; - # "7zz" is from "nixpkgs#_7zz" - "termbin" = "nc termbin.com 9999"; - # Alias that lets me upload text to https://termbin.com/ - # Mainly so I can lazily upload build logs. + # From Nix environment + "7z" = "7zz"; + # "7zz" is from "nixpkgs#_7zz" + "termbin" = "nc termbin.com 9999"; + # Alias that lets me upload text to https://termbin.com/ + # Mainly so I can lazily upload build logs. + } // lib.optionalAttrs (osConfig.wsl.enable or false) { # From Windows "%PATH%" "adb" = "adb.exe"; "caja" = "wsl-open"; @@ -16,5 +21,4 @@ "yt-dlp" = "yt-dlp.exe"; "7zexe" = "/mnt/c/Program\\ Files/7-Zip/7z.exe"; }; - # } // nixpkgs.lib.optionalAttrs (options ? wsl) { } diff --git a/home/dotfiles.nix b/home/dotfiles.nix index f351581..9290e79 100644 --- a/home/dotfiles.nix +++ b/home/dotfiles.nix @@ -15,14 +15,6 @@ ".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 = '' diff --git a/home/home.nix b/home/home.nix index edbda49..b0a3964 100644 --- a/home/home.nix +++ b/home/home.nix @@ -1,18 +1,9 @@ { lib, - aaru, agenix, - config, - modulesPath, - nixosConfig, - nixpkgs, - options, - osConfig, - pkgs, - rom-properties, specialArgs, system, - xil + ... }: { imports = [ diff --git a/home/packages/binaryobjectscanner/deps.nix b/home/packages/binaryobjectscanner/deps.nix index e5b57b1..4022cc1 100644 --- a/home/packages/binaryobjectscanner/deps.nix +++ b/home/packages/binaryobjectscanner/deps.nix @@ -6,54 +6,54 @@ (fetchNuGet { pname = "Blake3"; version = "1.1.0"; hash = "sha256-gSXmXolZOlon1UG2miI9bdS1542vGR8EyukwIkqXdoE="; }) (fetchNuGet { pname = "Microsoft.AspNetCore.App.Ref"; version = "3.1.10"; hash = "sha256-51D1XkqFMPHJzOmt1HQ0Bf1n9K0auwEyxTJuqA/8xHY="; }) (fetchNuGet { pname = "Microsoft.AspNetCore.App.Ref"; version = "5.0.0"; hash = "sha256-z22ZDldoIlDUYeF9Rje0aVPlYAGKIpdj5wDzn1CW+jQ="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.App.Ref"; version = "6.0.33"; hash = "sha256-GcPiO+iI0JsHYlqURAmzWjOnDX2jDCUY4jYaIwr8ojs="; }) + (fetchNuGet { pname = "Microsoft.AspNetCore.App.Ref"; version = "6.0.35"; hash = "sha256-BxvIeZIaBdC0wyDQqKW0E5axSRSrtQk3oEPsT287014="; }) (fetchNuGet { pname = "Microsoft.AspNetCore.App.Ref"; version = "7.0.20"; hash = "sha256-OEDXXjQ1HDRPiA4Y1zPr1xUeH6wlzTCJpts+DZL61wI="; }) (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm64"; version = "3.1.32"; hash = "sha256-vZkj1OFhojFyl//ZqrbZG3j8rGk/6rwqMhvvR6gWCgI="; }) (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm64"; version = "5.0.17"; hash = "sha256-ELWBHK+1ijGTvq1BsK/vJx/MNqKS8daZgrQ0Tj9+faA="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm64"; version = "6.0.33"; hash = "sha256-g5zbB1DnCSKuCOWtF09GEqGn1uJLdlTN6kqdnSCzRjQ="; }) + (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm64"; version = "6.0.35"; hash = "sha256-jM/HzLumZvI939DrNb8LHnEr/in1Lws0j/FAfdXSzbk="; }) (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm64"; version = "7.0.20"; hash = "sha256-ewal9R6o20GV0R02ylSijVFdWZAbdN8TK1PCc/ltHBQ="; }) (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "3.1.32"; hash = "sha256-OV3Ie8JGTEwNI4Y6DJFh+ZUrBTwrSdFjEbfljfAwn3s="; }) (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "5.0.17"; hash = "sha256-iHn2yGpaL5EM8L7nJJ2aRCIZ+kE98NS+KWUvrWnjzhg="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "6.0.33"; hash = "sha256-ToaiqVy5qonomAVBg5PO1GgrPKL4Cc1BZTJ0z/2LquA="; }) + (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "6.0.35"; hash = "sha256-2eUqoTcqTU3ebv53IV6yvN9EhkOqnyBRd2tz74HuSsE="; }) (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "7.0.20"; hash = "sha256-vq59xMfrET8InzUhkAsbs2xp3ML+SO9POsbwAiYKzkA="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.osx-arm64"; version = "6.0.33"; hash = "sha256-OY/vdqAzZ99I4lEZbOOQw12TE0AIb5pXxKTvDxO2M2Q="; }) + (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.osx-arm64"; version = "6.0.35"; hash = "sha256-6mY2uBhvKCpEFJLYX9+f1mpYrWdN69i+14DPjO4U8eo="; }) (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.osx-arm64"; version = "7.0.20"; hash = "sha256-PHBb0AuRpB8kkQvQJIJSLu5Ub/U2pYA0wMGBarUkS8o="; }) (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.osx-x64"; version = "3.1.32"; hash = "sha256-LD7skhj3ZqIJlgL2VG/1PqPJT7yGQPuSNkduHhQpM7M="; }) (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.osx-x64"; version = "5.0.17"; hash = "sha256-TdhOyPN+WA27WFd3PLKdsC+bbyNidOiOOuz/WpHDe+M="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.osx-x64"; version = "6.0.33"; hash = "sha256-53MAV3RO1kXzy5IpdZDZIOhoUzFqWHn7+A3aWwdTONQ="; }) + (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.osx-x64"; version = "6.0.35"; hash = "sha256-ljEkMgkgfEeqzRnmTubjSK2dzkph0cSQ7+2J986F7HI="; }) (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.osx-x64"; version = "7.0.20"; hash = "sha256-+MQMRFzfG2CbNJnfw0buP4VorL2yR+T4UeEBSbKSmPY="; }) (fetchNuGet { pname = "Microsoft.Bcl.AsyncInterfaces"; version = "8.0.0"; hash = "sha256-9aWmiwMJKrKr9ohD1KSuol37y+jdDxPGJct3m2/Bknw="; }) (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-arm64"; version = "3.1.32"; hash = "sha256-V5yVTC2je2wsv/gqLaVmnzcnDfNGETz0e7/M3MG5z/8="; }) (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-arm64"; version = "5.0.17"; hash = "sha256-a8FLTWaNL6TknXDx+YFwLzcDn7nuq3l9yN2UUrHfZx8="; }) - (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-arm64"; version = "6.0.33"; hash = "sha256-rwWOpf2Pdg84c8bKIUcMYuDTI0kXUELL/nl9psSmX+E="; }) + (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-arm64"; version = "6.0.35"; hash = "sha256-yrtPCYD8skaWnfIoaUdQ1dns0YrypxDocskS2WGxF6g="; }) (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-arm64"; version = "7.0.20"; hash = "sha256-/20dMbO1Ft0WVhl+Lv1916Thvr4kPP9LuuX4bKE+czE="; }) (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-x64"; version = "3.1.32"; hash = "sha256-ajR6pZv0zuzWDyxEnWtAuhasV5biV5lvweEbefTISiM="; }) (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-x64"; version = "5.0.17"; hash = "sha256-exMpVamk8ZzfCQDQcDmQDYJplDcOOU99ic7NSDKUgtE="; }) - (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-x64"; version = "6.0.33"; hash = "sha256-5iYNZATXOePDsLA9lI80o1Gjxw4E+B4bJbwdYJJHcZY="; }) + (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-x64"; version = "6.0.35"; hash = "sha256-maNzxJQ5oCd86VI4ROzl4RqOV1RNXn3qWjrAfBjr2Y0="; }) (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-x64"; version = "7.0.20"; hash = "sha256-Y1Dg8Sqhya86xD+9aJOuznT4mJUyFmoF/YZc0+5LBdc="; }) - (fetchNuGet { pname = "Microsoft.NETCore.App.Host.osx-arm64"; version = "6.0.33"; hash = "sha256-k3LenomOlacyzq4FlBY/TwV7+ClbK4U0A/O9r0pZHT4="; }) + (fetchNuGet { pname = "Microsoft.NETCore.App.Host.osx-arm64"; version = "6.0.35"; hash = "sha256-cBcfv7tnZa2xO5T5VOx3/7EvJ5u4/C4dFnV1Jj6VFPU="; }) (fetchNuGet { pname = "Microsoft.NETCore.App.Host.osx-arm64"; version = "7.0.20"; hash = "sha256-MTyRTWhDmMaCsNorju/tLb0w+ssKydDX/NBFzSfqB0Q="; }) (fetchNuGet { pname = "Microsoft.NETCore.App.Host.osx-x64"; version = "3.1.32"; hash = "sha256-AOr3qBlvr+WGF79tTq/yvKWJLXqEO4Sv+eTCpZGVz6A="; }) (fetchNuGet { pname = "Microsoft.NETCore.App.Host.osx-x64"; version = "5.0.17"; hash = "sha256-bDgVacWuwDTJqEL/RbZ2gS9EGexx0OGZsYPnHQPh5Qk="; }) - (fetchNuGet { pname = "Microsoft.NETCore.App.Host.osx-x64"; version = "6.0.33"; hash = "sha256-tu72AwDH1+oAIXjOJcNbeyKm1s4pncYp0avbMSBrcJQ="; }) + (fetchNuGet { pname = "Microsoft.NETCore.App.Host.osx-x64"; version = "6.0.35"; hash = "sha256-05wMp5+etiV/vgktqGo8+4XB7FNYxwCUKpJsW48tgvQ="; }) (fetchNuGet { pname = "Microsoft.NETCore.App.Host.osx-x64"; version = "7.0.20"; hash = "sha256-DdumMpP5QN0rPDsB8sjxACM13mT7Wbb0w3LaCe96twc="; }) (fetchNuGet { pname = "Microsoft.NETCore.App.Ref"; version = "3.1.0"; hash = "sha256-nuAvHwmJ2s3Ob1qNDH1+uV3awOZaWlaV3FenTmPUWyM="; }) (fetchNuGet { pname = "Microsoft.NETCore.App.Ref"; version = "5.0.0"; hash = "sha256-kQ8wpR4crWoqy/jrskat34Y3Nr3nbxoSpEPMnxycwtw="; }) - (fetchNuGet { pname = "Microsoft.NETCore.App.Ref"; version = "6.0.33"; hash = "sha256-BiGUcXo1FQTlZdR6ndhUQ8lrYG3KaGXNXRVF+Fc3L28="; }) + (fetchNuGet { pname = "Microsoft.NETCore.App.Ref"; version = "6.0.35"; hash = "sha256-IcpSbsSHgYBbNVvbcXfmRRM9bdx3pogLncO4RuXEab0="; }) (fetchNuGet { pname = "Microsoft.NETCore.App.Ref"; version = "7.0.20"; hash = "sha256-W9RU3bja4BQLAbsaIhANQPJJh6DycDiBR+WZ3mK6Zrs="; }) (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-arm64"; version = "3.1.32"; hash = "sha256-eL+GH7cDWSzXPPN9yxQvQ6IQ3AFUfnH0OJ/r8Mmx7I4="; }) (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-arm64"; version = "5.0.17"; hash = "sha256-2KU5RRHGbkCA+lCEH5QaBHma1AZqVLWBws7IKxBWkJs="; }) - (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-arm64"; version = "6.0.33"; hash = "sha256-obRKiJEVpZ5E3TE7q2oHaYwFYhI23rMiHwp+8ORkwXY="; }) + (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-arm64"; version = "6.0.35"; hash = "sha256-jPUhSrzqnH1GNi/c7dSnZSQhFNVGdmlAQkDLdXVWBBc="; }) (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-arm64"; version = "7.0.20"; hash = "sha256-TemMvbNrDzJVHWwxVgnNN2CnTyI6TcvvZDpF4ts6IAw="; }) (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-x64"; version = "3.1.32"; hash = "sha256-h4HjfRnvH81dW84S3TCPcCfxeQLiLN7b1ZleRNsprFY="; }) (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-x64"; version = "5.0.17"; hash = "sha256-2NpVvrbqct3M1fKiSe/zyt41mf1aV6WUdxIlJod27Ek="; }) - (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-x64"; version = "6.0.33"; hash = "sha256-2xdhvnKsFc8utDWN09zeXzZ5op+WUqkoWLuzdtQAkrA="; }) + (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-x64"; version = "6.0.35"; hash = "sha256-Gf3e0EdBEgq8GcZttTHbKGupFlDyB80nhYpBN0X9Kro="; }) (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-x64"; version = "7.0.20"; hash = "sha256-L+WaGvoXVMT3tZ7R5xFE06zaLcC3SI7LEf4ATBkUAGQ="; }) - (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.osx-arm64"; version = "6.0.33"; hash = "sha256-9KHubWicibZOcixiByzuBKPnJM2u5DSQC9jR3MAR1bI="; }) + (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.osx-arm64"; version = "6.0.35"; hash = "sha256-IGArFhlq3UzZY93lJ+WrB+zmuu/2o8lVwT7MJKpz6DE="; }) (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.osx-arm64"; version = "7.0.20"; hash = "sha256-VHmF1/ObK5hxGYvm5/+pTdketHnxxcnAGK5RaTQpVqE="; }) (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.osx-x64"; version = "3.1.32"; hash = "sha256-IcJ45kU65HpYu1EjMB1sf87PTSvPdS2h5uyIzX4acxk="; }) (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.osx-x64"; version = "5.0.17"; hash = "sha256-V1arT33a215ZP+Jo/vkrhko78FsA8X8XujZ6jUKfBd4="; }) - (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.osx-x64"; version = "6.0.33"; hash = "sha256-smh6SiTtCAuFglqWrXiGGsoIDP9dhGuIKdYjmw+xCyY="; }) + (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.osx-x64"; version = "6.0.35"; hash = "sha256-EtFBg8yBNhAEQlL97oVGiu05rPMSKLd0wE44zTBT7FI="; }) (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.osx-x64"; version = "7.0.20"; hash = "sha256-yktNSySitxWbO6LjcxUuewWFMF2EbcoM2w18CqxmVlc="; }) (fetchNuGet { pname = "Microsoft.NETFramework.ReferenceAssemblies"; version = "1.0.3"; hash = "sha256-FBoJP5DHZF0QHM0xLm9yd4HJZVQOuSpSKA+VQRpphEE="; }) (fetchNuGet { pname = "Microsoft.NETFramework.ReferenceAssemblies.net20"; version = "1.0.3"; hash = "sha256-f3SZf+wzjd5w9ajJ/Qmqb+IShnMeexM8wTPWROTjxeg="; }) diff --git a/home/packages/irdkit/deps.nix b/home/packages/irdkit/deps.nix index 99662ef..0701bd2 100644 --- a/home/packages/irdkit/deps.nix +++ b/home/packages/irdkit/deps.nix @@ -5,53 +5,53 @@ (fetchNuGet { pname = "CommandLineParser"; version = "2.9.1"; hash = "sha256-ApU9y1yX60daSjPk3KYDBeJ7XZByKW8hse9NRZGcjeo="; }) (fetchNuGet { pname = "Microsoft.AspNetCore.App.Ref"; version = "3.1.10"; hash = "sha256-51D1XkqFMPHJzOmt1HQ0Bf1n9K0auwEyxTJuqA/8xHY="; }) (fetchNuGet { pname = "Microsoft.AspNetCore.App.Ref"; version = "5.0.0"; hash = "sha256-z22ZDldoIlDUYeF9Rje0aVPlYAGKIpdj5wDzn1CW+jQ="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.App.Ref"; version = "6.0.33"; hash = "sha256-GcPiO+iI0JsHYlqURAmzWjOnDX2jDCUY4jYaIwr8ojs="; }) + (fetchNuGet { pname = "Microsoft.AspNetCore.App.Ref"; version = "6.0.35"; hash = "sha256-BxvIeZIaBdC0wyDQqKW0E5axSRSrtQk3oEPsT287014="; }) (fetchNuGet { pname = "Microsoft.AspNetCore.App.Ref"; version = "7.0.20"; hash = "sha256-OEDXXjQ1HDRPiA4Y1zPr1xUeH6wlzTCJpts+DZL61wI="; }) (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm64"; version = "3.1.32"; hash = "sha256-vZkj1OFhojFyl//ZqrbZG3j8rGk/6rwqMhvvR6gWCgI="; }) (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm64"; version = "5.0.17"; hash = "sha256-ELWBHK+1ijGTvq1BsK/vJx/MNqKS8daZgrQ0Tj9+faA="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm64"; version = "6.0.33"; hash = "sha256-g5zbB1DnCSKuCOWtF09GEqGn1uJLdlTN6kqdnSCzRjQ="; }) + (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm64"; version = "6.0.35"; hash = "sha256-jM/HzLumZvI939DrNb8LHnEr/in1Lws0j/FAfdXSzbk="; }) (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm64"; version = "7.0.20"; hash = "sha256-ewal9R6o20GV0R02ylSijVFdWZAbdN8TK1PCc/ltHBQ="; }) (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "3.1.32"; hash = "sha256-OV3Ie8JGTEwNI4Y6DJFh+ZUrBTwrSdFjEbfljfAwn3s="; }) (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "5.0.17"; hash = "sha256-iHn2yGpaL5EM8L7nJJ2aRCIZ+kE98NS+KWUvrWnjzhg="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "6.0.33"; hash = "sha256-ToaiqVy5qonomAVBg5PO1GgrPKL4Cc1BZTJ0z/2LquA="; }) + (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "6.0.35"; hash = "sha256-2eUqoTcqTU3ebv53IV6yvN9EhkOqnyBRd2tz74HuSsE="; }) (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "7.0.20"; hash = "sha256-vq59xMfrET8InzUhkAsbs2xp3ML+SO9POsbwAiYKzkA="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.osx-arm64"; version = "6.0.33"; hash = "sha256-OY/vdqAzZ99I4lEZbOOQw12TE0AIb5pXxKTvDxO2M2Q="; }) + (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.osx-arm64"; version = "6.0.35"; hash = "sha256-6mY2uBhvKCpEFJLYX9+f1mpYrWdN69i+14DPjO4U8eo="; }) (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.osx-arm64"; version = "7.0.20"; hash = "sha256-PHBb0AuRpB8kkQvQJIJSLu5Ub/U2pYA0wMGBarUkS8o="; }) (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.osx-x64"; version = "3.1.32"; hash = "sha256-LD7skhj3ZqIJlgL2VG/1PqPJT7yGQPuSNkduHhQpM7M="; }) (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.osx-x64"; version = "5.0.17"; hash = "sha256-TdhOyPN+WA27WFd3PLKdsC+bbyNidOiOOuz/WpHDe+M="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.osx-x64"; version = "6.0.33"; hash = "sha256-53MAV3RO1kXzy5IpdZDZIOhoUzFqWHn7+A3aWwdTONQ="; }) + (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.osx-x64"; version = "6.0.35"; hash = "sha256-ljEkMgkgfEeqzRnmTubjSK2dzkph0cSQ7+2J986F7HI="; }) (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.osx-x64"; version = "7.0.20"; hash = "sha256-+MQMRFzfG2CbNJnfw0buP4VorL2yR+T4UeEBSbKSmPY="; }) (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-arm64"; version = "3.1.32"; hash = "sha256-V5yVTC2je2wsv/gqLaVmnzcnDfNGETz0e7/M3MG5z/8="; }) (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-arm64"; version = "5.0.17"; hash = "sha256-a8FLTWaNL6TknXDx+YFwLzcDn7nuq3l9yN2UUrHfZx8="; }) - (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-arm64"; version = "6.0.33"; hash = "sha256-rwWOpf2Pdg84c8bKIUcMYuDTI0kXUELL/nl9psSmX+E="; }) + (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-arm64"; version = "6.0.35"; hash = "sha256-yrtPCYD8skaWnfIoaUdQ1dns0YrypxDocskS2WGxF6g="; }) (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-arm64"; version = "7.0.20"; hash = "sha256-/20dMbO1Ft0WVhl+Lv1916Thvr4kPP9LuuX4bKE+czE="; }) (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-x64"; version = "3.1.32"; hash = "sha256-ajR6pZv0zuzWDyxEnWtAuhasV5biV5lvweEbefTISiM="; }) (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-x64"; version = "5.0.17"; hash = "sha256-exMpVamk8ZzfCQDQcDmQDYJplDcOOU99ic7NSDKUgtE="; }) - (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-x64"; version = "6.0.33"; hash = "sha256-5iYNZATXOePDsLA9lI80o1Gjxw4E+B4bJbwdYJJHcZY="; }) + (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-x64"; version = "6.0.35"; hash = "sha256-maNzxJQ5oCd86VI4ROzl4RqOV1RNXn3qWjrAfBjr2Y0="; }) (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-x64"; version = "7.0.20"; hash = "sha256-Y1Dg8Sqhya86xD+9aJOuznT4mJUyFmoF/YZc0+5LBdc="; }) - (fetchNuGet { pname = "Microsoft.NETCore.App.Host.osx-arm64"; version = "6.0.33"; hash = "sha256-k3LenomOlacyzq4FlBY/TwV7+ClbK4U0A/O9r0pZHT4="; }) + (fetchNuGet { pname = "Microsoft.NETCore.App.Host.osx-arm64"; version = "6.0.35"; hash = "sha256-cBcfv7tnZa2xO5T5VOx3/7EvJ5u4/C4dFnV1Jj6VFPU="; }) (fetchNuGet { pname = "Microsoft.NETCore.App.Host.osx-arm64"; version = "7.0.20"; hash = "sha256-MTyRTWhDmMaCsNorju/tLb0w+ssKydDX/NBFzSfqB0Q="; }) (fetchNuGet { pname = "Microsoft.NETCore.App.Host.osx-x64"; version = "3.1.32"; hash = "sha256-AOr3qBlvr+WGF79tTq/yvKWJLXqEO4Sv+eTCpZGVz6A="; }) (fetchNuGet { pname = "Microsoft.NETCore.App.Host.osx-x64"; version = "5.0.17"; hash = "sha256-bDgVacWuwDTJqEL/RbZ2gS9EGexx0OGZsYPnHQPh5Qk="; }) - (fetchNuGet { pname = "Microsoft.NETCore.App.Host.osx-x64"; version = "6.0.33"; hash = "sha256-tu72AwDH1+oAIXjOJcNbeyKm1s4pncYp0avbMSBrcJQ="; }) + (fetchNuGet { pname = "Microsoft.NETCore.App.Host.osx-x64"; version = "6.0.35"; hash = "sha256-05wMp5+etiV/vgktqGo8+4XB7FNYxwCUKpJsW48tgvQ="; }) (fetchNuGet { pname = "Microsoft.NETCore.App.Host.osx-x64"; version = "7.0.20"; hash = "sha256-DdumMpP5QN0rPDsB8sjxACM13mT7Wbb0w3LaCe96twc="; }) (fetchNuGet { pname = "Microsoft.NETCore.App.Ref"; version = "3.1.0"; hash = "sha256-nuAvHwmJ2s3Ob1qNDH1+uV3awOZaWlaV3FenTmPUWyM="; }) (fetchNuGet { pname = "Microsoft.NETCore.App.Ref"; version = "5.0.0"; hash = "sha256-kQ8wpR4crWoqy/jrskat34Y3Nr3nbxoSpEPMnxycwtw="; }) - (fetchNuGet { pname = "Microsoft.NETCore.App.Ref"; version = "6.0.33"; hash = "sha256-BiGUcXo1FQTlZdR6ndhUQ8lrYG3KaGXNXRVF+Fc3L28="; }) + (fetchNuGet { pname = "Microsoft.NETCore.App.Ref"; version = "6.0.35"; hash = "sha256-IcpSbsSHgYBbNVvbcXfmRRM9bdx3pogLncO4RuXEab0="; }) (fetchNuGet { pname = "Microsoft.NETCore.App.Ref"; version = "7.0.20"; hash = "sha256-W9RU3bja4BQLAbsaIhANQPJJh6DycDiBR+WZ3mK6Zrs="; }) (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-arm64"; version = "3.1.32"; hash = "sha256-eL+GH7cDWSzXPPN9yxQvQ6IQ3AFUfnH0OJ/r8Mmx7I4="; }) (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-arm64"; version = "5.0.17"; hash = "sha256-2KU5RRHGbkCA+lCEH5QaBHma1AZqVLWBws7IKxBWkJs="; }) - (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-arm64"; version = "6.0.33"; hash = "sha256-obRKiJEVpZ5E3TE7q2oHaYwFYhI23rMiHwp+8ORkwXY="; }) + (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-arm64"; version = "6.0.35"; hash = "sha256-jPUhSrzqnH1GNi/c7dSnZSQhFNVGdmlAQkDLdXVWBBc="; }) (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-arm64"; version = "7.0.20"; hash = "sha256-TemMvbNrDzJVHWwxVgnNN2CnTyI6TcvvZDpF4ts6IAw="; }) (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-x64"; version = "3.1.32"; hash = "sha256-h4HjfRnvH81dW84S3TCPcCfxeQLiLN7b1ZleRNsprFY="; }) (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-x64"; version = "5.0.17"; hash = "sha256-2NpVvrbqct3M1fKiSe/zyt41mf1aV6WUdxIlJod27Ek="; }) - (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-x64"; version = "6.0.33"; hash = "sha256-2xdhvnKsFc8utDWN09zeXzZ5op+WUqkoWLuzdtQAkrA="; }) + (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-x64"; version = "6.0.35"; hash = "sha256-Gf3e0EdBEgq8GcZttTHbKGupFlDyB80nhYpBN0X9Kro="; }) (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-x64"; version = "7.0.20"; hash = "sha256-L+WaGvoXVMT3tZ7R5xFE06zaLcC3SI7LEf4ATBkUAGQ="; }) - (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.osx-arm64"; version = "6.0.33"; hash = "sha256-9KHubWicibZOcixiByzuBKPnJM2u5DSQC9jR3MAR1bI="; }) + (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.osx-arm64"; version = "6.0.35"; hash = "sha256-IGArFhlq3UzZY93lJ+WrB+zmuu/2o8lVwT7MJKpz6DE="; }) (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.osx-arm64"; version = "7.0.20"; hash = "sha256-VHmF1/ObK5hxGYvm5/+pTdketHnxxcnAGK5RaTQpVqE="; }) (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.osx-x64"; version = "3.1.32"; hash = "sha256-IcJ45kU65HpYu1EjMB1sf87PTSvPdS2h5uyIzX4acxk="; }) (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.osx-x64"; version = "5.0.17"; hash = "sha256-V1arT33a215ZP+Jo/vkrhko78FsA8X8XujZ6jUKfBd4="; }) - (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.osx-x64"; version = "6.0.33"; hash = "sha256-smh6SiTtCAuFglqWrXiGGsoIDP9dhGuIKdYjmw+xCyY="; }) + (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.osx-x64"; version = "6.0.35"; hash = "sha256-EtFBg8yBNhAEQlL97oVGiu05rPMSKLd0wE44zTBT7FI="; }) (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.osx-x64"; version = "7.0.20"; hash = "sha256-yktNSySitxWbO6LjcxUuewWFMF2EbcoM2w18CqxmVlc="; }) (fetchNuGet { pname = "Microsoft.NETFramework.ReferenceAssemblies"; version = "1.0.3"; hash = "sha256-FBoJP5DHZF0QHM0xLm9yd4HJZVQOuSpSKA+VQRpphEE="; }) (fetchNuGet { pname = "Microsoft.NETFramework.ReferenceAssemblies.net20"; version = "1.0.3"; hash = "sha256-f3SZf+wzjd5w9ajJ/Qmqb+IShnMeexM8wTPWROTjxeg="; }) diff --git a/home/packages/sabretools/deps.nix b/home/packages/sabretools/deps.nix index 7e72847..3681230 100644 --- a/home/packages/sabretools/deps.nix +++ b/home/packages/sabretools/deps.nix @@ -6,58 +6,60 @@ (fetchNuGet { pname = "Blake3"; version = "1.1.0"; hash = "sha256-gSXmXolZOlon1UG2miI9bdS1542vGR8EyukwIkqXdoE="; }) (fetchNuGet { pname = "Microsoft.AspNetCore.App.Ref"; version = "3.1.10"; hash = "sha256-51D1XkqFMPHJzOmt1HQ0Bf1n9K0auwEyxTJuqA/8xHY="; }) (fetchNuGet { pname = "Microsoft.AspNetCore.App.Ref"; version = "5.0.0"; hash = "sha256-z22ZDldoIlDUYeF9Rje0aVPlYAGKIpdj5wDzn1CW+jQ="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.App.Ref"; version = "6.0.33"; hash = "sha256-GcPiO+iI0JsHYlqURAmzWjOnDX2jDCUY4jYaIwr8ojs="; }) + (fetchNuGet { pname = "Microsoft.AspNetCore.App.Ref"; version = "6.0.35"; hash = "sha256-BxvIeZIaBdC0wyDQqKW0E5axSRSrtQk3oEPsT287014="; }) (fetchNuGet { pname = "Microsoft.AspNetCore.App.Ref"; version = "7.0.20"; hash = "sha256-OEDXXjQ1HDRPiA4Y1zPr1xUeH6wlzTCJpts+DZL61wI="; }) (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm64"; version = "3.1.32"; hash = "sha256-vZkj1OFhojFyl//ZqrbZG3j8rGk/6rwqMhvvR6gWCgI="; }) (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm64"; version = "5.0.17"; hash = "sha256-ELWBHK+1ijGTvq1BsK/vJx/MNqKS8daZgrQ0Tj9+faA="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm64"; version = "6.0.33"; hash = "sha256-g5zbB1DnCSKuCOWtF09GEqGn1uJLdlTN6kqdnSCzRjQ="; }) + (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm64"; version = "6.0.35"; hash = "sha256-jM/HzLumZvI939DrNb8LHnEr/in1Lws0j/FAfdXSzbk="; }) (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm64"; version = "7.0.20"; hash = "sha256-ewal9R6o20GV0R02ylSijVFdWZAbdN8TK1PCc/ltHBQ="; }) (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "3.1.32"; hash = "sha256-OV3Ie8JGTEwNI4Y6DJFh+ZUrBTwrSdFjEbfljfAwn3s="; }) (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "5.0.17"; hash = "sha256-iHn2yGpaL5EM8L7nJJ2aRCIZ+kE98NS+KWUvrWnjzhg="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "6.0.33"; hash = "sha256-ToaiqVy5qonomAVBg5PO1GgrPKL4Cc1BZTJ0z/2LquA="; }) + (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "6.0.35"; hash = "sha256-2eUqoTcqTU3ebv53IV6yvN9EhkOqnyBRd2tz74HuSsE="; }) (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "7.0.20"; hash = "sha256-vq59xMfrET8InzUhkAsbs2xp3ML+SO9POsbwAiYKzkA="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.osx-arm64"; version = "6.0.33"; hash = "sha256-OY/vdqAzZ99I4lEZbOOQw12TE0AIb5pXxKTvDxO2M2Q="; }) + (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.osx-arm64"; version = "6.0.35"; hash = "sha256-6mY2uBhvKCpEFJLYX9+f1mpYrWdN69i+14DPjO4U8eo="; }) (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.osx-arm64"; version = "7.0.20"; hash = "sha256-PHBb0AuRpB8kkQvQJIJSLu5Ub/U2pYA0wMGBarUkS8o="; }) (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.osx-x64"; version = "3.1.32"; hash = "sha256-LD7skhj3ZqIJlgL2VG/1PqPJT7yGQPuSNkduHhQpM7M="; }) (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.osx-x64"; version = "5.0.17"; hash = "sha256-TdhOyPN+WA27WFd3PLKdsC+bbyNidOiOOuz/WpHDe+M="; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.osx-x64"; version = "6.0.33"; hash = "sha256-53MAV3RO1kXzy5IpdZDZIOhoUzFqWHn7+A3aWwdTONQ="; }) + (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.osx-x64"; version = "6.0.35"; hash = "sha256-ljEkMgkgfEeqzRnmTubjSK2dzkph0cSQ7+2J986F7HI="; }) (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.osx-x64"; version = "7.0.20"; hash = "sha256-+MQMRFzfG2CbNJnfw0buP4VorL2yR+T4UeEBSbKSmPY="; }) (fetchNuGet { pname = "Microsoft.Bcl.AsyncInterfaces"; version = "5.0.0"; hash = "sha256-bpJjcJSUSZH0GeOXoZI12xUQOf2SRtxG7sZV0dWS5TI="; }) (fetchNuGet { pname = "Microsoft.Build.Tasks.Git"; version = "8.0.0"; hash = "sha256-vX6/kPij8vNAu8f7rrvHHhPrNph20IcufmrBgZNxpQA="; }) - (fetchNuGet { pname = "Microsoft.Data.Sqlite"; version = "8.0.4"; hash = "sha256-DKuOUr6HWck8I0f1YbLp0YjW8iZwHQEpiAM6utDJgbQ="; }) - (fetchNuGet { pname = "Microsoft.Data.Sqlite.Core"; version = "8.0.4"; hash = "sha256-bbKpSaEHKYezjxSZECmDQr0gv9zYTN042dpuYQtZKQ4="; }) + (fetchNuGet { pname = "Microsoft.Data.Sqlite"; version = "8.0.10"; hash = "sha256-BzdKtEbOp8Sq31L8pin/uM7xtgq3aYtlNqCt2t2Bzxo="; }) + (fetchNuGet { pname = "Microsoft.Data.Sqlite.Core"; version = "8.0.10"; hash = "sha256-YBjY88KAC4ShfcGXcNHL6y1A9NH2xvk4d/qTMfuLuoE="; }) (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-arm64"; version = "3.1.32"; hash = "sha256-V5yVTC2je2wsv/gqLaVmnzcnDfNGETz0e7/M3MG5z/8="; }) (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-arm64"; version = "5.0.17"; hash = "sha256-a8FLTWaNL6TknXDx+YFwLzcDn7nuq3l9yN2UUrHfZx8="; }) - (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-arm64"; version = "6.0.33"; hash = "sha256-rwWOpf2Pdg84c8bKIUcMYuDTI0kXUELL/nl9psSmX+E="; }) + (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-arm64"; version = "6.0.35"; hash = "sha256-yrtPCYD8skaWnfIoaUdQ1dns0YrypxDocskS2WGxF6g="; }) (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-arm64"; version = "7.0.20"; hash = "sha256-/20dMbO1Ft0WVhl+Lv1916Thvr4kPP9LuuX4bKE+czE="; }) (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-x64"; version = "3.1.32"; hash = "sha256-ajR6pZv0zuzWDyxEnWtAuhasV5biV5lvweEbefTISiM="; }) (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-x64"; version = "5.0.17"; hash = "sha256-exMpVamk8ZzfCQDQcDmQDYJplDcOOU99ic7NSDKUgtE="; }) - (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-x64"; version = "6.0.33"; hash = "sha256-5iYNZATXOePDsLA9lI80o1Gjxw4E+B4bJbwdYJJHcZY="; }) + (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-x64"; version = "6.0.35"; hash = "sha256-maNzxJQ5oCd86VI4ROzl4RqOV1RNXn3qWjrAfBjr2Y0="; }) (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-x64"; version = "7.0.20"; hash = "sha256-Y1Dg8Sqhya86xD+9aJOuznT4mJUyFmoF/YZc0+5LBdc="; }) - (fetchNuGet { pname = "Microsoft.NETCore.App.Host.osx-arm64"; version = "6.0.33"; hash = "sha256-k3LenomOlacyzq4FlBY/TwV7+ClbK4U0A/O9r0pZHT4="; }) + (fetchNuGet { pname = "Microsoft.NETCore.App.Host.osx-arm64"; version = "6.0.35"; hash = "sha256-cBcfv7tnZa2xO5T5VOx3/7EvJ5u4/C4dFnV1Jj6VFPU="; }) (fetchNuGet { pname = "Microsoft.NETCore.App.Host.osx-arm64"; version = "7.0.20"; hash = "sha256-MTyRTWhDmMaCsNorju/tLb0w+ssKydDX/NBFzSfqB0Q="; }) (fetchNuGet { pname = "Microsoft.NETCore.App.Host.osx-x64"; version = "3.1.32"; hash = "sha256-AOr3qBlvr+WGF79tTq/yvKWJLXqEO4Sv+eTCpZGVz6A="; }) (fetchNuGet { pname = "Microsoft.NETCore.App.Host.osx-x64"; version = "5.0.17"; hash = "sha256-bDgVacWuwDTJqEL/RbZ2gS9EGexx0OGZsYPnHQPh5Qk="; }) - (fetchNuGet { pname = "Microsoft.NETCore.App.Host.osx-x64"; version = "6.0.33"; hash = "sha256-tu72AwDH1+oAIXjOJcNbeyKm1s4pncYp0avbMSBrcJQ="; }) + (fetchNuGet { pname = "Microsoft.NETCore.App.Host.osx-x64"; version = "6.0.35"; hash = "sha256-05wMp5+etiV/vgktqGo8+4XB7FNYxwCUKpJsW48tgvQ="; }) (fetchNuGet { pname = "Microsoft.NETCore.App.Host.osx-x64"; version = "7.0.20"; hash = "sha256-DdumMpP5QN0rPDsB8sjxACM13mT7Wbb0w3LaCe96twc="; }) (fetchNuGet { pname = "Microsoft.NETCore.App.Ref"; version = "3.1.0"; hash = "sha256-nuAvHwmJ2s3Ob1qNDH1+uV3awOZaWlaV3FenTmPUWyM="; }) (fetchNuGet { pname = "Microsoft.NETCore.App.Ref"; version = "5.0.0"; hash = "sha256-kQ8wpR4crWoqy/jrskat34Y3Nr3nbxoSpEPMnxycwtw="; }) - (fetchNuGet { pname = "Microsoft.NETCore.App.Ref"; version = "6.0.33"; hash = "sha256-BiGUcXo1FQTlZdR6ndhUQ8lrYG3KaGXNXRVF+Fc3L28="; }) + (fetchNuGet { pname = "Microsoft.NETCore.App.Ref"; version = "6.0.35"; hash = "sha256-IcpSbsSHgYBbNVvbcXfmRRM9bdx3pogLncO4RuXEab0="; }) (fetchNuGet { pname = "Microsoft.NETCore.App.Ref"; version = "7.0.20"; hash = "sha256-W9RU3bja4BQLAbsaIhANQPJJh6DycDiBR+WZ3mK6Zrs="; }) (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-arm64"; version = "3.1.32"; hash = "sha256-eL+GH7cDWSzXPPN9yxQvQ6IQ3AFUfnH0OJ/r8Mmx7I4="; }) (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-arm64"; version = "5.0.17"; hash = "sha256-2KU5RRHGbkCA+lCEH5QaBHma1AZqVLWBws7IKxBWkJs="; }) - (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-arm64"; version = "6.0.33"; hash = "sha256-obRKiJEVpZ5E3TE7q2oHaYwFYhI23rMiHwp+8ORkwXY="; }) + (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-arm64"; version = "6.0.35"; hash = "sha256-jPUhSrzqnH1GNi/c7dSnZSQhFNVGdmlAQkDLdXVWBBc="; }) (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-arm64"; version = "7.0.20"; hash = "sha256-TemMvbNrDzJVHWwxVgnNN2CnTyI6TcvvZDpF4ts6IAw="; }) (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-x64"; version = "3.1.32"; hash = "sha256-h4HjfRnvH81dW84S3TCPcCfxeQLiLN7b1ZleRNsprFY="; }) (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-x64"; version = "5.0.17"; hash = "sha256-2NpVvrbqct3M1fKiSe/zyt41mf1aV6WUdxIlJod27Ek="; }) - (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-x64"; version = "6.0.33"; hash = "sha256-2xdhvnKsFc8utDWN09zeXzZ5op+WUqkoWLuzdtQAkrA="; }) + (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-x64"; version = "6.0.35"; hash = "sha256-Gf3e0EdBEgq8GcZttTHbKGupFlDyB80nhYpBN0X9Kro="; }) (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-x64"; version = "7.0.20"; hash = "sha256-L+WaGvoXVMT3tZ7R5xFE06zaLcC3SI7LEf4ATBkUAGQ="; }) - (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.osx-arm64"; version = "6.0.33"; hash = "sha256-9KHubWicibZOcixiByzuBKPnJM2u5DSQC9jR3MAR1bI="; }) + (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.osx-arm64"; version = "6.0.35"; hash = "sha256-IGArFhlq3UzZY93lJ+WrB+zmuu/2o8lVwT7MJKpz6DE="; }) (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.osx-arm64"; version = "7.0.20"; hash = "sha256-VHmF1/ObK5hxGYvm5/+pTdketHnxxcnAGK5RaTQpVqE="; }) (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.osx-x64"; version = "3.1.32"; hash = "sha256-IcJ45kU65HpYu1EjMB1sf87PTSvPdS2h5uyIzX4acxk="; }) (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.osx-x64"; version = "5.0.17"; hash = "sha256-V1arT33a215ZP+Jo/vkrhko78FsA8X8XujZ6jUKfBd4="; }) - (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.osx-x64"; version = "6.0.33"; hash = "sha256-smh6SiTtCAuFglqWrXiGGsoIDP9dhGuIKdYjmw+xCyY="; }) + (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.osx-x64"; version = "6.0.35"; hash = "sha256-EtFBg8yBNhAEQlL97oVGiu05rPMSKLd0wE44zTBT7FI="; }) (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.osx-x64"; version = "7.0.20"; hash = "sha256-yktNSySitxWbO6LjcxUuewWFMF2EbcoM2w18CqxmVlc="; }) + (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.0"; hash = "sha256-FeM40ktcObQJk4nMYShB61H/E8B7tIKfl9ObJ0IOcCM="; }) + (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.1.0"; hash = "sha256-0AqQ2gMS8iNlYkrD+BxtIg7cXMnr9xZHtKAuN4bjfaQ="; }) (fetchNuGet { pname = "Microsoft.NETFramework.ReferenceAssemblies"; version = "1.0.3"; hash = "sha256-FBoJP5DHZF0QHM0xLm9yd4HJZVQOuSpSKA+VQRpphEE="; }) (fetchNuGet { pname = "Microsoft.NETFramework.ReferenceAssemblies.net20"; version = "1.0.3"; hash = "sha256-f3SZf+wzjd5w9ajJ/Qmqb+IShnMeexM8wTPWROTjxeg="; }) (fetchNuGet { pname = "Microsoft.NETFramework.ReferenceAssemblies.net35"; version = "1.0.3"; hash = "sha256-sWFWERqIZw2Rp1f71GX8tIVuA0saTVI64sQaRw81ePk="; }) @@ -71,31 +73,81 @@ (fetchNuGet { pname = "MinAsyncBridge"; version = "0.12.4"; hash = "sha256-xwSVf3cFCON8TtETLuRG6DF3t/YvQRFhwxP9nC74Efc="; }) (fetchNuGet { pname = "MinTasksExtensionsBridge"; version = "0.3.4"; hash = "sha256-HflgujkVKPyIlbk4a0x0+RQ2TOTtYeERNOwxqMoAyUA="; }) (fetchNuGet { pname = "MinThreadingBridge"; version = "0.11.4"; hash = "sha256-ARmKOV8mDSt3nY0hKN0XZeqe7nTHI/BLNU4eVWXTPXU="; }) - (fetchNuGet { pname = "MinValueTupleBridge"; version = "0.2.0"; hash = "sha256-K3HNwY3oTm6gjxvE6V0mi38XO5pMjsmX+pkzWOSCK9Y="; }) + (fetchNuGet { pname = "MinValueTupleBridge"; version = "0.2.1"; hash = "sha256-RdFxG/4Ja/LAU/lnJ6lUFJ8lM1DYh/GcXUjKvjvkXQU="; }) (fetchNuGet { pname = "Net30.LinqBridge"; version = "1.3.0"; hash = "sha256-E3vCL9gR3efZXH5KvSe5r3NRh0Fz3ShKIShiSvV0LcQ="; }) (fetchNuGet { pname = "Net35.Actions"; version = "1.1.0"; hash = "sha256-Hm2altpaOFQYLozHk3FMHQ3w8ehcirmUP6sqVD7JBnE="; }) (fetchNuGet { pname = "NetLegacySupport.Numerics"; version = "1.0.1"; hash = "sha256-GTHKSXn6d6l2bLL373ZSIr4Z40pQZ4Cli9JFCxXXY+w="; }) (fetchNuGet { pname = "Newtonsoft.Json"; version = "13.0.3"; hash = "sha256-hy/BieY4qxBWVVsDqqOPaLy1QobiIapkbrESm6v2PHc="; }) - (fetchNuGet { pname = "SabreTools.ASN1"; version = "1.3.2"; hash = "sha256-KrFvd+lrh+gOwArd5/zyrCmcyI3FwjywkSSDP1Blus0="; }) - (fetchNuGet { pname = "SabreTools.Hashing"; version = "1.2.0"; hash = "sha256-L2aq76I4nOZtAwZ+joJ4SC7kSaMBC7OTRJvvbxaDdgw="; }) - (fetchNuGet { pname = "SabreTools.IO"; version = "1.4.5"; hash = "sha256-LqqXp9yrbGn1KUW4CK3y1jc98FWnAcLBKkWGzbjXLzc="; }) - (fetchNuGet { pname = "SabreTools.Matching"; version = "1.3.1"; hash = "sha256-vPIGGneY0Zq/H75lJLtq5PosCozAXp+KRlQQ6OGAYiU="; }) - (fetchNuGet { pname = "SabreTools.Models"; version = "1.4.5"; hash = "sha256-ybN1dOLj/DDi+n3pqojD0BcHf++5/lEaaZxGbrkX7Fg="; }) - (fetchNuGet { pname = "SabreTools.Serialization"; version = "1.6.0"; hash = "sha256-H4Mky8qbXusPKvhbodhLinS5CQvoUCDdos+Jm2B+Tko="; }) + (fetchNuGet { pname = "runtime.any.System.Collections"; version = "4.3.0"; hash = "sha256-4PGZqyWhZ6/HCTF2KddDsbmTTjxs2oW79YfkberDZS8="; }) + (fetchNuGet { pname = "runtime.any.System.Diagnostics.Tracing"; version = "4.3.0"; hash = "sha256-dsmTLGvt8HqRkDWP8iKVXJCS+akAzENGXKPV18W2RgI="; }) + (fetchNuGet { pname = "runtime.any.System.Globalization"; version = "4.3.0"; hash = "sha256-PaiITTFI2FfPylTEk7DwzfKeiA/g/aooSU1pDcdwWLU="; }) + (fetchNuGet { pname = "runtime.any.System.IO"; version = "4.3.0"; hash = "sha256-vej7ySRhyvM3pYh/ITMdC25ivSd0WLZAaIQbYj/6HVE="; }) + (fetchNuGet { pname = "runtime.any.System.Reflection"; version = "4.3.0"; hash = "sha256-ns6f++lSA+bi1xXgmW1JkWFb2NaMD+w+YNTfMvyAiQk="; }) + (fetchNuGet { pname = "runtime.any.System.Reflection.Primitives"; version = "4.3.0"; hash = "sha256-LkPXtiDQM3BcdYkAm5uSNOiz3uF4J45qpxn5aBiqNXQ="; }) + (fetchNuGet { pname = "runtime.any.System.Resources.ResourceManager"; version = "4.3.0"; hash = "sha256-9EvnmZslLgLLhJ00o5MWaPuJQlbUFcUF8itGQNVkcQ4="; }) + (fetchNuGet { pname = "runtime.any.System.Runtime"; version = "4.3.0"; hash = "sha256-qwhNXBaJ1DtDkuRacgHwnZmOZ1u9q7N8j0cWOLYOELM="; }) + (fetchNuGet { pname = "runtime.any.System.Runtime.Handles"; version = "4.3.0"; hash = "sha256-PQRACwnSUuxgVySO1840KvqCC9F8iI9iTzxNW0RcBS4="; }) + (fetchNuGet { pname = "runtime.any.System.Runtime.InteropServices"; version = "4.3.0"; hash = "sha256-Kaw5PnLYIiqWbsoF3VKJhy7pkpoGsUwn4ZDCKscbbzA="; }) + (fetchNuGet { pname = "runtime.any.System.Text.Encoding"; version = "4.3.0"; hash = "sha256-Q18B9q26MkWZx68exUfQT30+0PGmpFlDgaF0TnaIGCs="; }) + (fetchNuGet { pname = "runtime.any.System.Threading.Tasks"; version = "4.3.0"; hash = "sha256-agdOM0NXupfHbKAQzQT8XgbI9B8hVEh+a/2vqeHctg4="; }) + (fetchNuGet { pname = "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-LXUPLX3DJxsU1Pd3UwjO1PO9NM2elNEDXeu2Mu/vNps="; }) + (fetchNuGet { pname = "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-qeSqaUI80+lqw5MK4vMpmO0CZaqrmYktwp6L+vQAb0I="; }) + (fetchNuGet { pname = "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-SrHqT9wrCBsxILWtaJgGKd6Odmxm8/Mh7Kh0CUkZVzA="; }) + (fetchNuGet { pname = "runtime.native.System"; version = "4.3.0"; hash = "sha256-ZBZaodnjvLXATWpXXakFgcy6P+gjhshFXmglrL5xD5Y="; }) + (fetchNuGet { pname = "runtime.native.System.IO.Compression"; version = "4.3.0"; hash = "sha256-DWnXs4vlKoU6WxxvCArTJupV6sX3iBbZh8SbqfHace8="; }) + (fetchNuGet { pname = "runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-Jy01KhtcCl2wjMpZWH+X3fhHcVn+SyllWFY8zWlz/6I="; }) + (fetchNuGet { pname = "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-wyv00gdlqf8ckxEdV7E+Ql9hJIoPcmYEuyeWb5Oz3mM="; }) + (fetchNuGet { pname = "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-zi+b4sCFrA9QBiSGDD7xPV27r3iHGlV99gpyVUjRmc4="; }) + (fetchNuGet { pname = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-gybQU6mPgaWV3rBG2dbH6tT3tBq8mgze3PROdsuWnX0="; }) + (fetchNuGet { pname = "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-VsP72GVveWnGUvS/vjOQLv1U80H2K8nZ4fDAmI61Hm4="; }) + (fetchNuGet { pname = "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-4yKGa/IrNCKuQ3zaDzILdNPD32bNdy6xr5gdJigyF5g="; }) + (fetchNuGet { pname = "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-HmdJhhRsiVoOOCcUvAwdjpMRiyuSwdcgEv2j9hxi+Zc="; }) + (fetchNuGet { pname = "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; hash = "sha256-pVFUKuPPIx0edQKjzRon3zKq8zhzHEzko/lc01V/jdw="; }) + (fetchNuGet { pname = "runtime.unix.System.Diagnostics.Debug"; version = "4.3.0"; hash = "sha256-ReoazscfbGH+R6s6jkg5sIEHWNEvjEoHtIsMbpc7+tI="; }) + (fetchNuGet { pname = "runtime.unix.System.Private.Uri"; version = "4.3.0"; hash = "sha256-c5tXWhE/fYbJVl9rXs0uHh3pTsg44YD1dJvyOA0WoMs="; }) + (fetchNuGet { pname = "runtime.unix.System.Runtime.Extensions"; version = "4.3.0"; hash = "sha256-l8S9gt6dk3qYG6HYonHtdlYtBKyPb29uQ6NDjmrt3V4="; }) + (fetchNuGet { pname = "SabreTools.ASN1"; version = "1.3.3"; hash = "sha256-qsfkMidQ3YL8BjdAdGuUV5xp4EfjBZZg5AWKqijf+ko="; }) + (fetchNuGet { pname = "SabreTools.Hashing"; version = "1.2.1"; hash = "sha256-jtCNjHfQpS4Ttm4ahy3beBieC3++polHKAqkkEAX34g="; }) + (fetchNuGet { pname = "SabreTools.IO"; version = "1.4.12"; hash = "sha256-czF6+/QHOJtfVhp15Fzr3qKW/k3D4MKeG7/j9ko1B1Q="; }) + (fetchNuGet { pname = "SabreTools.Matching"; version = "1.3.2"; hash = "sha256-2dY1Duh4mZ24Mxf8EiLD2HjGJc62JR3MRGszYUhL4ZM="; }) + (fetchNuGet { pname = "SabreTools.Models"; version = "1.4.10"; hash = "sha256-AfYfoRYHCG1KSp4jGM0w2UC1a+L17bDP88c+lDOnz3o="; }) + (fetchNuGet { pname = "SabreTools.Serialization"; version = "1.6.8"; hash = "sha256-hUXfztaBKh+ikXu8radkPGNk8yf4YdzCYhRXyTtJ+EA="; }) (fetchNuGet { pname = "SabreTools.Skippers"; version = "1.1.2"; hash = "sha256-Zc01OMFNa/UagOikZ/yoXyTdfkRZXnbk52PaKDB8qes="; }) (fetchNuGet { pname = "SharpCompress"; version = "0.37.0"; hash = "sha256-0wXDAYFxd9VNZKkEFvx8/4ppp0H1OPLKOE0sjMe1HpM="; }) (fetchNuGet { pname = "SQLitePCLRaw.bundle_e_sqlite3"; version = "2.1.6"; hash = "sha256-dZD/bZsYXjOu46ZH5Y/wgh0uhHOqIxC+S+0ecKhr718="; }) (fetchNuGet { pname = "SQLitePCLRaw.core"; version = "2.1.6"; hash = "sha256-RxWjm52PdmMV98dgDy0BCpF988+BssRZUgALLv7TH/E="; }) (fetchNuGet { pname = "SQLitePCLRaw.lib.e_sqlite3"; version = "2.1.6"; hash = "sha256-uHt5d+SFUkSd6WD7Tg0J3e8eVoxy/FM/t4PAkc9PJT0="; }) + (fetchNuGet { pname = "SQLitePCLRaw.provider.dynamic_cdecl"; version = "2.1.6"; hash = "sha256-KATX5eXy8zG1EVHzoQiOIbVyZuElV363+8tOUrYK2nA="; }) (fetchNuGet { pname = "SQLitePCLRaw.provider.e_sqlite3"; version = "2.1.6"; hash = "sha256-zHc/YZsd72eXlI8ba1tv58HZWUIiyjJaxq2CCP1hQe8="; }) + (fetchNuGet { pname = "System.Buffers"; version = "4.3.0"; hash = "sha256-XqZWb4Kd04960h4U9seivjKseGA/YEIpdplfHYHQ9jk="; }) + (fetchNuGet { pname = "System.Buffers"; version = "4.4.0"; hash = "sha256-KTxAhYawFG2V5VX1jw3pzx3IrQXRgn1TsvgjPgxAbqA="; }) (fetchNuGet { pname = "System.Buffers"; version = "4.5.1"; hash = "sha256-wws90sfi9M7kuCPWkv1CEYMJtCqx9QB/kj0ymlsNaxI="; }) + (fetchNuGet { pname = "System.Collections"; version = "4.3.0"; hash = "sha256-afY7VUtD6w/5mYqrce8kQrvDIfS2GXDINDh73IjxJKc="; }) + (fetchNuGet { pname = "System.Diagnostics.Debug"; version = "4.3.0"; hash = "sha256-fkA79SjPbSeiEcrbbUsb70u9B7wqbsdM9s1LnoKj0gM="; }) + (fetchNuGet { pname = "System.Diagnostics.Tracing"; version = "4.3.0"; hash = "sha256-hCETZpHHGVhPYvb4C0fh4zs+8zv4GPoixagkLZjpa9Q="; }) + (fetchNuGet { pname = "System.Globalization"; version = "4.3.0"; hash = "sha256-caL0pRmFSEsaoeZeWN5BTQtGrAtaQPwFi8YOZPZG5rI="; }) + (fetchNuGet { pname = "System.IO"; version = "4.3.0"; hash = "sha256-ruynQHekFP5wPrDiVyhNiRIXeZ/I9NpjK5pU+HPDiRY="; }) + (fetchNuGet { pname = "System.IO.Compression"; version = "4.3.0"; hash = "sha256-f5PrQlQgj5Xj2ZnHxXW8XiOivaBvfqDao9Sb6AVinyA="; }) (fetchNuGet { pname = "System.IO.Hashing"; version = "8.0.0"; hash = "sha256-szOGt0TNBo6dEdC3gf6H+e9YW3Nw0woa6UnCGGGK5cE="; }) (fetchNuGet { pname = "System.Memory"; version = "4.5.3"; hash = "sha256-Cvl7RbRbRu9qKzeRBWjavUkseT2jhZBUWV1SPipUWFk="; }) (fetchNuGet { pname = "System.Memory"; version = "4.5.5"; hash = "sha256-EPQ9o1Kin7KzGI5O3U3PUQAZTItSbk9h/i4rViN3WiI="; }) + (fetchNuGet { pname = "System.Numerics.Vectors"; version = "4.4.0"; hash = "sha256-auXQK2flL/JpnB/rEcAcUm4vYMCYMEMiWOCAlIaqu2U="; }) (fetchNuGet { pname = "System.Numerics.Vectors"; version = "4.5.0"; hash = "sha256-qdSTIFgf2htPS+YhLGjAGiLN8igCYJnCCo6r78+Q+c8="; }) + (fetchNuGet { pname = "System.Private.Uri"; version = "4.3.0"; hash = "sha256-fVfgcoP4AVN1E5wHZbKBIOPYZ/xBeSIdsNF+bdukIRM="; }) + (fetchNuGet { pname = "System.Reflection"; version = "4.3.0"; hash = "sha256-NQSZRpZLvtPWDlvmMIdGxcVuyUnw92ZURo0hXsEshXY="; }) + (fetchNuGet { pname = "System.Reflection.Primitives"; version = "4.3.0"; hash = "sha256-5ogwWB4vlQTl3jjk1xjniG2ozbFIjZTL9ug0usZQuBM="; }) + (fetchNuGet { pname = "System.Resources.ResourceManager"; version = "4.3.0"; hash = "sha256-idiOD93xbbrbwwSnD4mORA9RYi/D/U48eRUsn/WnWGo="; }) + (fetchNuGet { pname = "System.Runtime"; version = "4.3.0"; hash = "sha256-51813WXpBIsuA6fUtE5XaRQjcWdQ2/lmEokJt97u0Rg="; }) + (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.5.2"; hash = "sha256-8eUXXGWO2LL7uATMZye2iCpQOETn2jCcjUhG6coR5O8="; }) (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.5.3"; hash = "sha256-lnZMUqRO4RYRUeSO8HSJ9yBHqFHLVbmenwHWkIU20ak="; }) (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "6.0.0"; hash = "sha256-bEG1PnDp7uKYz/OgLOWs3RWwQSVYm+AnPwVmAmcgp2I="; }) + (fetchNuGet { pname = "System.Runtime.Extensions"; version = "4.3.0"; hash = "sha256-wLDHmozr84v1W2zYCWYxxj0FR0JDYHSVRaRuDm0bd/o="; }) + (fetchNuGet { pname = "System.Runtime.Handles"; version = "4.3.0"; hash = "sha256-KJ5aXoGpB56Y6+iepBkdpx/AfaJDAitx4vrkLqR7gms="; }) + (fetchNuGet { pname = "System.Runtime.InteropServices"; version = "4.3.0"; hash = "sha256-8sDH+WUJfCR+7e4nfpftj/+lstEiZixWUBueR2zmHgI="; }) + (fetchNuGet { pname = "System.Text.Encoding"; version = "4.3.0"; hash = "sha256-GctHVGLZAa/rqkBNhsBGnsiWdKyv6VDubYpGkuOkBLg="; }) (fetchNuGet { pname = "System.Text.Encoding.CodePages"; version = "8.0.0"; hash = "sha256-fjCLQc1PRW0Ix5IZldg0XKv+J1DqPSfu9pjMyNBp7dE="; }) + (fetchNuGet { pname = "System.Threading"; version = "4.3.0"; hash = "sha256-ZDQ3dR4pzVwmaqBg4hacZaVenQ/3yAF/uV7BXZXjiWc="; }) + (fetchNuGet { pname = "System.Threading.Tasks"; version = "4.3.0"; hash = "sha256-Z5rXfJ1EXp3G32IKZGiZ6koMjRu0n8C1NGrwpdIen4w="; }) (fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.5.4"; hash = "sha256-owSpY8wHlsUXn5xrfYAiu847L6fAKethlvYx97Ri1ng="; }) (fetchNuGet { pname = "System.ValueTuple"; version = "4.5.0"; hash = "sha256-niH6l2fU52vAzuBlwdQMw0OEoRS/7E1w5smBFoqSaAI="; }) (fetchNuGet { pname = "ZstdSharp.Port"; version = "0.8.0"; hash = "sha256-nQkUIDqpgy7ZAtRWyMXQflYnWdPUcbIxIblOINO2O5k="; }) diff --git a/home/packages/sabretools/package.nix b/home/packages/sabretools/package.nix index 42c928d..6d1b980 100644 --- a/home/packages/sabretools/package.nix +++ b/home/packages/sabretools/package.nix @@ -7,13 +7,13 @@ buildDotnetModule { pname = "sabretools"; - version = "0.2.0"; + version = "1.2.0"; src = fetchFromGitHub { owner = "SabreTools"; repo = "SabreTools"; - rev = "806d0221d0f4275239feb1f47f08c7c1d2c0f911"; - hash = "sha256-qEoHKQYe1IuXYmxGRgq2idRIDarqZlhPgtikw52kJQU="; + rev = "0c65e5b58855ae6a7ac57988f99c411ac87e2879"; + hash = "sha256-jzJfBm+gGc7fo0fsT4nFEOYjsgitv8h85nasAHtvk3c="; fetchSubmodules = true; leaveDotGit = false; }; diff --git a/home/pkgs_and_programs.nix b/home/pkgs_and_programs.nix index 2490369..6edefb4 100644 --- a/home/pkgs_and_programs.nix +++ b/home/pkgs_and_programs.nix @@ -1,8 +1,11 @@ { + lib, aaru, - rom-properties, agenix, + osConfig, + ninfs, pkgs, + rom-properties, system, xil, ... @@ -12,8 +15,8 @@ let # Especially for dotnet packages, remember to update "/flake.nix" too! my_packages = { binaryobjectscanner = pkgs.callPackage ./packages/binaryobjectscanner/package.nix {}; - hactoolnet = pkgs.callPackage ./home/packages/hactoolnet/package.nix {}; - hactoolnet-bin = pkgs.callPackage ./home/packages/hactoolnet/bin.nix {}; + hactoolnet = pkgs.callPackage ./packages/hactoolnet/package.nix {}; + hactoolnet-bin = pkgs.callPackage ./packages/hactoolnet/bin.nix {}; ird_tools = pkgs.callPackage ./packages/ird_tools/package.nix {}; irdkit = pkgs.callPackage ./packages/irdkit/package.nix {}; nxtik = pkgs.callPackage ./packages/nxtik/package.nix {}; @@ -108,15 +111,14 @@ in pkgs.cdecrypt pkgs.colorized-logs pkgs.croc + pkgs.ctrtool pkgs.dhex - pkgs.doctl pkgs.fd - pkgs.fq pkgs.file + pkgs.fq pkgs.gdrive3 pkgs.git pkgs.hactool - pkgs.instaloader pkgs.internetarchive pkgs.lynx pkgs.megatools @@ -137,27 +139,30 @@ in my_packages.ird_tools my_packages.irdkit my_packages.new_rclone - my_packages.nix-init_packagenix - # Yay for patched apps :) + my_packages.nix-init_packagenix # Yay for patched apps :) my_packages.nxtik my_packages.ps3dec my_packages.sabretools my_packages.unnix_script # It's a one-line bash script - # my_packages.hactoolnet - agenix.packages.${system}.default - # xil.packages.${system}.xil aaru.packages.${system}.git - rom-properties.packages.x86_64-linux.default + agenix.packages.${system}.default + ninfs.packages.${system}.ninfs + rom-properties.packages.${system}.default + # xil.packages.${system}.xil + ] ++ lib.optionals (!osConfig.wsl.enable or false) [ + pkgs.mpv + pkgs.terminator + pkgs.yt-dlp + + my_packages.hactoolnet ]; - # Disabled Packages /* + # Disabled Packages pkgs.binutils # Just use "nix shell nixpkgs#binutils -c strings -- INPUT" - pkgs.mpv - # Not needed on WSL pkgs.nixfmt-classic # nixfmt was renamed to nixfmt-classic. # The nixfmt attribute may be used for the new RFC 166-style formatter in the future, which is currently available as nixfmt-rfc-style @@ -168,15 +173,21 @@ in pkgs.rclone # Replaced with my_packages.new_rclone which is a patched build. pkgs.screen - # Replaced with System-set "programs.screen.enable" + # Replaced with system-set "programs.screen.enable" + my_packages.hactoolnet-bin + # Not needed on WSL as I currently use the Windows version. + # Not needed otherwise as I currently use the self-built version. + + # Not included in WSL, but included otherwise: + pkgs.mpv + # Not needed on WSL pkgs.terminator # Not needed on WSL, even though I'd like it on WSL sometimes. pkgs.yt-dlp # Not needed on WSL - my_packages.hactoolnet-bin - # Not needed on WSL as I currently use the Windows version. my_packages.hactoolnet # Not needed on WSL as I currently use the Windows version. + */ /* diff --git a/system/chimchar/.gitkeep b/system/chimchar/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/system/piplup/configuration.nix b/system/chimchar/configuration.nix similarity index 100% rename from system/piplup/configuration.nix rename to system/chimchar/configuration.nix diff --git a/system/chimchar/hardware-configuration.nix b/system/chimchar/hardware-configuration.nix new file mode 100644 index 0000000..fd73b62 --- /dev/null +++ b/system/chimchar/hardware-configuration.nix @@ -0,0 +1,37 @@ +# Do not modify this file! It was generated by ‘nixos-generate-config’ +# and may be overwritten by future invocations. Please make changes +# to /etc/nixos/configuration.nix instead. +{ config, lib, pkgs, modulesPath, ... }: + +{ + imports = [ ]; + + boot.initrd.availableKernelModules = [ "ata_piix" "mptspi" "uhci_hcd" "ehci_pci" "ahci" "sd_mod" "sr_mod" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = + { device = "/dev/disk/by-uuid/4d7aa7d9-9e9f-41f1-9606-5a5f58c25db6"; + fsType = "ext4"; + }; + + fileSystems."/boot" = + { device = "/dev/disk/by-uuid/CBFB-8823"; + fsType = "vfat"; + options = [ "fmask=0077" "dmask=0077" ]; + }; + + swapDevices = + [ { device = "/dev/disk/by-uuid/f719f7e2-5be3-4986-ab0c-52fb577d65ee"; } + ]; + + # Enables DHCP on each ethernet and wireless interface. In case of scripted networking + # (the default) this is the recommended approach. When using systemd-networkd it's + # still possible to use this option, but it's recommended to use it in conjunction + # with explicit per-interface declarations with `networking.interfaces..useDHCP`. + networking.useDHCP = lib.mkDefault true; + # networking.interfaces.ens33.useDHCP = lib.mkDefault true; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; +} diff --git a/system/chimchar/main.nix b/system/chimchar/main.nix new file mode 100644 index 0000000..fb6e090 --- /dev/null +++ b/system/chimchar/main.nix @@ -0,0 +1,105 @@ +{ + lib, + pkgs, + config, + modulesPath, + agenix, + mySSHKeys, + nix-index-database, + ... +}: + +{ + imports = [ + ./packages.nix + ./hardware-configuration.nix # Include the results of the hardware scan. + # TODO: Generate actual hw-cfg for chimchar as current one is piplup's + ]; + + networking.hostName = "chimchar"; + + boot.loader.systemd-boot = { + enable = true; + editor = false; + }; + + services.openssh = { + enable = true; + settings = { + PasswordAuthentication = false; + KbdInteractiveAuthentication = false; + }; + }; + + users.users.whovian = { + openssh.authorizedKeys.keys = mySSHKeys; + }; + + environment.shells = [ + pkgs.zsh + ]; + + # Enable nix flakes + nix.settings.experimental-features = [ + "nix-command" + "flakes" + ]; + + time.timeZone = "America/New_York"; + + home-manager = { + useGlobalPkgs = true; + useUserPackages = true; + users = { + whovian = { + imports = [ + ../../home/home.nix + agenix.homeManagerModules.default + nix-index-database.hmModules.nix-index + ]; + }; + }; + }; + + environment.pathsToLink = [ + "/share/zsh" + ]; + + /* + Add environment.pathsToLink for auto-completion for system packages (e.g. systemd). + Appears to be required due to [GitHub - nix-community/home-manager]: + https://github.com/nix-community/home-manager/blob/c781b28add41b74423ab2e64496d4fc91192e13a/modules/programs/zsh.nix#L348-L358 + [/modules/programs/zsh.nix] + https://github.com/nix-community/home-manager/issues/3521#issuecomment-1367197995 + [Issue #3521] + + 06 June 2024: + Appears to be handled by "programs.zsh.enableCompletion" being enabled. + https://github.com/NixOS/nixpkgs/blob/49f6869f71fb2724674ccc18670bbde70843d43f/nixos/modules/programs/zsh/zsh.nix#L305 + I appear to have "programs.zsh.enableCompletion" disabled for some reason? + Need to look into this again at some point, I suppose. + */ + +############################################################################## + + /* + This option defines the first version of NixOS you have installed on this particular machine, + and is used to maintain compatibility with application data (e.g. databases) created on older NixOS versions. + + Most users should NEVER change this value after the initial install, for any reason, + even if you've upgraded your system to a new NixOS release. + + This value does NOT affect the Nixpkgs version your packages and OS are pulled from, + so changing it will NOT upgrade your system - see https://nixos.org/manual/nixos/stable/#sec-upgrading for how + to actually do that. + + This value being lower than the current NixOS release does NOT mean your system is + out of date, out of support, or vulnerable. + + Do NOT change this value unless you have manually inspected all the changes it would make to your configuration, + and migrated your data accordingly. + + For more information, see `man configuration.nix` or https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion . + */ + system.stateVersion = "24.11"; +} diff --git a/system/chimchar/packages.nix b/system/chimchar/packages.nix new file mode 100644 index 0000000..4d2c97c --- /dev/null +++ b/system/chimchar/packages.nix @@ -0,0 +1,32 @@ +{ + lib, + # agenix, + pkgs, + config, + modulesPath, + ... +}: +{ + environment.systemPackages = [ + pkgs.file + pkgs.xterm + # `agenix` is currently added via + # home-manager's `home.packages` + ]; + + nixpkgs = { + config = { + allowUnfree = true; + permittedInsecurePackages = [ + "openssl-1.1.1w" + ]; + }; + }; + + programs = { + firefox.enable = true; + nano.enable = true; + screen.enable = true; + zsh.enable = true; + }; +} diff --git a/system/dotnet_os_codename-workaround.nix b/system/common/dotnet_os_codename-workaround.nix similarity index 100% rename from system/dotnet_os_codename-workaround.nix rename to system/common/dotnet_os_codename-workaround.nix diff --git a/system/groups.nix b/system/common/groups.nix similarity index 100% rename from system/groups.nix rename to system/common/groups.nix diff --git a/system/nix_lix.nix b/system/common/nix_lix.nix similarity index 100% rename from system/nix_lix.nix rename to system/common/nix_lix.nix diff --git a/system/sshKeys.nix b/system/common/sshKeys.nix similarity index 55% rename from system/sshKeys.nix rename to system/common/sshKeys.nix index 57e5e31..d05cdd3 100644 --- a/system/sshKeys.nix +++ b/system/common/sshKeys.nix @@ -1,5 +1,6 @@ { mySSHKeys = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIE5E4BLKTeFAeRdIMJbdi1ZcphWF3WnJAZ6FX6zbKHI3" # NixOS WSL + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFaYZLW6/jmYOun4BdSYDbwyHXYfS3FzlaFjgflpakyb" # JuiceSSH ]; } diff --git a/system/users.nix b/system/common/users.nix similarity index 88% rename from system/users.nix rename to system/common/users.nix index b87e25a..f087746 100644 --- a/system/users.nix +++ b/system/common/users.nix @@ -18,6 +18,8 @@ # Enable 'sudo' for the user. ] ++ lib.optionals (!options ? wsl) [ # These are the groups for baremetal machines, or possibly VMs. + "networkmanager" + # Enable use of NetworkManager "docker" # Enable 'docker' for the user. ]; diff --git a/system/isoimage-pc/main.nix b/system/isoimage-pc/main.nix new file mode 100644 index 0000000..890f2ee --- /dev/null +++ b/system/isoimage-pc/main.nix @@ -0,0 +1,108 @@ +{ + pkgs, + mySSHKeys, + ... +}: +{ + + /* + isoImage = { + # Defaults + isoName = "nixos-24.11.20240607.051f920-x86_64-linux.iso"; + # "iso-image.nix" says that it defaults to + # "${config.isoImage.isoBaseName}.iso" + # "installation-cd-base.nix" seems to default it as + # "${config.isoImage.isoBaseName}-${config.system.nixos.label}-${pkgs.stdenv.hostPlatform.system}.iso" + # "installation-cd-base.nix" seems to be the canonical here. + isoBaseName = "nixos"; + # Defaults to config.system.nixos.distroId + # config.system.nixos.distroId = "nixos" + edition = "gnome"; + # Defaults to an empty string + # "gnome" is set due to using + # "installation-cd-graphical-gnome.nix" + volumeID = "nixos-gnome-24.11-x86_64"; + # Defaults to "nixos${optionalString (config.isoImage.edition != "") "-${config.isoImage.edition}"}-${config.system.nixos.release}-${pkgs.stdenv.hostPlatform.uname.processor}"; + prependToMenuLabel = ""; + # Defaults to an empty string + appendToMenuLabel = ""; + # Defaults to an empty string + }; + */ + + isoImage = { + isoBaseName = "Whovian-nixos"; + # Defaults to config.system.nixos.distroId + # config.system.nixos.distroId simply output... "nixos" lol + # I'm adding "Whovian-" in front because I like marking that + # it's a custom image. + }; + + environment.systemPackages = [ + pkgs._7zz + pkgs.bat + pkgs.dhex + pkgs.fd + pkgs.file + pkgs.git + pkgs.lynx + pkgs.ncdu + pkgs.progress + pkgs.ripgrep + pkgs.sshfs + pkgs.terminator + pkgs.wget + pkgs.xxd + pkgs.yq + # xil.packages.x86_64-linux.xil + ]; + + nix.extraOptions = '' + experimental-features = nix-command flakes + ''; + + programs = { + nano.enable = true; + screen.enable = true; + zsh = { + enable = true; + shellInit = '' zsh-newuser-install () {} ''; + /* + Disable "zsh/newuser" since this is a Live-DVD! + I just want a working shell to use, please. + See https://www.zsh.org/mla/users/2007/msg00396.html for + some conversation about this unchanged feature! ... + 17 years later! + */ + # Honestly unsure if I should be using `programs.zsh.envExtra` + # or `programs.zsh.localVariables` here. + /* + localVariables = { + DISABLE_MAGIC_FUNCTIONS = true; + }; + */ + ohMyZsh = { + enable = true; + theme = "bira"; + plugins = [ + "git" + "sudo" + ]; + }; + }; + }; + + users = { + defaultUserShell = pkgs.zsh; + users.root.openssh.authorizedKeys.keys = mySSHKeys; + users.nixos.openssh.authorizedKeys.keys = mySSHKeys; + }; + + services.openssh = { + enable = true; + settings = { + PasswordAuthentication = false; + KbdInteractiveAuthentication = false; + }; + }; +} diff --git a/system/nixos-wsl/main.nix b/system/nixos-wsl/main.nix new file mode 100644 index 0000000..48e3104 --- /dev/null +++ b/system/nixos-wsl/main.nix @@ -0,0 +1,94 @@ +{ + lib, + agenix, + config, + mySSHKeys, + nix-index-database, + nixos-wsl, + pkgs, + modulesPath, + ... +}: + +{ + imports = [ + ./packages.nix + ./wsl.nix + ]; + + networking.hostName = "nixos-wsl"; + + users.users.whovian = { + openssh.authorizedKeys.keys = mySSHKeys; + }; + + environment.shells = [ + pkgs.zsh + ]; + + # Enable nix flakes + nix.settings.experimental-features = [ + "nix-command" + "flakes" + ]; + + time.timeZone = "America/New_York"; + + home-manager = { + useGlobalPkgs = true; + useUserPackages = true; + + users = { + whovian = { + imports = [ + ../../home/home.nix + agenix.homeManagerModules.default + nix-index-database.hmModules.nix-index + ]; + }; + }; + }; + + # services = { nixseparatedebuginfod.enable = true; }; + + + environment.pathsToLink = [ + "/share/zsh" + ]; + + /* + Add environment.pathsToLink for auto-completion for system packages (e.g. systemd). + Appears to be required due to [GitHub - nix-community/home-manager]: + https://github.com/nix-community/home-manager/blob/c781b28add41b74423ab2e64496d4fc91192e13a/modules/programs/zsh.nix#L348-L358 + [/modules/programs/zsh.nix] + https://github.com/nix-community/home-manager/issues/3521#issuecomment-1367197995 + [Issue #3521] + + 06 June 2024: + Appears to be handled by "programs.zsh.enableCompletion" being enabled. + https://github.com/NixOS/nixpkgs/blob/49f6869f71fb2724674ccc18670bbde70843d43f/nixos/modules/programs/zsh/zsh.nix#L305 + I appear to have "programs.zsh.enableCompletion" disabled for some reason? + Need to look into this again at some point, I suppose. + */ + + /* + This option defines the first version of NixOS you have installed on this particular machine, + and is used to maintain compatibility with application data (e.g. databases) created on older NixOS versions. + + Most users should NEVER change this value after the initial install, for any reason, + even if you've upgraded your system to a new NixOS release. + + This value does NOT affect the Nixpkgs version your packages and OS are pulled from, + so changing it will NOT upgrade your system - see https://nixos.org/manual/nixos/stable/#sec-upgrading for how + to actually do that. + + This value being lower than the current NixOS release does NOT mean your system is + out of date, out of support, or vulnerable. + + Do NOT change this value unless you have manually inspected all the changes it would make to your configuration, + and migrated your data accordingly. + + For more information, see `man configuration.nix` or https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion . + */ + system.stateVersion = "22.05"; +} diff --git a/system/nixps/docker.nix b/system/nixps/docker.nix new file mode 100644 index 0000000..5d77dc7 --- /dev/null +++ b/system/nixps/docker.nix @@ -0,0 +1,14 @@ +{ + # lib, + # pkgs, + config, + # modulesPath, + ... +}: { + +virtualisation = { + docker = { + enable = true; + }; + }; +} diff --git a/system/nixps/gui.nix b/system/nixps/gui.nix new file mode 100644 index 0000000..8698f24 --- /dev/null +++ b/system/nixps/gui.nix @@ -0,0 +1,54 @@ +{ lib, pkgs, config, modulesPath, ... }: +{ + # Configure keymap in X11 + # services.xserver.xkb.layout = "us"; + # services.xserver.xkb.options = "eurosign:e,caps:escape"; + + # Enable CUPS to print documents. + # services.printing.enable = true; + + # hardware.pulseaudio.enable = true; + + # Enable touchpad support (enabled default in most desktopManager). + # services.xserver.libinput.enable = true; + + services = { + ### XFCE + ### "services.picom" can be enabled for nice graphical effects ... + picom = { + enable = false; + fade = true; + inactiveOpacity = 0.9; + shadow = true; + fadeDelta = 4; + }; + ### XFCE + + pipewire = { + enable = true; + # audio.enable = true; + pulse.enable = true; + jack.enable = true; + # alsa = { + # enable = true; + # support32Bit = true; + # }; + }; + + displayManager = { + defaultSession = "mate"; + }; + + xserver = { + enable = true; + # Enable the X11 windowing system. + videoDrivers = [ "intel" ]; + desktopManager = { + xterm.enable = false; + xfce.enable = false; + lxqt.enable = true; + mate.enable = true; + }; + }; + }; +} diff --git a/system/nixps/hardware-configuration.nix b/system/nixps/hardware-configuration.nix new file mode 100644 index 0000000..768c9ad --- /dev/null +++ b/system/nixps/hardware-configuration.nix @@ -0,0 +1,46 @@ +# Do not modify this file! It was generated by ‘nixos-generate-config’ +# and may be overwritten by future invocations. Please make changes +# to /etc/nixos/configuration.nix instead. +{ config, lib, pkgs, modulesPath, ... }: + +{ + imports = [ (modulesPath + "/installer/scan/not-detected.nix") ]; + + boot.initrd.availableKernelModules = [ + "uhci_hcd" + "ehci_pci" + "ahci" + "firewire_ohci" + "usbhid" + "usb_storage" + "sd_mod" + "sr_mod" + "sdhci_pci" + ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "wl" ]; + boot.extraModulePackages = [ config.boot.kernelPackages.broadcom_sta ]; + + fileSystems."/" = { + device = "/dev/disk/by-uuid/21786e02-814e-48ab-a92e-2fcf0c8faa9d"; + fsType = "ext4"; + }; + + swapDevices = + [ + { + device = "/dev/disk/by-uuid/e991abb9-f7e0-4601-83c6-c8cdc2a6470d"; + } + ]; + + # Enables DHCP on each ethernet and wireless interface. In case of scripted networking + # (the default) this is the recommended approach. When using systemd-networkd it's + # still possible to use this option, but it's recommended to use it in conjunction + # with explicit per-interface declarations with `networking.interfaces..useDHCP`. + networking.useDHCP = lib.mkDefault true; + # networking.interfaces.enp0s25.useDHCP = lib.mkDefault true; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.intel.updateMicrocode = + lib.mkDefault config.hardware.enableRedistributableFirmware; +} diff --git a/system/nixps/main.nix b/system/nixps/main.nix new file mode 100644 index 0000000..e2e28a5 --- /dev/null +++ b/system/nixps/main.nix @@ -0,0 +1,146 @@ +# Edit this configuration file to define what should be installed on +# your system. Help is available in the configuration.nix(5) man page, on +# https://search.nixos.org/options and in the NixOS manual (`nixos-help`). + +{ config, lib, pkgs, ... }: + +{ + imports = + [ + ./packages.nix # Package list + ./hardware-configuration.nix # Include the results of the hardware scan. + ./gui.nix # WM/DE settings? Hopefully it works???? + ./docker.nix # Docker + ./tailscale.nix # Tailscale + ./udev.nix # custom udev rules + ]; + + # Use the GRUB 2 boot loader. + boot.loader.grub.enable = true; + # Define on which hard drive you want to install Grub. + boot.loader.grub.device = "/dev/sda"; # or "nodev" for efi only + + networking.hostName = "nixps"; # Define your hostname. + # Pick only one of the below networking options. + # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. + networking.networkmanager.enable = true; # Easiest to use and most distros use this by default. + + # Set your time zone. + time.timeZone = "America/New_York"; + + # Configure network proxy if necessary + # networking.proxy.default = "http://user:password@proxy:port/"; + # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain"; + + # Select internationalisation properties. + i18n.defaultLocale = "en_US.UTF-8"; + # console = { + # font = "Lat2-Terminus16"; + # keyMap = "us"; + # useXkbConfig = true; # use xkb.options in tty. + # }; + + security.rtkit.enable = true; + +#### /etc/nixos/gui.nix #### + + # Enable the X11 windowing system. + # services.xserver.enable = true; + + # Configure keymap in X11 + # services.xserver.xkb.layout = "us"; + # services.xserver.xkb.options = "eurosign:e,caps:escape"; + + # Enable CUPS to print documents. + # services.printing.enable = true; + + # Enable sound. + # sound.enable = true; + # hardware.pulseaudio.enable = true; + + # Enable touchpad support (enabled default in most desktopManager). + # services.xserver.libinput.enable = true; + +#### /etc/nixos/gui.nix #### + +#### /etc/nixos/users.nix #### + + # Define a user account. Don't forget to set a password with ‘passwd’. + # users.users.whovian = { + # name = "whovian"; + # description = "Whovian9369"; + # shell = pkgs.zsh; + # isNormalUser = true; + # extraGroups = [ + # "networkmanager" + # "wheel" # Enable ‘sudo’ for the user. + # ]; + # openssh = { + # authorizedKeys = { + # keys = [ + # "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIE5E4BLKTeFAeRdIMJbdi1ZcphWF3WnJAZ6FX6zbKHI3" # NixOS WSL + # ]; + # }; + # }; + # packages = with pkgs; [ + # firefox + # tree + # ]; + # }; + +#### /etc/nixos/users.nix #### + +#### /etc/nixos/packages.nix #### + + # List packages installed in system profile. To search, run: + # $ nix search wget + # environment.systemPackages = with pkgs; [ + # vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default. + # wget + # ]; + + # Some programs need SUID wrappers, can be configured further or are + # started in user sessions. + # programs.mtr.enable = true; + # programs.gnupg.agent = { + # enable = true; + # enableSSHSupport = true; + # }; + + # List services that you want to enable: + + # Enable the OpenSSH daemon. + # services.openssh.enable = true; + # services.openssh.settings.PermitRootLogin = "no"; + +#### /etc/nixos/packages.nix #### + + # Open ports in the firewall. + # networking.firewall.allowedTCPPorts = [ ... ]; + # networking.firewall.allowedUDPPorts = [ ... ]; + # Or disable the firewall altogether. + # networking.firewall.enable = false; + + # Copy the NixOS configuration file and link it from the resulting system + # (/run/current-system/configuration.nix). This is useful in case you + # accidentally delete configuration.nix. + # system.copySystemConfiguration = true; + + # This option defines the first version of NixOS you have installed on this particular machine, + # and is used to maintain compatibility with application data (e.g. databases) created on older NixOS versions. + # + # Most users should NEVER change this value after the initial install, for any reason, + # even if you've upgraded your system to a new NixOS release. + # + # This value does NOT affect the Nixpkgs version your packages and OS are pulled from, + # so changing it will NOT upgrade your system. + # + # This value being lower than the current NixOS release does NOT mean your system is + # out of date, out of support, or vulnerable. + # + # Do NOT change this value unless you have manually inspected all the changes it would make to your configuration, + # and migrated your data accordingly. + # + # For more information, see `man configuration.nix` or https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion . + system.stateVersion = "23.11"; # Did you read the comment? +} diff --git a/system/nixps/packages.nix b/system/nixps/packages.nix new file mode 100644 index 0000000..117bd3d --- /dev/null +++ b/system/nixps/packages.nix @@ -0,0 +1,47 @@ +{ lib, pkgs, config, modulesPath, ... }: { + nix = { + package = pkgs.nixFlakes; + settings = { + experimental-features = [ "nix-command" "flakes" ]; + }; + }; + nixpkgs.config.allowUnfree = true; + + environment.systemPackages = + [ + pkgs.file + # pkgs.xterm + pkgs.git + # pkgs.xfce.thunar + pkgs.tailscale + pkgs.blueman + pkgs.fontconfig + ]; + programs.zsh.enable = true; + + programs.nix-ld.enable = true; + programs.nix-ld.libraries = [ + # Add any missing dynamic libraries for unpackaged programs + # here, NOT in environment.systemPackages + pkgs.stdenv.cc.cc.lib # For the fucking "libstdc++.so.6" + pkgs.icu # dotnet is missing icu shit for some reason? + /* + pkgs.dotnetCorePackages.runtime_8_0 # For direct dotnet apps because now everything is just packaged as binaries and not code :upside_down: + Doesn't seem to work???? + */ + + ]; + + # Enable the OpenSSH daemon. + services = { + tailscale = { + enable = true; + }; + openssh = { + enable = true; + settings= { + PermitRootLogin = "prohibit-password"; + }; + }; + }; +} diff --git a/system/nixps/tailscale.nix b/system/nixps/tailscale.nix new file mode 100644 index 0000000..f497bc7 --- /dev/null +++ b/system/nixps/tailscale.nix @@ -0,0 +1,32 @@ +{ lib, pkgs, config, modulesPath, ... }: +{ + #### Tailscale #### + # create a oneshot job to authenticate to Tailscale + systemd.services.tailscale-autoconnect = { + description = "Automatic connection to Tailscale"; + + # make sure tailscale is running before trying to connect to tailscale + after = [ "network-pre.target" "tailscale.service" ]; + wants = [ "network-pre.target" "tailscale.service" ]; + wantedBy = [ "multi-user.target" ]; + + # set this service as a oneshot job + serviceConfig.Type = "oneshot"; + + # have the job run this shell script + script = with pkgs; '' + # wait for tailscaled to settle + sleep 15 + + # check if we are already authenticated to tailscale + status="$(${tailscale}/bin/tailscale status -json | ${jq}/bin/jq -r .BackendState)" + if [ $status = "Running" ]; then # if so, then do nothing + exit 0 + fi + + # otherwise authenticate with tailscale + ${tailscale}/bin/tailscale up -authkey tskey-auth-ku5vSi5CNTRL-sfexuBYpySgxZNPbcdFfLgbLVqHB1Mc5 + ''; + }; + #### Tailscale #### +} diff --git a/system/nixps/udev.nix b/system/nixps/udev.nix new file mode 100644 index 0000000..aaaa5fb --- /dev/null +++ b/system/nixps/udev.nix @@ -0,0 +1,17 @@ +{ lib, pkgs, config, modulesPath, ... }: +{ + services = { + udev = { + enable = true; + extraRules = '' + # Nintendo Switch - RCM Rule + SUBSYSTEMS=="usb", ATTRS{idVendor}=="0955", ATTRS{idproduct}=="7321" + SUBSYSTEMS=="usb", ATTRS{manufacturer}=="NVIDIA Corp.", ATTRS{product}=="APX" + + # Content sourced from github:v1993/nxdumpclient - `data/71-nxdumptool.rules` + # Nintendo SDK debugger, which nxdumptool presents itself as + SUBSYSTEM=="usb", ATTRS{idVendor}=="057e", ATTRS{idProduct}=="3000", TAG+="uaccess" + ''; + }; + }; +} diff --git a/system/nixps/users.nix b/system/nixps/users.nix new file mode 100644 index 0000000..99aa09f --- /dev/null +++ b/system/nixps/users.nix @@ -0,0 +1,38 @@ +{ lib, + pkgs, + config, + modulesPath, + ... +}: +{ + users = { + groups = { + usb = {}; + }; + users = { + whovian = { + name = "whovian"; + description = "Whovian"; + shell = pkgs.zsh; + isNormalUser = true; + extraGroups = [ + "networkmanager" + "wheel" + # Enable 'sudo' for the user. + "usb" + # This should enable access to usb devices. + "docker" + # Enable 'docker' for the user. + ]; + openssh = { + authorizedKeys = { + keys = [ + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIE5E4BLKTeFAeRdIMJbdi1ZcphWF3WnJAZ6FX6zbKHI3" # NixOS WSL + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFaYZLW6/jmYOun4BdSYDbwyHXYfS3FzlaFjgflpakyb" # JuiceSSH + ]; + }; + }; + }; + }; + }; +} diff --git a/system/piplup/gui-mate.nix b/system/piplup/gui-mate.nix new file mode 100644 index 0000000..2fd971b --- /dev/null +++ b/system/piplup/gui-mate.nix @@ -0,0 +1,12 @@ +services.xserver = { + enable = true; + desktopManager.mate.enable = true; # NOTE: This already installs the Engrampa archive manager + excludePackages = [ pkgs.xterm ]; +}; +environment.systemPackages = with pkgs; [ + networkmanagerapplet + unzip + firefox +]; + +## Obviously not everything, but blehh diff --git a/system/nixos-wsl/configuration.nix b/system/piplup/main.nix similarity index 64% rename from system/nixos-wsl/configuration.nix rename to system/piplup/main.nix index 9805233..9bcb940 100644 --- a/system/nixos-wsl/configuration.nix +++ b/system/piplup/main.nix @@ -1,19 +1,21 @@ -{ lib, +{ + lib, pkgs, config, modulesPath, - nixos-wsl, + mySSHKeys, ... }: { imports = [ ./packages.nix - # ./users.nix - ./wsl.nix + ./hardware-configuration.nix # Include the results of the hardware scan. + ./gui-kde6.nix # GUI Stuff (DE + WM) + ./vmware.nix # VMWAre Guest Stuff ]; - networking.hostName = "nixos-wsl"; + networking.hostName = "piplup"; # Enable nix flakes nix.settings.experimental-features = [ @@ -42,5 +44,28 @@ "/share/zsh" ]; - system.stateVersion = "22.05"; + boot.loader.systemd-boot = { + enable = true; + editor = false; + }; + + users.users.whovian = { + openssh.authorizedKeys.keys = mySSHKeys; + }; + + services.openssh = { + enable = true; + settings = { + PasswordAuthentication = false; + KbdInteractiveAuthentication = false; + }; + }; + + environment.shells = [ + pkgs.zsh + ]; + + + + system.stateVersion = "24.05"; } diff --git a/system/shared_imports.nix b/system/shared_imports.nix new file mode 100644 index 0000000..2334dc8 --- /dev/null +++ b/system/shared_imports.nix @@ -0,0 +1,33 @@ +{ + aaru, + agenix, + home-manager, + ninfs, + nixpkgs, + pkgs, + rom-properties, + xil, + ... +}: +# let inherit (import ./system/1_common/sshKeys.nix) mySSHKeys; in +{ + imports = [ + ./common/nix_lix.nix + ./common/users.nix + ]; + + # Optionally, use home-manager.extraSpecialArgs to pass arguments + # to home.nix + # I really hope that setting it this way won't screw anything up! 🙃 + home-manager.extraSpecialArgs = { + system = "x86_64-linux"; + inherit aaru; + inherit agenix; + # inherit nixpkgs; + inherit ninfs; + inherit rom-properties; + inherit xil; + # pkgs = import nixpkgs { system = "x86_64-linux"; config.allowUnfree = true; }; + inherit pkgs; + }; +}