fix merge conflict

This commit is contained in:
Tyler Starr 2024-11-12 11:51:33 -08:00
commit 002e3e8ec5
53 changed files with 376 additions and 195 deletions

View File

@ -1,2 +0,0 @@
- Add Nix formatting and linting that works with neovim.
- Change system to configs and migrate files to programs, desktop, or services as appropriate. configs will include optional system configuration that don't require additional programs installed (aliases for example)

View File

@ -0,0 +1,16 @@
#!/usr/bin/env bash
tmp_dir="$HOME/tmp/$(date +'%Y%m%dT%H%M%S')"
mkdir -p $tmp_dir
ls -p ~ | grep -v '^\.' \
| grep -v 'bin' \
| grep -v 'Desktop' \
| grep -v 'devel' \
| grep -v 'documents' \
| grep -v 'media' \
| grep -v 'mnt' \
| grep -v 'Screenshots' \
| grep -v 'sync' \
| grep -v 'tmp' \
| xargs -I {} mv ~/{} $tmp_dir

View File

@ -70,9 +70,3 @@ alias google-chrome-stable="google-chrome-stable --simulate-outdated-no-au='Tue,
# rsync # rsync
alias rsync.net="ssh fm2120@fm2120.rsync.net" alias rsync.net="ssh fm2120@fm2120.rsync.net"
# svs subwoofer
sv() {
pySVS 54:B7:E5:57:1A:7B --volume="$1"
}

View File

@ -1,10 +1,18 @@
source_directories: source_directories:
- /engi/backup # Static files and service dumps - /engi/backup # Static files and service dumps
#- /home/tstarr/Sync # Syncthing files - /var/lib/nextcloud # nextcloud files (besides sql dump)
- /home/tstarr/sync # Syncthing backups
before_backup: before_backup:
- "tree /engi > /engi/backup/tree.txt" - "tree /engi > /engi/backup/tree.txt"
- sudo -u gitea backup-dump-gitea - sudo -u gitea dump-gitea
- sudo -u nextcloud dump-nextcloud
- sudo -u miniflux dump-miniflux
- nextcloud-occ maintenance:mode --on
after_backup:
- restore-docker-containers
- nextcloud-occ maintenance:mode --off
archive_name_format: 'torus_bulk.borg-{now}' archive_name_format: 'torus_bulk.borg-{now}'

26
provision/flake.lock generated
View File

@ -105,11 +105,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1725831139, "lastModified": 1731235328,
"narHash": "sha256-9syY5nEehCswE8AMcjpUO4T0iX9nrNbzq69Kqcs92L0=", "narHash": "sha256-NjavpgE9/bMe/ABvZpyHIUeYF1mqR5lhaep3wB79ucs=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "8a175a89137fe798b33c476d4dae17dba5fb3fd3", "rev": "60bb110917844d354f3c18e05450606a435d2d10",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -121,11 +121,11 @@
"jovian-nixos": { "jovian-nixos": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1725600800, "lastModified": 1731227601,
"narHash": "sha256-wst7p3RZ9kZUNzN22d27wU8YSBB7Grlx6Q03A7boRaU=", "narHash": "sha256-aGUQ6W/Oxd9xjH9RQbnUtC61sTK2fWlKr+J7kavT/RQ=",
"ref": "development", "ref": "development",
"rev": "2d050e65a71e02a1f19d1a35c086bd2e3dfb2cdb", "rev": "7691d0ac1deb6ac7482c5a22fe1a14a34ca608b0",
"revCount": 918, "revCount": 1019,
"type": "git", "type": "git",
"url": "https://github.com/Jovian-Experiments/Jovian-NixOS" "url": "https://github.com/Jovian-Experiments/Jovian-NixOS"
}, },
@ -144,11 +144,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1727464323, "lastModified": 1730453870,
"narHash": "sha256-XhiLvnM95aNpRm3qJ9hsVV/prin4GVapn4snMN4Ol6k=", "narHash": "sha256-d+kIgz4BvTXb7emjSFV3zjNydGmLUmuluQjdBb51R9o=",
"owner": "nix-community", "owner": "nix-community",
"repo": "NixOS-WSL", "repo": "NixOS-WSL",
"rev": "4aef94d5afb4a791e5e9a3ee844c68ad01f54a14", "rev": "adb6bc4b661a43328752b4575be4968a4990c033",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -175,11 +175,11 @@
}, },
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1725634671, "lastModified": 1731139594,
"narHash": "sha256-v3rIhsJBOMLR8e/RNWxr828tB+WywYIoajrZKFM+0Gg=", "narHash": "sha256-IigrKK3vYRpUu+HEjPL/phrfh7Ox881er1UEsZvw9Q4=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "574d1eac1c200690e27b8eb4e24887f8df7ac27c", "rev": "76612b17c0ce71689921ca12d9ffdc9c23ce40b2",
"type": "github" "type": "github"
}, },
"original": { "original": {

View File

@ -31,21 +31,19 @@
programs = { programs = {
chezmoi.apply = true; chezmoi.apply = true;
kitty.enable = true; kitty.enable = true;
};
services = {
samba-client.enable = true;
ssh.enable = true;
syncthing = { syncthing = {
enable = true; enable = true;
keyPath = ../../secrets/syncthing/bulwark/key.pem.age; keyPath = ../../secrets/syncthing/bulwark/key.pem.age;
certPath = ../../secrets/syncthing/bulwark/cert.pem.age; certPath = ../../secrets/syncthing/bulwark/cert.pem.age;
devices = { devices = {
"kestrel" = { id = "5WWL4FE-ARZ4FHP-J33HQCH-CZKEXLN-2RAY4KW-PDI754F-3HVPZYI-VC3ESAF"; }; "kestrel" = { id = "5WWL4FE-ARZ4FHP-J33HQCH-CZKEXLN-2RAY4KW-PDI754F-3HVPZYI-VC3ESAF"; };
"torus" = { id = "ZVABUCA-3SA5QKR-OZSCIS5-RDAHR2V-D4R4NFK-ZBYOKDP-6HQUG2M-BNL3DAO"; };
}; };
}; };
}; };
services = {
samba-client.enable = true;
};
system = {
ssh.enable = true;
terminal.enable = true;
};
}; };
} }

View File

@ -8,13 +8,11 @@
steam.desktopSession = "gnome"; steam.desktopSession = "gnome";
steam.enable = true; steam.enable = true;
steam.user = "${user}"; steam.user = "${user}";
steam.autoStart = true; steam.autoStart = false;
devices.steamdeck.enable = true; devices.steamdeck.enable = true;
devices.steamdeck.autoUpdate = true; devices.steamdeck.autoUpdate = true;
}; };
services.xserver.displayManager.gdm.enable = lib.mkForce false;
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
jupiter-dock-updater-bin # Binary package for updating firmware on Jupiter Dock, a hardware accessory for certain laptops. jupiter-dock-updater-bin # Binary package for updating firmware on Jupiter Dock, a hardware accessory for certain laptops.
steamdeck-firmware # Firmware package for Valve's Steam Deck, a handheld gaming device. steamdeck-firmware # Firmware package for Valve's Steam Deck, a handheld gaming device.

View File

@ -1,7 +1,7 @@
{ config, pkgs, user, lib, inputs, ... }: { config, pkgs, user, lib, inputs, ... }:
{ {
nix = { nix = {
package = pkgs.nixFlakes; package = pkgs.nixVersions.stable;
extraOptions = "experimental-features = nix-command flakes"; extraOptions = "experimental-features = nix-command flakes";
settings.auto-optimise-store = true; settings.auto-optimise-store = true;
gc = { gc = {

View File

@ -2,6 +2,7 @@
{ {
imports = [ imports = [
./backup.nix ./backup.nix
./gnome.nix
]; ];
# Use performance governor for sweet gaming performance! # Use performance governor for sweet gaming performance!
@ -48,26 +49,23 @@
}; };
programs = { programs = {
beancount.enable = true; beancount.enable = true;
borg.enable = true;
chezmoi.apply = true; chezmoi.apply = true;
kitty.enable = true; kitty.enable = true;
virt-manager.enable = true;
};
services = {
samba-client.enable = true;
ssh.enable = true;
syncthing = { syncthing = {
enable = true; enable = true;
keyPath = ../../secrets/syncthing/kestrel/key.pem.age; keyPath = ../../secrets/syncthing/kestrel/key.pem.age;
certPath = ../../secrets/syncthing/kestrel/cert.pem.age; certPath = ../../secrets/syncthing/kestrel/cert.pem.age;
devices = { devices = {
"bulwark" = { id = "YKPOWTQ-XMXG3SD-XKLPVEC-H4SO345-2ZZQK65-EBISRED-ISKCFMQ-T74P6Q5"; }; "bulwark" = { id = "YKPOWTQ-XMXG3SD-XKLPVEC-H4SO345-2ZZQK65-EBISRED-ISKCFMQ-T74P6Q5"; };
"torus" = { id = "ZVABUCA-3SA5QKR-OZSCIS5-RDAHR2V-D4R4NFK-ZBYOKDP-6HQUG2M-BNL3DAO"; };
}; };
}; };
}; };
services = {
peripherals.enable = true;
samba-client.enable = true;
virt-manager.enable = true;
};
system = {
backup.enable = true;
ssh.enable = true;
terminal.enable = true;
};
}; };
} }

View File

@ -0,0 +1,23 @@
{ config, lib, pkgs, user, home-manager, ... }:
{
environment.systemPackages = with pkgs; [
gnomeExtensions.executor # Execute shell commands display output top bar.
];
home-manager.users.${user} = {
dconf.settings = {
"org/gnome/shell" = {
enabled-extensions = [
"executor@raujonas.github.io"
];
};
"org/gnome/shell/extensions/executor" = {
"click-on-output-active" = false;
"center-active" = false;
"left-active" = false;
"right-active" = true;
"right-commands-json" = ''{"commands":[{"isActive":true,"command":"echo \"󰓃 $(cat /tmp/svs)dB\"","interval":10,"uuid":"732cd6de-ff5f-46a7-b8bb-51d1c621cc60"}]}'';
};
};
};
}

View File

@ -32,16 +32,16 @@
desktop = { desktop = {
enable = true; enable = true;
gnome.enable = true; gnome.enable = true;
peripherals.enable = true;
}; };
programs = { programs = {
appgate-sdp.enable = true;
chezmoi.apply = true; chezmoi.apply = true;
kitty.enable = true; kitty.enable = true;
appgate-sdp.enable = true; virt-manager.enable = true;
}; };
services = { services = {
peripherals.enable = true;
samba-client.enable = true; samba-client.enable = true;
virt-manager.enable = true;
}; };
system = { system = {
ssh.enable = true; ssh.enable = true;

View File

@ -23,6 +23,7 @@
desktop = { desktop = {
enable = true; enable = true;
gnome.enable = true; gnome.enable = true;
peripherals.enable = true;
}; };
devel = { devel = {
engineering.enable = true; engineering.enable = true;
@ -31,11 +32,10 @@
programs = { programs = {
kitty.enable = true; kitty.enable = true;
chezmoi.apply = true; chezmoi.apply = true;
virt-manager.enable = false;
}; };
services = { services = {
peripherals.enable = true;
samba-client.enable = true; samba-client.enable = true;
virt-manager.enable = false;
}; };
system = { system = {
ssh.enable = true; ssh.enable = true;

View File

@ -98,11 +98,19 @@
modules = { modules = {
programs = { programs = {
chezmoi.apply = true; chezmoi.apply = true;
borg.enable = true;
}; };
system = { services = {
backup.enable = true;
terminal.enable = true;
ssh.enable = true; ssh.enable = true;
syncthing = {
enable = true;
keyPath = ../../secrets/syncthing/torus/key.pem.age;
certPath = ../../secrets/syncthing/torus/cert.pem.age;
devices = {
"bulwark" = { id = "YKPOWTQ-XMXG3SD-XKLPVEC-H4SO345-2ZZQK65-EBISRED-ISKCFMQ-T74P6Q5"; };
"kestrel" = { id = "5WWL4FE-ARZ4FHP-J33HQCH-CZKEXLN-2RAY4KW-PDI754F-3HVPZYI-VC3ESAF"; };
};
};
}; };
}; };
} }

View File

@ -11,7 +11,7 @@ in {
]; ];
environment.systemPackages = [ environment.systemPackages = [
(pkgs.writeScriptBin "backup-dump-gitea" '' (pkgs.writeScriptBin "dump-gitea" ''
#!/bin/sh #!/bin/sh
cd ${dumpFolder} cd ${dumpFolder}
[ -e gitea-dump.zip ] && rm gitea-dump.zip [ -e gitea-dump.zip ] && rm gitea-dump.zip

View File

@ -1,7 +1,24 @@
{ config, lib, pkgs, user, ... }: { config, lib, pkgs, user, ... }:
{ let
dumpFolder = "/engi/backup/dumps/nextcloud";
domain = "cloud.tstarr.us";
in {
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
cron cron
zip
rsync
(pkgs.writeScriptBin "dump-nextcloud" ''
#!/bin/sh
cd ${dumpFolder}
[ -e nextcloud-sql ] && rm nextcloud-sql
nextcloud-occ maintenance:mode --on
mysqldump --single-transaction nextcloud > ${dumpFolder}/nextcloud-sql
nextcloud-occ maintenance:mode --off
'')
];
systemd.tmpfiles.rules = [
"d ${dumpFolder} 0775 nextcloud nextcloud -"
]; ];
# nextcloud secrets # nextcloud secrets
@ -13,7 +30,7 @@
services = { services = {
nginx.virtualHosts = { nginx.virtualHosts = {
"cloud.tstarr.us" = { "${domain}" = {
forceSSL = true; forceSSL = true;
enableACME = true; enableACME = true;
}; };
@ -21,7 +38,7 @@
nextcloud = { nextcloud = {
enable = true; enable = true;
hostName = "cloud.tstarr.us"; hostName = "${domain}";
# Need to manually increment with every major upgrade. # Need to manually increment with every major upgrade.
package = pkgs.nextcloud29; package = pkgs.nextcloud29;

View File

@ -1,8 +1,22 @@
{ config, lib, pkgs, user, ... }: { config, lib, pkgs, user, ... }:
let let
domain = "rssbridge.tstarr.us"; domain = "rssbridge.tstarr.us";
dumpFolder = "/engi/backup/dumps/miniflux";
in in
{ {
systemd.tmpfiles.rules = [
"d ${dumpFolder} 0775 miniflux miniflux -"
];
environment.systemPackages = [
(pkgs.writeScriptBin "dump-miniflux" ''
#!/bin/sh
cd ${dumpFolder}
[ -e miniflux-sql ] && rm miniflux-sql
pg_dump miniflux > ${dumpFolder}/miniflux-sql
'')
];
services.postgresql = { services.postgresql = {
enable = true; enable = true;
authentication = pkgs.lib.mkOverride 10 '' authentication = pkgs.lib.mkOverride 10 ''

View File

@ -1,4 +1,10 @@
{ ... }: { ... }:
{ {
imports = [ ./desktop ./devel ./gaming ./programs ./system ./services ]; imports = [
./desktop
./devel
./gaming
./programs
./services
];
} }

View File

@ -6,13 +6,13 @@ in {
./kde-connect.nix ./kde-connect.nix
./keyd.nix ./keyd.nix
./gnome.nix ./gnome.nix
./peripherals.nix
]; ];
options.modules.desktop.enable = lib.mkEnableOption "desktop"; options.modules.desktop.enable = lib.mkEnableOption "desktop";
config = lib.mkIf cfg.enable { config = lib.mkIf cfg.enable {
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
bc # Arbitrary-precision arithmetic language. bc # Arbitrary-precision arithmetic language.
fzf # Command-line fuzzy finder for Unix-like operating systems.
gamemode # Optimizes system performance for gaming by adjusting system settings. gamemode # Optimizes system performance for gaming by adjusting system settings.
vesktop # Voice, video, and text communication platform for communities and friends. vesktop # Voice, video, and text communication platform for communities and friends.
inkscape # Vector graphics editor for creating illustrations, icons, logos, diagrams, and more. inkscape # Vector graphics editor for creating illustrations, icons, logos, diagrams, and more.

View File

@ -196,6 +196,7 @@ in {
move-to-center = [ "<Alt><Super>c" ]; move-to-center = [ "<Alt><Super>c" ];
switch-windows = ["<Super>Tab"]; switch-windows = ["<Super>Tab"];
switch-windows-backward = ["<Shift><Super>Tab"]; switch-windows-backward = ["<Shift><Super>Tab"];
panel-run-dialog = ["<Super>r"];
minimize = []; minimize = [];
}; };
# custom-hot-corners-extended configs # custom-hot-corners-extended configs

View File

@ -0,0 +1,24 @@
{ config, lib, pkgs, user, ... }:
let cfg = config.modules.desktop;
in {
config = lib.mkIf cfg.enable {
environment.systemPackages = with pkgs; [
libimobiledevice # Library to support iPhone, iPod Touch and iPad devices on Linux
ifuse # fuse filesystem implementation to access the contents of iOS devices
pySVS # control SVS subwoofers from the command-line
(pkgs.writeScriptBin "sv" ''
#!/bin/sh
pySVS 54:B7:E5:57:1A:7B --volume="$1" && echo "$1" > /tmp/svs
'')
(pkgs.writeScriptBin "svv" ''
#!/bin/sh
pySVS 54:B7:E5:57:1A:7B --volume=A | grep -oP "(?<=VOLUME': )-?\\d+" > /tmp/svs
'')
opensc # Open source smart card tools and middleware
pcsc-tools # Tools are used to test a PC/SC drivers
pkcs11helper # Library that simplifies the interaction with PKCS#11
];
services.usbmuxd.enable = true; # for iOS mounting as storage
};
}

View File

@ -21,17 +21,5 @@ in {
]; ];
}) })
]; ];
# Provide dumped keys for switch emulation
age.secrets."emu/switch/prod.keys" = {
file = ../../secrets/emu/switch/prod.keys.age;
owner = "${user}";
group = "users";
};
age.secrets."emu/switch/title.keys" = {
file = ../../secrets/emu/switch/title.keys.age;
owner = "${user}";
group = "users";
};
}; };
} }

View File

@ -5,9 +5,9 @@ in {
options.modules.gaming.steam.enable = lib.mkEnableOption "steam"; options.modules.gaming.steam.enable = lib.mkEnableOption "steam";
config = lib.mkIf cfg.enable { config = lib.mkIf cfg.enable {
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
steamtinkerlaunch # Launcher and optimization tool for Steam games.
gamescope # Utility for running games using Valve's Steam Play compatibility layer with improved performance and compatibility. gamescope # Utility for running games using Valve's Steam Play compatibility layer with improved performance and compatibility.
mangohud # Vulkan and OpenGL overlay for monitoring FPS, temperatures, CPU/GPU load and more. mangohud # Vulkan and OpenGL overlay for monitoring FPS, temperatures, CPU/GPU load and more.
steamtinkerlaunch # Launcher and optimization tool for Steam games.
]; ];
hardware.graphics.enable = true; # this fixes the "glXChooseVisual failed" bug, context: https://github.com/NixOS/nixpkgs/issues/47932 hardware.graphics.enable = true; # this fixes the "glXChooseVisual failed" bug, context: https://github.com/NixOS/nixpkgs/issues/47932

View File

@ -1,10 +1,15 @@
{ config, lib, pkgs, user, ... }: { config, lib, pkgs, user, ... }:
let cfg = config.modules.system.terminal; let cfg = config.modules.programs.base-terminal;
in { in {
options.modules.system.terminal.enable = lib.mkEnableOption "terminal"; options.modules.programs.base-terminal = with lib; {
config = lib.mkIf cfg.enable { enable = lib.mkOption {
type = with types; bool;
default = true;
};
};
config = lib.mkIf cfg.enable {
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
killall # Command-line utility to terminate processes by name. killall # Command-line utility to terminate processes by name.
pciutils # Utilities for inspecting and manipulating devices connected to the PCI bus. pciutils # Utilities for inspecting and manipulating devices connected to the PCI bus.
@ -24,9 +29,10 @@ in {
nodejs # JavaScript runtime built on Chrome's V8 JavaScript engine. nodejs # JavaScript runtime built on Chrome's V8 JavaScript engine.
ripgrep # Line-oriented search tool that recursively searches directories for a regex pattern. ripgrep # Line-oriented search tool that recursively searches directories for a regex pattern.
cargo # Package manager and build system for Rust. cargo # Package manager and build system for Rust.
docker-compose docker-compose # Docker CLI plugin to define and run multi-container applications with Docker.
sesh sesh # Smart session manager for the terminal.
zoxide zoxide # Fast cd command that learns your habits.
fzf # Command-line fuzzy finder for Unix-like operating systems.
]; ];
}; };
} }

View File

@ -1,10 +1,9 @@
{ config, pkgs, user, lib, ... }: { config, pkgs, user, lib, ... }:
let cfg = config.modules.system.backup; let cfg = config.modules.programs.borg;
in { in {
options.modules.system.backup.enable = lib.mkEnableOption "backup"; options.modules.programs.borg.enable = lib.mkEnableOption "borg";
config = lib.mkIf cfg.enable { config = lib.mkIf cfg.enable {
services.borgmatic.enable = true;
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
borgbackup # Deduplicating backup program borgbackup # Deduplicating backup program
tree tree
@ -22,5 +21,6 @@ in {
rm /tmp/docker_images rm /tmp/docker_images
'') '')
]; ];
services.borgmatic.enable = true;
}; };
} }

View File

@ -1,5 +1,3 @@
# Chrome bookmarks
[ [
{ "toplevel_name" = "Bookmarks"; } { "toplevel_name" = "Bookmarks"; }
{ "name" = "Daily"; "children" = [ { "name" = "Daily"; "children" = [

View File

@ -2,14 +2,16 @@
{ {
imports = [ imports = [
./appgate-sdp.nix ./appgate-sdp.nix
./base-terminal.nix
./beancount.nix ./beancount.nix
./borg.nix
./chrome ./chrome
./firefox ./firefox
./git.nix ./git.nix
./chezmoi.nix ./chezmoi.nix
./kitty.nix ./kitty.nix
./nvim.nix ./nvim.nix
./syncthing.nix ./virt-manager.nix
./yt-dlp.nix ./yt-dlp.nix
]; ];
} }

View File

@ -1,5 +1,3 @@
# Firefox bookmarks
[ [
{ name = "Managed Bookmarks"; toolbar = true; bookmarks = [ { name = "Managed Bookmarks"; toolbar = true; bookmarks = [
{ name = "Bookmarks"; bookmarks = [ { name = "Bookmarks"; bookmarks = [

View File

@ -11,13 +11,6 @@ in {
}; };
config = lib.mkIf (cfg1.enable && cfg2.enable) { config = lib.mkIf (cfg1.enable && cfg2.enable) {
# Applications for CAC usage
environment.systemPackages = with pkgs; [
opensc
pcsc-tools
pkcs11helper
];
home-manager.users.${user} = { home-manager.users.${user} = {
programs.firefox = { programs.firefox = {
enable = true; enable = true;

View File

@ -11,7 +11,7 @@ in {
programs.kitty = { programs.kitty = {
enable = true; enable = true;
theme = "Gruvbox Dark"; themeFile = "gruvbox-dark";
font.name = "JetBrainsMono Nerd Font"; font.name = "JetBrainsMono Nerd Font";
shellIntegration.mode = "no-cursor"; shellIntegration.mode = "no-cursor";
settings = { settings = {

View File

@ -1,13 +1,13 @@
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
let cfg = config.modules.services.virt-manager; let cfg = config.modules.programs.virt-manager;
in { in {
options.modules.services.virt-manager.enable = lib.mkEnableOption "virt-manager"; options.modules.programs.virt-manager.enable = lib.mkEnableOption "virt-manager";
config = lib.mkIf cfg.enable { config = lib.mkIf cfg.enable {
virtualisation.libvirtd.enable = true;
programs.dconf.enable = true;
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
virt-manager # Desktop application for managing virtual machines through libvirt. virt-manager # Desktop application for managing virtual machines through libvirt.
]; ];
virtualisation.libvirtd.enable = true;
programs.dconf.enable = true;
}; };
} }

View File

@ -1,4 +1,8 @@
{ ... }: { ... }:
{ {
imports = [ ./peripherals.nix ./samba-client.nix ./virt-manager.nix ]; imports = [
./samba-client.nix
./ssh.nix
./syncthing.nix
];
} }

View File

@ -1,26 +0,0 @@
{ config, lib, pkgs, user, ... }:
let cfg = config.modules.services.peripherals;
in {
options.modules.services.peripherals.enable = lib.mkEnableOption "peripherals";
config = lib.mkIf cfg.enable {
services.usbmuxd.enable = true; # for iOS mounting as storage
environment.systemPackages = with pkgs; [
pulseaudio # Sound server for Linux and other Unix-like operating systems.
pavucontrol # Simple GTK based mixer for the PulseAudio sound server
libimobiledevice # Library to support iPhone, iPod Touch and iPad devices on Linux
ifuse # fuse filesystem implementation to access the contents of iOS devices
usbtop
pySVS # control SVS subwoofers from the command-line
];
security.rtkit.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
};
};
}

View File

@ -4,14 +4,11 @@ let cfg = config.modules.services.samba-client;
in { in {
options.modules.services.samba-client.enable = lib.mkEnableOption "samba-client"; options.modules.services.samba-client.enable = lib.mkEnableOption "samba-client";
config = lib.mkIf cfg.enable { config = lib.mkIf cfg.enable {
# the needed ports in the firewall.
networking.firewall.allowedTCPPorts = [ 445 139 ];
networking.firewall.allowedUDPPorts = [ 137 138 ];
# To make SMB mounting easier on the command line
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
cifs-utils # Utilities for mounting and managing CIFS (Common Internet File System) shares. cifs-utils # Utilities for mounting and managing CIFS (Common Internet File System) shares.
]; ];
networking.firewall.allowedTCPPorts = [ 445 139 ];
networking.firewall.allowedUDPPorts = [ 137 138 ];
}; };
} }

View File

@ -0,0 +1,15 @@
{ config, lib, pkgs, user, ... }:
let cfg = config.modules.services.ssh;
in {
options.modules.services.ssh.enable = lib.mkEnableOption "ssh";
config = lib.mkIf cfg.enable {
services.openssh.enable = true;
services.pcscd.enable = true;
programs.gnupg.agent = {
enable = true;
pinentryPackage = pkgs.pinentry-curses;
enableSSHSupport = true;
};
};
}

View File

@ -1,8 +1,8 @@
{ config, lib, pkgs, user, ... }: { config, lib, pkgs, user, ... }:
let cfg = config.modules.programs.syncthing; let cfg = config.modules.services.syncthing;
in { in {
options.modules.programs.syncthing = with lib; { options.modules.services.syncthing = with lib; {
enable = lib.mkOption { enable = lib.mkOption {
type = types.bool; type = types.bool;
default = false; default = false;

View File

@ -1,4 +0,0 @@
{ ... }:
{
imports = [ ./backup.nix ./ssh.nix ./terminal.nix ];
}

View File

@ -1,16 +0,0 @@
{ config, lib, pkgs, user, ... }:
let cfg = config.modules.system.ssh;
in {
options.modules.system.ssh.enable = lib.mkEnableOption "ssh";
config = lib.mkIf cfg.enable {
# Enable the OpenSSH daemon.
services.openssh.enable = true;
services.pcscd.enable = true;
programs.gnupg.agent = {
enable = true;
pinentryPackage = pkgs.pinentry-curses;
enableSSHSupport = true;
};
};
}

View File

@ -1,14 +1,11 @@
/* This contains various packages we want to overlay. Note that the
* other ".nix" files in this directory are automatically loaded.
*/
final: prev: { final: prev: {
advcpmv = final.callPackage ../pkgs/advcpmv.nix {}; advcpmv = final.callPackage ../pkgs/advcpmv.nix {};
nx_tzdb = final.callPackage ../pkgs/nx_tzdb.nix {};
sudachi = final.qt6.callPackage ../pkgs/sudachi/default.nix {};
yuzu = final.libsForQt5.callPackage ../pkgs/yuzu.nix {};
gnome-set-panel-monitor = final.callPackage ../pkgs/gnome-set-panel-monitor.nix {};
gnome-fullscreen-to-empty-workspace = final.callPackage ../pkgs/gnome-fullscreen-to-empty-workspace.nix {};
ryujinx = final.callPackage ../pkgs/ryujinx/default.nix {};
pySVS = final.callPackage ../pkgs/pySVS.nix {};
ftw = final.callPackage ../pkgs/ftw.nix {}; ftw = final.callPackage ../pkgs/ftw.nix {};
gnome-fullscreen-to-empty-workspace = final.callPackage ../pkgs/gnome-fullscreen-to-empty-workspace/default.nix {};
gnome-set-panel-monitor = final.callPackage ../pkgs/gnome-set-panel-monitor.nix {};
nx_tzdb = final.callPackage ../pkgs/nx_tzdb.nix {};
pySVS = final.callPackage ../pkgs/pySVS.nix {};
ryujinx = final.callPackage ../pkgs/ryujinx/default.nix {};
sudachi = final.qt6.callPackage ../pkgs/sudachi/default.nix {};
yuzu = final.libsForQt5.callPackage ../pkgs/yuzu/default.nix {};
} }

View File

@ -1,12 +0,0 @@
self: super: {
gnomeExtensions = super.gnomeExtensions // {
focus-changer = super.gnomeExtensions.focus-changer.overrideAttrs (old: {
src = super.fetchFromGitHub {
owner = "martinhjartmyr";
repo = "gnome-shell-extension-focus-changer";
rev = "4de5bc334a1624fd8eb22203ab229a6045320923";
sha256 = "sha256-hvLDsLQl7+Flrlg26HNIuwLnWqpB09ZO1xNHRms22g0=";
};
});
};
}

View File

@ -11,6 +11,10 @@ stdenv.mkDerivation {
hash = "sha256-S9mvODQqOBCmA+L1TBJm/c1v5Y+qVKuFpQf799LEwcI="; hash = "sha256-S9mvODQqOBCmA+L1TBJm/c1v5Y+qVKuFpQf799LEwcI=";
}; };
patches = [
./version.patch
];
installPhase = '' installPhase = ''
runHook preInstall runHook preInstall
mkdir -p "$out/share/gnome-shell/extensions/fullscreen-to-empty-workspace@aiono.dev" mkdir -p "$out/share/gnome-shell/extensions/fullscreen-to-empty-workspace@aiono.dev"

View File

@ -0,0 +1,17 @@
diff --git a/src/metadata.json b/src/metadata.json
index 66a2ea3..a98e00c 100644
--- a/src/metadata.json
+++ b/src/metadata.json
@@ -4,8 +4,9 @@
"url": "https://github.com/onsah/fullscreen-to-new-workspace",
"uuid": "fullscreen-to-empty-workspace@aiono.dev",
"shell-version": [
- "46"
+ "47"
],
"version": 15,
"settings-schema": "org.gnome.shell.extensions.fullscreen-to-empty-workspace"
-}
\ No newline at end of file
+}
+

View File

@ -7,8 +7,8 @@ stdenv.mkDerivation {
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "starr-dusT"; owner = "starr-dusT";
repo = "gnome-set-panel-monitor"; repo = "gnome-set-panel-monitor";
rev = "62d1a7e7ed83d56b33e32f1ad948c99a559b6dbd"; rev = "89204ab29a4872c201f8185cee758384be073a73";
hash = "sha256-NB/DycA/VxIeFQk2l0MW7G5VVdJI/Zemy2l28VZx2Cc="; hash = "sha256-MJVUjvrEe5b38MkRPt96NOH3cz1FzjoQWTPNtRFRVck=";
}; };
installPhase = '' installPhase = ''

View File

@ -1,7 +1,7 @@
{ lib { lib
, buildDotnetModule , buildDotnetModule
, dotnetCorePackages , dotnetCorePackages
, fetchFromGitea , fetchFromGitHub
, libX11 , libX11
, libgdiplus , libgdiplus
, ffmpeg , ffmpeg
@ -26,14 +26,13 @@
buildDotnetModule rec { buildDotnetModule rec {
pname = "ryujinx"; pname = "ryujinx";
version = "1.1.1401"; version = "3513"; # commit number
src = fetchFromGitea { src = fetchFromGitHub {
domain = "git.tstarr.us"; owner = "GreemDev";
owner = "tstarr"; repo = "Ryujinx";
repo = "ryujinx"; rev = "6be88380433e04ea8898645ffc0111e1a31eafb1";
rev = "5dbba07e33e83c9047dcbb701c9655edbbe89086"; hash = "sha256-t0qqshf2x+wogHtoxj9bthU03h29wvhrFCTUw8C2DDo=";
hash = "sha256-UeJ3KE5e5H9crqroAxjmxYTf/Z4cbj41a6/1HW2nLcA=";
}; };
enableParallelBuilding = false; enableParallelBuilding = false;

View File

@ -12,6 +12,9 @@
(fetchNuGet { pname = "Avalonia.Desktop"; version = "11.0.10"; hash = "sha256-fIty7TfiTC+OX9gCH4tA8Fs9dF4+G7Mhs9XnZadUR2g="; }) (fetchNuGet { pname = "Avalonia.Desktop"; version = "11.0.10"; hash = "sha256-fIty7TfiTC+OX9gCH4tA8Fs9dF4+G7Mhs9XnZadUR2g="; })
(fetchNuGet { pname = "Avalonia.Diagnostics"; version = "11.0.10"; hash = "sha256-itnN+LIZ2S+1CjD0ZS/woKtpgWbC/srMYzbYfX3a8LA="; }) (fetchNuGet { pname = "Avalonia.Diagnostics"; version = "11.0.10"; hash = "sha256-itnN+LIZ2S+1CjD0ZS/woKtpgWbC/srMYzbYfX3a8LA="; })
(fetchNuGet { pname = "Avalonia.FreeDesktop"; version = "11.0.10"; hash = "sha256-uVNOOVTQIqQ2pDgSsz5saI7+fMvps40vJlMp1/XdyaE="; }) (fetchNuGet { pname = "Avalonia.FreeDesktop"; version = "11.0.10"; hash = "sha256-uVNOOVTQIqQ2pDgSsz5saI7+fMvps40vJlMp1/XdyaE="; })
(fetchNuGet { pname = "Projektanker.Icons.Avalonia"; version = "9.4.0"; hash = "sha256-SVzkayPUk/7WXQW2Wn3ri4ia92WvJoXTrPmcT8C+J8U="; })
(fetchNuGet { pname = "Projektanker.Icons.Avalonia.FontAwesome"; version = "9.4.0"; hash = "sha256-NscqtIdfn4vWrZbPeJuBq+w6ysAIOLXm3FI8TYUJv4M="; })
(fetchNuGet { pname = "Projektanker.Icons.Avalonia.MaterialDesign"; version = "9.4.0"; hash = "sha256-OTXZAbTsIWjJ7CduyuW57RoExC0eHYIwk9yq3TEGEXE="; })
(fetchNuGet { pname = "Avalonia.Markup.Xaml.Loader"; version = "11.0.10"; hash = "sha256-Xv6L8U34QEiH6r3SQWLwuVFk9N9REmCUHa9hEbv2m24="; }) (fetchNuGet { pname = "Avalonia.Markup.Xaml.Loader"; version = "11.0.10"; hash = "sha256-Xv6L8U34QEiH6r3SQWLwuVFk9N9REmCUHa9hEbv2m24="; })
(fetchNuGet { pname = "Avalonia.Native"; version = "11.0.10"; hash = "sha256-P9j01FDXDpixo8wBVH3XK0Am6UBhG52HDrzt1ZqD8Ro="; }) (fetchNuGet { pname = "Avalonia.Native"; version = "11.0.10"; hash = "sha256-P9j01FDXDpixo8wBVH3XK0Am6UBhG52HDrzt1ZqD8Ro="; })
(fetchNuGet { pname = "Avalonia.Remote.Protocol"; version = "11.0.10"; hash = "sha256-qtvlczTg2yUZWyyqXkkboB8lK9aYv+STbfDvSKb55Vw="; }) (fetchNuGet { pname = "Avalonia.Remote.Protocol"; version = "11.0.10"; hash = "sha256-qtvlczTg2yUZWyyqXkkboB8lK9aYv+STbfDvSKb55Vw="; })
@ -31,6 +34,7 @@
(fetchNuGet { pname = "ExCSS"; version = "4.2.3"; hash = "sha256-M/H6P5p7qqdFz/fgAI2MMBWQ7neN/GIieYSSxxjsM9I="; }) (fetchNuGet { pname = "ExCSS"; version = "4.2.3"; hash = "sha256-M/H6P5p7qqdFz/fgAI2MMBWQ7neN/GIieYSSxxjsM9I="; })
(fetchNuGet { pname = "FluentAvaloniaUI"; version = "2.0.5"; hash = "sha256-EaJ6qR2yn+7p8lf62yx2vL3sGhnPOfbP5jBjR+pGY7o="; }) (fetchNuGet { pname = "FluentAvaloniaUI"; version = "2.0.5"; hash = "sha256-EaJ6qR2yn+7p8lf62yx2vL3sGhnPOfbP5jBjR+pGY7o="; })
(fetchNuGet { pname = "FSharp.Core"; version = "7.0.200"; hash = "sha256-680VgvYbZbztPQosO17r5y8vxg/Y/4Vmr5K3iLIJKMo="; }) (fetchNuGet { pname = "FSharp.Core"; version = "7.0.200"; hash = "sha256-680VgvYbZbztPQosO17r5y8vxg/Y/4Vmr5K3iLIJKMo="; })
(fetchNuGet { pname = "Gommon"; version = "2.6.5"; hash = "sha256-JpQs3FLEt3MThpmKmCkyCc/pXPwRPPGei92ONsOhzHo="; })
(fetchNuGet { pname = "GtkSharp.Dependencies"; version = "1.1.1"; hash = "sha256-/IpSj5JnUTREfQsdA3XW+eqNhqApTds65DQoNpjl3jk="; }) (fetchNuGet { pname = "GtkSharp.Dependencies"; version = "1.1.1"; hash = "sha256-/IpSj5JnUTREfQsdA3XW+eqNhqApTds65DQoNpjl3jk="; })
(fetchNuGet { pname = "HarfBuzzSharp"; version = "2.8.2.3"; hash = "sha256-4tbdgUabPjlkBm3aUFeocj4Fdslmms2olDFpzOLyqoQ="; }) (fetchNuGet { pname = "HarfBuzzSharp"; version = "2.8.2.3"; hash = "sha256-4tbdgUabPjlkBm3aUFeocj4Fdslmms2olDFpzOLyqoQ="; })
(fetchNuGet { pname = "HarfBuzzSharp"; version = "7.3.0"; hash = "sha256-LlPQO/NYgIMWicvLOtWsQzCp512QpIImYDP9/n2rDOc="; }) (fetchNuGet { pname = "HarfBuzzSharp"; version = "7.3.0"; hash = "sha256-LlPQO/NYgIMWicvLOtWsQzCp512QpIImYDP9/n2rDOc="; })
@ -42,6 +46,57 @@
(fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.WebAssembly"; version = "7.3.0"; hash = "sha256-9VI0xCavuuIIStuQ7ipBfWu5HrAt+Kk/F2j57C1llTU="; }) (fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.WebAssembly"; version = "7.3.0"; hash = "sha256-9VI0xCavuuIIStuQ7ipBfWu5HrAt+Kk/F2j57C1llTU="; })
(fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.Win32"; version = "2.8.2.3"; hash = "sha256-5GSzM5IUoOwK+zJg0d74WlT3n1VZly8pKlyjiqVocCI="; }) (fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.Win32"; version = "2.8.2.3"; hash = "sha256-5GSzM5IUoOwK+zJg0d74WlT3n1VZly8pKlyjiqVocCI="; })
(fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.Win32"; version = "7.3.0"; hash = "sha256-WnB7l73hneU9Kpbm8S9zEYbZHjFre24vWz0vl8+v28M="; }) (fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.Win32"; version = "7.3.0"; hash = "sha256-WnB7l73hneU9Kpbm8S9zEYbZHjFre24vWz0vl8+v28M="; })
(fetchNuGet { pname = "Humanizer"; version = "2.14.1"; hash = "sha256-1wGwf5KAmDeiH0Dz8KcTdZw+UMkiNsjKOIOt/VJnnqE="; })
(fetchNuGet { pname = "Humanizer.Core"; version = "2.14.1"; hash = "sha256-EXvojddPu+9JKgOG9NSQgUTfWq1RpOYw7adxDPKDJ6o="; })
(fetchNuGet { pname = "Humanizer.Core.af"; version = "2.14.1"; hash = "sha256-8CCgI7OweSa53cZWZBXQ8a7VVt/NPP16zHVBZvzU9KQ="; })
(fetchNuGet { pname = "Humanizer.Core.ar"; version = "2.14.1"; hash = "sha256-JRoP+brQgYBZI8OccH/jaM1Z482ZWBiqU2XL3KsIPw8="; })
(fetchNuGet { pname = "Humanizer.Core.az"; version = "2.14.1"; hash = "sha256-ubwkbes9zrrisuXTcT4ZgOAiFsUieC6OLd4pgzxsE40="; })
(fetchNuGet { pname = "Humanizer.Core.bg"; version = "2.14.1"; hash = "sha256-Xv6DP1xxxGVUfP44TZasWpxgQ/DkriljvmIMtHf+nGk="; })
(fetchNuGet { pname = "Humanizer.Core.bn-BD"; version = "2.14.1"; hash = "sha256-6JpReIc3fkExvJIXzk6fUw56wJ78aTEg1dWQ6o+dQow="; })
(fetchNuGet { pname = "Humanizer.Core.cs"; version = "2.14.1"; hash = "sha256-MGL86KxSbz0PkDo9+NRj6h1fDjPZXlxAtYNf0Zreg/4="; })
(fetchNuGet { pname = "Humanizer.Core.da"; version = "2.14.1"; hash = "sha256-Gpw8kJbgz0KQS2mGY5tmrHqpgUO4abD7dSKIy//ONYM="; })
(fetchNuGet { pname = "Humanizer.Core.de"; version = "2.14.1"; hash = "sha256-Eswv8aEQoxI9MZr2CvWtBUn5X9JRZTWQjRzHJkGj80g="; })
(fetchNuGet { pname = "Humanizer.Core.el"; version = "2.14.1"; hash = "sha256-wCK2Uy/AV6FxPUSUM0NMbV14pAP+ss25AaVAHMQIeJA="; })
(fetchNuGet { pname = "Humanizer.Core.es"; version = "2.14.1"; hash = "sha256-iEHiQXKwg0ABDxh//HSrzwaVOlilQBFI96+GYzzTMwQ="; })
(fetchNuGet { pname = "Humanizer.Core.fa"; version = "2.14.1"; hash = "sha256-2Js7k3nvwJvxAjq3yoLn7PUY2S8+vXfgESwU4SbvjaA="; })
(fetchNuGet { pname = "Humanizer.Core.fi-FI"; version = "2.14.1"; hash = "sha256-jOWo43r3dhiBsV9cCoDfqK/YqWj5LejZsnfkG6mlkpA="; })
(fetchNuGet { pname = "Humanizer.Core.fr"; version = "2.14.1"; hash = "sha256-WCbA+f4B3g/ml7KrkHkzpU2Fj38HtWc/ujoVY5F3lk4="; })
(fetchNuGet { pname = "Humanizer.Core.fr-BE"; version = "2.14.1"; hash = "sha256-GydVmoEy+lwEQ1nM39QXSRhYNchqM47p7qhUEimN4Cw="; })
(fetchNuGet { pname = "Humanizer.Core.he"; version = "2.14.1"; hash = "sha256-MMf3qjJ+yzxjMxOR7wMWf+eErxWLqpsdWKFhjNCOsyM="; })
(fetchNuGet { pname = "Humanizer.Core.hr"; version = "2.14.1"; hash = "sha256-kBv2I9ns6L6D4XfXfyZS1VM6+YwF4yUkCmCA5zqvsok="; })
(fetchNuGet { pname = "Humanizer.Core.hu"; version = "2.14.1"; hash = "sha256-vRje+kxqOsl1JCXAE0yDKvauUumzuEhNcnhNsdIdgVM="; })
(fetchNuGet { pname = "Humanizer.Core.hy"; version = "2.14.1"; hash = "sha256-UL7PsK4msT5c96lk70/bVAxN63B71l8VOFtvuJQH9a0="; })
(fetchNuGet { pname = "Humanizer.Core.id"; version = "2.14.1"; hash = "sha256-nIl64gCuZh4D527qI2hfQRvzt1mTJUCDGMIZwpS3C/A="; })
(fetchNuGet { pname = "Humanizer.Core.is"; version = "2.14.1"; hash = "sha256-38vUQ1aVtlhK15kP9ZlDO0Nl0DcOA5iHx6F2SPN1gYM="; })
(fetchNuGet { pname = "Humanizer.Core.it"; version = "2.14.1"; hash = "sha256-4ne0VRNi9OAj3bGCQgCy1BNYKMizoHykJ/lchmCsWdc="; })
(fetchNuGet { pname = "Humanizer.Core.ja"; version = "2.14.1"; hash = "sha256-oAilMM8J6LumV6qv3gSIBNTm7u2L4vV38cQXtME3PhM="; })
(fetchNuGet { pname = "Humanizer.Core.ko-KR"; version = "2.14.1"; hash = "sha256-b70HQl2IWVPATtaYGDyJ+Z6ioPtrM53vXzfTCHYgxpQ="; })
(fetchNuGet { pname = "Humanizer.Core.ku"; version = "2.14.1"; hash = "sha256-8LiEH7MaapMtkHFMj7Y3pG+g0QYuIa5gD3VR9nYQn+k="; })
(fetchNuGet { pname = "Humanizer.Core.lv"; version = "2.14.1"; hash = "sha256-zyCsE5cD++u5shNIqCQUd+66FkUWOl+NfFrs2JduCaQ="; })
(fetchNuGet { pname = "Humanizer.Core.ms-MY"; version = "2.14.1"; hash = "sha256-pSdZLUi9oWo78nBh2DJunPhDR7THdZSZP0msCVbPsrY="; })
(fetchNuGet { pname = "Humanizer.Core.mt"; version = "2.14.1"; hash = "sha256-mkX2reEvNpx9w6gtZw+6bkrnj3Di1qgVDMr9q0IeKCw="; })
(fetchNuGet { pname = "Humanizer.Core.nb"; version = "2.14.1"; hash = "sha256-QvYJHqjO/SrelWYgtm8Sc7axs7J8wbJE+GbTgVw5LYs="; })
(fetchNuGet { pname = "Humanizer.Core.nb-NO"; version = "2.14.1"; hash = "sha256-YW8y2XkmHjwqf2fztNB3rsn3+CgslF1TclITwp0fA9g="; })
(fetchNuGet { pname = "Humanizer.Core.nl"; version = "2.14.1"; hash = "sha256-bQM7aXNQMBY+65NfMVQz/xYz9Ad2JC+ryXoB4lcYgmA="; })
(fetchNuGet { pname = "Humanizer.Core.pl"; version = "2.14.1"; hash = "sha256-IrPxHI4uQvBeMM9/8PaNueKwVkbN+1zFQlNWRjNfXEA="; })
(fetchNuGet { pname = "Humanizer.Core.pt"; version = "2.14.1"; hash = "sha256-XrlC15HNJFmDwLpHIUHb3Bec9A79msQCRB9Dvz8w4l0="; })
(fetchNuGet { pname = "Humanizer.Core.ro"; version = "2.14.1"; hash = "sha256-llXtfq4Tr5V2Q4dVD7J0IKITtpiWrFs50DAtJhcSuRI="; })
(fetchNuGet { pname = "Humanizer.Core.ru"; version = "2.14.1"; hash = "sha256-lD0dB3mkbFfGExwVWZk6fv24MyQQ8Cdv5OrleuZeChg="; })
(fetchNuGet { pname = "Humanizer.Core.sk"; version = "2.14.1"; hash = "sha256-EmyE+wssZwY6tAuEiFXGn5/yzVMZe7QEuTjOcByOXaA="; })
(fetchNuGet { pname = "Humanizer.Core.sl"; version = "2.14.1"; hash = "sha256-sWWxh7KZ8Y3Ps6GbBOHbU2GMsNZfkM+BOnUChf3fz4s="; })
(fetchNuGet { pname = "Humanizer.Core.sr"; version = "2.14.1"; hash = "sha256-/bA3LULRFn5WYmCscr5R5vaFRjeHC0xjNiF7PXEJ8r0="; })
(fetchNuGet { pname = "Humanizer.Core.sr-Latn"; version = "2.14.1"; hash = "sha256-43+o6oj0UNRJKiFoh57MGPSzlsWAq0eRtzlCrewDmVM="; })
(fetchNuGet { pname = "Humanizer.Core.sv"; version = "2.14.1"; hash = "sha256-9lXrHveKDs1y/W3Qxd+MVcohhKEU7zNPx21GBVPp/rA="; })
(fetchNuGet { pname = "Humanizer.Core.th-TH"; version = "2.14.1"; hash = "sha256-ldCsXINSvL2xom0SCtVQy+qX1IN5//EUoyIOwXiJ3k8="; })
(fetchNuGet { pname = "Humanizer.Core.tr"; version = "2.14.1"; hash = "sha256-VZnO1vMXiR7egKEKJ6lBsj7eNgxhFzakFWsYYRW4u2U="; })
(fetchNuGet { pname = "Humanizer.Core.uk"; version = "2.14.1"; hash = "sha256-rdvleUrKbj3c06A0O2MkgAZLtXLro9SPB1YqAGE1Vyg="; })
(fetchNuGet { pname = "Humanizer.Core.uz-Cyrl-UZ"; version = "2.14.1"; hash = "sha256-Qso1Iz9MTLs63x4F00kK31TZAN4AoFaFsuVzM+1z38k="; })
(fetchNuGet { pname = "Humanizer.Core.uz-Latn-UZ"; version = "2.14.1"; hash = "sha256-sVnkZTuEaHfMJIAZmSCqsspnKkYxK9eVBQZnAAqHNW4="; })
(fetchNuGet { pname = "Humanizer.Core.vi"; version = "2.14.1"; hash = "sha256-5wDt72+HdNN3mt/iJkxV9LaH13Jc1qr1vB4Lz8ahIPs="; })
(fetchNuGet { pname = "Humanizer.Core.zh-CN"; version = "2.14.1"; hash = "sha256-Z3qfFWyovcVT4Hqy51lgW2xGwyfI//Yfv90E0Liy1sw="; })
(fetchNuGet { pname = "Humanizer.Core.zh-Hans"; version = "2.14.1"; hash = "sha256-BTGkMEkQYJKRp858EU7hwNOdsHRT+w6vAMa6H8JIyX4="; })
(fetchNuGet { pname = "Humanizer.Core.zh-Hant"; version = "2.14.1"; hash = "sha256-N3D1z5aoGwAZ6+ZxrWMtXgacvQcgDG+aLrQQI9uysmM="; })
(fetchNuGet { pname = "JetBrains.Annotations"; version = "2023.2.0"; hash = "sha256-Um10fSmO+21I7f+lbzzVq5e8GBijJ9amTvOlt362p1s="; })
(fetchNuGet { pname = "LibHac"; version = "0.19.0"; hash = "sha256-FDEmeGHbX/aCFjFbFk8QwO2rTfFizt9UKb+KFDt23hk="; }) (fetchNuGet { pname = "LibHac"; version = "0.19.0"; hash = "sha256-FDEmeGHbX/aCFjFbFk8QwO2rTfFizt9UKb+KFDt23hk="; })
(fetchNuGet { pname = "MicroCom.CodeGenerator.MSBuild"; version = "0.11.0"; hash = "sha256-TsxziX9V8T3qRrEA3o9wY84ocDcUUUBzvARi5QZW23o="; }) (fetchNuGet { pname = "MicroCom.CodeGenerator.MSBuild"; version = "0.11.0"; hash = "sha256-TsxziX9V8T3qRrEA3o9wY84ocDcUUUBzvARi5QZW23o="; })
(fetchNuGet { pname = "MicroCom.Runtime"; version = "0.11.0"; hash = "sha256-VdwpP5fsclvNqJuppaOvwEwv2ofnAI5ZSz2V+UEdLF0="; }) (fetchNuGet { pname = "MicroCom.Runtime"; version = "0.11.0"; hash = "sha256-VdwpP5fsclvNqJuppaOvwEwv2ofnAI5ZSz2V+UEdLF0="; })
@ -197,7 +252,7 @@
(fetchNuGet { pname = "System.Text.Encoding.CodePages"; version = "4.5.1"; hash = "sha256-PIhkv59IXjyiuefdhKxS9hQfEwO9YWRuNudpo53HQfw="; }) (fetchNuGet { pname = "System.Text.Encoding.CodePages"; version = "4.5.1"; hash = "sha256-PIhkv59IXjyiuefdhKxS9hQfEwO9YWRuNudpo53HQfw="; })
(fetchNuGet { pname = "System.Text.Encoding.CodePages"; version = "8.0.0"; hash = "sha256-fjCLQc1PRW0Ix5IZldg0XKv+J1DqPSfu9pjMyNBp7dE="; }) (fetchNuGet { pname = "System.Text.Encoding.CodePages"; version = "8.0.0"; hash = "sha256-fjCLQc1PRW0Ix5IZldg0XKv+J1DqPSfu9pjMyNBp7dE="; })
(fetchNuGet { pname = "System.Text.Encodings.Web"; version = "8.0.0"; hash = "sha256-IUQkQkV9po1LC0QsqrilqwNzPvnc+4eVvq+hCvq8fvE="; }) (fetchNuGet { pname = "System.Text.Encodings.Web"; version = "8.0.0"; hash = "sha256-IUQkQkV9po1LC0QsqrilqwNzPvnc+4eVvq+hCvq8fvE="; })
(fetchNuGet { pname = "System.Text.Json"; version = "8.0.0"; hash = "sha256-XFcCHMW1u2/WujlWNHaIWkbW1wn8W4kI0QdrwPtWmow="; }) (fetchNuGet { pname = "System.Text.Json"; version = "8.0.4"; hash = "sha256-g5oT7fbXxQ9Iah1nMCr4UUX/a2l+EVjJyTrw3FTbIaI="; })
(fetchNuGet { pname = "System.Threading"; version = "4.3.0"; hash = "sha256-ZDQ3dR4pzVwmaqBg4hacZaVenQ/3yAF/uV7BXZXjiWc="; }) (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"; version = "4.3.0"; hash = "sha256-Z5rXfJ1EXp3G32IKZGiZ6koMjRu0n8C1NGrwpdIen4w="; })
(fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.5.4"; hash = "sha256-owSpY8wHlsUXn5xrfYAiu847L6fAKethlvYx97Ri1ng="; }) (fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.5.4"; hash = "sha256-owSpY8wHlsUXn5xrfYAiu847L6fAKethlvYx97Ri1ng="; })

View File

@ -59,7 +59,10 @@ stdenv.mkDerivation (finalAttrs: {
stripRoot = false; stripRoot = false;
}; };
patches = [ ./sdl2_fix.patch ]; patches = [
./remove_agx.patch
./sdl2_fix.patch
];
nativeBuildInputs = [ nativeBuildInputs = [
cmake cmake
@ -143,13 +146,7 @@ stdenv.mkDerivation (finalAttrs: {
# making the build fail, as that path does not exist # making the build fail, as that path does not exist
dontFixCmake = true; dontFixCmake = true;
preConfigure = '' prePatch = ''
# see https://github.com/NixOS/nixpkgs/issues/114044, setting this through cmakeFlags does not work.
cmakeFlagsArray+=(
"-DTITLE_BAR_FORMAT_IDLE=${finalAttrs.pname} | ${finalAttrs.version} (nixpkgs) {}"
"-DTITLE_BAR_FORMAT_RUNNING=${finalAttrs.pname} | ${finalAttrs.version} (nixpkgs) | {}"
)
# Copy suyu externals # Copy suyu externals
rm -R externals/ rm -R externals/
cp -R ${suyu}/externals . cp -R ${suyu}/externals .
@ -157,6 +154,14 @@ stdenv.mkDerivation (finalAttrs: {
# replace "SUYU" with "SUDACHI" in externals cmake args # replace "SUYU" with "SUDACHI" in externals cmake args
chmod u+rw -R externals/ chmod u+rw -R externals/
grep -rl SUYU | xargs sed -i 's/SUYU/SUDACHI/g' grep -rl SUYU | xargs sed -i 's/SUYU/SUDACHI/g'
'';
preConfigure = ''
# see https://github.com/NixOS/nixpkgs/issues/114044, setting this through cmakeFlags does not work.
cmakeFlagsArray+=(
"-DTITLE_BAR_FORMAT_IDLE=${finalAttrs.pname} | ${finalAttrs.version} (nixpkgs) {}"
"-DTITLE_BAR_FORMAT_RUNNING=${finalAttrs.pname} | ${finalAttrs.version} (nixpkgs) | {}"
)
# provide pre-downloaded tz data # provide pre-downloaded tz data
mkdir -p build/externals/nx_tzdb mkdir -p build/externals/nx_tzdb

View File

@ -0,0 +1,16 @@
Submodule externals/Vulkan-Utility-Libraries contains modified content
diff --git a/externals/Vulkan-Utility-Libraries/include/vulkan/vk_enum_string_helper.h b/externals/Vulkan-Utility-Libraries/include/vulkan/vk_enum_string_helper.h
index 9d2af46..bb490ac 100644
--- a/externals/Vulkan-Utility-Libraries/include/vulkan/vk_enum_string_helper.h
+++ b/externals/Vulkan-Utility-Libraries/include/vulkan/vk_enum_string_helper.h
@@ -3478,8 +3478,8 @@ static inline const char* string_VkDriverId(VkDriverId input_value) {
return "VK_DRIVER_ID_MESA_NVK";
case VK_DRIVER_ID_IMAGINATION_OPEN_SOURCE_MESA:
return "VK_DRIVER_ID_IMAGINATION_OPEN_SOURCE_MESA";
- case VK_DRIVER_ID_MESA_AGXV:
- return "VK_DRIVER_ID_MESA_AGXV";
+ //case VK_DRIVER_ID_MESA_AGXV:
+ // return "VK_DRIVER_ID_MESA_AGXV";
default:
return "Unhandled VkDriverId";
}

View File

@ -37,6 +37,17 @@
, gnutar , gnutar
, nx_tzdb , nx_tzdb
}: }:
let
suyu = fetchFromGitea {
domain = "git.suyu.dev";
owner = "suyu";
repo = "suyu";
rev = "ee365bad9501c73ff49936e72ec91cd9c3ce5c24";
hash = "sha256-vw9VcSbCaG4MS0PL/fJ73CDALLbd3n0CBT7gkyp5hRc=";
fetchSubmodules = true;
};
in
stdenv.mkDerivation(finalAttrs: { stdenv.mkDerivation(finalAttrs: {
pname = "yuzu"; pname = "yuzu";
@ -51,6 +62,10 @@ stdenv.mkDerivation(finalAttrs: {
fetchSubmodules = true; fetchSubmodules = true;
}; };
patches = [
./remove_agx.patch
];
nativeBuildInputs = [ nativeBuildInputs = [
cmake cmake
glslang glslang
@ -144,6 +159,17 @@ stdenv.mkDerivation(finalAttrs: {
"--prefix LD_LIBRARY_PATH : ${vulkan-loader}/lib" "--prefix LD_LIBRARY_PATH : ${vulkan-loader}/lib"
]; ];
prePatch = ''
# Copy suyu externals
rm -R externals/
cp -R ${suyu}/externals .
# replace "SUYU" with "YUZU" in externals cmake args
chmod u+rw -R externals/
grep -rl SUYU | xargs sed -i 's/SUYU/YUZU/g'
'';
preConfigure = '' preConfigure = ''
# see https://github.com/NixOS/nixpkgs/issues/114044, setting this through cmakeFlags does not work. # see https://github.com/NixOS/nixpkgs/issues/114044, setting this through cmakeFlags does not work.
cmakeFlagsArray+=( cmakeFlagsArray+=(

View File

@ -0,0 +1,16 @@
Submodule externals/Vulkan-Utility-Libraries contains modified content
diff --git a/externals/Vulkan-Utility-Libraries/include/vulkan/vk_enum_string_helper.h b/externals/Vulkan-Utility-Libraries/include/vulkan/vk_enum_string_helper.h
index 9d2af46..bb490ac 100644
--- a/externals/Vulkan-Utility-Libraries/include/vulkan/vk_enum_string_helper.h
+++ b/externals/Vulkan-Utility-Libraries/include/vulkan/vk_enum_string_helper.h
@@ -3478,8 +3478,8 @@ static inline const char* string_VkDriverId(VkDriverId input_value) {
return "VK_DRIVER_ID_MESA_NVK";
case VK_DRIVER_ID_IMAGINATION_OPEN_SOURCE_MESA:
return "VK_DRIVER_ID_IMAGINATION_OPEN_SOURCE_MESA";
- case VK_DRIVER_ID_MESA_AGXV:
- return "VK_DRIVER_ID_MESA_AGXV";
+ //case VK_DRIVER_ID_MESA_AGXV:
+ // return "VK_DRIVER_ID_MESA_AGXV";
default:
return "Unhandled VkDriverId";
}

View File

@ -8,8 +8,6 @@ in
{ {
"git/github_personal.age".publicKeys = systems; "git/github_personal.age".publicKeys = systems;
"git/gitea-runner-1.age".publicKeys = systems; "git/gitea-runner-1.age".publicKeys = systems;
"emu/switch/prod.keys.age".publicKeys = systems;
"emu/switch/title.keys.age".publicKeys = systems;
"wireguard/kestrel.age".publicKeys = systems; "wireguard/kestrel.age".publicKeys = systems;
"wireguard/torus.age".publicKeys = systems; "wireguard/torus.age".publicKeys = systems;
"wireguard/bulwark.age".publicKeys = systems; "wireguard/bulwark.age".publicKeys = systems;
@ -26,5 +24,7 @@ in
"syncthing/kestrel/cert.pem.age".publicKeys = systems; "syncthing/kestrel/cert.pem.age".publicKeys = systems;
"syncthing/bulwark/key.pem.age".publicKeys = systems; "syncthing/bulwark/key.pem.age".publicKeys = systems;
"syncthing/bulwark/cert.pem.age".publicKeys = systems; "syncthing/bulwark/cert.pem.age".publicKeys = systems;
"syncthing/torus/key.pem.age".publicKeys = systems;
"syncthing/torus/cert.pem.age".publicKeys = systems;
} }

Binary file not shown.

Binary file not shown.