Compare commits

..
107 Commits
Author SHA1 Message Date
floturcocantsee 0f0e173f30 nixos-pc: added unsloth-desktop
ci / check-flake (push) Successful in 1m43s
2026-11-06 01:11:14 -05:00
floturcocantsee b90d81888d nero: added comfyui
ci / check-flake (push) Successful in 1m42s
2026-11-05 23:51:48 -05:00
floturcocantsee dac1d8710a flake: re-add affinity-nix with corrected pkgs
ci / check-flake (push) Successful in 1m40s
2026-11-05 11:59:52 -05:00
floturcocantsee 5eaf0cdcea flake: remove affinity-nix from flake
ci / check-flake (push) Successful in 1m40s
2026-11-05 09:11:21 -05:00
floturcocantsee ee15e492b2 nixos-pc: added davinci resolve flatpak
ci / check-flake (push) Successful in 1m41s
2026-11-05 09:02:48 -05:00
floturcocantsee 423dc200cd nixos-pc: added inkscape package
ci / check-flake (push) Successful in 1m41s
2026-11-04 10:05:30 -05:00
floturcocantsee e0cabce1ec flake: update flake 2026-11-04 10:05:06 -05:00
floturcocantsee c14257df1e flake: update flake
ci / check-flake (push) Successful in 1m41s
2026-11-03 10:59:17 -05:00
floturcocantsee d066f7251b features/kde: added new environment variables to handle cross-GPU stuttering.
ci / check-flake (push) Successful in 1m40s
2026-11-02 18:50:15 -05:00
floturcocantsee ff9d7c9d7c home/frank: update ticker to-watch symbols
ci / check-flake (push) Successful in 1m41s
2026-11-02 15:54:38 -05:00
floturcocantsee 7aac8a9c28 home/frank: added ticker
ci / check-flake (push) Successful in 1m41s
2026-11-02 15:48:18 -05:00
floturcocantsee 17861cb717 flake: update flake
ci / check-flake (push) Successful in 1m41s
2026-11-02 14:53:28 -05:00
floturcocantsee bfd753fb6b nero: remove sshfs mount
ci / check-flake (push) Successful in 1m41s
2026-11-01 21:17:27 -05:00
floturcocantsee 121fc56c3d nero: remote lsfg-vk
ci / check-flake (push) Successful in 1m44s
2026-10-31 21:13:00 -04:00
floturcocantsee 06aa847048 nixos-pc: adjust snapper to take snapshots of root partition only
ci / check-flake (push) Successful in 1m42s
2026-10-31 11:50:14 -04:00
floturcocantsee db0e5963e3 revert: reverted to abe998d787
ci / check-flake (push) Successful in 1m40s
2026-10-31 10:31:32 -04:00
floturcocantsee 591e6ae996 major refactor: begin work to switch to GNOME and preservation
ci / check-flake (push) Failing after 53s
2026-10-30 22:38:22 -04:00
floturcocantsee 4657eddf5f nero: switch to GNOME
ci / check-flake (push) Successful in 1m44s
2026-10-30 21:14:04 -04:00
floturcocantsee b15f3ad807 nixos-pc: replace LTS kernel with linuxPackages_latest
ci / check-flake (push) Successful in 1m40s
2026-10-30 16:39:25 -04:00
floturcocantsee fb59a12985 flake: update flake
ci / check-flake (push) Successful in 1m40s
2026-10-30 16:27:19 -04:00
floturcocantsee abe998d787 meta: added README.md
ci / check-flake (push) Successful in 1m43s
2026-10-30 12:48:28 -04:00
floturcocantsee ab2f02934d ci: adjust ci workflow
ci / check-flake (push) Successful in 1m42s
2026-10-30 11:26:42 -04:00
floturcocantsee ef73efd255 home/frank: additional configuration for ssh hosts
ci / flake (push) Canceled after 0s
2026-10-30 11:05:24 -04:00
floturcocantsee 343fac4a44 nero: remove ghidra flatpak
ci / flake (push) Canceled after 2m11s
2026-10-30 10:51:32 -04:00
floturcocantsee 8caec63012 features/kde: remove kde-pim
ci / flake (push) Canceled after 1m22s
2026-10-30 10:46:55 -04:00
floturcocantsee 55597fc91f flake: update flake
ci / flake (push) Failing after 2m7s
2026-10-29 23:32:55 -04:00
floturcocantsee 92b0e2f2cf flake: remove millenium
ci / flake (push) Failing after 2m36s
2026-10-29 19:02:48 -04:00
floturcocantsee d94fbbac6f flake: update flake
ci / flake (push) Canceled after 0s
2026-10-25 22:53:34 -04:00
floturcocantsee d9d4778bd5 features: added podman
ci / flake (push) Canceled after 0s
2026-10-24 19:28:29 -04:00
floturcocantsee 90442c4b05 features/keyd: break out keyd to a feature and add to nero.
ci / flake (push) Canceled after 0s
2026-10-24 12:38:24 -04:00
floturcocantsee ec1692ed40 nero: fix integer to string coercion error
ci / flake (push) Canceled after 0s
2026-10-23 18:06:04 -04:00
floturcocantsee 5f0332fbd9 refactor: several fixes for subtle bugs
ci / flake (push) Canceled after 0s
2026-10-23 17:59:24 -04:00
floturcocantsee 88254393a5 nero: fix uid and gid hardcoding
ci / flake (push) Canceled after 0s
2026-10-23 17:43:44 -04:00
floturcocantsee 3dd9084ee2 features/sops: fix deprecated call to pkgs.stdenv.isDarwin
ci / flake (push) Canceled after 0s
2026-10-23 17:33:31 -04:00
floturcocantsee 34594dfdda features/sops: remove unneeded .sops.yaml reference
ci / flake (push) Canceled after 0s
2026-10-23 17:26:56 -04:00
floturcocantsee 523aeb3651 workflows: added ci workflow
ci / flake (push) Canceled after 0s
2026-10-23 17:18:39 -04:00
floturcocantsee 5fb1b6204a flake: update flake 2026-10-23 17:18:14 -04:00
floturcocantsee 21dbf8d779 refactor: additional cleanup of flatpaks and ssh access 2026-10-23 17:02:44 -04:00
floturcocantsee 2c83e2c3a7 refactor: fix duplicated fastfetch invocations 2026-10-23 16:48:11 -04:00
floturcocantsee b2194c8187 vergil: fix automatic mount ambiguity. 2026-10-23 16:33:12 -04:00
floturcocantsee 768d06a190 refactor: fix tty sessions losing paths for env vars 2026-10-23 16:22:25 -04:00
floturcocantsee 349ab6df42 refactor: replace buildkey with personal key 2026-10-23 16:03:21 -04:00
floturcocantsee 73968202d1 vergil: fix shell for remotebuild user 2026-10-23 15:51:18 -04:00
floturcocantsee 6f62fbfaa1 sops: fix incorrect key namings 2026-10-23 15:38:56 -04:00
floturcocantsee 15f08cd619 darwin: fix several issues with recent refactors for the darwin platform 2026-10-23 11:26:09 -04:00
floturcocantsee d3bc77f142 vergil: fix impure actions 2026-10-22 21:11:43 -04:00
floturcocantsee 24280c59fa features/flatpak: add flatpark remove and install opencadstudio on nixos-pc shared configuration 2026-10-22 15:58:58 -04:00
floturcocantsee 7d8f781ca6 flake: change home-manager scope 2026-10-22 14:44:43 -04:00
floturcocantsee d0df2fd0c2 packages/gloomberb: remove gloomberb flake 2026-10-22 12:36:39 -04:00
floturcocantsee df6f5288ce features/wine: added support for binfmt launching of Windows executables 2026-10-22 12:15:07 -04:00
floturcocantsee 22af0eaa9d features/wine: disable debug messages by default 2026-10-22 12:10:51 -04:00
floturcocantsee dfc49fb8b1 features/wine: add wine stable as system package 2026-10-22 12:06:44 -04:00
floturcocantsee 8ffa78ad75 flake: update flake 2026-10-22 11:47:17 -04:00
floturcocantsee 532b380a6d refactor: break out user definitions and disable mutability. Also fix a couple evaluation warnings 2026-10-22 11:30:00 -04:00
floturcocantsee ba69916e0e refactor: switch from using UUIDs for filesystems to partlabels. Requires partition modifications on hosts before rebuild 2026-10-22 11:13:06 -04:00
floturcocantsee 685c709937 refactor: clean up some packages and dedup addition ones 2026-10-22 10:16:26 -04:00
floturcocantsee c905b77d55 nixos-pc: added zenmap flatpak. 2026-10-22 08:53:48 -04:00
floturcocantsee 1d2230e496 refactor: additional deduping and fixes 2026-10-21 16:59:52 -04:00
floturcocantsee 6dc6634649 features/i18n: fix typo in extra locales 2026-10-21 16:44:58 -04:00
floturcocantsee bffbe851b5 sops: convert hardcoded paths for remotebuilds to sops compliant ones 2026-10-21 16:41:49 -04:00
floturcocantsee 23bb5beea3 devenv: remove redundant builds for commits 2026-10-21 16:19:19 -04:00
floturcocantsee f1ade24501 flake: update flake 2026-10-21 13:48:56 -04:00
floturcocantsee 2167861451 refactor: transition secrets to sops-nix instead of relying on hard-coded paths 2026-10-21 12:40:01 -04:00
floturcocantsee 36aa9a054e features/sops: added sops feature 2026-10-21 10:05:14 -04:00
floturcocantsee ece4345b16 features/docker.nix: remove docker data-dir configuration 2026-10-21 09:37:51 -04:00
floturcocantsee 095db62d2c nixos-server: force disable resolved 2026-10-20 20:48:50 -04:00
floturcocantsee 149d5866f3 features/xdg: add needed rec 2026-10-20 20:17:59 -04:00
floturcocantsee 2e92624d07 refactor: fix several minor bugs and potential security issues 2026-10-20 15:49:18 -04:00
floturcocantsee 59fb26b5ca nixos-pc: added back rtk 2026-10-20 14:41:58 -04:00
floturcocantsee a6c7d32231 refactor: dedup several modules by breaking them out into feature modules 2026-10-20 14:37:49 -04:00
floturcocantsee 22d426001e refactor: fix teething issues with KDE 6.8 and devenv 2.4.0 2026-10-20 12:20:18 -04:00
floturcocantsee efd3627519 refactor: update flake and remove several un-needed packages as well as disabled libvirt 2026-10-20 11:38:48 -04:00
floturcocantsee 657173e8db refactor: break XDG sesion variables out into a single feature module 2026-10-20 09:15:42 -04:00
floturcocantsee 0dc69ec7b6 features/aliases: deduplicated aliases across several files. 2026-10-19 16:33:03 -04:00
floturcocantsee ef423a6de0 nixos-pc: removed waywallen 2026-10-19 15:32:07 -04:00
floturcocantsee a8ca175649 refactor: fully rebase to nixpkgs-unstable rather than fixed release with backports 2026-10-19 12:47:06 -04:00
floturcocantsee cb44ef6925 features/kde: remove kmail 2026-10-18 19:23:03 -04:00
floturcocantsee dfa8f48126 flake: rebase nixos packages to nixos-unstable until latest release 2026-10-18 19:19:27 -04:00
floturcocantsee 3987655b30 nixos-pc: added thunderbird 2026-10-15 10:45:57 -04:00
floturcocantsee 6af59f2bbe flake: update flake 2026-10-14 16:47:10 -04:00
floturcocantsee 23bb786c1d packages: change upstream of devenv from 26.05 to unstable 2026-10-13 15:25:28 -04:00
floturcocantsee 9649f38169 flake: fix affinity-nix package 2026-10-13 14:03:01 -04:00
floturcocantsee 9d2e48b52b flake: update flake 2026-10-12 15:27:32 -04:00
floturcocantsee f93785b447 flake: added frank as trusted user for nixos deployments 2026-10-09 15:41:20 -04:00
floturcocantsee 84192a925f pdw-frankiel: remove XE KMD driver warnings via environment variable 2026-10-09 09:45:57 -04:00
floturcocantsee 333d8d2c56 nero: added nvidia docker support 2026-10-08 21:09:46 -04:00
floturcocantsee 8c1b8c93fe various: several rounds of refactoring 2026-10-08 20:28:35 -04:00
floturcocantsee 562ff446e1 packages/looking-glass-client: update to latest version 2026-10-08 19:50:27 -04:00
floturcocantsee e25a0380f4 flake: update flake 2026-10-08 15:56:00 -04:00
floturcocantsee 3356e3178a flake: added pi 2026-10-08 10:10:25 -04:00
floturcocantsee 2c2a7c4362 various: enable OpenCL and update flake 2026-10-07 16:47:51 -04:00
floturcocantsee c30bb8c993 nixos-pc: moved libreoffice from pdw-frankiel to nixos-pc 2026-10-07 11:18:28 -04:00
floturcocantsee 80a370ec5b home/frank: start adding non-managed app configs 2026-10-07 11:14:49 -04:00
floturcocantsee 18265eb269 features/flatpak: add support for flatpak-builder 2026-10-06 11:52:16 -04:00
floturcocantsee 537ce01d01 Merge branch 'main' of gitea.daguerro.net:floturcocantsee/frank-nix
Merge upstream
2026-10-05 15:55:51 -04:00
floturcocantsee 9ae815d38d flake: update flake 2026-10-05 15:35:10 -04:00
floturcocantsee bc0fea978f nixos-pc: added normcap ocr 2026-10-04 10:15:54 -04:00
floturcocantsee 834d8d0aa7 nixos-pc: pass unstable through to heidisql package to fix broken QT6 theme 2026-10-02 09:57:43 -04:00
floturcocantsee a1696af8df nixos-pc: add libxcb to nix-ld 2026-10-01 12:00:46 -04:00
floturcocantsee 522f70036d flake: update flake 2026-10-01 08:59:21 -04:00
floturcocantsee 5ab3c75cd4 features/kde: added KDE connect 2026-10-01 08:06:43 -04:00
floturcocantsee 90f4eaf53b flake: update flake 2026-09-30 09:05:40 -04:00
floturcocantsee 853882deb1 nero: add CRT resolution options 2026-09-26 16:16:04 -04:00
floturcocantsee 7324c2f877 flake: update flake 2026-09-25 08:43:22 -04:00
floturcocantsee 9926fc62b4 pdw-frankiel: force xe driver 2026-09-24 15:03:53 -04:00
floturcocantsee e9637c0b11 pdw-frankiel: add intel specific packages for video decoding 2026-09-24 11:17:58 -04:00
floturcocantsee 0b16885609 nixos-pc: add waywallen 2026-09-24 11:14:33 -04:00
77 changed files with 1591 additions and 4899 deletions
+30
View File
@@ -0,0 +1,30 @@
name: ci
on:
push:
pull_request:
jobs:
check-flake:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: cachix/install-nix-action@v31
with:
extra_nix_config: |
experimental-features = nix-command flakes
accept-flake-config = true
- name: check formatting
run: nix fmt -- --check
- name: statix linting check
run: nix run nixpkgs#statix -- check .
- name: evaluate all configurations
run: nix flake check --no-build --all-systems
- name: build packages
run: nix build --no-link .#heidisql .#aseprite-thumbnailer-kde
+4 -1
View File
@@ -1,6 +1,6 @@
**/result **/result
# Devenv # devenv
.devenv* .devenv*
devenv.local.nix devenv.local.nix
devenv.local.yaml devenv.local.yaml
@@ -10,3 +10,6 @@ devenv.local.yaml
# pre-commit # pre-commit
.pre-commit-config.yaml .pre-commit-config.yaml
# llm harness junk
.pi
+8
View File
@@ -0,0 +1,8 @@
keys:
- &personal_age_key age1s6zlweaxqu6sldlhaxg24tqqwhcp7kvc3rr6h6895chk2ndaas6qdyj5gl
creation_rules:
- path_regex: "secrets/.*\\.yaml$"
key_groups:
- age:
- *personal_age_key
+46
View File
@@ -0,0 +1,46 @@
# NixOS Flake Configuration
Personal NixOS configuration, managed as a flake. Deploys to NixOS, macOS (nix-darwin), and home-manager.
## Machines
| Hostname | Nix Target | Purpose |
|------|----|-------------|
| **nero** | NixOS | Personal desktop - KDE, gaming (Steam), VR (WiVRn), Flatpak apps |
| **vergil** | NixOS | Server - Jellyfin, Pi-hole, nginx, remote build node |
| **pdw-frankiel** | NixOS | Work desktop - KDE, flatpak apps |
| **franks-macbook-pro** | macOS (nix-darwin) | General-purpose laptop |
## Directory Structure
```
flake.nix
hosts/ <- Host specific confirugration, each host gets its own subdirectory matching it's hostname.
shared/ <- Shared components specific to hosts (Trusted SSH keys, shared pkgs, disk layouts).
features/ <- Portable software feature modules (KDE, Podman, Wine, vim, etc.).
home/ <- Home-manager configuration and drop-in config files.
packages/ <- Custom pkgs outside of nixpkgs or external flakes.
secrets/ <- SOPS secret store
assets/ <- Static assets like graphics.
keys/ <- SSH and GPG public keys.
```
### Building and useful commands
```bash
# Build and switch.
sudo nixos-rebuild switch --flake .#<HOSTNAME>
# Build and switch if using nix-darwin.
sudo darwin-rebuild switch --flake .#<HOSTNAME>
# Build but do not switch.
nix build .#nixosConfigurations.nero.config.system.build.toplevel
# Format all .nix files.
nixfmt
```
## Secrets
Secrets are managed with SOPS. The `secrets/` directory contains encrypted files that get decrypted at build time (or when using `sops edit secrets/<NAME>.yaml`. **Never** commit the decrypted versions. In order to successfully build a configuration with secrets, place the correct private age key file in `/persist/sops/age/keys.txt` with the file mask of `0400` prior to building. You can also drop in the `keys.txt` file using nixos-anywhere or other deployment tools. In order to edit sops encrypted files without being root, place the same key file in the user's home directory at `$HOME/.config/sops/age/keys.txt` with the file mask of `0400`. Ensure that you **always** edit secret files with `sops edit secrets/<NAME>.yaml` and that you don't accidentally commit unencrypted secrets.
+15 -15
View File
@@ -3,11 +3,11 @@
"devenv": { "devenv": {
"locked": { "locked": {
"dir": "src/modules", "dir": "src/modules",
"lastModified": 1787836922, "lastModified": 1792512187,
"narHash": "sha256-SeAM6TKoXxFLwHWgkaTIZi5L5doM6mMUT3WxshF+9Eg=", "narHash": "sha256-UQk5entVLWj6uRM21GQkgq54N4Lah6rEcrduJkbQ7nE=",
"owner": "cachix", "owner": "cachix",
"repo": "devenv", "repo": "devenv",
"rev": "6cdf7c1e5845b4455d0c0e1461b4c4be4f43bd7d", "rev": "feb3388b7f1c8398d8c1efde2e3c811b81019d58",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -39,11 +39,11 @@
"nixpkgs": "nixpkgs" "nixpkgs": "nixpkgs"
}, },
"locked": { "locked": {
"lastModified": 1787424939, "lastModified": 1791909798,
"narHash": "sha256-O2tBn84NNuHrnqNVxx/XqsXwfYvS1YwBh+7CBnbCYsk=", "narHash": "sha256-VAhpCOmrun/KXimYfR8NM88bciKCui7CqHHhThSzgag=",
"owner": "cachix", "owner": "cachix",
"repo": "git-hooks.nix", "repo": "git-hooks.nix",
"rev": "809414f0cdadf82cf11b06c2b29ba9b3168b3297", "rev": "1ba1dbfe28738c9a71c266be6efa5b89e75491a9",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -54,11 +54,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1782918843, "lastModified": 1787631388,
"narHash": "sha256-ETYnV9U7Sr+A45dohzZdfCZKOss4qrTkO+wgNZNvEc0=", "narHash": "sha256-vMiXptXarfSdJb1Gkc+FYVOAibuBRj7qxGa8z68q1Uw=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "e8273b29fe1390ec8d4603f2477357555291432e", "rev": "ac6b2166e7a9375683b8e98f860f273222337b16",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -71,11 +71,11 @@
"nixpkgs-src": { "nixpkgs-src": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1787394516, "lastModified": 1791487292,
"narHash": "sha256-pRGOQSClnXNI2iLUG6DYpsGvYcuw0drOutVZFTJNw90=", "narHash": "sha256-tqM7xDEsaeK1p6VvRygeZ9LkQRpUUkbRT02BHv6hnTM=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "c8f90650c15282fa8656a041bfbbd2403997a9a7", "rev": "8edc0c72e3a38faf5434e40d1f19431125fe4b30",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -90,11 +90,11 @@
"nixpkgs-src": "nixpkgs-src" "nixpkgs-src": "nixpkgs-src"
}, },
"locked": { "locked": {
"lastModified": 1787753358, "lastModified": 1791812882,
"narHash": "sha256-Tl77VbWyAKrOfRNQhL6JbQtb/MLzbYa/1RG1gWWfICk=", "narHash": "sha256-4AdYH2HoD21mys5lk9NoDcM2Z7iPeEUjxJeGE3Pw278=",
"owner": "cachix", "owner": "cachix",
"repo": "devenv-nixpkgs", "repo": "devenv-nixpkgs",
"rev": "256551e45f6303e142ab4a98be1bf243feb77dc0", "rev": "760b85220489f69855e6df78a6d1dad5873f8bf6",
"type": "github" "type": "github"
}, },
"original": { "original": {
+1 -29
View File
@@ -21,37 +21,9 @@
nix-flake-check = { nix-flake-check = {
enable = true; enable = true;
name = "Nix Flake Check"; name = "Nix Flake Check";
entry = "nix flake check"; entry = "nix flake check --max-jobs auto";
language = "system"; language = "system";
pass_filenames = false; pass_filenames = false;
always_run = true;
};
build-pdw-frankiel = {
enable = true;
name = "Build pdw-frankiel";
entry = "nix build .#nixosConfigurations.pdw-frankiel.config.system.build.toplevel";
language = "system";
pass_filenames = false;
always_run = true;
};
build-nero = {
enable = true;
name = "Build nero";
entry = "nix build .#nixosConfigurations.nero.config.system.build.toplevel";
language = "system";
pass_filenames = false;
always_run = true;
};
build-vergil = {
enable = true;
name = "Build vergil";
entry = "nix build .#nixosConfigurations.vergil.config.system.build.toplevel";
language = "system";
pass_filenames = false;
always_run = true;
}; };
}; };
} }
+33
View File
@@ -0,0 +1,33 @@
{ pkgs }:
let
ff =
if pkgs.stdenv.hostPlatform.isDarwin then "clear;fastfetch" else "clear;fastfetch --logo nixos2";
ffw =
if pkgs.stdenv.hostPlatform.isDarwin then
"clear;fastfetch;printf '\n';weather kmco"
else
"clear;fastfetch --logo nixos2;printf '\n';weather kmco";
linuxAliases =
if pkgs.stdenv.hostPlatform.isLinux then
{
nb = "nix-build";
nix-rebuild = "sudo nixos-rebuild switch";
}
else
{ };
in
{
l = "ls -alh";
ll = "ls -l";
ls = "ls --color=tty";
gs = "git status";
ga = "git add";
gc = "git commit -m";
gpll = "git pull";
gpsh = "git push";
wget = "wget --hsts-file=$XDG_DATA_HOME/wget-hsts";
inherit ff ffw;
}
// linuxAliases
+8
View File
@@ -0,0 +1,8 @@
{ _, ... }:
{
services.avahi = {
enable = true;
nssmdns4 = true;
openFirewall = true;
};
}
+18
View File
@@ -0,0 +1,18 @@
{ pkgs, ... }:
with pkgs;
[
wget
nil
bash-language-server
btop
devenv
tmux
ripgrep
bind
p7zip
unrar
jump
jre
weather
nerd-fonts.hack
]
+11
View File
@@ -0,0 +1,11 @@
{ _, ... }:
{
virtualisation.docker = {
enable = true;
rootless = {
enable = true;
setSocketVariable = true;
};
};
}
+8 -7
View File
@@ -1,4 +1,4 @@
{ lib, ... }: { lib, pkgs, ... }:
{ {
services.flatpak = { services.flatpak = {
enable = true; enable = true;
@@ -10,12 +10,8 @@
remotes = lib.mkOptionDefault [ remotes = lib.mkOptionDefault [
{ {
name = "flathub"; name = "flatpark";
location = "https://dl.flathub.org/repo/flathub.flatpakrepo"; location = "https://dl.flatpark.org/flatpark.flatpakrepo";
}
{
name = "flathub-beta";
location = "https://dl.flathub.org/beta-repo/flathub-beta.flatpakrepo";
} }
{ {
name = "amethyst-mod-manager"; name = "amethyst-mod-manager";
@@ -23,4 +19,9 @@
} }
]; ];
}; };
environment.systemPackages = with pkgs; [
flatpak-builder
appstream
];
} }
+47
View File
@@ -0,0 +1,47 @@
{
config,
lib,
pkgs,
osConfig,
...
}:
let
home = config.home.homeDirectory;
isLinux = pkgs.stdenv.hostPlatform.isLinux;
runtimeDir = "/run/user/${toString osConfig.users.users.${config.home.username}.uid}";
vars = {
XDG_CACHE_HOME = "${home}/.cache";
XDG_CONFIG_HOME = "${home}/.config";
XDG_DATA_HOME = "${home}/.local/share";
XDG_STATE_HOME = "${home}/.local/state";
ANDROID_USER_HOME = "${home}/.local/share/android";
AZURE_CONFIG_DIR = "${home}/.local/share/azure";
NPM_CONFIG_INIT_MODULE = "${home}/.config/npm/config/npm-init.js";
NPM_CONFIG_CACHE = "${home}/.cache/npm";
_JAVA_OPTIONS = "-Djava.util.prefs.userRoot=${home}/.config/java";
PYTHON_HISTORY = "${home}/.local/state/python_history";
HISTFILE = "${home}/.local/state/bash/history";
DOTNET_ROOT = "${pkgs.dotnet-sdk}/share/dotnet";
DOTNET_CLI_HOME = "${home}/.local/share/dotnet";
GTK2_RC_FILES = "${home}/.config/gtk-2.0/gtkrc";
WINEPREFIX = "${home}/.local/share/wine";
};
linuxVars = {
NPM_CONFIG_TMP = "${runtimeDir}/npm";
};
in
{
home.sessionVariables = vars // lib.optionalAttrs isLinux linuxVars;
systemd.user.sessionVariables = lib.mkIf isLinux (vars // linuxVars);
}
+24
View File
@@ -0,0 +1,24 @@
{ _, ... }:
{
time.timeZone = "America/New_York";
i18n = {
defaultLocale = "en_US.UTF-8";
extraLocales = [
"ja_JP.UTF-8/UTF-8"
];
extraLocaleSettings = {
LC_ADDRESS = "en_US.UTF-8";
LC_IDENTIFICATION = "en_US.UTF-8";
LC_MEASUREMENT = "en_US.UTF-8";
LC_MONETARY = "en_US.UTF-8";
LC_NAME = "en_US.UTF-8";
LC_NUMERIC = "en_US.UTF-8";
LC_PAPER = "en_US.UTF-8";
LC_TELEPHONE = "en_US.UTF-8";
LC_TIME = "en_US.UTF-8";
};
};
}
+11 -16
View File
@@ -1,21 +1,8 @@
{ {
pkgs, pkgs,
inputs,
... ...
}: }:
let
unstable = inputs.nixpkgs-unstable.legacyPackages.${pkgs.stdenv.hostPlatform.system};
kde-overlay = _final: _prev: {
inherit (unstable) kdePackages;
};
in
{ {
nixpkgs.overlays = [
kde-overlay
];
services = { services = {
displayManager.plasma-login-manager.enable = true; displayManager.plasma-login-manager.enable = true;
desktopManager.plasma6.enable = true; desktopManager.plasma6.enable = true;
@@ -26,15 +13,21 @@ in
extraPortals = with pkgs; [ kdePackages.xdg-desktop-portal-kde ]; extraPortals = with pkgs; [ kdePackages.xdg-desktop-portal-kde ];
}; };
programs.ssh = { programs = {
startAgent = true; ssh = {
enableAskPassword = true; startAgent = true;
enableAskPassword = true;
};
kdeconnect.enable = true;
kde-pim.enable = false;
}; };
environment = { environment = {
systemPackages = with pkgs.kdePackages; [ systemPackages = with pkgs.kdePackages; [
union union
ksshaskpass ksshaskpass
kwin
]; ];
plasma6.excludePackages = with pkgs.kdePackages; [ plasma6.excludePackages = with pkgs.kdePackages; [
@@ -47,6 +40,8 @@ in
sessionVariables = { sessionVariables = {
SSH_ASKPASS_REQUIRE = "prefer"; SSH_ASKPASS_REQUIRE = "prefer";
KWIN_DRM_NO_TRIPLE_BUFFERING = "1";
KWIN_ALLOW_VULKAN_MGPU_COPIES = "1";
}; };
}; };
} }
+19
View File
@@ -0,0 +1,19 @@
{ _, ... }:
{
services.keyd = {
enable = true;
keyboards = {
default = {
ids = [ "*" ];
settings = {
main = {
capslock = "leftcontrol";
insert = "S-insert";
};
};
};
};
};
}
+16
View File
@@ -0,0 +1,16 @@
{ pkgs, ... }:
{
virtualisation = {
spiceUSBRedirection.enable = true;
libvirtd = {
enable = true;
qemu = {
package = pkgs.qemu_kvm;
runAsRoot = true;
swtpm.enable = true;
};
};
};
}
+31
View File
@@ -0,0 +1,31 @@
{ pkgs, ... }:
{
programs.nix-ld = {
enable = true;
libraries = with pkgs; [
stdenv.cc.cc.lib
openssl
zlib
icu
curl
gcc
pkg-config
busybox
libdrm
mesa
libxkbcommon
fontconfig
libglvnd
freetype
libxcb
libx11
libice
libsm
libxcursor
libxrandr
libxft
skia
dotnet-runtime
];
};
}
+8
View File
@@ -0,0 +1,8 @@
{ _, ... }:
{
virtualisation.podman = {
enable = true;
dockerCompat = true;
defaultNetwork.settings.dns_enabled = true;
};
}
+81
View File
@@ -0,0 +1,81 @@
{ pkgs, config, ... }:
let
usr = if pkgs.stdenv.hostPlatform.isDarwin then "frank" else config.users.users.frank.name;
grp = if pkgs.stdenv.hostPlatform.isDarwin then "admin" else config.users.users.frank.group;
admgrp = if pkgs.stdenv.hostPlatform.isDarwin then "wheel" else "root";
in
{
sops = {
age = {
sshKeyPaths = [ ];
keyFile =
if pkgs.stdenv.hostPlatform.isDarwin then
"/usr/local/sops/age/keys.txt"
else
"/persist/sops/age/keys.txt";
};
secrets = {
"password_hash" = {
sopsFile = ../secrets/password-hash.yaml;
owner = "root";
group = admgrp;
mode = "0400";
neededForUsers = true;
};
"personal_ssh_key_ed25519" = {
sopsFile = ../secrets/personal-ssh-key.yaml;
key = "personal_ssh_key_ed25519";
owner = usr;
group = grp;
mode = "0400";
};
"personal_ssh_key_ed25519.pub" = {
sopsFile = ../secrets/personal-ssh-key.yaml;
key = "personal_ssh_key_ed25519_pub";
owner = usr;
group = grp;
mode = "0644";
};
"sapphire_ssh_key_ed25519" = {
sopsFile = ../secrets/sapphire-ssh-key.yaml;
key = "sapphire_ssh_key_ed25519";
owner = usr;
group = grp;
mode = "0400";
};
"sapphire_ssh_key_ed25519.pub" = {
sopsFile = ../secrets/sapphire-ssh-key.yaml;
key = "sapphire_ssh_key_ed25519_pub";
owner = usr;
group = grp;
mode = "0644";
};
"work_ssh_key_rsa" = {
sopsFile = ../secrets/work-ssh-key.yaml;
key = "work_ssh_key_rsa";
owner = usr;
group = grp;
mode = "0400";
};
"work_ssh_key_rsa.pub" = {
sopsFile = ../secrets/work-ssh-key.yaml;
key = "work_ssh_key_rsa_pub";
owner = usr;
group = grp;
mode = "0644";
};
};
};
environment.systemPackages = with pkgs; [
sops
age
];
}
+13
View File
@@ -0,0 +1,13 @@
{ _, ... }:
{
programs.starship = {
enable = true;
settings = {
character = {
success_symbol = "[λ](bold green)";
error_symbol = "[λ](bold red)";
};
};
};
}
+7
View File
@@ -0,0 +1,7 @@
{ _, ... }:
{
security.sudo = {
enable = true;
wheelNeedsPassword = true;
};
}
+9
View File
@@ -0,0 +1,9 @@
{ _, ... }:
{
boot.loader = {
systemd-boot.enable = true;
efi.canTouchEfiVariables = true;
systemd-boot.configurationLimit = 10;
timeout = 0;
};
}
+24
View File
@@ -0,0 +1,24 @@
{
config,
pkgs,
...
}:
{
users = {
mutableUsers = false;
defaultUserShell = pkgs.bash;
users.frank = {
isNormalUser = true;
uid = 1000;
description = "Frank LoTurco";
hashedPasswordFile = config.sops.secrets.password_hash.path;
openssh.authorizedKeys.keyFiles = [ ../keys/personal_ssh_key_ed25519.pub ];
extraGroups = [
"wheel"
"networkmanager"
];
};
};
}
+27
View File
@@ -0,0 +1,27 @@
{ pkgs, ... }:
{
programs.neovim = {
enable = true;
defaultEditor = true;
vimAlias = true;
configure = {
customRC = ''
set nocompatible
set backspace=indent,eol,start
set tabstop=2
set shiftwidth=2
set expandtab
'';
packages.myPlugins = with pkgs.vimPlugins; {
start = [
vim-lastplace
vim-nix
];
opt = [ ];
};
};
};
}
+23
View File
@@ -0,0 +1,23 @@
{ pkgs, lib, ... }:
{
boot.binfmt.registrations.wine = {
recognitionType = "magic";
offset = 0;
magicOrExtension = "MZ";
interpreter = lib.getExe pkgs.wineWow64Packages.full;
wrapInterpreterInShell = false;
fixBinary = true;
};
environment = {
systemPackages = with pkgs; [
wineWow64Packages.full
winetricks
];
sessionVariables = {
WINE = "${pkgs.wineWow64Packages.full}/bin/.wine";
WINEDEBUG = "-all";
};
};
}
+8
View File
@@ -0,0 +1,8 @@
# Enforce XDG directory spec for configuration files
{ pkgs }:
{
XDG_DATA_DIRS = [
"${pkgs.gsettings-desktop-schemas}/share/gsettings-schemas/${pkgs.gsettings-desktop-schemas.name}"
"${pkgs.gtk3}/share/gsettings-schemas/${pkgs.gtk3.name}"
];
}
Generated
+123 -551
View File
@@ -15,11 +15,11 @@
"wintypes_shim": "wintypes_shim" "wintypes_shim": "wintypes_shim"
}, },
"locked": { "locked": {
"lastModified": 1789167246, "lastModified": 1792710311,
"narHash": "sha256-vGs9R6cUsR+cCewGxWq3FTK5pcB7QAaMHKhrEb/4Z9Y=", "narHash": "sha256-Uyd6UpHOZ6ly18cIlWz6HBIw5TfV4lCqVpcr01Lzer0=",
"owner": "mrshmllow", "owner": "mrshmllow",
"repo": "affinity-nix", "repo": "affinity-nix",
"rev": "9d2534bb14eb13f583011ae9415fc1871d39dc4e", "rev": "69c5cb42a7dd596027183776d82bf206d732fc91",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -46,56 +46,36 @@
}, },
"appimage-manager": { "appimage-manager": {
"inputs": { "inputs": {
"nixpkgs": "nixpkgs_4"
},
"locked": {
"lastModified": 1788378282,
"narHash": "sha256-8kp7fVQaP1isK7cn5pjjoQyhXo06CNGBWfcncFpsB8c=",
"owner": "kem-a",
"repo": "AppManager",
"rev": "3a02f8081c168237b6c9903d5df69a6766d9c06c",
"type": "github"
},
"original": {
"owner": "kem-a",
"repo": "AppManager",
"type": "github"
}
},
"bun2nix": {
"inputs": {
"flake-parts": "flake-parts_2",
"nixpkgs": [ "nixpkgs": [
"gloomberb",
"nixpkgs" "nixpkgs"
], ]
"systems": "systems",
"treefmt-nix": "treefmt-nix_2"
}, },
"locked": { "locked": {
"lastModified": 1784665499, "lastModified": 1793743605,
"narHash": "sha256-9BMxlTxCCDAeoNLtb1a/st7udtTIJep+wpUzquA29VU=", "narHash": "sha256-P0mEatSGxafaOJq0U2KCXHdLOEVceTx35nFxOp0bBEU=",
"owner": "nix-community", "owner": "kem-a",
"repo": "bun2nix", "repo": "AppManager",
"rev": "0f2a1f0b6f42cebe3b149bf62d38754c5e0e9729", "rev": "c42aaeabbc52d24c6be52a38b30057e89507ca9d",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nix-community", "owner": "kem-a",
"repo": "bun2nix", "repo": "AppManager",
"type": "github" "type": "github"
} }
}, },
"cheatengine": { "cheatengine": {
"inputs": { "inputs": {
"nixpkgs": "nixpkgs_5" "nixpkgs": [
"nixpkgs"
]
}, },
"locked": { "locked": {
"lastModified": 1789993803, "lastModified": 1793686912,
"narHash": "sha256-UiNyeC3vTVsUSg1VSFeX1EsBSNa0R+Y4ukM9sahNkbg=", "narHash": "sha256-nnLCzs010xF4pU7UyqcY8M9CNcLmGs6I+1FvCtnCcv4=",
"owner": "Hy4ri", "owner": "Hy4ri",
"repo": "cheatengine-flake", "repo": "cheatengine-flake",
"rev": "cf11770fe9e809d9b978092f4663d43786ce8d97", "rev": "81eb884d5a67eba90c5c690f79d381a1270ce990",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -122,11 +102,11 @@
}, },
"crane": { "crane": {
"locked": { "locked": {
"lastModified": 1788465171, "lastModified": 1792350552,
"narHash": "sha256-Y1/TTVXjYXGF068IThQH9fPSZ0SIE74PABlUxnWTUH0=", "narHash": "sha256-292lvpvxTGKryKxh3/3tcIVi85CwYGdl4oOi113Sob8=",
"owner": "ipetkov", "owner": "ipetkov",
"repo": "crane", "repo": "crane",
"rev": "eb35abda9f232cc6610b1d1e3200d15c49b7ac54", "rev": "e675a36b7377bebe41d548388a2501cbb16d380d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -165,38 +145,6 @@
} }
}, },
"flake-compat_3": { "flake-compat_3": {
"flake": false,
"locked": {
"lastModified": 1767039857,
"narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=",
"owner": "NixOS",
"repo": "flake-compat",
"rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab",
"type": "github"
},
"original": {
"owner": "NixOS",
"repo": "flake-compat",
"type": "github"
}
},
"flake-compat_4": {
"flake": false,
"locked": {
"lastModified": 1767039857,
"narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=",
"owner": "NixOS",
"repo": "flake-compat",
"rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab",
"type": "github"
},
"original": {
"owner": "NixOS",
"repo": "flake-compat",
"type": "github"
}
},
"flake-compat_5": {
"locked": { "locked": {
"lastModified": 1733328505, "lastModified": 1733328505,
"narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=",
@@ -215,69 +163,11 @@
"nixpkgs-lib": "nixpkgs-lib" "nixpkgs-lib": "nixpkgs-lib"
}, },
"locked": { "locked": {
"lastModified": 1788450739, "lastModified": 1790898470,
"narHash": "sha256-glZLQlzIn1fXH6PazR2iUmTo7kzzyYSshrWhLS9TqCU=", "narHash": "sha256-zTwuwezD0w3hpga6a6P8emidzAZFyWqlNeRBlpWOOl8=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "31729ca8cbdb4fa927b34e5f4353e6a83f39e993", "rev": "024633cd702b10285db5cb19b40ad48d2399ba60",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"flake-parts_2": {
"inputs": {
"nixpkgs-lib": [
"gloomberb",
"bun2nix",
"nixpkgs"
]
},
"locked": {
"lastModified": 1782949081,
"narHash": "sha256-vp6Y/Grm98ESt6ceOkWiHWyZRDV3J1RID4w+6NWK9yA=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "17c9d6cdfc60c64f4ee8d306f9bc0b4ccb51481e",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"flake-parts_3": {
"inputs": {
"nixpkgs-lib": "nixpkgs-lib_2"
},
"locked": {
"lastModified": 1788450739,
"narHash": "sha256-glZLQlzIn1fXH6PazR2iUmTo7kzzyYSshrWhLS9TqCU=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "31729ca8cbdb4fa927b34e5f4353e6a83f39e993",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"flake-parts_4": {
"inputs": {
"nixpkgs-lib": "nixpkgs-lib_3"
},
"locked": {
"lastModified": 1788450739,
"narHash": "sha256-glZLQlzIn1fXH6PazR2iUmTo7kzzyYSshrWhLS9TqCU=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "31729ca8cbdb4fa927b34e5f4353e6a83f39e993",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -288,7 +178,7 @@
}, },
"flake-utils": { "flake-utils": {
"inputs": { "inputs": {
"systems": "systems_2" "systems": "systems"
}, },
"locked": { "locked": {
"lastModified": 1731533236, "lastModified": 1731533236,
@@ -312,11 +202,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1731533236, "lastModified": 1791914995,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", "narHash": "sha256-Zf/xfQEAasnwnmEfHqW/4hjDE/s44yn2hD4RuVIZRjA=",
"owner": "numtide", "owner": "numtide",
"repo": "flake-utils", "repo": "flake-utils",
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", "rev": "b7a79d3fea1e214f6d668d521cecec0c01e26544",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -327,7 +217,7 @@
}, },
"flake-utils_3": { "flake-utils_3": {
"inputs": { "inputs": {
"systems": "systems_4" "systems": "systems_3"
}, },
"locked": { "locked": {
"lastModified": 1731533236, "lastModified": 1731533236,
@@ -349,11 +239,11 @@
"nixpkgs": "nixpkgs" "nixpkgs": "nixpkgs"
}, },
"locked": { "locked": {
"lastModified": 1788267358, "lastModified": 1791909798,
"narHash": "sha256-nt+lUqYVpc9Y6JeMd2WmXzCDojasdadKo0mWcluvY2Y=", "narHash": "sha256-VAhpCOmrun/KXimYfR8NM88bciKCui7CqHHhThSzgag=",
"owner": "cachix", "owner": "cachix",
"repo": "git-hooks.nix", "repo": "git-hooks.nix",
"rev": "27555e2624241fb116b49095df4caaee85a25691", "rev": "1ba1dbfe28738c9a71c266be6efa5b89e75491a9",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -362,46 +252,6 @@
"type": "github" "type": "github"
} }
}, },
"git-hooks_2": {
"inputs": {
"flake-compat": [
"nix-gaming",
"flake-compat"
],
"nixpkgs": [
"nix-gaming",
"nixpkgs"
]
},
"locked": {
"lastModified": 1789514889,
"narHash": "sha256-PFD1nxptCXJyJoiYO1gf/5Vv43yqGpHtMC6LUhl9/pQ=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "59f4ca0d063a1a3ec722c88b51a33004862e5379",
"type": "github"
},
"original": {
"owner": "cachix",
"repo": "git-hooks.nix",
"type": "github"
}
},
"gloomberb": {
"inputs": {
"bun2nix": "bun2nix",
"nixpkgs": "nixpkgs_6"
},
"locked": {
"path": "./packages/gloomberb",
"type": "path"
},
"original": {
"path": "./packages/gloomberb",
"type": "path"
},
"parent": []
},
"home-manager": { "home-manager": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@@ -409,16 +259,15 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1789267039, "lastModified": 1793757180,
"narHash": "sha256-LWiBv9yAYFi2LPbUhDGHPGKYskJQjj2fw12OlyO1uQo=", "narHash": "sha256-gyV7AtCwLnOImcrfSETP4J3Ie96bz19DY47B7m7Y3HM=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "ec172013fa62135f58fb58dd17ae9651e8f39727", "rev": "b787c48e2ec57a9d098f5c2721882a3bc1e16f97",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nix-community", "owner": "nix-community",
"ref": "release-26.05",
"repo": "home-manager", "repo": "home-manager",
"type": "github" "type": "github"
} }
@@ -426,7 +275,9 @@
"lazyvim": { "lazyvim": {
"inputs": { "inputs": {
"flake-utils": "flake-utils", "flake-utils": "flake-utils",
"nixpkgs": "nixpkgs_7" "nixpkgs": [
"nixpkgs"
]
}, },
"locked": { "locked": {
"lastModified": 1780594829, "lastModified": 1780594829,
@@ -443,64 +294,6 @@
"type": "github" "type": "github"
} }
}, },
"millennium": {
"inputs": {
"millennium-src": "millennium-src",
"nixpkgs": "nixpkgs_8"
},
"locked": {
"dir": "packages/nix",
"lastModified": 1789326337,
"narHash": "sha256-FWRCpoKQ8TywKkcCFleTSZRQhbL12JmbFdisaeIRIJU=",
"owner": "SteamClientHomebrew",
"repo": "Millennium",
"rev": "41f7356df31043e8c1429382dda95445530da987",
"type": "github"
},
"original": {
"dir": "packages/nix",
"owner": "SteamClientHomebrew",
"repo": "Millennium",
"type": "github"
}
},
"millennium-src": {
"flake": false,
"locked": {
"lastModified": 1787082953,
"narHash": "sha256-zgr4cdJfye4qunpD3ClNnZ9D1WPGQAXV0CnYwEbB52s=",
"owner": "SteamClientHomebrew",
"repo": "Millennium",
"rev": "513b02e809b0eb120ecf0ae12e548798dd756323",
"type": "github"
},
"original": {
"owner": "SteamClientHomebrew",
"repo": "Millennium",
"rev": "513b02e809b0eb120ecf0ae12e548798dd756323",
"type": "github"
}
},
"nix-cachyos-kernel": {
"inputs": {
"flake-compat": "flake-compat_3",
"flake-parts": "flake-parts_3",
"nixpkgs": "nixpkgs_9"
},
"locked": {
"lastModified": 1790025370,
"narHash": "sha256-IViuwsAl2hnhB5z6gmCiLUsd6HZPAz0REJEMlUMtkeY=",
"owner": "xddxdd",
"repo": "nix-cachyos-kernel",
"rev": "29efd80e1929f7c8fc00d045a92b820609d725ca",
"type": "github"
},
"original": {
"owner": "xddxdd",
"repo": "nix-cachyos-kernel",
"type": "github"
}
},
"nix-darwin": { "nix-darwin": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@@ -508,57 +301,35 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1783744694, "lastModified": 1793418699,
"narHash": "sha256-2cp6N3rrwnGYLTx9l6N+NI+kwrCWxvJUbj5WJhvB29A=", "narHash": "sha256-+RpTlcdh9KqZ+ZiLkNSTvibQWm935EcIdBzRPCTFsrQ=",
"owner": "nix-darwin", "owner": "nix-darwin",
"repo": "nix-darwin", "repo": "nix-darwin",
"rev": "c3e90c89649b07d1a96e4b9dd6cd0d6e44b91a74", "rev": "ff0e21a414d4547183396da1b44a66f2577b65e9",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nix-darwin", "owner": "nix-darwin",
"ref": "nix-darwin-26.05",
"repo": "nix-darwin", "repo": "nix-darwin",
"type": "github" "type": "github"
} }
}, },
"nix-flatpak": { "nix-flatpak": {
"locked": { "locked": {
"lastModified": 1767983141, "lastModified": 1790428548,
"narHash": "sha256-7ZCulYUD9RmJIDULTRkGLSW1faMpDlPKcbWJLYHoXcs=", "narHash": "sha256-OsZ/I7v3ArCrk0XOUvkiU1dFtGtE1qZTHRGjvBXIKUU=",
"owner": "gmodena", "owner": "gmodena",
"repo": "nix-flatpak", "repo": "nix-flatpak",
"rev": "440818969ac2cbd77bfe025e884d0aa528991374", "rev": "f1f045fc8b35ff59f88982c1752d3f3a42ca6a61",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "gmodena", "owner": "gmodena",
"ref": "v0.7.0", "ref": "latest",
"repo": "nix-flatpak", "repo": "nix-flatpak",
"type": "github" "type": "github"
} }
}, },
"nix-gaming": {
"inputs": {
"flake-compat": "flake-compat_4",
"flake-parts": "flake-parts_4",
"git-hooks": "git-hooks_2",
"nixpkgs": "nixpkgs_10"
},
"locked": {
"lastModified": 1790050422,
"narHash": "sha256-yASXa68R0gUxvB6/dKCfTgza5H/J+ETDDpLX6ZA/Nsc=",
"owner": "fufexan",
"repo": "nix-gaming",
"rev": "1153f42bd4e293e23969481dd64b11fe8e745999",
"type": "github"
},
"original": {
"owner": "fufexan",
"repo": "nix-gaming",
"type": "github"
}
},
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1787631388, "lastModified": 1787631388,
@@ -575,29 +346,29 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs-firmware": { "nixpkgs-darwin-x64": {
"locked": { "locked": {
"lastModified": 1782201461, "lastModified": 1788334797,
"narHash": "sha256-41VI8i5RESlcU7+LdPQ9ibz+4HQWixlE6wat2IYPrE0=", "narHash": "sha256-nskSa8kDimM7F0VFSP8IdoSNo4G0vKzOtxwvOFpoGDI=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "220e781eee89fa86f26d05c40a57eea1c691adec", "rev": "c19db427a1fdfc7591c0b0baeb4665dcef2c61da",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "NixOS", "owner": "NixOS",
"ref": "nixpkgs-26.05-darwin",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "220e781eee89fa86f26d05c40a57eea1c691adec",
"type": "github" "type": "github"
} }
}, },
"nixpkgs-lib": { "nixpkgs-lib": {
"locked": { "locked": {
"lastModified": 1788057806, "lastModified": 1790477367,
"narHash": "sha256-DTQSMxzDWmT0zhguthvegnVkn7CFqGCv4IHCzk5ZUpM=", "narHash": "sha256-oujbxmVKDhci2E4EM3KyAbRUgp5/IsCoiA/LfEF7OOk=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixpkgs.lib", "repo": "nixpkgs.lib",
"rev": "596e2e3940e09b2abbeb03f75fa1828c57fcd72c", "rev": "f7cd230690d9fc982d06129f9189b101fddcfa3b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -606,67 +377,23 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs-lib_2": {
"locked": {
"lastModified": 1788057806,
"narHash": "sha256-DTQSMxzDWmT0zhguthvegnVkn7CFqGCv4IHCzk5ZUpM=",
"owner": "nix-community",
"repo": "nixpkgs.lib",
"rev": "596e2e3940e09b2abbeb03f75fa1828c57fcd72c",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "nixpkgs.lib",
"type": "github"
}
},
"nixpkgs-lib_3": {
"locked": {
"lastModified": 1788057806,
"narHash": "sha256-DTQSMxzDWmT0zhguthvegnVkn7CFqGCv4IHCzk5ZUpM=",
"owner": "nix-community",
"repo": "nixpkgs.lib",
"rev": "596e2e3940e09b2abbeb03f75fa1828c57fcd72c",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "nixpkgs.lib",
"type": "github"
}
},
"nixpkgs-unstable": {
"locked": {
"lastModified": 1790046670,
"narHash": "sha256-MYiI+CzL0tuWgRPjGsKCDHqYs2T3OzMlMQWOYWG0qso=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "6774f7bc253789b113a4f39285dc0fa100abeacc",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-xr": { "nixpkgs-xr": {
"inputs": { "inputs": {
"flake-compat": "flake-compat_5", "flake-compat": "flake-compat_3",
"flake-utils": "flake-utils_2", "flake-utils": "flake-utils_2",
"nixpkgs": "nixpkgs_12", "nixpkgs": [
"nixpkgs"
],
"nvfetcher": "nvfetcher", "nvfetcher": "nvfetcher",
"systems": "systems_3", "systems": "systems_2",
"treefmt-nix": "treefmt-nix_3" "treefmt-nix": "treefmt-nix_2"
}, },
"locked": { "locked": {
"lastModified": 1790095305, "lastModified": 1793768445,
"narHash": "sha256-dhCT7GolQ52sQhtoPRhrnFy5+mFYMXUgJGpQ+fQuh4E=", "narHash": "sha256-jMMSzsfPFmsX4d6YEDZqHF2BpJmuSMiMaeyqhHA6vZ8=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixpkgs-xr", "repo": "nixpkgs-xr",
"rev": "9d75156b05263a8ccca28320386c14398f3e3e50", "rev": "5243cdffccd2b40b76e5116ad498bbbcb629a84f",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -675,93 +402,13 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_10": {
"locked": {
"lastModified": 1789632929,
"narHash": "sha256-RjR8AyvGlWuw16XRj7C1YDEw4E27ciuyPeB2nDMzgTU=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "a32edd7654519351e48e80372a928df336394670",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_11": {
"locked": {
"lastModified": 1789998861,
"narHash": "sha256-62XMQD4WLdMAfdT0/8gJmPH2dKeTw908ryNloAplTr8=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "1e8bc658fc985ef27ccd66d107d767b32bb7ef98",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-26.05",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_12": {
"locked": {
"lastModified": 1789921291,
"narHash": "sha256-Ft/BRnIqw1MywFoXydKobjjWmDFgDdYtSpJliE8+yUw=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "44a91898084f46797b5fac650c7e8c9ac38c43d4",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_13": {
"locked": {
"lastModified": 1790046670,
"narHash": "sha256-MYiI+CzL0tuWgRPjGsKCDHqYs2T3OzMlMQWOYWG0qso=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "6774f7bc253789b113a4f39285dc0fa100abeacc",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_14": {
"locked": {
"lastModified": 1780365719,
"narHash": "sha256-QfWfccTN+70ZQ4m2qlU9PiKfz2Yppq94058iJyARNwc=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "ffa10e26ae11d676b2db836259889f1f571cb14f",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1788752844, "lastModified": 1791048980,
"narHash": "sha256-VaWGJ6+cIYN2erfSecbRV+4ljI185Ty2wUrXyvQbgOw=", "narHash": "sha256-KgItSKML8Xvte0B7/uGnBDsYzSnnKHcOaiUbgWBXLXw=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "dc5d91f840324650bac8c379428c7037a416959a", "rev": "a7868a727837f3c09cee2ce0ca671c76b1589fed",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -773,11 +420,11 @@
}, },
"nixpkgs_3": { "nixpkgs_3": {
"locked": { "locked": {
"lastModified": 1770107345, "lastModified": 1790149054,
"narHash": "sha256-tbS0Ebx2PiA1FRW8mt8oejR0qMXmziJmPaU1d4kYY9g=", "narHash": "sha256-FfjXg6mAzKQBCY+7V9keGWOXG4DV2Eym/qA987lFl8A=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "4533d9293756b63904b7238acb84ac8fe4c8c2c4", "rev": "8825bebf6324e0579d012936eff73379af284b6d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -789,11 +436,11 @@
}, },
"nixpkgs_4": { "nixpkgs_4": {
"locked": { "locked": {
"lastModified": 1776548001, "lastModified": 1793726008,
"narHash": "sha256-ZSK0NL4a1BwVbbTBoSnWgbJy9HeZFXLYQizjb2DPF24=", "narHash": "sha256-jQp1wKvbwWdLBASTXkSi/VYmDJ5AbBi1WvcMt9HWJC8=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "b12141ef619e0a9c1c84dc8c684040326f27cdcc", "rev": "1d060086d60cb76a40cf37109f979d88a5bd6396",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -803,86 +450,6 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_5": {
"locked": {
"lastModified": 1789921291,
"narHash": "sha256-Ft/BRnIqw1MywFoXydKobjjWmDFgDdYtSpJliE8+yUw=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "44a91898084f46797b5fac650c7e8c9ac38c43d4",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_6": {
"locked": {
"lastModified": 1789006805,
"narHash": "sha256-xB8mKMOx1IA9vTDNLmJZ6n4wCMq/cuWBBOzGCRnqxrU=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "8ce4ef6cb6f871616146b9fe26d2a5ae594e94fe",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_7": {
"locked": {
"lastModified": 1752480373,
"narHash": "sha256-JHQbm+OcGp32wAsXTE/FLYGNpb+4GLi5oTvCxwSoBOA=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "62e0f05ede1da0d54515d4ea8ce9c733f12d9f08",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_8": {
"locked": {
"lastModified": 1781577229,
"narHash": "sha256-lrp67w8AulE9Ks53n27I45ADSzbOCn4H+CNW1Ck8B+8=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "567a49d1913ce81ac6e9582e3553dd90a955875f",
"type": "github"
},
"original": {
"owner": "nixos",
"repo": "nixpkgs",
"rev": "567a49d1913ce81ac6e9582e3553dd90a955875f",
"type": "github"
}
},
"nixpkgs_9": {
"locked": {
"lastModified": 1789987893,
"narHash": "sha256-qhSf4hiSJ4H0u7FRJM9mDqZHquiRb23I2FCT9n/aRfQ=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "0d1f01241686e36d926d13158144b9901cfce0eb",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable-small",
"repo": "nixpkgs",
"type": "github"
}
},
"nvfetcher": { "nvfetcher": {
"inputs": { "inputs": {
"flake-compat": [ "flake-compat": [
@@ -929,6 +496,28 @@
"type": "github" "type": "github"
} }
}, },
"pi": {
"inputs": {
"nixpkgs": [
"nixpkgs"
],
"nixpkgs-darwin-x64": "nixpkgs-darwin-x64"
},
"locked": {
"lastModified": 1792621753,
"narHash": "sha256-N9NOpiiZTbOMDMV+CxvJAgtLjJJ1/8NJBGS0cFHkhsc=",
"owner": "earendil-works",
"repo": "pi",
"rev": "4a080252f06caf63a525d7873c5d94d3c23887e0",
"type": "github"
},
"original": {
"owner": "earendil-works",
"ref": "stable",
"repo": "pi",
"type": "github"
}
},
"plugin-loader-src": { "plugin-loader-src": {
"flake": false, "flake": false,
"locked": { "locked": {
@@ -952,25 +541,23 @@
"affinity-thumbnailer-kde": "affinity-thumbnailer-kde", "affinity-thumbnailer-kde": "affinity-thumbnailer-kde",
"appimage-manager": "appimage-manager", "appimage-manager": "appimage-manager",
"cheatengine": "cheatengine", "cheatengine": "cheatengine",
"gloomberb": "gloomberb",
"home-manager": "home-manager", "home-manager": "home-manager",
"lazyvim": "lazyvim", "lazyvim": "lazyvim",
"millennium": "millennium",
"nix-cachyos-kernel": "nix-cachyos-kernel",
"nix-darwin": "nix-darwin", "nix-darwin": "nix-darwin",
"nix-flatpak": "nix-flatpak", "nix-flatpak": "nix-flatpak",
"nix-gaming": "nix-gaming", "nixpkgs": "nixpkgs_4",
"nixpkgs": "nixpkgs_11",
"nixpkgs-firmware": "nixpkgs-firmware",
"nixpkgs-unstable": "nixpkgs-unstable",
"nixpkgs-xr": "nixpkgs-xr", "nixpkgs-xr": "nixpkgs-xr",
"pi": "pi",
"scopebuddy": "scopebuddy", "scopebuddy": "scopebuddy",
"sops-nix": "sops-nix",
"xivlauncher-rb": "xivlauncher-rb" "xivlauncher-rb": "xivlauncher-rb"
} }
}, },
"scopebuddy": { "scopebuddy": {
"inputs": { "inputs": {
"nixpkgs": "nixpkgs_13" "nixpkgs": [
"nixpkgs"
]
}, },
"locked": { "locked": {
"lastModified": 1787088847, "lastModified": 1787088847,
@@ -986,22 +573,27 @@
"type": "github" "type": "github"
} }
}, },
"systems": { "sops-nix": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": { "locked": {
"lastModified": 1776166891, "lastModified": 1793657466,
"narHash": "sha256-bI8yrEGjrohR5hkQox7UrxDH7XqrYMwI8SL/LrJ1+S8=", "narHash": "sha256-GoOvpdsjO5hqZuO6T6ok9u6sJEjO0iPli2zRr9oNUNw=",
"owner": "nix-systems", "owner": "Mic92",
"repo": "triplet", "repo": "sops-nix",
"rev": "6de7bc09397911ce03636afbcf6118745ab2cda0", "rev": "b18e01ce148eb3efff5de2f2d3181ca53b2b2a54",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nix-systems", "owner": "Mic92",
"repo": "triplet", "repo": "sops-nix",
"type": "github" "type": "github"
} }
}, },
"systems_2": { "systems": {
"locked": { "locked": {
"lastModified": 1681028828, "lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
@@ -1016,7 +608,7 @@
"type": "github" "type": "github"
} }
}, },
"systems_3": { "systems_2": {
"locked": { "locked": {
"lastModified": 1689347949, "lastModified": 1689347949,
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
@@ -1031,7 +623,7 @@
"type": "github" "type": "github"
} }
}, },
"systems_4": { "systems_3": {
"locked": { "locked": {
"lastModified": 1681028828, "lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
@@ -1051,11 +643,11 @@
"nixpkgs": "nixpkgs_3" "nixpkgs": "nixpkgs_3"
}, },
"locked": { "locked": {
"lastModified": 1786901030, "lastModified": 1791885023,
"narHash": "sha256-WSFCsDSE5ffgD2MqzkM2CYjeFiKhRF/dJUN8uedb6YE=", "narHash": "sha256-C3alQ2MEt0zVrUSho5NUDo3jmhbff72++bfwoqT9Omo=",
"owner": "numtide", "owner": "numtide",
"repo": "treefmt-nix", "repo": "treefmt-nix",
"rev": "27b3b12a8e6375f28ebe122f07d230ca5459bbfa", "rev": "0d6d739a833ba9a9c93034862e4a7b061a062a1c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1065,28 +657,6 @@
} }
}, },
"treefmt-nix_2": { "treefmt-nix_2": {
"inputs": {
"nixpkgs": [
"gloomberb",
"bun2nix",
"nixpkgs"
]
},
"locked": {
"lastModified": 1784369104,
"narHash": "sha256-47cxbcZODibHv3rELFQ9vZly0vUNkND/atn/U7HLeb0=",
"owner": "numtide",
"repo": "treefmt-nix",
"rev": "df3c0640565d04a0261253cdd89fce78ec50168a",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "treefmt-nix",
"type": "github"
}
},
"treefmt-nix_3": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
"nixpkgs-xr", "nixpkgs-xr",
@@ -1094,11 +664,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1786901030, "lastModified": 1791885023,
"narHash": "sha256-WSFCsDSE5ffgD2MqzkM2CYjeFiKhRF/dJUN8uedb6YE=", "narHash": "sha256-C3alQ2MEt0zVrUSho5NUDo3jmhbff72++bfwoqT9Omo=",
"owner": "numtide", "owner": "numtide",
"repo": "treefmt-nix", "repo": "treefmt-nix",
"rev": "27b3b12a8e6375f28ebe122f07d230ca5459bbfa", "rev": "0d6d739a833ba9a9c93034862e4a7b061a062a1c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1162,7 +732,9 @@
"xivlauncher-rb": { "xivlauncher-rb": {
"inputs": { "inputs": {
"flake-utils": "flake-utils_3", "flake-utils": "flake-utils_3",
"nixpkgs": "nixpkgs_14", "nixpkgs": [
"nixpkgs"
],
"xivlauncher-core-src": "xivlauncher-core-src" "xivlauncher-core-src": "xivlauncher-core-src"
}, },
"locked": { "locked": {
+110 -34
View File
@@ -1,28 +1,59 @@
{ {
inputs = { inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-26.05"; nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable";
nixpkgs-firmware.url = "github:NixOS/nixpkgs?rev=220e781eee89fa86f26d05c40a57eea1c691adec";
xivlauncher-rb.url = "github:dawei-nh/xivlauncher-rb-nix";
cheatengine.url = "github:Hy4ri/cheatengine-flake";
millennium.url = "github:SteamClientHomebrew/Millennium?dir=packages/nix";
scopebuddy.url = "github:HikariKnight/ScopeBuddy";
nix-gaming.url = "github:fufexan/nix-gaming";
nixpkgs-xr.url = "github:nix-community/nixpkgs-xr";
nix-cachyos-kernel.url = "github:xddxdd/nix-cachyos-kernel";
lazyvim.url = "github:pfassina/lazyvim-nix/v16.0.0";
affinity-nix.url = "github:mrshmllow/affinity-nix"; affinity-nix.url = "github:mrshmllow/affinity-nix";
nix-flatpak.url = "github:gmodena/nix-flatpak/?ref=v0.7.0";
appimage-manager.url = "github:kem-a/AppManager"; sops-nix = {
gloomberb.url = "./packages/gloomberb"; url = "github:Mic92/sops-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
xivlauncher-rb = {
url = "github:dawei-nh/xivlauncher-rb-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
cheatengine = {
url = "github:Hy4ri/cheatengine-flake";
inputs.nixpkgs.follows = "nixpkgs";
};
scopebuddy = {
url = "github:HikariKnight/ScopeBuddy";
inputs.nixpkgs.follows = "nixpkgs";
};
nixpkgs-xr = {
url = "github:nix-community/nixpkgs-xr";
inputs.nixpkgs.follows = "nixpkgs";
};
lazyvim = {
url = "github:pfassina/lazyvim-nix/v16.0.0";
inputs.nixpkgs.follows = "nixpkgs";
};
nix-flatpak = {
url = "github:gmodena/nix-flatpak/?ref=latest";
};
appimage-manager = {
url = "github:kem-a/AppManager";
inputs.nixpkgs.follows = "nixpkgs";
};
pi = {
url = "github:earendil-works/pi/stable";
inputs.nixpkgs.follows = "nixpkgs";
};
home-manager = { home-manager = {
url = "github:nix-community/home-manager/release-26.05"; url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
nix-darwin = { nix-darwin = {
url = "github:nix-darwin/nix-darwin/nix-darwin-26.05"; url = "github:nix-darwin/nix-darwin";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
@@ -37,33 +68,78 @@
self, self,
nixpkgs, nixpkgs,
nixpkgs-xr, nixpkgs-xr,
nixpkgs-firmware, affinity-nix,
home-manager,
nix-darwin, nix-darwin,
nix-flatpak, nix-flatpak,
affinity-nix, home-manager,
sops-nix,
affinity-thumbnailer-kde, affinity-thumbnailer-kde,
millennium,
nix-cachyos-kernel,
cheatengine, cheatengine,
xivlauncher-rb, xivlauncher-rb,
gloomberb,
... ...
}: }:
let let
home-manager-configuration = { home-manager, ... }: { home-manager-configuration = { home-manager, ... }: {
home-manager = { home-manager = {
useGlobalPkgs = true; useGlobalPkgs = true;
useUserPackages = true;
extraSpecialArgs = { inherit inputs; }; extraSpecialArgs = { inherit inputs; };
users.frank = ./home/frank.nix; users.frank = ./home/frank.nix;
}; };
}; };
nixos-system = "x86_64-linux"; trusted-users-configuration = { nix, config, ... }: {
nixos-pkgs = nixpkgs.legacyPackages.${nixos-system}; nix.settings.trusted-users = [ config.users.users.frank.name ];
};
systems = [
"x86_64-linux"
"aarch64-darwin"
];
forAllSystems = nixpkgs.lib.genAttrs systems;
packagesFor =
system:
let
pkgs = nixpkgs.legacyPackages.${system};
in
nixpkgs.lib.optionalAttrs pkgs.stdenv.hostPlatform.isLinux {
heidisql = pkgs.callPackage ./packages/heidisql/package.nix { };
aseprite-thumbnailer-kde = pkgs.callPackage ./packages/aseprite-thumbnailer-kde/package.nix { };
};
formatterFor =
system:
let
pkgs = nixpkgs.legacyPackages.${system};
in
pkgs.writeShellApplication {
name = "nixfmt";
runtimeInputs = [ pkgs.nixfmt ];
text = ''
flags=()
paths=()
for arg in "$@"; do
case "$arg" in
-*) flags+=("$arg") ;;
*) paths+=("$arg") ;;
esac
done
if [ "''${#paths[@]}" -eq 0 ]; then
if git rev-parse --is-inside-work-tree >/dev/null 2>&1; then
mapfile -t paths < <(git ls-files '*.nix')
else
mapfile -t paths < <(find . -name '*.nix' -not -path './.devenv/*')
fi
fi
nixfmt "''${flags[@]}" "''${paths[@]}"
'';
};
in in
{ {
packages = forAllSystems packagesFor;
formatter = forAllSystems formatterFor;
nixosConfigurations = { nixosConfigurations = {
nero = nixpkgs.lib.nixosSystem { nero = nixpkgs.lib.nixosSystem {
specialArgs = { inherit inputs; }; specialArgs = { inherit inputs; };
@@ -71,22 +147,15 @@
modules = [ modules = [
home-manager.nixosModules.home-manager home-manager.nixosModules.home-manager
home-manager-configuration home-manager-configuration
trusted-users-configuration
nixpkgs-xr.nixosModules.nixpkgs-xr nixpkgs-xr.nixosModules.nixpkgs-xr
nix-flatpak.nixosModules.nix-flatpak nix-flatpak.nixosModules.nix-flatpak
affinity-thumbnailer-kde.nixosModules.default affinity-thumbnailer-kde.nixosModules.default
sops-nix.nixosModules.sops
./hosts/nero/hardware.nix ./hosts/nero/hardware.nix
./hosts/nero/configuration.nix ./hosts/nero/configuration.nix
{
nixpkgs.overlays = [
(final: prev: {
linux-firmware =
nixpkgs-firmware.legacyPackages.${nixos-pkgs.stdenv.hostPlatform.system}.linux-firmware;
})
];
}
]; ];
}; };
@@ -96,6 +165,9 @@
modules = [ modules = [
home-manager.nixosModules.home-manager home-manager.nixosModules.home-manager
home-manager-configuration home-manager-configuration
trusted-users-configuration
sops-nix.nixosModules.sops
./hosts/vergil/hardware.nix ./hosts/vergil/hardware.nix
./hosts/vergil/configuration.nix ./hosts/vergil/configuration.nix
@@ -108,9 +180,11 @@
modules = [ modules = [
home-manager.nixosModules.home-manager home-manager.nixosModules.home-manager
home-manager-configuration home-manager-configuration
trusted-users-configuration
nix-flatpak.nixosModules.nix-flatpak nix-flatpak.nixosModules.nix-flatpak
affinity-thumbnailer-kde.nixosModules.default affinity-thumbnailer-kde.nixosModules.default
sops-nix.nixosModules.sops
./hosts/pdw-frankiel/hardware.nix ./hosts/pdw-frankiel/hardware.nix
./hosts/pdw-frankiel/configuration.nix ./hosts/pdw-frankiel/configuration.nix
@@ -129,6 +203,8 @@
home-manager.darwinModules.home-manager home-manager.darwinModules.home-manager
home-manager-configuration home-manager-configuration
sops-nix.darwinModules.sops
{ {
users.users.frank.home = "/Users/frank"; users.users.frank.home = "/Users/frank";
} }
+71
View File
@@ -0,0 +1,71 @@
[General]
JPEGSaveQuality=95
autoResizeLimit=90
autoResizeWindow=false
backgroundOpacity=0.9
blurBackground=true
clickableEdges=false
clickableEdgesVisible=true
confirmDelete=true
confirmTrash=true
cursorAutohiding=true
defaultCropAction=0
defaultFitMode=0
defaultViewMode=0
drawTransparencyGrid=false
enableSmoothScroll=true
expandImage=false
expandLimit=2
firstRun=false
fixedZoomLevels="0.05,0.1,0.125,0.166,0.25,0.333,0.5,0.66,1,1.5,2,3,4,5,6,7,8"
focusPointIn1to1Mode=1
folderEndAction=0
imageScrolling=1
infoBarFullscreen=true
infoBarWindowed=false
jxlAnimation=false
keepFitMode=false
language=en_US
lastVerMajor=1
lastVerMicro=3
lastVerMinor=0
loopSlideshow=false
memoryAllocationLimit=1024
mouseScrollingSpeed=1
mpvBinary=/nix/store/a0zm5yxmssp95vv5q66gn7vpjnpg3jrp-mpv-with-scripts-0.41.0/bin/mpv
openInFullscreen=false
panelCenterSelection=false
panelEnabled=true
panelFullscreenOnly=true
panelPinned=false
panelPosition=top
panelPreviewsSize=140
playVideoSounds=false
scalingFilter=3
showHiddenFiles=false
showSaveOverlay=true
slideshowInterval=3000
smoothAnimatedImages=true
smoothUpscaling=true
sortFolders=true
sortingMode=0
squareThumbnails=false
thumbPanelStyle=1
thumbnailCache=true
thumbnailerThreads=4
trackpadDetection=true
unloadThumbs=true
unlockMinZoom=true
useFixedZoomLevels=false
usePreloader=true
useSystemColorScheme=false
videoPlayback=true
windowTitleExtendedInfo=true
zoomIndicatorMode=0
zoomStep=0.20000000298023224
[Controls]
shortcuts="zoomIn=+", "frameStepBack=,", "zoomOut=-", "frameStep=.", "fitWindow=1", "fitWidth=2", "fitNormal=3", "fitWindowStretch=4", "zoomIn=eq", "exit=Alt+X", "folderView=Backspace", "copyFile=C", "zoomIn=Ctrl++", "zoomOut=Ctrl+-", "zoomIn=Ctrl+eq", "copyFileClipboard=Ctrl+C", "showInDirectory=Ctrl+D", "zoomOut=Ctrl+Down", "rotateLeft=Ctrl+L", "seekVideoBackward=Ctrl+Left", "open=Ctrl+O", "print=Ctrl+P", "exit=Ctrl+Q", "rotateRight=Ctrl+R", "seekVideoForward=Ctrl+Right", "save=Ctrl+S", "copyPathClipboard=Ctrl+Shift+C", "saveAs=Ctrl+Shift+S", "zoomIn=Ctrl+Up", "pasteFile=Ctrl+V", "setWallpaper=Ctrl+W", "zoomOutCursor=Ctrl+WheelDown", "zoomInCursor=Ctrl+WheelUp", "discardEdits=Ctrl+Z", "toggleShuffle=Ctrl+`", "moveToTrash=Del", "scrollDown=Down", "jumpToLast=End", "folderView=Enter", "closeFullScreenOrExit=Esc", "toggleFullscreen=F", "toggleFullscreen=F11", "renameFile=F2", "reloadImage=F5", "flipH=H", "jumpToFirst=Home", "toggleImageInfo=I", "toggleFullscreen=LMB_DoubleClick", "prevImage=Left", "moveFile=M", "contextMenu=Menu", "exit=MiddleButton", "openSettings=P", "closeFullScreenOrExit=Q", "resize=R", "contextMenu=RMB", "nextImage=Right", "removeFile=Shift+Del", "toggleFullscreenInfoBar=Shift+F", "prevDirectory=Shift+Left", "nextDirectory=Shift+Right", "toggleFitMode=Space", "scrollUp=Up", "flipV=V", "nextImage=WheelDown", "prevImage=WheelUp", "crop=X", "prevImage=XButton1", "nextImage=XButton2", "toggleSlideshow=`"
[Scripts]
script\size=0
+9
View File
@@ -0,0 +1,9 @@
[General]
lastDisplay=1
lastPrinter=Mailroom_Copier_Black_White_PDC_CUPS
maximizedWindow=false
printColor=false
printFitToPage=true
printLandscape=false
printPdfDefault=false
windowGeometry=@Rect(0 0 885 702)
+14
View File
@@ -0,0 +1,14 @@
[Colors]
accent=#b299ec
background=#eff0f1
background_fullscreen=#000000
folderview=#ffffff
folderview_topbar=#eff0f1
icons=#232629
overlay=#000000
overlay_text=#000000
scrollbar=#a292c9
text=#232629
tid=5
widget=#eff0f1
widget_border=#eff0f1
+5
View File
@@ -0,0 +1,5 @@
set default-bg "#eff0f1"
set statusbar-bg "#eff0f1"
set statusbar-fg "#000000"
set inputbar-bg "#eff0f1"
set inputbar-fg "#000000"
+96 -63
View File
@@ -1,77 +1,112 @@
{ inputs, pkgs, ... }: {
let inputs,
unstable = inputs.nixpkgs-unstable.legacyPackages.${pkgs.stdenv.hostPlatform.system}; osConfig,
in pkgs,
...
}:
{ {
imports = [ imports = [
inputs.lazyvim.homeManagerModules.default inputs.lazyvim.homeManagerModules.default
../features/starship.nix
../features/home-env.nix
]; ];
home.shellAliases = { home = {
l = "ls -alh"; stateVersion = "26.05";
ll = "ls -l"; shellAliases = import ../features/aliases.nix { inherit pkgs; };
ls = "ls --color=tty"; packages = with pkgs; [ ticker ];
gs = "git status";
ga = "git add"; file = {
gc = "git commit -m"; ".ticker.yaml".text = ''
gpll = "git pull"; show-summary: true
gpsh = "git push"; show-tags: true
wget = "wget --hsts-file=$XDG_DATA_HOME/wget-hsts"; show-fundamentals: true
ff = show-separator: true
if pkgs.stdenv.hostPlatform.isDarwin then "clear;fastfetch" else "clear;fastfetch --logo nixos2"; show-positions: true
ffw = interval: 5
if pkgs.stdenv.hostPlatform.isDarwin then currency: USD
"clear;fastfetch;printf '\n';weather kmco" currency-summary-only: false
else watchlist:
"clear;fastfetch --logo nixos2;printf '\n';weather kmco"; - AAPL
- GOOG
- INTC
- AMD
- MSFT
- ^IXIC
- ^GSPC
- ^DJI
'';
};
}; };
xdg =
if pkgs.stdenv.hostPlatform.isDarwin then
{ }
else
{
configFile = {
"systemd/user/plasma-kwallet-pam.service.d/style.conf" = {
text = ''
[Service]
Environment=QT_STYLE_OVERRIDE=Breeze
'';
};
"systemd/user/kde-baloo.service.d/override.conf" = {
text = ''
[Unit]
After=plasma-kwin_wayland.service
'';
};
"qimgv" = {
source = ./config/qimgv;
recursive = true;
};
"zathura" = {
source = ./config/zathura;
recursive = true;
};
};
dataFile = {
"applications" = {
source = ./local/share/applications;
recursive = true;
};
};
};
programs = { programs = {
bash = { bash = {
enable = true; enable = true;
# Import SSH identities and
# display fastfetch on shell open.
initExtra = '' initExtra = ''
eval "$(jump shell)"
eval "$(devenv hook bash)" eval "$(devenv hook bash)"
[ -f $HOME/.ssh/id_floturcocantsee@daguerro.net ] && ssh-add $HOME/.ssh/id_floturcocantsee@daguerro.net
[ -f $HOME/.ssh/id_rsa ] && ssh-add $HOME/.ssh/id_rsa
clear;fastfetch clear;fastfetch
''; '';
}; };
# Configure ZSH if using darwin (macOS).
zsh = zsh =
if pkgs.stdenv.hostPlatform.isDarwin then if pkgs.stdenv.hostPlatform.isDarwin then
{ {
enable = true; enable = true;
enableCompletion = true;
autosuggestion.enable = true;
syntaxHighlighting.enable = true;
initContent = '' initContent = ''
eval "$(jump shell)"
eval "$(devenv hook zsh)" eval "$(devenv hook zsh)"
[ -f $HOME/.ssh/id_floturcocantsee@daguerro.net ] && ssh-add --apple-use-keychain $HOME/.ssh/id_floturcocantsee@daguerro.net
[ -f $HOME/.ssh/id_rsa ] && --apple-use-keychain ssh-add $HOME/.ssh/id_rsa
clear;fastfetch clear;fastfetch
''; '';
} }
else else
{ }; { };
starship = {
enable = true;
settings = {
character = {
success_symbol = "[λ](bold green)";
error_symbol = "[λ](bold red)";
};
};
};
fastfetch = { fastfetch = {
enable = true; enable = true;
package = unstable.fastfetch;
settings = { settings = {
modules = [ modules = [
"title" "title"
@@ -102,8 +137,25 @@ in
enable = true; enable = true;
enableDefaultConfig = false; enableDefaultConfig = false;
settings."*" = { settings = {
AddKeysToAgent = "yes"; "*" = {
IdentityFile = [
osConfig.sops.secrets."personal_ssh_key_ed25519".path
osConfig.sops.secrets."work_ssh_key_rsa".path
];
};
"daguerro.net" = {
User = "almalinux";
};
"panel.daguerro.net" = {
User = "floturcocantsee";
};
"voffice.picerne.com" = {
User = "pdcadmin";
};
}; };
}; };
@@ -121,23 +173,6 @@ in
''; '';
}; };
plugins = {
colorscheme = ''
return {
{
"LazyVim/LazyVim",
opts = { colorscheme = "tokyonight-day" },
},
{
"folke/tokyonight.nvim",
lazy = false,
priority = 1000,
opts = { style = "day" },
},
}
'';
};
extras = { extras = {
lang = { lang = {
nix.enable = true; nix.enable = true;
@@ -159,7 +194,7 @@ in
lfs.enable = true; lfs.enable = true;
signing = { signing = {
key = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJ5+RJOhvamBpEptCRv90E+8bVWKn6Mep61wDpPYgKP3 floturcocantsee@daguerro.net"; key = osConfig.sops.secrets."personal_ssh_key_ed25519.pub".path;
signByDefault = true; signByDefault = true;
}; };
@@ -186,6 +221,4 @@ in
hinting = "slight"; hinting = "slight";
}; };
}; };
home.stateVersion = "26.05";
} }
@@ -0,0 +1,31 @@
[Desktop Entry]
Actions=NewDocument;
Categories=Office;Database;X-Red-Hat-Base;
Comment=Manage databases, create queries and reports to track and manage your information.
Exec=env WAYLAND_DISPLAY= libreoffice --base %U
GenericName[en_US]=Database Development
GenericName=Database Development
Icon=libreoffice-base
InitialPreference=5
Keywords=Data;SQL;
MimeType=application/vnd.oasis.opendocument.base;application/vnd.sun.xml.base;
Name=LibreOffice Base
NoDisplay=false
Path=
PrefersNonDefaultGPU=false
StartupNotify=true
StartupWMClass=libreoffice-base
Terminal=false
TerminalOptions=
Type=Application
Version=1.0
X-GIO-NoFuse=true
X-KDE-Protocols=file,http,webdav,webdavs
X-KDE-SubstituteUID=false
X-KDE-Username=
[Desktop Action NewDocument]
Exec=libreoffice --base
Icon=document-new
Name[en_US]=New Database
Name=New Database
@@ -0,0 +1,31 @@
[Desktop Entry]
Actions=NewDocument;
Categories=Office;Spreadsheet;X-Red-Hat-Base;
Comment=Perform calculations, analyze information and manage lists in spreadsheets.
Exec=env WAYLAND_DISPLAY= libreoffice --calc %U
GenericName[en_US]=Spreadsheet
GenericName=Spreadsheet
Icon=libreoffice-calc
InitialPreference=5
Keywords=Accounting;Stats;OpenDocument Spreadsheet;Chart;Microsoft Excel;Microsoft Works;OpenOffice Calc;ods;xls;xlsx;
MimeType=application/clarisworks;application/csv;application/excel;application/msexcel;application/tab-separated-values;application/vnd.apache.parquet;application/vnd.apple.numbers;application/vnd.lotus-1-2-3;application/vnd.ms-excel;application/vnd.ms-excel.sheet.binary.macroEnabled.12;application/vnd.ms-excel.sheet.macroEnabled.12;application/vnd.ms-excel.template.macroEnabled.12;application/vnd.ms-works;application/vnd.oasis.opendocument.chart;application/vnd.oasis.opendocument.chart-template;application/vnd.oasis.opendocument.spreadsheet;application/vnd.oasis.opendocument.spreadsheet-flat-xml;application/vnd.oasis.opendocument.spreadsheet-template;application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;application/vnd.openxmlformats-officedocument.spreadsheetml.template;application/vnd.stardivision.calc;application/vnd.stardivision.chart;application/vnd.sun.xml.calc;application/vnd.sun.xml.calc.template;application/x-123;application/x-dbase;application/x-dbf;application/x-dos_ms_excel;application/x-excel;application/x-gnumeric;application/x-iwork-numbers-sffnumbers;application/x-ms-excel;application/x-msexcel;application/x-quattropro;application/x-starcalc;application/x-starchart;text/comma-separated-values;text/csv;text/spreadsheet;text/tab-separated-values;text/x-comma-separated-values;text/x-csv;
Name=LibreOffice Calc
NoDisplay=false
Path=
PrefersNonDefaultGPU=false
StartupNotify=true
StartupWMClass=libreoffice-calc
Terminal=false
TerminalOptions=
Type=Application
Version=1.0
X-GIO-NoFuse=true
X-KDE-Protocols=file,http,webdav,webdavs
X-KDE-SubstituteUID=false
X-KDE-Username=
[Desktop Action NewDocument]
Exec=libreoffice --calc
Icon=document-new
Name[en_US]=New Spreadsheet
Name=New Spreadsheet
@@ -0,0 +1,31 @@
[Desktop Entry]
Actions=NewDocument;
Categories=Office;FlowChart;Graphics;2DGraphics;VectorGraphics;X-Red-Hat-Base;
Comment=Create and edit drawings, flow charts and logos.
Exec=env WAYLAND_DISPLAY= libreoffice --draw %U
GenericName[en_US]=Drawing Program
GenericName=Drawing Program
Icon=libreoffice-draw
InitialPreference=5
Keywords=Vector;Schema;Diagram;Layout;OpenDocument Graphics;Microsoft Publisher;Microsoft Visio;Corel Draw;cdr;odg;svg;pdf;vsd;
MimeType=application/clarisworks;application/pdf;application/vnd.corel-draw;application/vnd.ms-publisher;application/vnd.oasis.opendocument.graphics;application/vnd.oasis.opendocument.graphics-flat-xml;application/vnd.oasis.opendocument.graphics-template;application/vnd.quark.quarkxpress;application/vnd.stardivision.draw;application/vnd.sun.xml.draw;application/vnd.sun.xml.draw.template;application/vnd.visio;application/x-pagemaker;application/x-stardraw;application/x-wpg;image/x-emf;image/x-freehand;image/x-wmf;
Name=LibreOffice Draw
NoDisplay=false
Path=
PrefersNonDefaultGPU=false
StartupNotify=true
StartupWMClass=libreoffice-draw
Terminal=false
TerminalOptions=
Type=Application
Version=1.0
X-GIO-NoFuse=true
X-KDE-Protocols=file,http,webdav,webdavs
X-KDE-SubstituteUID=false
X-KDE-Username=
[Desktop Action NewDocument]
Exec=libreoffice --draw
Icon=document-new
Name[en_US]=New Drawing
Name=New Drawing
@@ -0,0 +1,31 @@
[Desktop Entry]
Actions=NewDocument;
Categories=Office;Presentation;X-Red-Hat-Base;
Comment=Create and edit presentations for slideshows, meetings and Web pages.
Exec=env WAYLAND_DISPLAY= libreoffice --impress %U
GenericName[en_US]=Presentation
GenericName=Presentation
Icon=libreoffice-impress
InitialPreference=5
Keywords=Slideshow;Slides;OpenDocument Presentation;Microsoft PowerPoint;Microsoft Works;OpenOffice Impress;odp;ppt;pptx;
MimeType=application/mspowerpoint;application/vnd.apple.keynote;application/vnd.ms-powerpoint;application/vnd.ms-powerpoint.presentation.macroEnabled.12;application/vnd.ms-powerpoint.slideshow.macroEnabled.12;application/vnd.ms-powerpoint.template.macroEnabled.12;application/vnd.oasis.opendocument.presentation;application/vnd.oasis.opendocument.presentation-flat-xml;application/vnd.oasis.opendocument.presentation-template;application/vnd.openxmlformats-officedocument.presentationml.presentation;application/vnd.openxmlformats-officedocument.presentationml.slide;application/vnd.openxmlformats-officedocument.presentationml.slideshow;application/vnd.openxmlformats-officedocument.presentationml.template;application/vnd.stardivision.impress;application/vnd.sun.xml.impress;application/vnd.sun.xml.impress.template;application/x-iwork-keynote-sffkey;application/x-starimpress;
Name=LibreOffice Impress
NoDisplay=false
Path=
PrefersNonDefaultGPU=false
StartupNotify=true
StartupWMClass=libreoffice-impress
Terminal=false
TerminalOptions=
Type=Application
Version=1.0
X-GIO-NoFuse=true
X-KDE-Protocols=file,http,webdav,webdavs
X-KDE-SubstituteUID=false
X-KDE-Username=
[Desktop Action NewDocument]
Exec=libreoffice --impress
Icon=document-new
Name[en_US]=New Presentation
Name=New Presentation
@@ -0,0 +1,19 @@
[Desktop Entry]
Categories=System;
Comment=Clent for Looking Glass KVMFR
Exec=looking-glass-client
Icon=preferences-desktop-search
Keywords=KVM
Name=Looking Glass Client
NoDisplay=false
Path=
PrefersNonDefaultGPU=false
SingleMainWindow=true
StartupNotify=true
StartupWMClass=looking-glass-client
Terminal=false
TerminalOptions=
Type=Application
Version=1.0
X-KDE-SubstituteUID=false
X-KDE-Username=
@@ -0,0 +1,31 @@
[Desktop Entry]
Actions=NewDocument;
Categories=Office;Education;Science;Math;X-Red-Hat-Base;
Comment=Create and edit scientific formulas and equations.
Exec=env WAYLAND_DISPLAY= libreoffice --math %U
GenericName[en_US]=Formula Editor
GenericName=Formula Editor
Icon=libreoffice-math
InitialPreference=5
Keywords=Equation;OpenDocument Formula;Formula;odf;MathML;
MimeType=application/mathml+xml;application/vnd.oasis.opendocument.formula;application/vnd.oasis.opendocument.formula-template;application/vnd.stardivision.math;application/vnd.sun.xml.math;application/x-starmath;text/mathml;
Name=LibreOffice Math
NoDisplay=false
Path=
PrefersNonDefaultGPU=false
StartupNotify=true
StartupWMClass=libreoffice-math
Terminal=false
TerminalOptions=
Type=Application
Version=1.0
X-GIO-NoFuse=true
X-KDE-Protocols=file,http,webdav,webdavs
X-KDE-SubstituteUID=false
X-KDE-Username=
[Desktop Action NewDocument]
Exec=libreoffice --math
Icon=document-new
Name[en_US]=New Formula
Name=New Formula
@@ -0,0 +1,47 @@
[Desktop Entry]
Actions=Writer;Calc;Impress;Draw;Base;Math;
Categories=Office;X-Red-Hat-Base;X-SuSE-Core-Office;
Comment=Launch applications to create text documents, spreadsheets, presentations, drawings, formulas, and databases, or open recently used documents.
Exec=env WAYLAND_DISPLAY= libreoffice %U
GenericName[en_US]=Office
GenericName=Office
Icon=libreoffice-startcenter
MimeType=application/vnd.openofficeorg.extension;x-scheme-handler/vnd.libreoffice.cmis;x-scheme-handler/vnd.sun.star.webdav;x-scheme-handler/vnd.sun.star.webdavs;x-scheme-handler/vnd.libreoffice.command;x-scheme-handler/ms-word;x-scheme-handler/ms-powerpoint;x-scheme-handler/ms-excel;x-scheme-handler/ms-visio;x-scheme-handler/ms-access;
Name=LibreOffice
NoDisplay=false
Path=
PrefersNonDefaultGPU=false
StartupNotify=true
StartupWMClass=libreoffice-startcenter
Terminal=false
TerminalOptions=
Type=Application
Version=1.0
X-GIO-NoFuse=true
X-KDE-Protocols=file,http,webdav,webdavs
X-KDE-SubstituteUID=false
X-KDE-Username=
[Desktop Action Base]
Exec=libreoffice --base
Name=Base
[Desktop Action Calc]
Exec=libreoffice --calc
Name=Calc
[Desktop Action Draw]
Exec=libreoffice --draw
Name=Draw
[Desktop Action Impress]
Exec=libreoffice --impress
Name=Impress
[Desktop Action Math]
Exec=libreoffice --math
Name=Math
[Desktop Action Writer]
Exec=libreoffice --writer
Name=Writer
@@ -0,0 +1,31 @@
[Desktop Entry]
Actions=NewDocument;
Categories=Office;WordProcessor;X-Red-Hat-Base;
Comment=Create and edit text and graphics in letters, reports, documents and Web pages.
Exec=env WAYLAND_DISPLAY= libreoffice --writer %U
GenericName[en_US]=Word Processor
GenericName=Word Processor
Icon=libreoffice-writer
InitialPreference=5
Keywords=Text;Letter;Fax;Document;OpenDocument Text;Microsoft Word;Microsoft Works;Lotus WordPro;OpenOffice Writer;CV;odt;doc;docx;rtf;
MimeType=application/clarisworks;application/docbook+xml;application/macwriteii;application/msword;application/prs.plucker;application/rtf;application/vnd.apple.pages;application/vnd.lotus-wordpro;application/vnd.ms-word;application/vnd.ms-word.document.macroEnabled.12;application/vnd.ms-word.template.macroEnabled.12;application/vnd.ms-works;application/vnd.oasis.opendocument.text;application/vnd.oasis.opendocument.text-flat-xml;application/vnd.oasis.opendocument.text-master;application/vnd.oasis.opendocument.text-master-template;application/vnd.oasis.opendocument.text-template;application/vnd.oasis.opendocument.text-web;application/vnd.openxmlformats-officedocument.wordprocessingml.document;application/vnd.openxmlformats-officedocument.wordprocessingml.template;application/vnd.palm;application/vnd.stardivision.writer-global;application/vnd.sun.xml.writer;application/vnd.sun.xml.writer.global;application/vnd.sun.xml.writer.template;application/vnd.wordperfect;application/wordperfect;application/x-abiword;application/x-aportisdoc;application/x-doc;application/x-extension-txt;application/x-fictionbook+xml;application/x-hwp;application/x-iwork-pages-sffpages;application/x-mswrite;application/x-pocket-word;application/x-sony-bbeb;application/x-starwriter;application/x-starwriter-global;application/x-t602;text/plain;text/rtf;
Name=LibreOffice Writer
NoDisplay=false
Path=
PrefersNonDefaultGPU=false
StartupNotify=true
StartupWMClass=libreoffice-writer
Terminal=false
TerminalOptions=
Type=Application
Version=1.0
X-GIO-NoFuse=true
X-KDE-Protocols=file,http,webdav,webdavs
X-KDE-SubstituteUID=false
X-KDE-Username=
[Desktop Action NewDocument]
Exec=libreoffice --writer
Icon=document-new
Name[en_US]=New Document
Name=New Document
+1 -15
View File
@@ -1,30 +1,16 @@
{ { _, ... }:
pkgs,
inputs,
...
}:
let
unstable = inputs.nixpkgs-unstable.legacyPackages.${pkgs.stdenv.hostPlatform.system};
in
{ {
imports = [ imports = [
../shared/darwin.nix ../shared/darwin.nix
]; ];
environment = { environment = {
systemPackages = with pkgs; [
bash-language-server
nil
devenv
];
shellAliases = { shellAliases = {
"nix-rebuild" = "sudo darwin-rebuild switch --flake /etc/nix-darwin/.#franks-macbook-pro"; "nix-rebuild" = "sudo darwin-rebuild switch --flake /etc/nix-darwin/.#franks-macbook-pro";
}; };
}; };
homebrew.casks = [ homebrew.casks = [
"zed"
"firefox" "firefox"
]; ];
+14 -54
View File
@@ -1,44 +1,33 @@
{ {
config,
pkgs, pkgs,
inputs, inputs,
... ...
}: }:
let
unstable = inputs.nixpkgs-unstable.legacyPackages.${pkgs.stdenv.hostPlatform.system};
wivrn-overlay = _final: _prev: {
inherit (unstable) wivrn;
};
in
{ {
imports = [ imports = [
../shared/nixos-pc.nix ../shared/nixos-pc.nix
../../features/kde.nix ../../features/kde.nix
../../features/flatpak.nix ../../features/flatpak.nix
../../features/keyd.nix
]; ];
nixpkgs.overlays = [ nixpkgs.overlays = [
wivrn-overlay
inputs.millennium.overlays.default
inputs.cheatengine.overlays.default inputs.cheatengine.overlays.default
]; ];
boot = {
kernelParams = [
"vfio-pci.ids=10de:2782,10de:22bc"
"video=DP=-3:1024x768@85"
"amdgpu.dcfeaturemask=0x402"
];
};
networking.hostName = "nero"; networking.hostName = "nero";
services = { services = {
xserver = {
videoDrivers = [ "nvidia" ];
};
flatpak = { flatpak = {
packages = [ packages = [
{ {
appId = "org.waywallen.waywallen"; appId = "org.comfy.ComfyDesktop";
origin = "flathub"; origin = "flatpark";
} }
{ {
appId = "com.discordapp.Discord"; appId = "com.discordapp.Discord";
@@ -56,14 +45,6 @@ in
appId = "com.vysp3r.ProtonPlus"; appId = "com.vysp3r.ProtonPlus";
origin = "flathub"; origin = "flathub";
} }
{
appId = "io.mpv.Mpv";
origin = "flathub";
}
{
appId = "org.ghidra_sre.Ghidra";
origin = "flathub";
}
{ {
appId = "io.github.ryubing.Ryujinx"; appId = "io.github.ryubing.Ryujinx";
origin = "flathub"; origin = "flathub";
@@ -80,18 +61,6 @@ in
openFirewall = true; openFirewall = true;
autoStart = true; autoStart = true;
}; };
sunshine = {
enable = true;
autoStart = true;
capSysAdmin = true;
openFirewall = true;
settings = {
encoder = "vulkan";
output_name = 3;
};
};
}; };
programs = { programs = {
@@ -99,7 +68,6 @@ in
steam = { steam = {
enable = true; enable = true;
package = pkgs.millennium-steam;
remotePlay.openFirewall = true; remotePlay.openFirewall = true;
extraPackages = [ pkgs.hidapi ]; extraPackages = [ pkgs.hidapi ];
}; };
@@ -113,7 +81,9 @@ in
{ {
hostName = "vergil.cfl.rr.com"; hostName = "vergil.cfl.rr.com";
sshUser = "remotebuild"; sshUser = "remotebuild";
sshKey = "/root/.ssh/id_rsa";
sshKey = config.sops.secrets."personal_ssh_key_ed25519".path;
system = pkgs.stdenv.hostPlatform.system; system = pkgs.stdenv.hostPlatform.system;
protocol = "ssh-ng"; protocol = "ssh-ng";
maxJobs = 24; maxJobs = 24;
@@ -131,28 +101,18 @@ in
}; };
environment = { environment = {
sessionVariables = {
AVALONIA_SCREEN_SCALE_FACTORS = "HDMI-A-1=2.0;DP-1=2.0;DP-2=2.0;DP-3=2.0";
};
systemPackages = with pkgs; [ systemPackages = with pkgs; [
qimgv
zathura
mangohud mangohud
gamescope gamescope
gamescope-wsi gamescope-wsi
cheatengine cheatengine
lsfg-vk qbittorrent
lsfg-vk-ui aseprite
unstable.qbittorrent
inputs.scopebuddy.packages.${pkgs.stdenv.hostPlatform.system}.default inputs.scopebuddy.packages.${pkgs.stdenv.hostPlatform.system}.default
inputs.xivlauncher-rb.packages.${pkgs.stdenv.hostPlatform.system}.default inputs.xivlauncher-rb.packages.${pkgs.stdenv.hostPlatform.system}.default
(callPackage ../../packages/aseprite/package.nix { }) (callPackage ../../packages/aseprite-thumbnailer-kde/package.nix { })
(callPackage ../../packages/aseprite-thumbnailer-kde/package.nix { inherit unstable; })
(callPackage ../../packages/undertale-mod-tool/package.nix { })
]; ];
}; };
} }
+14 -49
View File
@@ -2,12 +2,14 @@
config, config,
lib, lib,
modulesPath, modulesPath,
pkgs,
... ...
}: }:
{ {
imports = [ imports = [
(modulesPath + "/installer/scan/not-detected.nix") (modulesPath + "/installer/scan/not-detected.nix")
../shared/fs-layouts/single-disk-btrfs.nix
]; ];
boot = { boot = {
@@ -21,62 +23,25 @@
]; ];
initrd.kernelModules = [ ]; initrd.kernelModules = [ ];
kernelModules = [ "kvm-amd" ]; kernelModules = [ ];
extraModulePackages = [ ]; extraModulePackages = [ ];
}; };
fileSystems = {
"/" = {
device = "/dev/disk/by-uuid/7559f03a-28da-482d-934a-5d4f88ab085f";
fsType = "btrfs";
};
"/home" = {
device = "/dev/disk/by-uuid/7559f03a-28da-482d-934a-5d4f88ab085f";
fsType = "btrfs";
options = [ "subvol=home" ];
};
"/nix" = {
device = "/dev/disk/by-uuid/7559f03a-28da-482d-934a-5d4f88ab085f";
fsType = "btrfs";
options = [ "subvol=nix" ];
};
"/boot" = {
device = "/dev/disk/by-uuid/12B3-D345";
fsType = "vfat";
options = [
"fmask=0077"
"dmask=0077"
];
};
"/mnt/fileshare" = {
device = "frank@192.168.1.181:/mnt/shares";
fsType = "sshfs";
options = [
"uid=1000"
"gid=1000"
"default_permissions"
"allow_other"
"_netdev"
"x-systemd.automount"
"reconnect"
"ServerAliveInterval=15"
"IdentityFile=/root/.ssh/id_rsa"
];
};
};
swapDevices = [
{ device = "/dev/disk/by-uuid/431e8332-e3d5-400b-93e7-27b9c8dc1dfe"; }
];
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware = { hardware = {
bluetooth.enable = true; bluetooth.enable = true;
cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
nvidia-container-toolkit.enable = true;
nvidia = {
open = true;
modesetting.enable = true;
};
graphics = {
enable = true;
extraPackages = with pkgs; [ mesa.opencl ];
};
}; };
} }
+8 -32
View File
@@ -1,22 +1,20 @@
{ {
pkgs,
inputs,
... ...
}: }:
let
unstable = inputs.nixpkgs-unstable.legacyPackages.${pkgs.stdenv.hostPlatform.system};
in
{ {
imports = [ imports = [
../shared/nixos-pc.nix ../shared/nixos-pc.nix
../../features/kde.nix ../../features/kde.nix
../../features/flatpak.nix ../../features/flatpak.nix
../../features/keyd.nix
]; ];
boot = { boot = {
kernelParams = [ kernelParams = [
"intel_iommu=on" "intel_iommu=on"
"i915-enable_guc=3" "i915.enable_guc=3"
"i915.force_probe=!a7a0"
"xe.force_probe=a7a0"
]; ];
}; };
@@ -25,23 +23,6 @@ in
services = { services = {
printing.enable = true; printing.enable = true;
keyd = {
enable = true;
keyboards = {
default = {
ids = [ "*" ];
settings = {
main = {
capslock = "oneshot(control)";
insert = "S-insert";
};
};
};
};
};
flatpak = { flatpak = {
packages = [ packages = [
{ {
@@ -65,14 +46,9 @@ in
}; };
environment = { environment = {
systemPackages = with pkgs; [ sessionVariables = {
qimgv LIBVA_DRIVER_NAME = "iHD";
zathura INTEL_XE_IGNORE_EXPERIMENTAL_WARNING = "1";
hunspell };
hunspellDicts.en_US
hyphenDicts.en_US
unstable.libreoffice-qt
];
}; };
} }
+14 -33
View File
@@ -2,12 +2,14 @@
config, config,
lib, lib,
modulesPath, modulesPath,
pkgs,
... ...
}: }:
{ {
imports = [ imports = [
(modulesPath + "/installer/scan/not-detected.nix") (modulesPath + "/installer/scan/not-detected.nix")
../shared/fs-layouts/single-disk-btrfs.nix
]; ];
boot = { boot = {
@@ -23,47 +25,26 @@
initrd.kernelModules = [ ]; initrd.kernelModules = [ ];
kernelModules = [ "kvm-intel" ]; kernelModules = [ ];
extraModulePackages = [ ]; extraModulePackages = [ ];
}; };
fileSystems = {
"/" = {
device = "/dev/disk/by-uuid/2b88fa45-f012-4df6-b59c-5b45ee0fc6e8";
fsType = "btrfs";
};
"/home" = {
device = "/dev/disk/by-uuid/2b88fa45-f012-4df6-b59c-5b45ee0fc6e8";
fsType = "btrfs";
options = [ "subvol=home" ];
};
"/nix" = {
device = "/dev/disk/by-uuid/2b88fa45-f012-4df6-b59c-5b45ee0fc6e8";
fsType = "btrfs";
options = [ "subvol=nix" ];
};
"/boot" = {
device = "/dev/disk/by-uuid/679B-3FC0";
fsType = "vfat";
options = [
"fmask=0077"
"dmask=0077"
];
};
};
swapDevices = [
{ device = "/dev/disk/by-uuid/2ef72da1-8c5b-449d-8460-0f5833bd856d"; }
];
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware = { hardware = {
bluetooth.enable = true; bluetooth.enable = true;
cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
enableRedistributableFirmware = true;
graphics = {
enable = true;
extraPackages = with pkgs; [
intel-media-driver
vpl-gpu-rt
mesa.opencl
];
};
}; };
} }
+10 -71
View File
@@ -1,83 +1,22 @@
{ self, pkgs, ... }: { self, pkgs, ... }:
{ {
imports = [
./nix-package-manager.nix
../../features/sops.nix
];
programs.zsh.enable = true;
# Only use homebrew for casks. # Only use homebrew for casks.
homebrew.enable = true; homebrew.enable = true;
nix = {
gc = {
automatic = true;
interval = {
Hour = 3;
Minute = 15;
Weekday = 7;
};
options = "--delete-older-than 30d";
};
optimise = {
automatic = true;
interval = {
Hour = 3;
Minute = 15;
Weekday = 7;
};
};
settings = {
experimental-features = [
"nix-command"
"flakes"
];
use-xdg-base-directories = true;
};
};
# Enables Touch ID for sudo prompts. # Enables Touch ID for sudo prompts.
security.pam.services.sudo_local.touchIdAuth = true; security.pam.services.sudo_local.touchIdAuth = true;
programs = {
zsh = {
enable = true;
enableCompletion = true;
enableAutosuggestions = true;
enableSyntaxHighlighting = true;
interactiveShellInit = ''
eval "$(jump shell)"
'';
};
};
environment = { environment = {
variables = rec { shellAliases = import ../../features/aliases.nix { inherit pkgs; };
XDG_CACHE_HOME = "$HOME/.cache"; variables = import ../../features/xdg.nix { inherit pkgs; };
XDG_CONFIG_HOME = "$HOME/.config"; systemPackages = import ../../features/common-pkgs.nix { inherit pkgs; };
XDG_DATA_HOME = "$HOME/.local/share";
XDG_STATE_HOME = "$HOME/.local/state";
};
shellAliases = {
l = "ls -alh";
ll = "ls -l";
ls = "ls --color=tty";
gs = "git status";
ga = "git add";
gc = "git commit -m";
gpll = "git pull";
gpsh = "git push";
ff = "clear;fastfetch --logo nixos2";
ffw = "clear;fastfetch --logo nixos2;printf '\n';weather kmco";
wget = "wget --hsts-file=$XDG_DATA_HOME/wget-hsts";
};
systemPackages = with pkgs; [
wget
fastfetch
btop
nerd-fonts.hack
jump
];
}; };
# Don't touch this unless needed. # Don't touch this unless needed.
@@ -0,0 +1,36 @@
{ _, ... }:
{
# RECOMMENDED BTRFS SUBVOLUME LAYOUT
# /home
# /home/.snapshots (needed if snapper on home dir to be enabled)
# /srv
# /var/lib/portables
# /var/lib/machines
# /tmp
# /var/tmp
#
# REQUIRED PARTLABELS (can be set in parted or other tools NOT!!! FILESYSTEM LABEL!)
# / - NIXOS
# /boot - ESP
# swap - SWAP
fileSystems = {
"/" = {
device = "/dev/disk/by-partlabel/NIXOS";
fsType = "btrfs";
};
"/boot" = {
device = "/dev/disk/by-partlabel/ESP";
fsType = "vfat";
options = [
"fmask=0077"
"dmask=0077"
];
};
};
swapDevices = [
{ device = "/dev/disk/by-partlabel/SWAP"; }
];
}
@@ -0,0 +1,27 @@
{ _, ... }:
{
# REQUIRED PARTLABELS (can be set in parted or other tools NOT!!! FILESYSTEM LABEL!)
# / - NIXOS
# /boot - ESP
# swap - SWAP
fileSystems = {
"/" = {
device = "/dev/disk/by-partlabel/NIXOS";
fsType = "xfs";
};
"/boot" = {
device = "/dev/disk/by-partlabel/ESP";
fsType = "vfat";
options = [
"fmask=0077"
"dmask=0077"
];
};
};
swapDevices = [
{ device = "/dev/disk/by-partlabel/SWAP"; }
];
}
+47
View File
@@ -0,0 +1,47 @@
{ lib, pkgs, ... }:
let
launchd-time = {
Hour = 3;
Minute = 15;
Weekday = 7;
};
systemd-time = "weekly";
isDarwin = pkgs.stdenv.hostPlatform.isDarwin;
in
{
nixpkgs.config.allowUnfree = true;
nix = {
gc = {
automatic = true;
options = "--delete-older-than 30d";
}
// lib.optionalAttrs isDarwin {
interval = launchd-time;
}
// lib.optionalAttrs (!isDarwin) {
dates = systemd-time;
};
optimise = {
automatic = true;
}
// lib.optionalAttrs isDarwin {
interval = launchd-time;
}
// lib.optionalAttrs (!isDarwin) {
dates = systemd-time;
};
settings = {
use-xdg-base-directories = true;
experimental-features = [
"nix-command"
"flakes"
];
};
};
}
+76 -331
View File
@@ -1,47 +1,34 @@
{ {
config,
pkgs, pkgs,
lib,
inputs, inputs,
... ...
}: }:
let
unstable = inputs.nixpkgs-unstable.legacyPackages.${pkgs.stdenv.hostPlatform.system};
in
{ {
imports = [
../../features/nix-ld.nix
../../features/podman.nix
../../features/vim.nix
../../features/avahi.nix
../../features/systemd-boot.nix
../../features/i18n.nix
../../features/sudo.nix
../../features/sops.nix
../../features/users.nix
../../features/wine.nix
./nix-package-manager.nix
];
nixpkgs.overlays = [ inputs.affinity-nix.overlays.default ];
boot = { boot = {
loader = {
systemd-boot.enable = true;
efi.canTouchEfiVariables = true;
systemd-boot.configurationLimit = 10;
timeout = 0;
};
consoleLogLevel = 3; consoleLogLevel = 3;
kernelPackages =
inputs.nix-cachyos-kernel.legacyPackages.x86_64-linux.linuxPackages-cachyos-bore-lto-x86_64-v3;
extraModulePackages = [ config.boot.kernelPackages.kvmfr ];
kernelParams = [ kernelParams = [
"quiet" "quiet"
"rd.udev.log_level=3" "rd.udev.log_level=3"
"rd.systemd.show_status=auto" "rd.systemd.show_status=auto"
"kvmfr.static_size_mb=256"
]; ];
initrd = {
verbose = false;
kernelModules = [
"vfio"
"vfio_pci"
"vfio_iommu_type1"
"kvmfr"
];
};
kernelModules = [ kernelModules = [
"ntsync" "ntsync"
]; ];
@@ -61,24 +48,15 @@ in
}; };
services = { services = {
# Allow kvmfr module to be used by QEMU/KVM.
udev.packages = [
(pkgs.writeTextFile {
name = "kvmfr";
text = ''
SUBSYSTEM=="kvmfr", GROUP="kvm", MODE="0660", TAG+="uaccess"
'';
destination = "/etc/udev/rules.d/70-kvmfr.rules";
})
];
flatpak = { flatpak = {
packages = [ packages = [
{ {
appId = "com.usebottles.bottles"; appId = "com.blackmagic.Resolve";
origin = "flathub"; origin = "flatpark";
}
{
appId = "io.github.HakanSeven12.OpenCadStudio";
origin = "flatpark";
} }
{ {
appId = "io.github.ungoogled_software.ungoogled_chromium"; appId = "io.github.ungoogled_software.ungoogled_chromium";
@@ -88,21 +66,15 @@ in
appId = "org.gtk.Gtk3theme.Breeze"; appId = "org.gtk.Gtk3theme.Breeze";
origin = "flathub"; origin = "flathub";
} }
{
appId = "io.mpv.Mpv";
origin = "flathub";
}
]; ];
}; };
# Configures snapshots for home subvolume.
# Requires /home/.snapshots subvolume to function.
snapper = { snapper = {
snapshotInterval = "hourly"; snapshotInterval = "hourly";
cleanupInterval = "1d"; cleanupInterval = "1d";
configs = { configs = {
home = { nixos = {
SUBVOLUME = "/home"; SUBVOLUME = "/";
TIMELINE_CREATE = true; TIMELINE_CREATE = true;
TIMELINE_CLEANUP = true; TIMELINE_CLEANUP = true;
TIMELINE_LIMIT_HOURLY = "10"; TIMELINE_LIMIT_HOURLY = "10";
@@ -121,45 +93,29 @@ in
}; };
}; };
# Completely disable xserver support (RIP X11).
xserver.enable = false;
# Enable KMSCON DRM TTY.
kmscon = { kmscon = {
enable = true; enable = true;
hwRender = true; config = {
term = "xterm-256color"; hwAccel = true;
term = "xterm-256color";
fonts = [ font-name = "Hack Nerd Font Mono";
{ };
name = "Hack";
package = pkgs.hack-font;
}
{
name = "Hack Nerd Font Mono";
package = pkgs.nerd-fonts.hack;
}
];
}; };
# Configure pipewire. Disables 32Bit ALSA since it causes build errors
# and is largely vestigial.
pipewire = { pipewire = {
enable = true; enable = true;
pulse.enable = true; pulse.enable = true;
alsa.enable = true; alsa.enable = true;
alsa.support32Bit = lib.mkForce false;
}; };
openssh.enable = true; openssh = {
affinity-thumbnailer.enable = true;
# Enables m(ulticast)DNS (a.k.a. Bonjour) support.
avahi = {
enable = true; enable = true;
nssmdns4 = true; settings = {
openFirewall = true; PasswordAuthentication = false;
KbdInteractiveAuthentication = false;
};
}; };
affinity-thumbnailer.enable = true;
}; };
networking = { networking = {
@@ -168,282 +124,71 @@ in
networkmanager.plugins = with pkgs; [ networkmanager-openvpn ]; networkmanager.plugins = with pkgs; [ networkmanager-openvpn ];
firewall = { firewall = {
trustedInterfaces = [
"virbr0"
"br0"
];
allowedTCPPorts = [ 22 ]; allowedTCPPorts = [ 22 ];
};
};
time.timeZone = "America/New_York"; allowedTCPPortRanges = [
{
from = 1714;
to = 1764;
} # KDE Connect
];
i18n = { allowedUDPPortRanges = [
defaultLocale = "en_US.UTF-8"; {
from = 1714;
extraLocales = [ to = 1764;
"ja_JP.UTF-8/UTF-8" } # KDE Connect
]; ];
extraLocaleSettings = {
LC_ADDRESS = "en_US.UTF-8";
LC_IDENTIFICATION = "en_US.UTF-8";
LC_MEASUREMENT = "en_US.UTF-8";
LC_MONETARY = "en_US.UTF-8";
LC_NAME = "en_US.UTF-8";
LC_NUMERIC = "en_US.UTF-8";
LC_PAPER = "en_US.UTF-8";
LC_TELEPHONE = "en_US.UTF-8";
LC_TIME = "en_US.UTF-8";
}; };
}; };
security.rtkit.enable = true; security.rtkit.enable = true;
programs = { programs = {
bash.enable = true;
firefox.enable = true;
gnupg.agent = { gnupg.agent = {
enable = true; enable = true;
pinentryPackage = pkgs.pinentry-qt; pinentryPackage = pkgs.pinentry-qt;
}; };
nix-ld = {
enable = true;
libraries = with pkgs; [
stdenv.cc.cc.lib
openssl
zlib
icu
curl
libxcrypt-legacy
gcc
pkg-config
busybox
libdrm
mesa
libxkbcommon
fontconfig
libglvnd
freetype
libx11
libice
libsm
libxcursor
libxrandr
libxft
skia
dotnet-sdk
dotnet-runtime
dotnet-runtime_8
dotnet-runtime_10
];
};
bash = {
enable = true;
interactiveShellInit = ''
eval "$(jump shell)"
bind -x '"\eOQ": clear;fastfetch'
'';
};
starship = {
enable = true;
settings = {
character = {
success_symbol = "[λ](bold green)";
error_symbol = "[λ](bold red)";
};
};
};
virt-manager.enable = true;
ssh.startAgent = true;
firefox.enable = true;
appimage = { appimage = {
enable = true; enable = true;
binfmt = true; binfmt = true;
}; };
neovim = {
enable = true;
defaultEditor = true;
vimAlias = true;
configure = {
customRC = ''
set nocompatible
set backspace=indent,eol,start
set tabstop=2
set shiftwidth=2
set expandtab
'';
packages.myPlugins = with pkgs.vimPlugins; {
start = [
vim-lastplace
vim-nix
];
opt = [ ];
};
};
};
};
virtualisation = {
docker.enable = true;
spiceUSBRedirection.enable = true;
libvirtd = {
enable = true;
qemu = {
package = pkgs.qemu_kvm;
runAsRoot = true;
swtpm.enable = true;
verbatimConfig = ''
namespaces = []
cgroup_device_acl = [
"/dev/null", "/dev/full", "/dev/zero",
"/dev/random", "/dev/urandom",
"/dev/ptmx", "/dev/kvm", "/dev/kqemu",
"/dev/rtc","/dev/hpet", "/dev/vfio/vfio",
"/dev/kvmfr0"
]
'';
};
};
};
users.users.frank = {
isNormalUser = true;
description = "Frank LoTurco";
extraGroups = [
"networkmanager"
"wheel"
"moonshine"
"libvirtd"
"input"
"video"
"docker"
"uinput"
];
};
nixpkgs = {
config.allowUnfree = true;
overlays = [
inputs.affinity-nix.overlays.default
inputs.nix-cachyos-kernel.overlays.default
];
};
nix = {
gc = {
automatic = true;
dates = "weekly";
options = "--delete-older-than 30d";
};
optimise = {
automatic = true;
dates = "weekly";
};
settings = {
experimental-features = [
"nix-command"
"flakes"
];
use-xdg-base-directories = true;
};
}; };
environment = { environment = {
systemPackages = with pkgs; [ systemPackages =
wget import ../../features/common-pkgs.nix { inherit pkgs; }
dnsmasq ++ (with pkgs; [
guestfs-tools btrfs-assistant
unrar kdePackages.kfind
p7zip desktop-file-utils
btrfs-assistant zathura
nil hunspell
bash-language-server hunspellDicts.en_US
devenv hyphenDicts.en_US
nerd-fonts.hack libreoffice-qt
jump qimgv
weather mpv
affinity-v3 vorta
kdePackages.kfind distrobox
desktop-file-utils rtk
openjdk inkscape
openjdk17 affinity-v3
openjdk25 unsloth-desktop
tmux
unstable.fastfetch inputs.appimage-manager.packages.${pkgs.stdenv.hostPlatform.system}.default
unstable.vorta inputs.pi.packages.${pkgs.stdenv.hostPlatform.system}.default
unstable.distrobox
inputs.appimage-manager.packages.${pkgs.stdenv.hostPlatform.system}.default (callPackage ../../packages/heidisql/package.nix { })
inputs.gloomberb.packages.${pkgs.stdenv.hostPlatform.system}.default ]);
(python3.withPackages ( shellAliases = import ../../features/aliases.nix { inherit pkgs; };
python-pkgs: with python-pkgs; [ sessionVariables = import ../../features/xdg.nix { inherit pkgs; };
requests
pandas
]
))
(callPackage ../../packages/virtiofsd-looking-glass/package.nix { })
(callPackage ../../packages/heidisql/package.nix { })
(callPackage ../../packages/looking-glass-client/package.nix { })
];
shellAliases = {
l = "ls -alh";
ll = "ls -l";
ls = "ls --color=tty";
gs = "git status";
ga = "git add";
gc = "git commit -m";
gpll = "git pull";
gpsh = "git push";
ff = "clear;fastfetch --logo nixos2";
ffw = "clear;fastfetch --logo nixos2;printf '\n';weather kmco";
wget = "wget --hsts-file=$XDG_DATA_HOME/wget-hsts";
nix-rebuild = "sudo nixos-rebuild switch";
};
sessionVariables = rec {
XDG_CACHE_HOME = "$HOME/.cache";
XDG_CONFIG_HOME = "$HOME/.config";
XDG_DATA_HOME = "$HOME/.local/share";
XDG_STATE_HOME = "$HOME/.local/state";
XDG_DATA_DIRS = [
"${pkgs.gsettings-desktop-schemas}/share/gsettings-schemas/${pkgs.gsettings-desktop-schemas.name}"
"${pkgs.gtk3}/share/gsettings-schemas/${pkgs.gtk3.name}"
];
ANDROID_USER_HOME = "$XDG_DATA_HOME/android";
AZURE_CONFIG_DIR = "$XDG_DATA_HOME/azure";
NPM_CONFIG_INIT_MODULE = "$XDG_CONFIG_HOME/npm/config/npm-init.js";
NPM_CONFIG_CACHE = "$XDG_CACHE_HOME/npm";
NPM_CONFIG_TMP = "$XDG_RUNTIME_DIR/npm";
_JAVA_OPTIONS = "-Djava.util.prefs.userRoot=$XDG_CONFIG_HOME/java";
PYTHON_HISTORY = "$XDG_STATE_HOME/python_history";
HISTFILE = "$XDG_STATE_HOME/bash/history";
GTK2_RC_FILES = "$XDG_CONFIG_HOME/gtk-2.0/gtkrc";
};
}; };
system.stateVersion = "26.05"; system.stateVersion = "26.05";
+33 -196
View File
@@ -1,29 +1,32 @@
{ {
config,
pkgs, pkgs,
lib,
inputs,
... ...
}: }:
let
unstable = inputs.nixpkgs-unstable.legacyPackages.${pkgs.stdenv.hostPlatform.system};
in
{ {
boot.loader = { imports = [
systemd-boot.enable = true; ../../features/vim.nix
systemd-boot.configurationLimit = 10; ../../features/docker.nix
efi.canTouchEfiVariables = true; ../../features/libvirt.nix
timeout = 0; ../../features/avahi.nix
}; ../../features/systemd-boot.nix
../../features/i18n.nix
../../features/sudo.nix
../../features/sops.nix
../../features/users.nix
./nix-package-manager.nix
];
programs.bash.enable = true;
services = { services = {
avahi = { openssh = {
enable = true; enable = true;
nssmdns4 = true; settings = {
openFirewall = true; PasswordAuthentication = false;
KbdInteractiveAuthentication = false;
};
}; };
resolved.enable = false;
openssh.enable = true;
}; };
networking = { networking = {
@@ -56,7 +59,11 @@ in
"30-br0" = { "30-br0" = {
name = "br0"; name = "br0";
DHCP = "yes";
networkConfig = {
DHCP = "ipv4";
IPv6AcceptRA = true;
};
}; };
}; };
@@ -73,187 +80,17 @@ in
}; };
}; };
time.timeZone = "America/New_York";
i18n = {
defaultLocale = "en_US.UTF-8";
extraLocales = [
"ja_JP.UTF-8/UTF-8"
];
extraLocaleSettings = {
LC_ADDRESS = "en_US.UTF-8";
LC_IDENTIFICATION = "en_US.UTF-8";
LC_MEASUREMENT = "en_US.UTF-8";
LC_MONETARY = "en_US.UTF-8";
LC_NAME = "en_US.UTF-8";
LC_NUMERIC = "en_US.UTF-8";
LC_PAPER = "en_US.UTF-8";
LC_TELEPHONE = "en_US.UTF-8";
LC_TIME = "en_US.UTF-8";
};
};
programs = {
bash = {
enable = true;
interactiveShellInit = ''
eval "$(jump shell)"
bind -x '"\eOQ": clear;fastfetch'
'';
};
starship = {
enable = true;
settings = {
character = {
success_symbol = "[λ](bold green)";
error_symbol = "[λ](bold red)";
};
};
};
neovim = {
enable = true;
defaultEditor = true;
vimAlias = true;
configure = {
customRC = ''
set nocompatible
set backspace=indent,eol,start
set tabstop=2
set shiftwidth=2
set expandtab
'';
packages.myPlugins = with pkgs.vimPlugins; {
start = [
vim-lastplace
vim-nix
];
opt = [ ];
};
};
};
ssh.startAgent = true;
};
virtualisation = {
docker.enable = true;
spiceUSBRedirection.enable = true;
libvirtd = {
enable = true;
qemu = {
package = pkgs.qemu_kvm;
runAsRoot = true;
swtpm.enable = true;
};
};
};
users.users.frank = {
isNormalUser = true;
description = "Frank LoTurco";
extraGroups = [
"wheel"
"libvirtd"
"docker"
];
};
environment = { environment = {
systemPackages = with pkgs; [ systemPackages =
wget import ../../features/common-pkgs.nix { inherit pkgs; }
dnsmasq ++ (with pkgs; [
guestfs-tools guestfs-tools
unrar borgbackup
nil ]);
bash-language-server
devenv
jump
weather
borgbackup
openjdk
openjdk17
openjdk25
tmux
unstable.fastfetch shellAliases = import ../../features/aliases.nix { inherit pkgs; };
sessionVariables = import ../../features/xdg.nix { inherit pkgs; };
(python3.withPackages (
python-pkgs: with python-pkgs; [
requests
pandas
]
))
];
shellAliases = {
l = "ls -alh";
ll = "ls -l";
ls = "ls --color=tty";
ff = "clear;fastfetch --logo nixos2";
ffw = "clear;fastfetch --logo nixos2;printf '\n';weather kmco";
wget = "wget --hsts-file=$XDG_DATA_HOME/wget-hsts";
nb = "nix-build";
nix-rebuild = "sudo nixos-rebuild switch";
};
sessionVariables = rec {
XDG_CACHE_HOME = "$HOME/.cache";
XDG_CONFIG_HOME = "$HOME/.config";
XDG_DATA_HOME = "$HOME/.local/share";
XDG_STATE_HOME = "$HOME/.local/state";
XDG_DATA_DIRS = [
"${pkgs.gsettings-desktop-schemas}/share/gsettings-schemas/${pkgs.gsettings-desktop-schemas.name}"
"${pkgs.gtk3}/share/gsettings-schemas/${pkgs.gtk3.name}"
];
AZURE_CONFIG_DIR = "$XDG_DATA_HOME/azure";
NPM_CONFIG_INIT_MODULE = "$XDG_CONFIG_HOME/npm/config/npm-init.js";
NPM_CONFIG_CACHE = "$XDG_CACHE_HOME/npm";
NPM_CONFIG_TMP = "$XDG_RUNTIME_DIR/npm";
_JAVA_OPTIONS = "-Djava.util.prefs.userRoot=$XDG_CONFIG_HOME/java";
PYTHON_HISTORY = "$XDG_STATE_HOME/python_history";
HISTFILE = "$XDG_STATE_HOME/bash/history";
DOTNET_ROOT = "${pkgs.dotnet-sdk}/share/dotnet";
DOTNET_CLI_HOME = "$XDG_DATA_HOME/dotnet";
GTK2_RC_FILES = "$XDG_CONFIG_HOME/gtk-2.0/gtkrc";
};
}; };
nix = {
gc = {
automatic = true;
dates = "weekly";
options = "--delete-older-than 30d";
};
optimise = {
automatic = true;
dates = "weekly";
};
settings = {
experimental-features = [
"nix-command"
"flakes"
];
use-xdg-base-directories = true;
};
};
nixpkgs.config.allowUnfree = true;
system.stateVersion = "26.05"; system.stateVersion = "26.05";
} }
+15 -16
View File
@@ -1,10 +1,7 @@
{ { pkgs, utils, ... }:
pkgs,
inputs,
...
}:
let let
unstable = inputs.nixpkgs-unstable.legacyPackages.${pkgs.stdenv.hostPlatform.system}; disk = "/dev/storage/vm-100-disk-0";
diskDevice = "${utils.escapeSystemdPath disk}.device";
in in
{ {
imports = [ imports = [
@@ -14,14 +11,14 @@ in
systemd.services.mount-vm-disk = { systemd.services.mount-vm-disk = {
description = "Mount Proxmox VM disk via kpartx"; description = "Mount Proxmox VM disk via kpartx";
after = [ "storage-vm--100--disk--0.device" ]; requires = [ diskDevice ];
wants = [ "storage-vm--100--disk--0.device" ]; after = [ diskDevice ];
serviceConfig = { serviceConfig = {
Type = "oneshot"; Type = "oneshot";
RemainAfterExit = true; RemainAfterExit = true;
ExecStart = "${pkgs.multipath-tools}/sbin/kpartx -av /dev/storage/vm-100-disk-0"; ExecStart = "${pkgs.multipath-tools}/sbin/kpartx -av ${disk}";
ExecStop = "${pkgs.multipath-tools}/sbin/kpartx -dv /dev/storage/vm-100-disk-0"; ExecStop = "${pkgs.multipath-tools}/sbin/kpartx -dv ${disk}";
}; };
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
@@ -35,11 +32,13 @@ in
}; };
}; };
users.users."remotebuild" = { users.users = {
isSystemUser = true; "remotebuild" = {
group = "remotebuild"; isSystemUser = true;
useDefaultShell = true; group = "remotebuild";
openssh.authorizedKeys.keyFiles = [ ./remotebuild.pub ]; shell = pkgs.bashInteractive;
openssh.authorizedKeys.keyFiles = [ ../../keys/personal_ssh_key_ed25519.pub ];
};
}; };
users.groups.remotebuild = { }; users.groups.remotebuild = { };
@@ -90,7 +89,7 @@ in
jellyfin = { jellyfin = {
enable = true; enable = true;
openFirewall = true; openFirewall = true;
user = "frank"; user = "jellyfin";
}; };
}; };
+16 -24
View File
@@ -8,6 +8,7 @@
{ {
imports = [ imports = [
(modulesPath + "/installer/scan/not-detected.nix") (modulesPath + "/installer/scan/not-detected.nix")
../shared/fs-layouts/single-disk-xfs.nix
]; ];
boot = { boot = {
@@ -25,36 +26,27 @@
kernelModules = [ ]; kernelModules = [ ];
}; };
kernelModules = [ "kvm-intel" ]; kernelModules = [ ];
extraModulePackages = [ ]; extraModulePackages = [ ];
}; };
fileSystems = { # DO NOT mount by partlabel or other value other than UUID.
"/" = { # Disk is a child of a VM disk from PROXMOX and WILL NOT
device = "/dev/disk/by-uuid/05376a0d-18d1-4e7b-8f75-fe052a5636ac"; # be picked up automatically elsewise.
fsType = "xfs"; fileSystems."/mnt" = {
}; device = "/dev/disk/by-uuid/1432aeae-71e9-4f34-97dc-cf0fe74a4e00";
fsType = "xfs";
"/boot" = { options = [
device = "/dev/disk/by-uuid/631D-23D2"; "noauto"
fsType = "vfat"; "x-systemd.automount"
options = [ "x-systemd.requires=mount-vm-disk.service"
"fmask=0077" "x-systemd.after=mount-vm-disk.service"
"dmask=0077" ];
];
};
"/mnt" = {
device = "/dev/disk/by-uuid/1432aeae-71e9-4f34-97dc-cf0fe74a4e00";
fsType = "xfs";
options = [
"noauto"
"x-systemd.automount"
"x-systemd.after=mount-vm-disk.service"
];
};
}; };
# Vergil doesn't have a swap device but ../shared/fs-layouts/single-disk-xfs.nix defines one.
# This shouldn't be an issue at runtime but explicit removal reduces log spam.
swapDevices = [ ]; swapDevices = [ ];
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
-1
View File
@@ -1 +0,0 @@
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDTEO/x11KsI4qm30RE9gBNGU8dwFxSCLEMkYyCcmNKbk/59XLV/XnJt3v/485J2lFVhHUqh6K7wWsXcYty5ndd/T2qjUinRokUaNTHz8RV0NM70X0afbObGK+D/zjrKd6Cd5jjlBb7bsEaYzG41Nex4O/6GYdgHK1iVzn3yBfZEzQK1jNfF5tB/ZJnwzf74P+zVKjwh/u7yJNqQHISOA1q3qVK497pp9mTx/x1+WIIb4ovkdvHG1haN0JsQaCa78ih0d5y/3p58p2JVRUzYz0volVBZn8KGuvx6G0Y5dnJmWsJa6rmCvpGmRQNZoPkvbdluT4zJsZWYc7m5EFobfvWQj5PYWwURXA1fwpaprCZAOEnxmc0DEyMSdaelvEYVlo3c0jLGClrl5m3Zi7eW4Tqn/srLUR4AN+gGze3MKUtGFVYimxoO+bQmwBAl9mstvwJkQTJQGxTlibHPE7tODuY7O1aDcgGDUejbwP8RFIBPzt6AgfsdnwkjzEE8Opnr9U= frank@nero
+1
View File
@@ -0,0 +1 @@
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJ5+RJOhvamBpEptCRv90E+8bVWKn6Mep61wDpPYgKP3 floturcocantsee@daguerro.net
@@ -3,7 +3,7 @@
fetchFromGitHub, fetchFromGitHub,
cmake, cmake,
pkg-config, pkg-config,
unstable, pkgs,
kdePackages, kdePackages,
}: }:
@@ -29,7 +29,7 @@ stdenv.mkDerivation {
]; ];
buildInputs = [ buildInputs = [
unstable.qt6.qtbase pkgs.qt6.qtbase
kdePackages.kio kdePackages.kio
]; ];
-205
View File
@@ -1,205 +0,0 @@
{
clangStdenv,
cmake,
cmark,
curl,
fetchFromGitHub,
fmt,
fontconfig,
freetype,
giflib,
glib,
harfbuzzFull,
libicns,
lib,
libGL,
libjpeg,
libpng,
libwebp,
libx11,
libxcursor,
libxext,
libxi,
libxxf86vm,
libxcb,
libxrandr,
ninja,
pcre2,
pixman,
pkg-config,
skia-aseprite,
tinyxml-2,
zlib,
}:
clangStdenv.mkDerivation (finalAttrs: {
pname = "aseprite";
version = "1.3.18.3";
src = fetchFromGitHub {
owner = "aseprite";
repo = "aseprite";
tag = "v${finalAttrs.version}";
fetchSubmodules = true;
hash = "sha256-pMjBFJ1nhSNLITDS4oliD2DPMey6JBWplIqdcOtZfqM=";
};
asepriteStrings = fetchFromGitHub {
owner = "aseprite";
repo = "strings";
rev = "b43be33343efa40c1c4bda00f985b8cd83bddf2a";
hash = "sha256-JxNEtWnP3RtntXM3CmJLXyByW6dri98COp2O0A6ZwBA=";
};
# Translation files are copied without overwriting existing ones to preserve
# the potentially more up-to-date English file from the main source.
postUnpack = ''
cp --no-clobber ${finalAttrs.asepriteStrings}/* "$sourceRoot/data/strings"
'';
nativeBuildInputs = [
cmake
ninja
pkg-config
]
++ lib.optionals clangStdenv.hostPlatform.isDarwin [
libicns
];
buildInputs = [
cmark
curl
fmt
fontconfig
freetype
giflib
glib
harfbuzzFull
libGL
libjpeg
libpng
libwebp
libx11
libxcursor
libxext
libxi
libxxf86vm
libxcb
libxrandr
pcre2
pixman
skia-aseprite
tinyxml-2
zlib
];
patches = [
./patches/shared-fmt.patch
./patches/shared-libwebp.patch
./patches/shared-skia-deps.patch
./patches/shared-libjpeg-turbo.patch
];
postPatch = ''
substituteInPlace src/ver/CMakeLists.txt \
--replace-fail '"1.x-dev"' '"${finalAttrs.version}"'
# fmt 12.2 no longer exposes fmt::format through fmt/core.h.
substituteInPlace src/app/i18n/strings.h \
--replace-fail '"fmt/core.h"' '"fmt/format.h"'
# Fix build on Darwin with `-Werror=format-security`
# (NSLog requires a string-literal format)
substituteInPlace laf/os/osx/logger.mm \
--replace-fail 'NSLog([NSString stringWithUTF8String:error]);' 'NSLog(@"%@", [NSString stringWithUTF8String:error]);'
'';
cmakeFlags = [
"-DENABLE_DESKTOP_INTEGRATION=ON"
"-DENABLE_UPDATER=OFF"
"-DUSE_SHARED_CMARK=ON"
"-DUSE_SHARED_CURL=ON"
"-DUSE_SHARED_FMT=ON"
"-DUSE_SHARED_FREETYPE=ON"
"-DUSE_SHARED_GIFLIB=ON"
"-DUSE_SHARED_HARFBUZZ=ON"
"-DUSE_SHARED_LIBPNG=ON"
"-DUSE_SHARED_PIXMAN=ON"
"-DUSE_SHARED_TINYXML=OFF"
"-DUSE_SHARED_WEBP=ON"
"-DUSE_SHARED_ZLIB=ON"
# Disable libarchive programs.
"-DENABLE_CAT=OFF"
"-DENABLE_CPIO=OFF"
"-DENABLE_TAR=OFF"
# UI backend.
"-DLAF_BACKEND=skia"
"-DLAF_WITH_EXAMPLES=OFF"
"-DSKIA_DIR=${skia-aseprite}"
"-DSKIA_LIBRARY_DIR=${skia-aseprite}/lib"
];
# `libskia.a` is static, so its deps must be linked explicitly on Darwin
# (otherwise we hit undefined `_jpeg_*`/`_WebP*` symbols, e.g. in the thumbnailer).
env.NIX_LDFLAGS = lib.optionalString clangStdenv.hostPlatform.isDarwin "-ljpeg -lwebp -lwebpdemux -lwebpmux";
postInstall = ''
# Install desktop icons.
src="$out/share/aseprite/data/icons"
for size in 16 32 48 64 128 256; do
dst="$out"/share/icons/hicolor/"$size"x"$size"
install -Dm644 "$src"/ase"$size".png "$dst"/apps/aseprite.png
install -Dm644 "$src"/doc"$size".png "$dst"/mimetypes/image-x-aseprite.png
done
# Delete unneeded artifacts of bundled libraries.
rm -rf "$out"/{include,lib,man}
''
+ lib.optionalString clangStdenv.hostPlatform.isDarwin ''
install -d "$out/Applications"
if [ -d "$out/bin/aseprite.app" ]; then
rm -rf "$out/Applications/Aseprite.app"
mv "$out/bin/aseprite.app" "$out/Applications/Aseprite.app"
fi
# Generate the `.icns` files referenced by Info.plist from the shipped PNGs.
res="$out/Applications/Aseprite.app/Contents/Resources"
icons="$res/data/icons"
if [ -d "$icons" ] && command -v png2icns >/dev/null; then
for spec in "Aseprite ase" "Document doc" "Extension ext"; do
set -- $spec
name="$1"
prefix="$2"
png2icns "$res/$name.icns" \
"$icons/''${prefix}16.png" \
"$icons/''${prefix}32.png" \
"$icons/''${prefix}128.png" \
"$icons/''${prefix}256.png"
done
fi
# Keep $out/bin clean on Darwin; the bundle lives under $out/Applications.
rmdir "$out/bin" 2>/dev/null || true
'';
passthru.updateScript = ./update.sh;
meta = {
homepage = "https://www.aseprite.org/";
description = "Animated sprite editor & pixel art tool";
license = lib.licenses.unfree;
longDescription = ''
Aseprite is a program to create animated sprites. Its main features are:
- Sprites are composed by layers & frames (as separated concepts).
- Supported color modes: RGBA, Indexed (palettes up to 256 colors), and Grayscale.
- Load/save sequence of PNG files and GIF animations (and FLC, FLI, JPG, BMP, PCX, TGA).
- Export/import animations to/from Sprite Sheets.
- Tiled drawing mode, useful to draw patterns and textures.
- Undo/Redo for every operation.
- Real-time animation preview.
- Multiple editors support.
- Pixel-art specific tools like filled Contour, Polygon, Shading mode, etc.
- Onion skinning.
'';
maintainers = [ lib.maintainers.iamanaws ];
platforms = lib.platforms.linux ++ lib.platforms.darwin;
mainProgram = "aseprite";
};
})
@@ -1,79 +0,0 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index b1bd0189b..3fb7abffb 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -66,6 +66,7 @@ enable_testing()
option(USE_SHARED_CMARK "Use your installed copy of cmark" off)
option(USE_SHARED_CURL "Use your installed copy of curl" off)
+option(USE_SHARED_FMT "Use your installed copy of fmt" off)
option(USE_SHARED_GIFLIB "Use your installed copy of giflib" off)
option(USE_SHARED_JPEGLIB "Use your installed copy of jpeglib" off)
option(USE_SHARED_ZLIB "Use your installed copy of zlib" off)
@@ -185,6 +186,7 @@ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_PROFILE "${CMAKE_BINARY_DIR}/bin")
set(SOURCE_DATA_DIR ${CMAKE_CURRENT_SOURCE_DIR}/data)
set(CMARK_DIR ${CMAKE_CURRENT_SOURCE_DIR}/third_party/cmark)
set(CURL_DIR ${CMAKE_CURRENT_SOURCE_DIR}/third_party/curl)
+set(FMT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/third_party/fmt)
set(GIFLIB_DIR ${CMAKE_CURRENT_SOURCE_DIR}/third_party/giflib)
set(LIBJPEG_DIR ${CMAKE_CURRENT_SOURCE_DIR}/third_party/jpeg)
set(LIBPNG_DIR ${CMAKE_CURRENT_SOURCE_DIR}/third_party/libpng)
@@ -225,6 +227,16 @@ if(NOT USE_SHARED_CURL)
set(CURL_STATICLIB ON BOOL)
endif()
+# fmt
+if(USE_SHARED_FMT)
+ find_package(FMT REQUIRED)
+ set(FMT_LIBRARIES fmt::fmt)
+else()
+ set(FMT_FOUND)
+ set(FMT_LIBRARIES fmt)
+ # No need to include extra directories, actually
+endif()
+
# zlib
if(USE_SHARED_ZLIB)
find_package(ZLIB REQUIRED)
diff --git a/src/app/CMakeLists.txt b/src/app/CMakeLists.txt
index 9c67c0268..b19a3e412 100644
--- a/src/app/CMakeLists.txt
+++ b/src/app/CMakeLists.txt
@@ -754,7 +754,7 @@ target_link_libraries(app-lib
${ZLIB_LIBRARIES}
json11
archive_static
- fmt
+ ${FMT_LIBRARIES}
tinyexpr
qoi)
diff --git a/src/dio/CMakeLists.txt b/src/dio/CMakeLists.txt
index 55cb24de5..b253dca0b 100644
--- a/src/dio/CMakeLists.txt
+++ b/src/dio/CMakeLists.txt
@@ -16,7 +16,7 @@ endif()
target_link_libraries(dio-lib
${ZLIB_LIBRARIES}
- fmt
+ ${FMT_LIBRARIES}
flic-lib
laf-base
fixmath-lib
diff --git a/third_party/CMakeLists.txt b/third_party/CMakeLists.txt
index 9d09a98c8..1973b134b 100644
--- a/third_party/CMakeLists.txt
+++ b/third_party/CMakeLists.txt
@@ -117,7 +117,10 @@ if(NOT USE_SHARED_HARFBUZZ AND NOT LAF_BACKEND STREQUAL "skia")
endif()
add_subdirectory(simpleini)
-add_subdirectory(fmt)
+
+if(NOT USE_SHARED_FMT)
+ add_subdirectory(fmt)
+endif()
# Add cmark without tests
if(NOT USE_SHARED_CMARK)
@@ -1,21 +0,0 @@
diff --git a/cmake/FindJpegTurbo.cmake b/cmake/FindJpegTurbo.cmake
index 33b5204..0407a6a 100644
--- a/cmake/FindJpegTurbo.cmake
+++ b/cmake/FindJpegTurbo.cmake
@@ -9,14 +9,11 @@
if(LAF_BACKEND STREQUAL "skia")
- find_library(LIBJPEG_TURBO_LIBRARY NAMES libjpeg jpeg
- HINTS "${SKIA_LIBRARY_DIR}" NO_DEFAULT_PATH)
- set(LIBJPEG_TURBO_INCLUDE_DIRS "${SKIA_DIR}/third_party/externals/libjpeg-turbo")
+ find_library(LIBJPEG_TURBO_LIBRARY NAMES libjpeg jpeg)
add_library(libjpeg-turbo STATIC IMPORTED)
set_target_properties(libjpeg-turbo PROPERTIES
- IMPORTED_LOCATION "${LIBJPEG_TURBO_LIBRARY}"
- INTERFACE_INCLUDE_DIRECTORIES ${LIBJPEG_TURBO_INCLUDE_DIRS})
+ IMPORTED_LOCATION "${LIBJPEG_TURBO_LIBRARY}")
else()
@@ -1,47 +0,0 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 87aed2f28f9c..498472ec2a60 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -76,6 +76,7 @@ option(USE_SHARED_TINYXML "Use your installed copy of tinyxml" off)
option(USE_SHARED_PIXMAN "Use your installed copy of pixman" off)
option(USE_SHARED_FREETYPE "Use shared FreeType library" off)
option(USE_SHARED_HARFBUZZ "Use shared HarfBuzz library" off)
+option(USE_SHARED_WEBP "Use your installed copy of webp" off)
option(ENABLE_ASEPRITE_EXE "Compile main Aseprite executable" on)
option(ENABLE_MEMLEAK "Enable memory-leaks detector (only for developers)" off)
option(ENABLE_NEWS "Enable the news in Home tab" on)
@@ -380,7 +381,20 @@ add_subdirectory(laf)
# libwebp
if(ENABLE_WEBP)
# Use libwebp from Skia
- if(LAF_BACKEND STREQUAL "skia")
+ if(USE_SHARED_WEBP)
+ find_library(WEBP_LIBRARY NAMES webp)
+ find_library(WEBPDEMUX_LIBRARY NAMES webpdemux)
+ find_library(WEBPMUX_LIBRARY NAMES webpmux)
+ set(WEBP_LIBRARIES ${WEBP_LIBRARY} ${WEBPDEMUX_LIBRARY} ${WEBPMUX_LIBRARY})
+ find_path(WEBP_INCLUDE_DIRS NAMES decode.h PATH_SUFFIXES webp)
+ find_path(WEBP_INCLUDE_DIRS NAMES decode.h PATH_SUFFIXES webp)
+ find_path(WEBP_INCLUDE_DIRS NAMES decode.h PATH_SUFFIXES webp)
+ if(WEBP_LIBRARIES)
+ set(WEBP_FOUND ON)
+ else()
+ set(WEBP_FOUND OFF)
+ endif()
+ elseif(LAF_BACKEND STREQUAL "skia")
find_library(WEBP_LIBRARIES webp
NAMES libwebp # required for Windows
PATHS "${SKIA_LIBRARY_DIR}" NO_DEFAULT_PATH)
diff --git a/third_party/CMakeLists.txt b/third_party/CMakeLists.txt
index 1973b134b9f8..f15dba5a7968 100644
--- a/third_party/CMakeLists.txt
+++ b/third_party/CMakeLists.txt
@@ -33,7 +33,7 @@ if(NOT USE_SHARED_GIFLIB)
add_subdirectory(giflib)
endif()
-if(ENABLE_WEBP AND NOT LAF_BACKEND STREQUAL "skia")
+if(ENABLE_WEBP AND NOT LAF_BACKEND STREQUAL "skia" AND NOT USE_SHARED_WEBP)
set(WEBP_BUILD_EXTRAS OFF CACHE BOOL "Build extras.")
set(WEBP_BUILD_ANIM_UTILS OFF CACHE BOOL "Build animation utilities.")
set(WEBP_BUILD_CWEBP OFF CACHE BOOL "Build the cwebp command line tool.")
@@ -1,21 +0,0 @@
--- src/laf/cmake/FindSkia.cmake.orig 2022-01-08 02:15:13.417619266 +0100
+++ src/laf/cmake/FindSkia.cmake 2022-01-08 02:15:43.603960491 +0100
@@ -32,14 +32,18 @@
# SkShaper module + freetype + harfbuzz
find_library(SKSHAPER_LIBRARY skshaper PATH "${SKIA_LIBRARY_DIR}")
+if(NOT USE_SHARED_FREETYPE)
set(FREETYPE_FOUND ON)
find_library(FREETYPE_LIBRARY freetype2 PATH "${SKIA_LIBRARY_DIR}" NO_DEFAULT_PATH)
set(FREETYPE_LIBRARIES ${FREETYPE_LIBRARY})
set(FREETYPE_INCLUDE_DIRS "${SKIA_DIR}/third_party/externals/freetype/include")
+endif()
+if(NOT USE_SHARED_HARFBUZZ)
find_library(HARFBUZZ_LIBRARY harfbuzz PATH "${SKIA_LIBRARY_DIR}" NO_DEFAULT_PATH)
set(HARFBUZZ_LIBRARIES ${HARFBUZZ_LIBRARY})
set(HARFBUZZ_INCLUDE_DIRS "${SKIA_DIR}/third_party/externals/harfbuzz/src")
+endif()
set(SKIA_LIBRARIES
${SKIA_LIBRARY}
File diff suppressed because it is too large Load Diff
-108
View File
@@ -1,108 +0,0 @@
{
"nodes": {
"bun2nix": {
"inputs": {
"flake-parts": "flake-parts",
"nixpkgs": [
"nixpkgs"
],
"systems": "systems",
"treefmt-nix": "treefmt-nix"
},
"locked": {
"lastModified": 1784665499,
"narHash": "sha256-9BMxlTxCCDAeoNLtb1a/st7udtTIJep+wpUzquA29VU=",
"owner": "nix-community",
"repo": "bun2nix",
"rev": "0f2a1f0b6f42cebe3b149bf62d38754c5e0e9729",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "bun2nix",
"type": "github"
}
},
"flake-parts": {
"inputs": {
"nixpkgs-lib": [
"bun2nix",
"nixpkgs"
]
},
"locked": {
"lastModified": 1782949081,
"narHash": "sha256-vp6Y/Grm98ESt6ceOkWiHWyZRDV3J1RID4w+6NWK9yA=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "17c9d6cdfc60c64f4ee8d306f9bc0b4ccb51481e",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1789006805,
"narHash": "sha256-xB8mKMOx1IA9vTDNLmJZ6n4wCMq/cuWBBOzGCRnqxrU=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "8ce4ef6cb6f871616146b9fe26d2a5ae594e94fe",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"root": {
"inputs": {
"bun2nix": "bun2nix",
"nixpkgs": "nixpkgs"
}
},
"systems": {
"locked": {
"lastModified": 1776166891,
"narHash": "sha256-bI8yrEGjrohR5hkQox7UrxDH7XqrYMwI8SL/LrJ1+S8=",
"owner": "nix-systems",
"repo": "triplet",
"rev": "6de7bc09397911ce03636afbcf6118745ab2cda0",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "triplet",
"type": "github"
}
},
"treefmt-nix": {
"inputs": {
"nixpkgs": [
"bun2nix",
"nixpkgs"
]
},
"locked": {
"lastModified": 1784369104,
"narHash": "sha256-47cxbcZODibHv3rELFQ9vZly0vUNkND/atn/U7HLeb0=",
"owner": "numtide",
"repo": "treefmt-nix",
"rev": "df3c0640565d04a0261253cdd89fce78ec50168a",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "treefmt-nix",
"type": "github"
}
}
},
"root": "root",
"version": 7
}
-55
View File
@@ -1,55 +0,0 @@
{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
bun2nix.url = "github:nix-community/bun2nix";
bun2nix.inputs.nixpkgs.follows = "nixpkgs";
};
outputs =
{
self,
nixpkgs,
bun2nix,
}:
let
systems = [
"x86_64-linux"
"aarch64-linux"
];
forAll = nixpkgs.lib.genAttrs systems;
in
{
packages = forAll (
system:
let
pkgs = nixpkgs.legacyPackages.${system};
bun2nix' = bun2nix.packages.${system}.default;
in
{
default = bun2nix'.mkDerivation (finalAttrs: {
pname = "gloomberb";
version = "0.14.1";
src = pkgs.fetchFromGitHub {
owner = "gloom-sh";
repo = "gloomberb";
rev = "v${finalAttrs.version}";
hash = "sha256-CyDsbs379G3qBDS0rCojr/L7TwWYgrXo0KslvNBu3gA=";
};
bunDeps = bun2nix'.fetchBunDeps {
bunNix = ./bun.nix;
};
bunInstallFlags = [
"--frozen-lockfile"
];
module = "src/index.tsx";
bunCompileToBytecode = false;
});
}
);
};
}
-148
View File
@@ -1,148 +0,0 @@
{
stdenv,
lib,
fetchurl,
pkg-config,
cmake,
freefont_ttf,
spice-protocol,
nettle,
libbfd,
fontconfig,
libffi,
expat,
libGL,
nanosvg,
fuse3,
libx11,
libxkbcommon,
libxext,
libxrandr,
libxi,
libxscrnsaver,
libxinerama,
libxcursor,
libxpresent,
libxdmcp,
libunwind,
elfutils,
wayland,
wayland-protocols,
wayland-scanner,
pipewire,
pulseaudio,
libsamplerate,
openGLSupport ? true,
xorgSupport ? true,
waylandSupport ? true,
pipewireSupport ? true,
pulseSupport ? true,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "looking-glass-client";
version = "B7-782-7b059ad6";
src = fetchurl {
url = "https://looking-glass.io/artifact/bleeding/source";
sha256 = "sha256-45bZIxcv8+boihxpBqDl6HopjdtaGKpNjLTaN+eM4lA=";
name = "looking-glass-bleeding.tar.gz";
};
patches = [
#./patches/nanosvg-unvendor.diff
];
nativeBuildInputs = [
cmake
pkg-config
wayland-scanner
];
buildInputs = [
libx11
libGL
freefont_ttf
spice-protocol
expat
libbfd
nettle
fontconfig
libffi
nanosvg
libunwind
elfutils
fuse3
]
++ lib.optionals xorgSupport [
libxkbcommon
libxi
libxscrnsaver
libxinerama
libxcursor
libxpresent
libxext
libxrandr
libxdmcp
]
++ lib.optionals waylandSupport [
libxkbcommon
wayland
wayland-protocols
]
++ lib.optionals pipewireSupport [
pipewire
libsamplerate
]
++ lib.optionals pulseSupport [
pulseaudio
libsamplerate
];
cmakeFlags = [
"-DOPTIMIZE_FOR_NATIVE=OFF"
]
++ lib.optionals (!openGLSupport) [ "-DENABLE_OPENGL=no" ]
++ lib.optionals (!xorgSupport) [ "-DENABLE_X11=no" ]
++ lib.optionals (!waylandSupport) [ "-DENABLE_WAYLAND=no" ]
++ lib.optionals (!pulseSupport) [ "-DENABLE_PULSEAUDIO=no" ]
++ lib.optionals (!pipewireSupport) [ "-DENABLE_PIPEWIRE=no" ];
setSourceRoot = ''
sourceRoot=$(echo */)
'';
postUnpack = ''
echo ${finalAttrs.version} > VERSION
export projRoot=$sourceRoot
export sourceRoot="$sourceRoot/client"
'';
postInstall = ''
mkdir -p $out/share/pixmaps
#cp resources/lg-logo.png $out/share/pixmaps
'';
meta = {
description = "KVM Frame Relay (KVMFR) implementation";
longDescription = ''
Looking Glass is an open source application that allows the use of a KVM
(Kernel-based Virtual Machine) configured for VGA PCI Pass-through
without an attached physical monitor, keyboard or mouse. This is the final
step required to move away from dual booting with other operating systems
for legacy programs that require high performance graphics.
'';
homepage = "https://looking-glass.io/";
license = lib.licenses.gpl2Plus;
mainProgram = "looking-glass-client";
maintainers = with lib.maintainers; [
alexbakker
babbaj
j-brn
];
platforms = [ "x86_64-linux" ];
};
})
@@ -1,28 +0,0 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 3755adc..55e1eb3 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -25,6 +25,7 @@ include(OptimizeForNative) # option(OPTIMIZE_FOR_NATIVE)
include(UninstallTarget)
find_package(PkgConfig)
+find_package(NanoSVG REQUIRED)
pkg_check_modules(FONTCONFIG REQUIRED IMPORTED_TARGET fontconfig)
option(ENABLE_OPENGL "Enable the OpenGL renderer" ON)
@@ -106,7 +107,6 @@ include_directories(
${PROJECT_SOURCE_DIR}/include
${CMAKE_BINARY_DIR}
${CMAKE_BINARY_DIR}/include
- ${PROJECT_TOP}/repos/nanosvg/src
)
link_libraries(
@@ -161,6 +161,7 @@ target_compile_definitions(looking-glass-client PRIVATE CIMGUI_DEFINE_ENUMS_AND_
target_link_libraries(looking-glass-client
${EXE_FLAGS}
PkgConfig::FONTCONFIG
+ NanoSVG::nanosvg
lg_resources
lg_common
displayservers
-312
View File
@@ -1,312 +0,0 @@
[
{
"pname": "Avalonia",
"version": "12.1.0",
"hash": "sha256-G824thlSx6grixZdFX0yonwGXQYequFLwFAyhEyuPzk="
},
{
"pname": "Avalonia.Angle.Windows.Natives",
"version": "2.1.27548.20260419",
"hash": "sha256-dtZ5AQl+kXPRVe/EwrfSyOMSLywuBBUCjrDIhHijhvk="
},
{
"pname": "Avalonia.AvaloniaEdit",
"version": "12.0.0",
"hash": "sha256-DDopKuyhufekxFDxV39vqjQSbldUKRTHiXTZ4woe2eE="
},
{
"pname": "Avalonia.BuildServices",
"version": "11.3.2",
"hash": "sha256-6wx06tjSKWQOlX2czdp6Wh0nuwVapx5qf/s8Qj5we40="
},
{
"pname": "Avalonia.Controls.ColorPicker",
"version": "12.1.0",
"hash": "sha256-oq1powrap87bypo0K2APlecS1AGxS/9s4MGAlyLLVpo="
},
{
"pname": "Avalonia.Controls.DataGrid",
"version": "12.1.0",
"hash": "sha256-ivrjda3meZJMpoCglss5cYXxeldsR8li76tILwNQO/g="
},
{
"pname": "Avalonia.Desktop",
"version": "12.1.0",
"hash": "sha256-bKqjBBIqTmFJ6qX4HHzHUM0B8qWOL6bQWX+FSkDEHI0="
},
{
"pname": "Avalonia.FreeDesktop",
"version": "12.1.0",
"hash": "sha256-ba4NDAxe4kp8TooGwws1HekMdF9MBezHbsYZb2Agjt4="
},
{
"pname": "Avalonia.FreeDesktop.AtSpi",
"version": "12.1.0",
"hash": "sha256-3CVUOuKLXjTvcEYozutyX/gLmjM5TsE69pSKM1CBaqE="
},
{
"pname": "Avalonia.HarfBuzz",
"version": "12.1.0",
"hash": "sha256-0uxtp+KmAFQz78Szvxa4hwo/vLNSkdgvcCynpaSeCjQ="
},
{
"pname": "Avalonia.Markup.Xaml.Loader",
"version": "12.1.0",
"hash": "sha256-P05Q1d4malCTuBqEHePfjcKFgqnz1SmmxjPzypshVDk="
},
{
"pname": "Avalonia.Native",
"version": "12.1.0",
"hash": "sha256-fshmU1Px5n8nRGmKKevLi0zPgyZJSNF3N0bqdiYQFPg="
},
{
"pname": "Avalonia.Remote.Protocol",
"version": "12.1.0",
"hash": "sha256-PXrrCyFLIdrcEnNUz2ZzjFjs65hVaxEm5h/ux8tOo0k="
},
{
"pname": "Avalonia.Skia",
"version": "12.1.0",
"hash": "sha256-6f/isIqnWUCEeWlfooN32tkbi78DKdBBuTka70br9U4="
},
{
"pname": "Avalonia.Themes.Fluent",
"version": "12.1.0",
"hash": "sha256-lvDXmhWLaB20IzRXKdrl6lTEF86nNd9MbZ7FspDK0wc="
},
{
"pname": "Avalonia.Win32",
"version": "12.1.0",
"hash": "sha256-eU0pezq/1PLB/iDGDt9NWn183uSr29P3Nr58vYsQztM="
},
{
"pname": "Avalonia.X11",
"version": "12.1.0",
"hash": "sha256-n2QWzUw5UsDtMEHI/MSkbPFucdStdz/1gLDqVR5zW/A="
},
{
"pname": "AvaloniaEdit.TextMate",
"version": "12.0.0",
"hash": "sha256-LEmuy0CF8zQiChzpv3kLJZMUhRQo4u7/+yu4ls0BkPk="
},
{
"pname": "CommunityToolkit.Mvvm",
"version": "8.4.2",
"hash": "sha256-jLS1vo6V+fHsJs80HYT77oJE6IEC68fIgkLpYODjWAU="
},
{
"pname": "Fody",
"version": "6.9.3",
"hash": "sha256-JLom3mbO4NCUXDHoU86l720QXlRx52+ROb5wBwcC5nM="
},
{
"pname": "HarfBuzzSharp",
"version": "8.3.1.3",
"hash": "sha256-/+ZEhjpOs8B4tMPw3vDyuQqGGZHJEWvy3WaKMaDwmrU="
},
{
"pname": "HarfBuzzSharp.NativeAssets.Linux",
"version": "8.3.1.3",
"hash": "sha256-feWOna/8ncvmrq7CxnDczv1facV2poZV5R+OyCtocpU="
},
{
"pname": "HarfBuzzSharp.NativeAssets.macOS",
"version": "8.3.1.3",
"hash": "sha256-6WKsJ/jF9pHnaWcQvaezc5AV6flu3XsOxQs7i4BGYJs="
},
{
"pname": "HarfBuzzSharp.NativeAssets.WebAssembly",
"version": "8.3.1.3",
"hash": "sha256-arBiI82fXPjAqftqnG7Wc3BRzZ6+vKd7b58vQSWJVk0="
},
{
"pname": "HarfBuzzSharp.NativeAssets.Win32",
"version": "8.3.1.3",
"hash": "sha256-WNUQmLWVFSwBKT9x7UdhSz9T2FA7wibvwjuPew/3yUM="
},
{
"pname": "Magick.NET-Q8-AnyCPU",
"version": "14.15.0",
"hash": "sha256-rzsySipyIu0sqGbRywGUoPly04ZkgWu1WHYJLdz/R8M="
},
{
"pname": "Magick.NET.Core",
"version": "14.15.0",
"hash": "sha256-ekZGCFewYrB7zzarJ4N51F+B+4xyPUXULc8EuNMu8y0="
},
{
"pname": "MicroCom.Runtime",
"version": "0.11.6",
"hash": "sha256-RTr200R3sZuyxi0XQ25ox2p1kVt5R1CbH/YBs21+eNg="
},
{
"pname": "Microsoft.Bcl.AsyncInterfaces",
"version": "10.0.9",
"hash": "sha256-grzyENbFc7Ct0dgmUgSn1Tr3ndM1fdlQGiSBLzYtC9c="
},
{
"pname": "Microsoft.CodeAnalysis.Analyzers",
"version": "5.3.0",
"hash": "sha256-eUjU7MDekcbDQxUButcWK7siHx6HmrgdDMLnpGYRVLM="
},
{
"pname": "Microsoft.CodeAnalysis.Common",
"version": "5.6.0",
"hash": "sha256-Q+34cKCUHLMUdigLSuCunqcpAzagynq7O6LJ09EPu6g="
},
{
"pname": "Microsoft.CodeAnalysis.CSharp",
"version": "5.6.0",
"hash": "sha256-nrzGZk9oLuCEvhDT+IS+XBVOuHVrwL8RGj0rZFP4SRo="
},
{
"pname": "Microsoft.CodeAnalysis.CSharp.Scripting",
"version": "5.6.0",
"hash": "sha256-p9JX0s8zY1+ZfBGHe/geWvMlNwCsOqWubs7nDXT6mmc="
},
{
"pname": "Microsoft.CodeAnalysis.Scripting.Common",
"version": "5.6.0",
"hash": "sha256-qbH8tUlbfRcaRD5xIPBfRHannv/9vibd/6VaRqhAaGw="
},
{
"pname": "Microsoft.Extensions.DependencyInjection",
"version": "10.0.10",
"hash": "sha256-SZDbEORdMQa+Zg9F29lP5By7jaT5b9XLj8LAx7j1EZA="
},
{
"pname": "Microsoft.Extensions.DependencyInjection.Abstractions",
"version": "10.0.10",
"hash": "sha256-2r+Qvd0u3zODfQ1NAL+qu+W5XGaqJjm31bG6SGJKZn0="
},
{
"pname": "NETStandard.Library.Ref",
"version": "2.1.0",
"hash": "sha256-Ruovy9EKgXaFuFr3zgw5fRKUS9yBIJ4nLeHgXv0zx4o="
},
{
"pname": "Onigwrap",
"version": "1.0.10",
"hash": "sha256-x1TJeOdANiWDdwgN+GsFznHMgPUnq/6iSN0BlIt0QJM="
},
{
"pname": "PropertyChanged.Fody",
"version": "4.1.0",
"hash": "sha256-SAId/w7y5RZqMnpnJ6nmMjaPXQIr2h6QsRKZ4yuoYYU="
},
{
"pname": "SDL3-CS",
"version": "3.4.12.3",
"hash": "sha256-9UT8oE8M3VTIA7uOtayZSNAvA+XI6fEW9mFkB9AMAds="
},
{
"pname": "SDL3-CS.Linux",
"version": "3.4.12.1",
"hash": "sha256-JimlbIjGhwBl1sMAJWSrezfchuRT8Ckod9YCpHuZIDQ="
},
{
"pname": "SDL3-CS.Linux.Mixer",
"version": "3.2.4.7",
"hash": "sha256-rC5wHSBtrULfSJJN1ADeJS0yfU4FQ+KkZPw1pDkMvhs="
},
{
"pname": "SDL3-CS.MacOS",
"version": "3.4.12.1",
"hash": "sha256-8DDNP7vV0CyF3zcyJu5zew5V/+yu7gVV3fXLhG0Lmog="
},
{
"pname": "SDL3-CS.MacOS.Mixer",
"version": "3.2.4.7",
"hash": "sha256-BfA5lAczIeFzlpnXSkn7U7yAYP14P86h2JnmieskKtI="
},
{
"pname": "SDL3-CS.Windows",
"version": "3.4.12.1",
"hash": "sha256-vxV9ugWZMRWx0rsnbzcW+CRNK0pTBFl88sy9PJoZrTM="
},
{
"pname": "SDL3-CS.Windows.Mixer",
"version": "3.2.4.7",
"hash": "sha256-AramqrgeWC7EHT7S23gZ23I7+6y4UbP4JTYB+7uOCLE="
},
{
"pname": "SharpZipLib",
"version": "1.4.2",
"hash": "sha256-/giVqikworG2XKqfN9uLyjUSXr35zBuZ2FX2r8X/WUY="
},
{
"pname": "SkiaSharp",
"version": "4.150.1",
"hash": "sha256-Kda85aDEECz51qD3JqUPOaG3Hthrp38Byn6zJWFa1KA="
},
{
"pname": "SkiaSharp.NativeAssets.Linux",
"version": "4.150.1",
"hash": "sha256-zIgOIv6PW+w6gr2NOqA5R6ruX4GB2nammKJf8TvBFRg="
},
{
"pname": "SkiaSharp.NativeAssets.macOS",
"version": "4.150.1",
"hash": "sha256-NYTJvHOfHAOjKqqwBiVSjsy1MiM2cm6NxXAnzcS09vg="
},
{
"pname": "SkiaSharp.NativeAssets.WebAssembly",
"version": "3.119.4",
"hash": "sha256-xLfsWBsFFpv5Qg79GIMi+5CM6YDfcg//oywNlB5Y3J0="
},
{
"pname": "SkiaSharp.NativeAssets.Win32",
"version": "4.150.1",
"hash": "sha256-HhcG5jO8CCTsybT2XLNe7chmsc21JyXp0/9NyQ1Fvvo="
},
{
"pname": "System.IO.Pipelines",
"version": "10.0.9",
"hash": "sha256-mOoa73lPXvGGA56igef9alNU/nc+nQEOHPJu44dHepc="
},
{
"pname": "System.Reactive",
"version": "5.0.0",
"hash": "sha256-M5Z8pw8rVb8ilbnTdaOptzk5VFd5DlKa7zzCpuytTtE="
},
{
"pname": "System.Runtime.CompilerServices.Unsafe",
"version": "6.1.2",
"hash": "sha256-X2p/U680Zfkr622oc+vg5JYgbDEzE7mLre5DVaayWTc="
},
{
"pname": "System.Text.Encodings.Web",
"version": "10.0.9",
"hash": "sha256-YBpgyDvUYB44J84TtkIJkDh4c42grtn9fmxgV073FxQ="
},
{
"pname": "System.Text.Json",
"version": "10.0.9",
"hash": "sha256-7LNfBJ5Q/yxOuFa6d0mEIBNJEfO/UN5J13qbIFIo/5A="
},
{
"pname": "TextMateSharp",
"version": "2.0.3",
"hash": "sha256-mYZPeBWt2ek3I7oSRiXcOqcpQMjEbD6wR5CtHIHSLko="
},
{
"pname": "TextMateSharp.Grammars",
"version": "2.0.3",
"hash": "sha256-DiYxCPBg0jPcdlhduTMlCWOOY9Mc77Qt/aCGEPEgFEQ="
},
{
"pname": "Tmds.DBus.Protocol",
"version": "0.94.1",
"hash": "sha256-T3HQasQOcl/7zxt5hT3ZMhhpWoTyPTb6/IX0d6TJWA8="
},
{
"pname": "TreeDataGrid",
"version": "12.0.0",
"hash": "sha256-aaHSfvhaVik9XLYLpp0N9PxRe4GG1BTigWNMV3Qlc7g="
},
{
"pname": "Xaml.Behaviors",
"version": "12.0.5",
"hash": "sha256-bjX7WNXVabvB2ZYCLVp4rnVO5CKz+8NKtVvpAnDw97o="
}
]
-122
View File
@@ -1,122 +0,0 @@
{
lib,
buildDotnetModule,
fetchFromGitHub,
dotnetCorePackages,
autoPatchelfHook,
stdenv,
sdl3,
fontconfig,
libglvnd,
mesa,
sndio,
libGL,
libx11,
libice,
libsm,
libxcursor,
libxrandr,
libxft,
vulkan-headers,
vulkan-loader,
}:
let
rev = "eec5e7d07b63cb4caf82250914dba8ddd4044bbb";
buildDotnetModule' = buildDotnetModule.override {
addNuGetDeps = dotnetCorePackages.addNuGetDeps.override {
fetchNupkg =
let
baseOverrides = builtins.removeAttrs dotnetCorePackages.fetchNupkg.overrides or { } [ ];
in
dotnetCorePackages.fetchNupkg.override {
overrides = baseOverrides // {
"SkiaSharp.NativeAssets.Linux" =
package:
package.overrideAttrs (
old:
lib.optionalAttrs stdenv.hostPlatform.isLinux {
autoPatchelfIgnoreMissingDeps = (old.autoPatchelfIgnoreMissingDeps or [ ]) ++ [
"libc.musl-x86_64.so.1"
];
}
);
};
};
};
};
in
buildDotnetModule' {
pname = "undertale-mod-tool";
version = "8.9.10";
src = fetchFromGitHub {
owner = "luizzeroxis";
repo = "UndertaleModTool";
inherit rev;
hash = "sha256-QLQZC5C3o9U2PC+rZWfKFbul7BaIHxbu9u8AZaKFtmI=";
fetchSubmodules = true;
};
projectFile = "UndertaleModToolAvalonia/UndertaleModToolAvalonia.csproj";
nugetDeps = ./deps.json;
dotnet-sdk = dotnetCorePackages.sdk_10_0;
executables = [ "UndertaleModToolAvalonia" ];
autoPatchelfIgnoreMissingDeps = [
"libsteam_api.so"
"libGLES_CM.so.1"
];
nativeBuildInputs = [ autoPatchelfHook ];
buildInputs = [
stdenv.cc.cc.lib # provides libstdc++.so.6
fontconfig
sdl3
libx11
libglvnd
libGL
mesa
sndio
vulkan-headers
vulkan-loader
];
runtimeDependencies = [
stdenv.cc.cc.lib
libx11
sdl3
];
runtimeDeps = [
sdl3
libx11
libxcursor
libice
libsm
libxrandr
libxft
fontconfig
];
dotnetBuildFlags = [
"-p:BuildHash=${rev}"
"-p:PublishSingleFile=false"
"/p:RuntimeIdentifier="
"--no-self-contained"
];
postInstall = ''
# Disable this temporarily
#ln -s $out/bin/UndertaleModToolAvalonia $out/bin/undertalemodtool
'';
meta = with lib; {
description = "Avalonia cross-platform GUI port of UndertaleModTool";
homepage = "https://github.com/luizzeroxis/UndertaleModTool/tree/avalonia";
license = licenses.gpl3Only;
platforms = platforms.linux;
mainProgram = "undertalemodtool";
};
}
@@ -1,25 +0,0 @@
{
fetchFromGitHub,
rustPlatform,
libseccomp,
libcap_ng,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "virtiofsd";
version = "daea013daf5cdc0adc6ae14de92e3a48ac206eae";
src = fetchFromGitHub {
owner = "ELginas";
repo = "virtiofsd";
rev = "daea013daf5cdc0adc6ae14de92e3a48ac206eae";
hash = "sha256-3p9WoUInWh+fmUkiMCjl2Tygx2/reUyKX+3xvMsW26w=";
};
buildInputs = [
libseccomp
libcap_ng
];
cargoHash = "sha256-rKlm8TpCKc+Nzb9+H0FPs5GSNNjWs5/xNpSd0ZZuQt0=";
})
-292
View File
@@ -1,292 +0,0 @@
[
{
"pname": "Castle.Core",
"version": "4.4.1",
"hash": "sha256-J4NS8p9KqbuLl6JMmNwptsfccH37TfhAhPwX2mVQso0="
},
{
"pname": "CommandLineParser",
"version": "2.9.1",
"hash": "sha256-ApU9y1yX60daSjPk3KYDBeJ7XZByKW8hse9NRZGcjeo="
},
{
"pname": "Config.Net",
"version": "4.19.0",
"hash": "sha256-Nb4ftf+RREzgiVOpc+xSxd4b+PiLGmFQM3okA/wGO54="
},
{
"pname": "goaaats.Steamworks",
"version": "2.3.4",
"hash": "sha256-Wk9arQvVPPeMSgt8lL9rVRVkO1NrBNYzME4ZuOWcHc4="
},
{
"pname": "Hexa.NET.ImGui",
"version": "2.2.9",
"hash": "sha256-hprgiqfXjuQ+I1wMk4+ddFiQ5/r7S1KZNZShU6L5nG8="
},
{
"pname": "Hexa.NET.ImGui.Backends.SDL3",
"version": "1.0.18",
"hash": "sha256-ciEA775X+sjWVT1HAg+7OxThZOrnUKa2/eSfzQtG7GY="
},
{
"pname": "Hexa.NET.SDL3",
"version": "1.2.16",
"hash": "sha256-oSJkPJor4K4KPiN2CC67BCHVxgDXmiCf5GdS9b+JaII="
},
{
"pname": "Hexa.NET.SDL3.Image",
"version": "1.0.0",
"hash": "sha256-SPNwM1w6ksZeZYFrNvforIMvgDIvbj1nRcMDTOA9/Kc="
},
{
"pname": "HexaGen.Runtime",
"version": "1.1.18",
"hash": "sha256-eitF6L6LKuCV2nY2Y0i9kRV+FAiaCbSp6BvSSEpqMrA="
},
{
"pname": "HexaGen.Runtime",
"version": "1.1.21",
"hash": "sha256-OZdIwCjInJ6KAWmPcKs0VN/o4AcY2k427JdtOf9N9Mk="
},
{
"pname": "KeySharp",
"version": "1.0.5",
"hash": "sha256-pJWjjU3AFsnMMX6cUoLUy4wovyfPx4S44Y6coMAGgcU="
},
{
"pname": "Microsoft.CodeAnalysis.Analyzers",
"version": "3.3.3",
"hash": "sha256-pkZiggwLw8k+CVSXKTzsVGsT+K49LxXUS3VH5PNlpCY="
},
{
"pname": "Microsoft.CodeAnalysis.BannedApiAnalyzers",
"version": "3.3.4",
"hash": "sha256-YPTHTZ8xRPMLADdcVYRO/eq3O9uZjsD+OsGRZE+0+e8="
},
{
"pname": "Microsoft.CodeAnalysis.BannedApiAnalyzers",
"version": "4.14.0",
"hash": "sha256-f7svtnkq4xLTjGVj6kNZ1ZGFCV/RESsM+GJZmEpezh4="
},
{
"pname": "Microsoft.CodeAnalysis.Common",
"version": "4.0.1",
"hash": "sha256-SU1WPMlg2245w9BFhS3GHtEEbus+tVAYaemHCW3Ysis="
},
{
"pname": "Microsoft.CodeAnalysis.CSharp",
"version": "4.0.1",
"hash": "sha256-i6XtEcymf17CcDkiEFZ6zSuLJdlEt3aZ2oLf81x00sA="
},
{
"pname": "Microsoft.CodeAnalysis.NetAnalyzers",
"version": "10.0.101",
"hash": "sha256-7rrB4tBiF3t+yoHcg170KlypFS/Z7xAPOM9OQZOs1Yg="
},
{
"pname": "Microsoft.CodeAnalysis.NetAnalyzers",
"version": "9.0.0",
"hash": "sha256-UBTANXmzAS6KuCKDIGhi0MGphAI83FizpRCPebqJ9GE="
},
{
"pname": "Microsoft.NETCore.Platforms",
"version": "1.1.0",
"hash": "sha256-FeM40ktcObQJk4nMYShB61H/E8B7tIKfl9ObJ0IOcCM="
},
{
"pname": "Microsoft.Win32.Registry",
"version": "6.0.0-preview.5.21301.5",
"hash": "sha256-7Fu8oYHKsOxecDC7wT0aJR/GOPaq9W1k0SgKa5AW4Qg="
},
{
"pname": "Microsoft.Win32.SystemEvents",
"version": "6.0.0",
"hash": "sha256-N9EVZbl5w1VnMywGXyaVWzT9lh84iaJ3aD48hIBk1zA="
},
{
"pname": "NETStandard.Library",
"version": "1.6.1",
"hash": "sha256-iNan1ix7RtncGWC9AjAZ2sk70DoxOsmEOgQ10fXm4Pw="
},
{
"pname": "NETStandard.Library",
"version": "2.0.3",
"hash": "sha256-Prh2RPebz/s8AzHb2sPHg3Jl8s31inv9k+Qxd293ybo="
},
{
"pname": "Newtonsoft.Json",
"version": "13.0.3",
"hash": "sha256-hy/BieY4qxBWVVsDqqOPaLy1QobiIapkbrESm6v2PHc="
},
{
"pname": "PInvoke.Kernel32",
"version": "0.7.124",
"hash": "sha256-E65U364mp9V8SzkT2/oVg1f0Ts9Q1deRLeOUK3QhIlg="
},
{
"pname": "PInvoke.Windows.Core",
"version": "0.7.124",
"hash": "sha256-n/7Y6MkUVYr1bgT8OUkl0YpOd5AFgzHEUlEN+EKyE5s="
},
{
"pname": "Serilog",
"version": "4.0.0",
"hash": "sha256-j8hQ5TdL1TjfdGiBO9PyHJFMMPvATHWN1dtrrUZZlNw="
},
{
"pname": "Serilog",
"version": "4.1.0",
"hash": "sha256-r89nJ5JE5uZlsRrfB8QJQ1byVVfCWQbySKQ/m9PYj0k="
},
{
"pname": "Serilog",
"version": "4.2.0",
"hash": "sha256-7f3EpCsEbDxXgsuhE430KVI14p7oDUuCtwRpOCqtnbs="
},
{
"pname": "Serilog",
"version": "4.3.0",
"hash": "sha256-jyIy4BjsyFXge3aO4GRFAdnX4/rz1MHfBkBDIpCDsTw="
},
{
"pname": "Serilog.Enrichers.Sensitive",
"version": "1.7.3",
"hash": "sha256-1HnnaGEwTiDo11w5wWdjDxNxVO4WLFBnAggxmyZCYIg="
},
{
"pname": "Serilog.Enrichers.Thread",
"version": "4.0.0",
"hash": "sha256-lo+3ohNHKe/hTq9vGbk29p/OWcNlcyJToGL6EpCJQm8="
},
{
"pname": "Serilog.Sinks.Async",
"version": "2.1.0",
"hash": "sha256-LDoLpXkleD2MVPK2KBsLGRf5yqrwckBiAnYDbuIbaUM="
},
{
"pname": "Serilog.Sinks.Console",
"version": "6.0.0",
"hash": "sha256-QH8ykDkLssJ99Fgl+ZBFBr+RQRl0wRTkeccQuuGLyro="
},
{
"pname": "Serilog.Sinks.Debug",
"version": "3.0.0",
"hash": "sha256-7/LmoRF1rUDFhJ47bTRQQFRgSHnZDO8484r3sCGqYvE="
},
{
"pname": "Serilog.Sinks.File",
"version": "6.0.0",
"hash": "sha256-KQmlUpG9ovRpNqKhKe6rz3XMLUjkBqjyQhEm2hV5Sow="
},
{
"pname": "Serilog.Sinks.File",
"version": "7.0.0",
"hash": "sha256-LxZYUoUPkCjIIVarJilnXnqQiMrFNJtoRilmzTNtUjo="
},
{
"pname": "SharedMemory",
"version": "2.3.2",
"hash": "sha256-HFW3T9erIDZnjO7qldQx5eRbsib52MSYdOIiCZZSGB0="
},
{
"pname": "System.Buffers",
"version": "4.5.1",
"hash": "sha256-wws90sfi9M7kuCPWkv1CEYMJtCqx9QB/kj0ymlsNaxI="
},
{
"pname": "System.Collections.Immutable",
"version": "5.0.0",
"hash": "sha256-GdwSIjLMM0uVfE56VUSLVNgpW0B//oCeSFj8/hSlbM8="
},
{
"pname": "System.Configuration.ConfigurationManager",
"version": "6.0.0",
"hash": "sha256-fPV668Cfi+8pNWrvGAarF4fewdPVEDwlJWvJk0y+Cms="
},
{
"pname": "System.Drawing.Common",
"version": "6.0.0",
"hash": "sha256-/9EaAbEeOjELRSMZaImS1O8FmUe8j4WuFUw1VOrPyAo="
},
{
"pname": "System.Memory",
"version": "4.5.4",
"hash": "sha256-3sCEfzO4gj5CYGctl9ZXQRRhwAraMQfse7yzKoRe65E="
},
{
"pname": "System.Memory",
"version": "4.6.0",
"hash": "sha256-OhAEKzUM6eEaH99DcGaMz2pFLG/q/N4KVWqqiBYUOFo="
},
{
"pname": "System.Numerics.Vectors",
"version": "4.4.0",
"hash": "sha256-auXQK2flL/JpnB/rEcAcUm4vYMCYMEMiWOCAlIaqu2U="
},
{
"pname": "System.Reflection.Emit.Lightweight",
"version": "4.7.0",
"hash": "sha256-V0Wz/UUoNIHdTGS9e1TR89u58zJjo/wPUWw6VaVyclU="
},
{
"pname": "System.Reflection.Metadata",
"version": "5.0.0",
"hash": "sha256-Wo+MiqhcP9dQ6NuFGrQTw6hpbJORFwp+TBNTq2yhGp8="
},
{
"pname": "System.Runtime.CompilerServices.Unsafe",
"version": "4.5.2",
"hash": "sha256-8eUXXGWO2LL7uATMZye2iCpQOETn2jCcjUhG6coR5O8="
},
{
"pname": "System.Runtime.CompilerServices.Unsafe",
"version": "4.5.3",
"hash": "sha256-lnZMUqRO4RYRUeSO8HSJ9yBHqFHLVbmenwHWkIU20ak="
},
{
"pname": "System.Runtime.CompilerServices.Unsafe",
"version": "5.0.0",
"hash": "sha256-neARSpLPUzPxEKhJRwoBzhPxK+cKIitLx7WBYncsYgo="
},
{
"pname": "System.Security.AccessControl",
"version": "6.0.0-preview.5.21301.5",
"hash": "sha256-/rXZ6FJNEN3EuqOsCgCuypBOpA0hQyYIQXbsGccfLow="
},
{
"pname": "System.Security.Cryptography.ProtectedData",
"version": "6.0.0",
"hash": "sha256-Wi9I9NbZlpQDXgS7Kl06RIFxY/9674S7hKiYw5EabRY="
},
{
"pname": "System.Security.Permissions",
"version": "6.0.0",
"hash": "sha256-/MMvtFWGN/vOQfjXdOhet1gsnMgh6lh5DCHimVsnVEs="
},
{
"pname": "System.Security.Principal.Windows",
"version": "6.0.0-preview.5.21301.5",
"hash": "sha256-p0ROK7zJPz4EmNdjgAz2eX8dOMVHhpvQLTU7JveMceA="
},
{
"pname": "System.Text.Encoding.CodePages",
"version": "4.5.1",
"hash": "sha256-PIhkv59IXjyiuefdhKxS9hQfEwO9YWRuNudpo53HQfw="
},
{
"pname": "System.Text.Json",
"version": "9.0.2",
"hash": "sha256-kftKUuGgZtF4APmp77U79ws76mEIi+R9+DSVGikA5y8="
},
{
"pname": "System.Threading.Tasks.Extensions",
"version": "4.5.4",
"hash": "sha256-owSpY8wHlsUXn5xrfYAiu847L6fAKethlvYx97Ri1ng="
},
{
"pname": "System.Windows.Extensions",
"version": "6.0.0",
"hash": "sha256-N+qg1E6FDJ9A9L50wmVt3xPQV8ZxlG1xeXgFuxO+yfM="
}
]
-140
View File
@@ -1,140 +0,0 @@
{
lib,
buildDotnetModule,
fetchFromGitHub,
dotnetCorePackages,
sdl3,
libdecor,
libsecret,
glib,
gnutls,
aria2,
steam,
gst_all_1,
copyDesktopItems,
makeDesktopItem,
makeWrapper,
useSteamRun ? true,
}:
let
rev = "1.4.0";
in
buildDotnetModule rec {
pname = "XIVLauncher";
version = rev;
src = fetchFromGitHub {
owner = "goatcorp";
repo = "XIVLauncher.Core";
inherit rev;
hash = "sha256-kEMqqwlp+ZHjrEz6K7nYXyi0L8VAy1rHW2bOHEk1F6M=";
fetchSubmodules = true;
};
patches = [ ./patches/no-check-wine64.patch ];
nativeBuildInputs = [
copyDesktopItems
makeWrapper
];
buildInputs = with gst_all_1; [
gstreamer
gst-plugins-base
gst-plugins-good
gst-plugins-bad
gst-plugins-ugly
gst-libav
];
projectFile = "src/XIVLauncher.Core/XIVLauncher.Core.csproj";
# File generated with `nix-build -A xivlauncher.passthru.fetch-deps`.
nugetDeps = ./deps.json;
# Please do not unpin these even if they match the defaults, xivlauncher is sensitive to .NET versions.
dotnet-sdk =
with dotnetCorePackages;
sdk_10_0
// {
inherit (sdk_9_0)
packages
targetPackages
;
};
dotnetFlags = [
"-p:BuildHash=${rev}"
"-p:PublishSingleFile=false"
];
postPatch = ''
substituteInPlace lib/FFXIVQuickLauncher/src/XIVLauncher.Common/Game/Patch/Acquisition/Aria/AriaPatchAcquisition.cs \
--replace-fail 'ariaPath = "aria2c"' 'ariaPath = "${aria2}/bin/aria2c"'
'';
postInstall = ''
mkdir -p $out/share/pixmaps
cp src/XIVLauncher.Core/Resources/logo.png $out/share/pixmaps/xivlauncher.png
'';
postFixup =
lib.optionalString useSteamRun (
let
steam-run =
(steam.override {
extraPkgs = pkgs: [ pkgs.libunwind ];
extraProfile = ''
unset TZ
'';
}).run;
in
''
substituteInPlace $out/bin/XIVLauncher.Core \
--replace-fail 'exec' 'exec ${steam-run}/bin/steam-run'
''
)
+ ''
wrapProgram $out/bin/XIVLauncher.Core --prefix GST_PLUGIN_SYSTEM_PATH_1_0 ":" "$GST_PLUGIN_SYSTEM_PATH_1_0"
# The reference to aria2 gets mangled as UTF-16LE and isn't detectable by nix: https://github.com/NixOS/nixpkgs/issues/220065
mkdir -p $out/nix-support
echo ${aria2} >> $out/nix-support/depends
'';
executables = [ "XIVLauncher.Core" ];
runtimeDeps = [
sdl3
libdecor
libsecret
glib
gnutls
];
desktopItems = [
(makeDesktopItem {
name = "xivlauncher";
exec = "XIVLauncher.Core";
icon = "xivlauncher";
desktopName = "XIVLauncher";
comment = meta.description;
categories = [ "Game" ];
startupWMClass = "XIVLauncher.Core";
})
];
meta = {
description = "Custom launcher for FFXIV";
homepage = "https://github.com/goatcorp/XIVLauncher.Core";
license = lib.licenses.gpl3;
maintainers = with lib.maintainers; [
blooym
keysmashes
witchof0x20
];
platforms = [ "x86_64-linux" ];
mainProgram = "XIVLauncher.Core";
};
}
@@ -1,26 +0,0 @@
diff --git a/src/XIVLauncher.Common.Unix/Compatibility/CompatibilityTools.cs b/src/XIVLauncher.Common.Unix/Compatibility/CompatibilityTools.cs
index 864000f..510e4ff 100644
--- a/src/XIVLauncher.Common.Unix/Compatibility/CompatibilityTools.cs
+++ b/src/XIVLauncher.Common.Unix/Compatibility/CompatibilityTools.cs
@@ -28,7 +28,7 @@ public class CompatibilityTools
private string WineBinPath => Settings.StartupType == WineStartupType.Managed ?
Path.Combine(wineDirectory.FullName, Settings.Release.Name, "bin") :
Settings.CustomBinPath;
- private string Wine64Path => Path.Combine(WineBinPath, "wine64");
+ private string Wine64Path => Path.Combine(WineBinPath, "wine");
private string WineServerPath => Path.Combine(WineBinPath, "wineserver");
private readonly DxvkVersion dxvkVersion;
diff --git a/src/XIVLauncher.Core/Components/MainPage/MainPage.cs b/src/XIVLauncher.Core/Components/MainPage/MainPage.cs
index 3943c15..ee44782 100644
--- a/src/XIVLauncher.Core/Components/MainPage/MainPage.cs
+++ b/src/XIVLauncher.Core/Components/MainPage/MainPage.cs
@@ -688,7 +688,7 @@ public class MainPage : Page
else if (!Directory.Exists(App.Settings.WineBinaryPath))
throw new InvalidOperationException("Custom wine binary path is invalid: no such directory.\n" +
"Check path carefully for typos: " + App.Settings.WineBinaryPath);
- else if (!File.Exists(Path.Combine(App.Settings.WineBinaryPath, "wine64")))
+ else if (!File.Exists(Path.Combine(App.Settings.WineBinaryPath, "wine")))
throw new InvalidOperationException("Custom wine binary path is invalid: no wine64 found at that location.\n" +
"Check path carefully for typos: " + App.Settings.WineBinaryPath);
+16
View File
@@ -0,0 +1,16 @@
password_hash: ENC[AES256_GCM,data:ErID6NBUyznC7N+OMWWoArHPjcnZtphTkuDIfz4zI69TVJ7vudBoR8hz8lMq0jNzOq+rxkourkk3xm5J3mFyVUxOMJe0Vz2tlA==,iv:tCGHD8n6Y0lmvnpmQkf952VNQ42BkWjsiDhgzcls2ig=,tag:7tfLXfhFF9/qCzaDT1BEXA==,type:str]
sops:
age:
- enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAwazNKVjhNQjdVRVY5RG5p
cG5ETWwvbXZHZENpYWRORG1JZi9lclQvVmxnClByNjZtUFBkWjFCbDZ3TnJnWnVD
Yjc1Rkk4RWRZenhNS1dzcGlkNnFDV0UKLS0tIHEvSmgrMlBMb2tyK2hzeUVIQzZx
VTFua05vZFFQV0dzSjczKytBdHl0dDAKS9D3rRLy6F9rvUhOr0KYDhvNvRvn3W82
lCwkwtsXd2L2sPXKEfVd1r+dUaKDkXcLUXVbada7ma6UDLOmAq7Kqw==
-----END AGE ENCRYPTED FILE-----
recipient: age1s6zlweaxqu6sldlhaxg24tqqwhcp7kvc3rr6h6895chk2ndaas6qdyj5gl
lastmodified: "2026-10-21T14:34:25Z"
mac: ENC[AES256_GCM,data:QuRO9S3rK6dDIGUsgTHzNcypCMeR1AkATwVARv7Na1p6/n2S+5HLuGLkoSDWMnB15r+9GYrYaxDs9b4ppApCfbENrH1ffO7ZyhbY+NfbCgNTq/KgxZvbtAoQiwYalD97MNiZ2OBhmmVEe4ne5Fy1WY7g5uYnwYd7hIK+Vr/iCNE=,iv:rSho67a/+rZjb7iw47IXwKnqONc4tk5lbJBZDmrj9U8=,tag:tYWB4Xiv+oCKadn0IIIy1A==,type:str]
unencrypted_suffix: _unencrypted
version: 3.13.3
+17
View File
@@ -0,0 +1,17 @@
personal_ssh_key_ed25519: ENC[AES256_GCM,data:57BaRc+Tkc/kdpLA8U/Qcydpo69FSP5kqAaqAsa7WaFGhPvrwiU4wrChP82nJb4Ilu4QLBphKRmKOFl7wlG3asvyyLhQ19JIeqdTq/lmByfdnGxv5Bugn58Oqj+f1uY5TQrLLf2QsVXwfgc2LgDGaMXzZdaobYOcgNwaRy6W0CWpGJRjUZgtwZRRnm6RApUaUsWjaN5n5NKcT1NlQNVVItRJiO86UUnv4PJcvZYw9ll5RrWEVgPXkljOq1BaKNhdwD1DEPJT0qYDK1N+Wypl/CGXL/Q1F/zKjwKf7VnGdHpXcef/BCG2fWI7fY0RQDEu5oKgVt4wtcPVRp4jbPpbW7OEUWW0BlcPqpteWXVmcl9U6s6E6RnbnSO/Gw4TppFXGnFvT/LsmlyLUeIFAtRb/278QgWzMfcjFeo+l6GK4i/8m4VU9pHQufsnEiF5KKESFQTk/r7waCBs3qe3PAkAg3M8tRkO1Q5E/8RLXwqZMD7LqAvuwraViJGYwWvlWVRsArBnv1n8sEKBlRlbpE6GShrgt3bAIKqoW3U/fxDdL3NCBYQ=,iv:/oeGYRtBWjD3pq/X/Sab+UVzIAVxE8QvvkTmb/45UO8=,tag:3kIbuY2UPbw1L7EH2++kaA==,type:str]
personal_ssh_key_ed25519_pub: ENC[AES256_GCM,data:zz/LBq5KI2t/z3YgP3gHK3B/c2O/jq6sQ8mT5qgoUGsL5VTvREUGnDaDxtaOcbez59srqmlQHwXbQ7Dax6iWEtWx4gtMhJ9piVzH/3skB0dMZ3W+7bNtCev1SkHchbWLUPD/ryXZ4LCAipMoJA==,iv:qD07xcOdZDokhKIVqS5ibWsEKG66eYy1JnBUzzlPoS4=,tag:732RVmwKJL2PlcJih+2PGQ==,type:str]
sops:
age:
- enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB1SFRTZFU3bzM5UE82Uk5p
UENKUFd5R1lIOW43YnBTcXlSWHBFUHlRYURRCkFGZTM5MFlnd2hKRUpRM2hRdy9o
dHlzbU9Xbm9YVENuSVR5Qi9JdEFIZk0KLS0tIDJ4SDNKZE41eGtPa2UrVDBTZFVv
VWsvQkc1bU1ObHBBUVd3ZXJBQjB1UE0KRgd4k0kRo15tsDOvv/VRTXUJ1afp8DKs
EumIPk0zTyes/2WgrDOD4/j0wGfhkallIv/fdE3X5XD113nX5tPx4g==
-----END AGE ENCRYPTED FILE-----
recipient: age1s6zlweaxqu6sldlhaxg24tqqwhcp7kvc3rr6h6895chk2ndaas6qdyj5gl
lastmodified: "2026-10-21T15:36:21Z"
mac: ENC[AES256_GCM,data:6X3jGfrWA1jZexwmABzYiM1zayYeY+SvLXABVTHpoxxS+nMlIk63f+kG9WawcUJlXe1OoUau5PTNTDgOHAqx0ADqS2hImr74SXR/6HOoisB3l3R/jEUOLUYAW+AsgPeMba0h/3I7KkHVxbJjNkWt4znm2M1kmCF4r30sUm1FL8w=,iv:RTtObsxYvBZpY2UgSgk3X+Y3m17hG1qQzsrucmO0azo=,tag:oc33OTwCqknLAmlBYBktOw==,type:str]
unencrypted_suffix: _unencrypted
version: 3.13.3
+17
View File
@@ -0,0 +1,17 @@
sapphire_ssh_key_ed25519: ENC[AES256_GCM,data:8kUBJRztuqFguGr08ihphE7A2yZbUgMO2rPjMUEqyrVqOqVTJpZsE8cICvWr0sXOEuamIyF3IPS+9DTpqKmc+BpNKvwDwyEht9NtHML/9Jgwcd1GpO1w+DK4XbwJK+M1tdja5ZJxYJtr9J8nbXt+DdFpCB2KBU+0uakiW4efD+BLS9DfX47NinserdEaLbdXqPhF4h957YchkteB1xkyMhMbJqRMskZL2RRHYwxpNq2WjTBEVjFQnfWopBlMqnwMXeyUpdBI9TdL6vm+62upNiZ/nQbbzcbNt8cka9UzIWaaZvuz+jlj/OSip3t2HXXGZ1pWZ+i/R+tqEfGZAeVZet736UeZrO/ewASNEd9Nq0H3ywEpXNogbd4Y914EYr97OIU84W5MlaBkmCOn4S20wcezBjKsSIu/3T3tDr4qHayp+Cp5BnOwBGOrZI7xD3F2C7KYklWZT/fy/3R8O0DgAcez+9L2T6WR+0qqpzBgv7/g1lbIYdgIMfBpfhCmvKbokUwLHt/m4gG8C1XsDoH15ODtXYLopezWy8q2EkSPDgNIRqATnmJ0KgC98HLzxd2T,iv:SJfJTw151PUcDbMxAWCEiYit5GKa+XFJ2VCDzEBzKUo=,tag:1KD3okKVetESHIAaWW9QEQ==,type:str]
sapphire_ssh_key_ed25519_pub: ENC[AES256_GCM,data:iQaxf3M0HGtdm39OZ6RQoeicmuGxrIVIV6H600bhgayGSmd5Rc2aFeFgkC1wlsWhXukQg664pl2bNlexq+MCuOLye3s/ubBSCN35TTVfUAKHAfDZCH3HhEWtyjHksM+0bVurB6VLUaicLroxjELBKEH7,iv:RFG3qK0j52nGwHjFb5l0D1CBsJ6TtHGsVN0B1t1b5s4=,tag:AdIShzJa+uZSntonDFAYmg==,type:str]
sops:
age:
- enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBnOTRtYlovL3hxY1pRVVox
UlhpQUIzeWtQaS9FRWJTR2d3ZittRTZxVlJvCno0dExKV1JzMGFEeG1hOFFxaEVh
OFNPd1JRWENvd29PVWdUbkdJWkp1NG8KLS0tIEdyT001SnlTVHowKzRrR3VyMVNF
L25jWGlOeGg3SWplUHg0SUhZWlRCakEKWtqZbICLgJk4D60+FTiP5VVEVGoacGjy
Lax1PCDR38qUsVo2No5dPJEsKLDnJIzAafRGCN99mfn81GhpSmPBQA==
-----END AGE ENCRYPTED FILE-----
recipient: age1s6zlweaxqu6sldlhaxg24tqqwhcp7kvc3rr6h6895chk2ndaas6qdyj5gl
lastmodified: "2026-10-23T15:22:54Z"
mac: ENC[AES256_GCM,data:NHGb0Cp+XEns48DEBD2QT7P+lx51LXArXUWIE+QoWUAlb2SzqvvqpLdN6PJGpr95+S4IfBXzruf9EVILXoRqFolHvP8C9rnQBVtS3bIQK/A3Y+P5iKL3NLUd0z6WDxKaZIM2X55XNGZH8zKo7SEgVdQ0LRi1KdnZ1uP5KZEIJ60=,iv:JE0oSpfWSiG4LeXijU/Uk9zPQ4mWSPTZMvS9u+AyDck=,tag:0SrpuboXDwJ/suSsk/85qg==,type:str]
unencrypted_suffix: _unencrypted
version: 3.13.3
+17
View File
@@ -0,0 +1,17 @@
work_ssh_key_rsa: ENC[AES256_GCM,data:0fs+x0gDnj3rQ68fzQT1npIKTyBRSIbqGWDkzFXI+un/9PKb3HoffpNEPvGnjC+XqG0gnA/0WQbbGyN8xN+eJPmDKYodVh1v5RfumM96FLazgolaY/esi3zlFKHRCEEtJRNcGi7YQKrr5k4vpt1cyMFYrcpPcWnq1P4TIdQXfGyTmlaQfMowAE1FQHfKt/6p2fnTHcgIeLnrSeJVWKc5v1yzWGULHsbUXVP4z/1YPNWeCtUosb5Hf3FGLXy4KHKW+Zt8aX8gGf6KG/CWBhHVxfyqNSP+EkHJjpYzngVQpqP27LniltQn4tIikU0OJsGBhUlRmRJHryy+hmQyXxxP93rh/wD4xlw0x0jQJ8w1r1VMPvgnk7HPGzEYwvgblFDHlfwgQI/FtMtvz/PuXzXHZeLSteCBKphB6JaaOqlMuggrb6rBnaomoSUTbICTefumjH2V4KNOB++xUfOk8h8NJzvGeEznBKcKtuz8kRVwaplaSdgOy2cDRT+UGaTfj3yFK8zQkKAdCsortkgetPhwoB9XeHaOCULh9Iu0GsikxJ/vJA6rhR5S3zVARdNGHV+M4IbKVrbMT1Y+WCykeSZdU+1ONQAONkSctMNmVUDXfuOJ3P6O7ZA997UO/PydDuJtb7IUoDqkme8Rg5Vw0MdhSxHbpzxPfF8aGfO5pzduVQld61qdYQI3H+aj5SIFpijoppCFB9xqq0btKhOOy7yHLOU75TsDkxbaG6mzdeFIrOBC+ynWMmyBYXMIhWoxUWqEfWozSRXLuBHxle0s4bYUcAs078kdrCi5qaYuOV+DmRtSmNgWXuiMxwzHHDq6MQG584sixOijAJIIvDFk4aBkr/8tW+o1rDLmvYgxdZnixbImDy/LOqmmM7HkIUduAHonw0/gYQ4Vpj1wE+ep9EsYiZIp1SJSxVGCREgDxtow1i3oPLjFySHkhZX6BhNQVuRFgNyfmi5HUaU3NxXATsc2g4qT49NfvgGrO81UjYh2AZRlDThI1mZ6+SjOZWYD8d7d14G6kaye0CgOAjbFr1lKzkUsdFF2/2kSoelZ6rJ054j+QjdX2hYLHWj9nzDnYY54Aw74Hhaf0jfUsz/nz/do+gQ56HfkwGY+ClVwz7I87QNWIgYGuF9jflpceEB6O9n+ga0+u+ohrV4MT7LhCnJCmW+t5MHdKnup/DYuXZb+VvigcUrJgKb8fglNkL7dCjnUoz07aBlHAWA0wehgZP0TQG7eSwOs3UdZ0wEG2HL8SiRjB6XtfVaelERiFtdf4+W++txezZfmCwyiTntS/ItF6i6DAB0ZxDMo0d97eHa4tO7V73dD4/Iq1kUKB5cjvbcxPtbp1ROfx6c1wj/XbHEvnOxHCTGzlkRCACR2ZevT1sHzjLTz/92amJd7BJ6x0KHt718NQxezBXgvIQqb29SXqAThZGMp1Jv33CrJRvVMyPTwvMq8+OViDF+cFHJSGJ2CQZ0tjGe3bUP3/LtGFXBN0bYUGF7r8IkFg3vp/YJpu2avuuOY41OuJkZ+XfDtK0NwCUmuBbjNLUjFG+lTkrnd+n1VbYuIUVlgWyXpbX0uppmRurLItpOBvbcQTNL7v6bSElkU+PsTUiOPJhZoR+GiMpZRLnPbSe+MzwI4kKmu+HSdLIYLyv1AXKyGcb3GMG7FZr1pSY3vm73R7UvEgv4jmT8RnKF8lidelv1g4LapcTrrtHimbInD5DGJnygKLYU0coQ0woz73xy/GsDp6emKKolpvZyOBjApovpMEmdWvEz73TeACDh8VB4Vra72VjuNPGF39pcO7yZ0I11eCCDk145CCfmRxVxfZTIIOHl6whPC1Lz+CCsK7h/2dE5bdPkc86f28AEeAVL5zFYz1KqyhyOM7lx+EAAnUVXOpUBMyCHbSbKbUUzmr7cZ56xB47fgphaKrFYRqNvID+25WCxUa/n5PTj95LoMc9QYd4BrY7cQMZBDANmzBLYN23j7qA3TFVzOasQa8iRce4s1v4KcKiKTwpQ3317T1Z26+vcluEPXKHoKXJw341EbwkrWxSIX90fbYBhYTTU1Wc5/lpmME+9WMILy6OKgK41xhIu6+hGvHGLIOn7uL34smGKuSu+6z1MYT+c6/+GrbwKo5Wiw4YZeJ1uHAxYbyGr5qOP6zzkTG/aKiZJTrS6sAMipomyj//ty+YuSp0frRQ2MACNIeXQK3qSHlZQgHPeEfS3X4OINqB1IvmY7CiprtJj5P69gux0PgnCnXqkP5Hm4QmlirDbtZRMaVhllgWKxVmZf+7V4Lakuw9q//QIhQZ5Uhu+PtTcAfckPrFZKxoDXlnfbF+oxr4MSWZNK0UFZSvlvLPN08nu85W7gPyqKGSRekbkloJZ0PQi0Z0VzsH5SlMKbUaqftenh6UN+vVSZUDVqu11wXtl+fFqbr6jQWiIteXf23CNwCtSBcHwvq07izwxmzHJS8OCyZZNTA6RVg8oaZNmcGp+K+8K6nRibgHCvmP0p4A54p9jNdypmL3EbtjGMTivmtlfoffaq6z3cYOhyMqKeAaoTOxKM7bVYK+CoaFfIpCqzP+2B2tMX1AZnEqe6S7hdAHqndfgpY23KwVPqxTEK7Xe4m2HLt5fTvNs50zilBbkrpP62OyH0K7MDcA18ECltKWu+w2SqI4Z4jxULcawmeO3XxT1ocowJNK4LgejTqjFUkjsc0Eds4wF21UDRIHR2scMfP+5wZZhZTMJl4aeOT0HECKLfLi1mqwbo3TVviGjxjNSMIVJ18d79Gvupi4f3BpdrQcXR+VIdR9+mYbK4zR68S2ka/lN5+m6g7N06oh+xRAPSruRdfolqgI9EfPRvV1y2m9J6u3koWTN1q8EzIxAoT8z9I3qEV1x2YCAziXnaZ/cHcO83hoGsjwCrw7C9vcftLhpebJPH94oddTE9+S4DLL80XFRFaeudGSxOXzysv+eILp6xR61Riqx9o7FzmKtLFRnZWckJXn51zfJvHyZlMiJyqAS/4POT5acQq5SVzg+0PhHSRjx+XFaqBIvouTMwUyHPVGyOowrQcWUtMd6MPg1WHigdVT0JtzGTbUtqYfxQa7kWbvlxW/UsUuHfS5ZR7FSpVlsyRxCzrow+a7R9n3z6DUo+obtl0p5ya4ujIu9oCwuk/iAth11orES19WRdh3t9pgRlhrM12nCgRjimAhDkxtXqBtiBxOjJEOxCeS0MXqp/+65xf09pUxiSt2Lpp5SPSAp8JqUJcmYy+d/DXSEqLxetVhk1KolA2ItH33a3gw==,iv:THOxkQwaN/kdzH0CclqsImu7L1pFE4zSp/tMmenaAdw=,tag:qhGNi++VEEW7X5axFvpVVg==,type:str]
work_ssh_key_rsa_pub: ENC[AES256_GCM,data:/WkultfyCTL8un1/AbCZvJDqhnsYqir0CN1NNRt3IX+o7xEBWJPdElysSW1Y6EC6GQZym0apgRVE/uiaG6Sjhczcgan5VN6TUk8s3aJZCwICtE7npRKV11q7D/HukzpAj8a2BnB0O0SLjGeIAfhOjSBfVmpWScoIGpHhU7XgAMvm5x8lcaX/Gi0F8lHlF+zigW/R4oR8q7XuGGrFXUZmHraK713IpJBDsUAiYRh34wu0T3Z8PqMAJUPRUvGYHMa3ouEBc5RoVxuK4z2hFS5tWMZBgCQCMt4eVQcIwgc3FROw66iDFYkRnhXXUm2YBoULMHiLFU2LoULiI6i7RK3Aqr+dyL//FCPjxZLluP7ujlqX+GEaiHVZNAg+OvM8Je8XuUufyVYw5nbUvklU4lQd8m9U3yYdMK1GExQ0cgS2CGTGf364bWOLb+dPkeuh93kE+dfsW8r3FcQOwcN/X4F3alFt+dD1eiW7cndD7Pd/RQ7907MarzZ9H2AyAJhq8xcP8MqK7p8CLM5+cvgeb+XACWoCh12NuV8eBkWniK412b0yddj2DBIgCgJTvZXsUk8tb6vOuIdvh4qoVTd7ROyfr86eTjKFtiZTFtt7vUMU81N2ywyn4Iq9DYBqEijuYCqo/vBxMGSEHU1Rawh064ApyznUV16obHzx6DnydNQewGGEUeWC6ad/USlEMXUR7pm9Ou/ulY0TyB9Jvb8oNxCOcqjM/QK9r6dgfA==,iv:BTpI5ez+Xppmfe/FwXupyaOWpi2Xbg/DXl6KBP9cQVc=,tag:hwfWHZs817tEfpNgx8fBSw==,type:str]
sops:
age:
- enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSArS1lHNXg0RXZtUDNqVVFN
eUQ2R3hQZHpualNvR0szdWw3ZE1EOE5ERlFZCkIzdnhrdWpVelBvQU9ZKytqZU83
SUpVbzZqRklJUW5vMmRVSml4WFF6SVUKLS0tIGY5Vnh6aUV0cm5Gc3ZzclU5M21W
U1MxUksxNExCanVIdFg1TWM2VjF2RkkKhAAaUkUU8yibX/IWsHEqUpj8YXF5788o
BnICIf71oGouFzEUOFvUk1kRrnGvtzLCk5yb63Cta6wwRsF2svnWcw==
-----END AGE ENCRYPTED FILE-----
recipient: age1s6zlweaxqu6sldlhaxg24tqqwhcp7kvc3rr6h6895chk2ndaas6qdyj5gl
lastmodified: "2026-10-21T16:12:16Z"
mac: ENC[AES256_GCM,data:7voI9O3u5v1z4u24NOPjKfS5RYhZFG80rL5NJ/ynr/5k9EZpWI1bhfLT61ZVJFXZnPij6WZGRn+LZl4/ReS7bKTp15gicrUGgjnNAEe/iRYbPUUsCpSi/tbGNebPr1P/Z/D78gzTnPZdx7ulbgRtGfByVWRL3Nx4yXaIrDd9T4s=,iv:CQaoW0J8XdCzSgjV6iRlxtE0mwhl/zIebWUNs3OouSQ=,tag:HOfuYMT1tfQYKJj+m34lKw==,type:str]
unencrypted_suffix: _unencrypted
version: 3.13.3