Compare commits

..

15 Commits

Author SHA1 Message Date
79e3156bb3 feat(copyparty): create copyparty service for elcafe 2026-03-07 18:50:58 +01:00
5e8db88008 chore(packages): update signal desktop name and remove gplates 2026-03-07 18:03:33 +01:00
ff39f983f9 chore(mpv): update mpv script name 2026-03-07 18:03:33 +01:00
6088946973 chore(handy): update Handy from 0.7.6 to 0.7.7 2026-03-07 18:03:33 +01:00
0f213ed01f chore(flake): update flake lockfile 2026-03-07 18:03:33 +01:00
097ce13793 feat(packages): package inkdrop 2026-02-26 19:42:40 +01:00
efa9be4314 fix(sunshine): automatically set screen resolution for sunshine 2026-02-24 13:04:10 +01:00
7223b63fca chore(flake): update flakes 2026-02-24 01:46:26 +01:00
32b3c81b46 feat(handy): package Handy for Nix 2026-02-22 19:31:27 +01:00
5e934f87a3 feat(spotify): disable spicetify for now 2026-02-22 19:31:27 +01:00
0927313f6d fix(hyprland): fix cursor size on XWayland windows 2026-02-22 19:31:27 +01:00
8fa1d2e111 style: formatting 2026-02-22 19:31:27 +01:00
54e8beecfd feat(caelestia): improve configuration for caelestia 2026-02-22 19:31:27 +01:00
21e85fc77b feat: improve GPU support for modules 2026-02-22 19:31:27 +01:00
b4a57a8f64 feat: improve v4l2loopback support 2026-02-22 19:31:23 +01:00
12 changed files with 336 additions and 113 deletions

183
flake.lock generated
View File

@@ -19,11 +19,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1760971495, "lastModified": 1767714506,
"narHash": "sha256-IwnNtbNVrlZIHh7h4Wz6VP0Furxg9Hh0ycighvL5cZc=", "narHash": "sha256-WaTs0t1CxhgxbIuvQ97OFhDTVUGd1HA+KzLZUZBhe0s=",
"owner": "cachix", "owner": "cachix",
"repo": "cachix", "repo": "cachix",
"rev": "c5bfd933d1033672f51a863c47303fc0e093c2d2", "rev": "894c649f0daaa38bbcfb21de64be47dfa7cd0ec9",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -44,11 +44,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1768655473, "lastModified": 1771987897,
"narHash": "sha256-iWnILPS2mP9ubbjRAhNv6Fqg1J/upxmD9OQTZQR4O2w=", "narHash": "sha256-5pNQFGxG3fxS9pGnNBJjT76veotKIKq2XpAVFGAhCdI=",
"owner": "caelestia-dots", "owner": "caelestia-dots",
"repo": "cli", "repo": "cli",
"rev": "7de6c6063119a7cef27c6bd4c88f2c5ac4cbc064", "rev": "b0d68f0a1c48fa138d6fde94dcbecea801a86a01",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -66,11 +66,11 @@
"quickshell": "quickshell" "quickshell": "quickshell"
}, },
"locked": { "locked": {
"lastModified": 1769226446, "lastModified": 1772330657,
"narHash": "sha256-YasBiXBgCkJ5oE6r9UtWXShD3OGtdRlioFErX5A1Z1Q=", "narHash": "sha256-cWblprYsDUeAWA57xAqxIjNxXvDI/rqYn6TFp2OPi/k=",
"owner": "caelestia-dots", "owner": "caelestia-dots",
"repo": "shell", "repo": "shell",
"rev": "8430fa572500382e187a49f1ac677bfdeb7edca2", "rev": "278fd4a4ed1bfb42c3fe197ff38b587539c012aa",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -79,6 +79,27 @@
"type": "github" "type": "github"
} }
}, },
"copyparty": {
"inputs": {
"flake-utils": "flake-utils",
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1772839279,
"narHash": "sha256-pAI7T/9Gl6SUTKmNZhtxYjBGnYPNzBLMgfqILfYa1Us=",
"owner": "9001",
"repo": "copyparty",
"rev": "31b23843f2d51049da00c821f2418d0c44389cd7",
"type": "github"
},
"original": {
"owner": "9001",
"repo": "copyparty",
"type": "github"
}
},
"devenv": { "devenv": {
"inputs": { "inputs": {
"cachix": "cachix", "cachix": "cachix",
@@ -92,11 +113,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1769201893, "lastModified": 1772819008,
"narHash": "sha256-x6VW1lQikNZAVm59gb3tzpDU5QCHT8U1e4dU11F2evY=", "narHash": "sha256-1DpF5F7zgOZ7QrRjz23315pUoF532dHnsU/V4UQithk=",
"owner": "cachix", "owner": "cachix",
"repo": "devenv", "repo": "devenv",
"rev": "685a86068d3a7f9b04e18340187e288413cb5887", "rev": "9e5c17caf0ead1bb29d430d4c0a26a77bc5d374b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -108,11 +129,11 @@
"flake-compat": { "flake-compat": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1761588595, "lastModified": 1767039857,
"narHash": "sha256-XKUZz9zewJNUj46b4AJdiRZJAvSZ0Dqj2BNfXvFlJC4=", "narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=",
"owner": "edolstra", "owner": "edolstra",
"repo": "flake-compat", "repo": "flake-compat",
"rev": "f387cd2afec9419c8ee37694406ca490c3f34ee5", "rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -129,11 +150,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1760948891, "lastModified": 1772408722,
"narHash": "sha256-TmWcdiUUaWk8J4lpjzu4gCGxWY6/Ok7mOK4fIFfBuU4=", "narHash": "sha256-rHuJtdcOjK7rAHpHphUb1iCvgkU3GpfvicLMwwnfMT0=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "864599284fc7c0ba6357ed89ed5e2cd5040f0c04", "rev": "f20dc5d9b8027381c474144ecabc9034d6a839a3",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -158,6 +179,21 @@
} }
}, },
"flake-utils": { "flake-utils": {
"locked": {
"lastModified": 1678901627,
"narHash": "sha256-U02riOqrKKzwjsxc/400XnElV+UtPUQWpANPlyazjH0=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "93a2b84fc4b70d9e089d029deacc3583435c2ed6",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_2": {
"inputs": { "inputs": {
"systems": "systems" "systems": "systems"
}, },
@@ -188,11 +224,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1760663237, "lastModified": 1772665116,
"narHash": "sha256-BflA6U4AM1bzuRMR8QqzPXqh8sWVCNDzOdsxXEguJIc=", "narHash": "sha256-XmjUDG/J8Z8lY5DVNVUf5aoZGc400FxcjsNCqHKiKtc=",
"owner": "cachix", "owner": "cachix",
"repo": "git-hooks.nix", "repo": "git-hooks.nix",
"rev": "ca5b894d3e3e151ffc1db040b6ce4dcc75d31c37", "rev": "39f53203a8458c330f61cc0759fe243f0ac0d198",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -230,11 +266,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1769187349, "lastModified": 1772807318,
"narHash": "sha256-clG+nT6I2qxjIgk5WoSDKJyNhzKJs9jzbCujPF2S/yg=", "narHash": "sha256-Qjw6ILt8cb2HQQpCmWNLMZZ63wEo1KjTQt+1BcQBr7k=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "082a4cd87c6089d1d9c58ebe52655f9e07245fcb", "rev": "daa2c221320809f5514edde74d0ad0193ad54ed8",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -269,11 +305,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1769197468, "lastModified": 1772748357,
"narHash": "sha256-EhbVSjqhjykjIzF1FetpEwxjSMXg4ubHpkuEnE0y23A=", "narHash": "sha256-vtf03lfgQKNkPH9FdXdboBDS5DtFkXB8xRw5EBpuDas=",
"owner": "cachix", "owner": "cachix",
"repo": "nix", "repo": "nix",
"rev": "6174571301a92afce9b7296d5babdc56972695b7", "rev": "41eee9d3b1f611b1b90d51caa858b6d83834c44a",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -290,11 +326,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1765267181, "lastModified": 1772341813,
"narHash": "sha256-d3NBA9zEtBu2JFMnTBqWj7Tmi7R5OikoU2ycrdhQEws=", "narHash": "sha256-/PQ0ubBCMj/MVCWEI/XMStn55a8dIKsvztj4ZVLvUrQ=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nix-index-database", "repo": "nix-index-database",
"rev": "82befcf7dc77c909b0f2a09f5da910ec95c5b78f", "rev": "a2051ff239ce2e8a0148fa7a152903d9a78e854f",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -317,11 +353,11 @@
"treefmt-nix": "treefmt-nix" "treefmt-nix": "treefmt-nix"
}, },
"locked": { "locked": {
"lastModified": 1763964548, "lastModified": 1772441848,
"narHash": "sha256-JTRoaEWvPsVIMFJWeS4G2isPo15wqXY/otsiHPN0zww=", "narHash": "sha256-H3W5PSJQTh8Yp51PGU3GUoGCcrD+y7nCsxYHQr+Orvw=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixd", "repo": "nixd",
"rev": "d4bf15e56540422e2acc7bc26b20b0a0934e3f5e", "rev": "c896f916addae5b133ee0f4f01f9cd93906f62ea",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -332,11 +368,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1769018530, "lastModified": 1772624091,
"narHash": "sha256-MJ27Cy2NtBEV5tsK+YraYr2g851f3Fl1LpNHDzDX15c=", "narHash": "sha256-QKyJ0QGWBn6r0invrMAK8dmJoBYWoOWy7lN+UHzW1jc=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "88d3861acdd3d2f0e361767018218e51810df8a1", "rev": "80bdc1e5ce51f56b19791b52b2901187931f5353",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -346,41 +382,9 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_2": {
"locked": {
"lastModified": 1768564909,
"narHash": "sha256-Kell/SpJYVkHWMvnhqJz/8DqQg2b6PguxVWOuadbHCc=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "e4bae1bd10c9c57b2cf517953ab70060a828ee6f",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_3": {
"locked": {
"lastModified": 1769018530,
"narHash": "sha256-MJ27Cy2NtBEV5tsK+YraYr2g851f3Fl1LpNHDzDX15c=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "88d3861acdd3d2f0e361767018218e51810df8a1",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable-small",
"repo": "nixpkgs",
"type": "github"
}
},
"pumo-system-info": { "pumo-system-info": {
"inputs": { "inputs": {
"flake-utils": "flake-utils", "flake-utils": "flake-utils_2",
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
], ],
@@ -408,11 +412,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1768689040, "lastModified": 1771926182,
"narHash": "sha256-Tlnr5BulJcMers/cb+YvmBQW4nKHjdKo9loInJkyO2k=", "narHash": "sha256-QbXuSLhiSxOq6ydBL3+KGe1aiYWBW+e3J6qjJZaRMq0=",
"ref": "refs/heads/master", "ref": "refs/heads/master",
"rev": "7a427ce1979ce7447e885c4f30129b40f3d466f5", "rev": "cddb4f061bab495f4473ca5f2c571b6c710efef7",
"revCount": 729, "revCount": 744,
"type": "git", "type": "git",
"url": "https://git.outfoxxed.me/outfoxxed/quickshell" "url": "https://git.outfoxxed.me/outfoxxed/quickshell"
}, },
@@ -424,6 +428,7 @@
"root": { "root": {
"inputs": { "inputs": {
"caelestia-shell": "caelestia-shell", "caelestia-shell": "caelestia-shell",
"copyparty": "copyparty",
"devenv": "devenv", "devenv": "devenv",
"home-manager": "home-manager", "home-manager": "home-manager",
"nix-index-database": "nix-index-database", "nix-index-database": "nix-index-database",
@@ -463,11 +468,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1768863606, "lastModified": 1772495394,
"narHash": "sha256-1IHAeS8WtBiEo5XiyJBHOXMzECD6aaIOJmpQKzRRl64=", "narHash": "sha256-hmIvE/slLKEFKNEJz27IZ8BKlAaZDcjIHmkZ7GCEjfw=",
"owner": "Mic92", "owner": "Mic92",
"repo": "sops-nix", "repo": "sops-nix",
"rev": "c7067be8db2c09ab1884de67ef6c4f693973f4a2", "rev": "1d9b98a29a45abe9c4d3174bd36de9f28755e3ff",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -478,15 +483,17 @@
}, },
"spicetify": { "spicetify": {
"inputs": { "inputs": {
"nixpkgs": "nixpkgs_2", "nixpkgs": [
"nixpkgs"
],
"systems": "systems_2" "systems": "systems_2"
}, },
"locked": { "locked": {
"lastModified": 1768656845, "lastModified": 1772494187,
"narHash": "sha256-xNlXMyn7yc3Z/NOsz4NchO7gWFwsoCvtJ26pys4s2/M=", "narHash": "sha256-6ksgNAFXVK+Cg/6ww7bB2nJUPZlnS75UwZC7G+L03EE=",
"owner": "Gerg-L", "owner": "Gerg-L",
"repo": "spicetify-nix", "repo": "spicetify-nix",
"rev": "8bd7e49d5ac62756bee6e4b02221fb96bfc3c99a", "rev": "915ab06b046d05613041780c575c62a32fe67cea",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -497,14 +504,16 @@
}, },
"srvos": { "srvos": {
"inputs": { "inputs": {
"nixpkgs": "nixpkgs_3" "nixpkgs": [
"nixpkgs"
]
}, },
"locked": { "locked": {
"lastModified": 1769046412, "lastModified": 1772799438,
"narHash": "sha256-LbjKkSB4Nar9pX+AxHs2FGH2ZAFpKWUvr79uyEhFVqc=", "narHash": "sha256-81/Ow6L5azplWp9p8gtl/Q1m5s2gCX4iuKNF5ujwxBA=",
"owner": "nix-community", "owner": "nix-community",
"repo": "srvos", "repo": "srvos",
"rev": "a78abbc16a5352ee848e454c99166c97415fbf39", "rev": "e6ec80588a07aea2cdb67c2865759e02d85b94b2",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -572,11 +581,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1769228180, "lastModified": 1772685307,
"narHash": "sha256-94KY0JNjdd3CcSyKlHPCPswlqmUrWT6+MfOHektsdB8=", "narHash": "sha256-5xthZHeqwBeXNhnRIlxnCuaZLky0SZ6vQsxtd+eqhTU=",
"owner": "youwen5", "owner": "youwen5",
"repo": "zen-browser-flake", "repo": "zen-browser-flake",
"rev": "ef1663c14b7c3c2b84bcf140232534be5a2a0257", "rev": "dc92d88524ee83308795bc90f6a9f1d965265aaa",
"type": "github" "type": "github"
}, },
"original": { "original": {

View File

@@ -2,7 +2,7 @@
description = "Home Manager configuration of phundrak"; description = "Home Manager configuration of phundrak";
inputs = { inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
devenv = { devenv = {
url = "github:cachix/devenv"; url = "github:cachix/devenv";
@@ -19,13 +19,18 @@
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
pumo-system-info = { caelestia-shell = {
url = "git+https://labs.phundrak.com/phundrak/pumo-system-info"; url = "github:caelestia-dots/shell";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
caelestia-shell = { copyparty = {
url = "github:caelestia-dots/shell"; url = "github:9001/copyparty";
inputs.nixpkgs.follows = "nixpkgs";
};
pumo-system-info = {
url = "git+https://labs.phundrak.com/phundrak/pumo-system-info";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
@@ -34,9 +39,15 @@
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
spicetify.url = "github:Gerg-L/spicetify-nix"; spicetify = {
url = "github:Gerg-L/spicetify-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
srvos.url = "github:nix-community/srvos"; srvos = {
url = "github:nix-community/srvos";
inputs.nixpkgs.follows = "nixpkgs";
};
zen-browser = { zen-browser = {
url = "github:youwen5/zen-browser-flake"; url = "github:youwen5/zen-browser-flake";
@@ -132,6 +143,7 @@
specialArgs = {inherit inputs outputs;}; specialArgs = {inherit inputs outputs;};
defaultSystemModules = [ defaultSystemModules = [
inputs.sops-nix.nixosModules.sops inputs.sops-nix.nixosModules.sops
inputs.copyparty.nixosModules.default
]; ];
withSystemModules = modules: nixpkgs.lib.lists.flatten (defaultSystemModules ++ [modules]); withSystemModules = modules: nixpkgs.lib.lists.flatten (defaultSystemModules ++ [modules]);
in { in {

View File

@@ -12,6 +12,14 @@
sops.secrets = { sops.secrets = {
"elcafe/traefik/env".restartUnits = ["traefik.service"]; "elcafe/traefik/env".restartUnits = ["traefik.service"];
"elcafe/traefik/dynamic".restartUnits = ["traefik.service"]; "elcafe/traefik/dynamic".restartUnits = ["traefik.service"];
"elcafe/copyparty/passwords/creug" = {
restartUnits = ["copyparty.service"];
owner = "creug";
};
"elcafe/copyparty/passwords/phundrak" = {
restartUnits = ["copyparty.service"];
owner = "phundrak";
};
}; };
mySystem = { mySystem = {
@@ -65,6 +73,13 @@
}; };
}; };
services.copyparty = import ./copyparty.nix {
passwordFiles = {
creug = config.sops.secrets."elcafe/copyparty/passwords/creug".path;
phundrak = config.sops.secrets."elcafe/copyparty/passwords/phundrak".path;
};
};
# This value determines the NixOS release from which the default # This value determines the NixOS release from which the default
# settings for stateful data, like file locations and database versions # settings for stateful data, like file locations and database versions
# on your system were taken. It's perfectly fine and recommended to leave # on your system were taken. It's perfectly fine and recommended to leave

View File

@@ -0,0 +1,23 @@
{passwordFiles}: {
enable = true;
user = "creug";
group = "users";
accounts = {
creug.passwordFile = passwordFiles.creug;
phundrak.passwordFile = passwordFiles.phundrak;
};
volumes = {
"/plex" = {
path = "/plex";
access.rwmd = ["creug" "phundrak"];
flags = {
e2dsa = true;
e2ts = true;
xdev = true;
xvol = true;
dedup = true;
nohash = "\\.iso$";
};
};
};
}

View File

@@ -1,3 +1,4 @@
# https://handy.computer/
{ {
appimageTools, appimageTools,
fetchurl, fetchurl,
@@ -5,10 +6,10 @@
}: let }: let
name = "Handy"; name = "Handy";
pname = lib.strings.toLower name; pname = lib.strings.toLower name;
version = "0.7.6"; version = "0.7.7";
src = fetchurl { src = fetchurl {
url = "https://github.com/cjpais/${name}/releases/download/v${version}/${name}_${version}_amd64.AppImage"; url = "https://github.com/cjpais/${name}/releases/download/v${version}/${name}_${version}_amd64.AppImage";
hash = "sha256-UZNt3lfKo6dBRWK1YD03HmcZsx/Zu2J3eD5VdTw+poU="; hash = "sha256-76Hno39I3+46blnVW6XWwg944vF5n7IdMYXGMlYMNb0=";
}; };
appimageContent = appimageTools.extractType2 {inherit pname version src;}; appimageContent = appimageTools.extractType2 {inherit pname version src;};
in in

149
packages/inkdrop.nix Normal file
View File

@@ -0,0 +1,149 @@
# https://www.inkdrop.app/
{
lib,
fetchurl,
stdenv,
autoPatchelfHook,
makeWrapper,
wrapGAppsHook3,
alsa-lib,
at-spi2-atk,
at-spi2-core,
cairo,
cups,
dbus,
expat,
gdk-pixbuf,
glib,
gtk3,
libdrm,
libnotify,
libpulseaudio,
libsecret,
libuuid,
libxkbcommon,
mesa,
nspr,
nss,
pango,
systemd,
libx11,
libxscrnsaver,
libxcomposite,
libxcursor,
libxdamage,
libxext,
libxfixes,
libxi,
libxrandr,
libxrender,
libxtst,
libxcb,
libxkbfile,
libxshmfence,
}:
stdenv.mkDerivation rec {
pname = "inkdrop";
version = "5.11.8";
src = fetchurl {
url = "https://dist.inkdrop.app/v${version}/${pname}_${version}_amd64.deb";
hash = "sha256-8aJSeUi5K9PgNJvfYAtnRnI2t+vM10jiqVAZmX+zni0=";
};
nativeBuildInputs = [
autoPatchelfHook
makeWrapper
wrapGAppsHook3
];
buildInputs = [
alsa-lib
at-spi2-atk
at-spi2-core
cairo
cups
dbus
expat
gdk-pixbuf
glib
gtk3
libdrm
libnotify
libpulseaudio
libsecret
libuuid
libxkbcommon
mesa
nspr
nss
pango
systemd
libx11
libxscrnsaver
libxcomposite
libxcursor
libxdamage
libxext
libxfixes
libxi
libxrandr
libxrender
libxtst
libxcb
libxkbfile
libxshmfence
];
dontBuild = true;
dontConfigure = true;
# Ignore musl dependency since we're using glibc
autoPatchelfIgnoreMissingDeps = ["libc.musl-x86_64.so.1"];
unpackPhase = ''
runHook preUnpack
# Extract deb file manually to avoid setuid issues
ar x $src
tar xf data.tar.xz --no-same-permissions --no-same-owner
runHook postUnpack
'';
installPhase = ''
runHook preInstall
# Create output directories
mkdir -p $out/bin $out/share
# Copy the main application
cp -r usr/lib/inkdrop $out/share/inkdrop
# Copy desktop file and icon
cp -r usr/share/applications $out/share/
cp -r usr/share/pixmaps $out/share/
# Fix desktop file to use absolute paths
substituteInPlace $out/share/applications/inkdrop.desktop \
--replace-quiet "Exec=inkdrop" "Exec=$out/bin/inkdrop" \
--replace-quiet "Icon=inkdrop" "Icon=$out/share/pixmaps/inkdrop.png"
# Create wrapper script in bin
makeWrapper $out/share/inkdrop/inkdrop $out/bin/inkdrop \
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}" \
--set-default ELECTRON_IS_DEV 0 \
--inherit-argv0
runHook postInstall
'';
meta = with lib; {
description = "Notebook app for Markdown lovers";
homepage = "https://www.inkdrop.app/";
license = licenses.unfree;
maintainers = [];
platforms = ["x86_64-linux"];
mainProgram = "inkdrop";
};
}

View File

@@ -1,4 +1,8 @@
elcafe: elcafe:
copyparty:
passwords:
creug: ENC[AES256_GCM,data:bWiDsIB9xbCC8N3VNzoXQ/ciyh5LyX5gaH5HrCR1n18=,iv:UOUUs/dXMQ4gF5x1UZuSs/DZh14OErWq1EJjv1B5+No=,tag:gMrL7RlaIegw+gXE4Du0KQ==,type:str]
phundrak: ENC[AES256_GCM,data:0kdrtlw2KeF4ZGqhejdnf1j59Lm5Gchh+wka2lOf8jU=,iv:4XG7M6oqRL0ZQiWMBe4oQ+mHjONkvuIXGa6m2Zqfd/A=,tag:A54LlE+7W2wXYn3HfCfBDw==,type:str]
traefik: traefik:
env: ENC[AES256_GCM,data:HUdWGYoEPp2v8dnDuVsl7YmPxuBfHmXzGrvKWeiqPlmAwMqVZrZ1j8on/7QKvYDJoTJ40XY2qNynSA==,iv:Vgc/fZERnNp7hSMeRd9EgB3IenKAFTAhwC0bk8CX4DE=,tag:SdfhOST/o29Lt1zRdXXRyQ==,type:str] env: ENC[AES256_GCM,data:HUdWGYoEPp2v8dnDuVsl7YmPxuBfHmXzGrvKWeiqPlmAwMqVZrZ1j8on/7QKvYDJoTJ40XY2qNynSA==,iv:Vgc/fZERnNp7hSMeRd9EgB3IenKAFTAhwC0bk8CX4DE=,tag:SdfhOST/o29Lt1zRdXXRyQ==,type:str]
dynamic: ENC[AES256_GCM,data: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,iv:3G3geSZRziwGiKcUMVNZ7j5s/4YA6Uk7wCSb4aFNSMo=,tag:FxARskR9+wdV7/xCKP8UdA==,type:str] dynamic: ENC[AES256_GCM,data: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,iv:3G3geSZRziwGiKcUMVNZ7j5s/4YA6Uk7wCSb4aFNSMo=,tag:FxARskR9+wdV7/xCKP8UdA==,type:str]
@@ -101,7 +105,7 @@ sops:
dUpXZis2N2VyN0ZFbjlPRXdwRFQ1aHMKm1Mk6MPKxFmwdATCYUANRSY5rHKgmQer dUpXZis2N2VyN0ZFbjlPRXdwRFQ1aHMKm1Mk6MPKxFmwdATCYUANRSY5rHKgmQer
LBlqqWKt1JiIUAYtazQeQ6KYxmjVlQPY7AZw2t+EhBEPrqbTL3vOiw== LBlqqWKt1JiIUAYtazQeQ6KYxmjVlQPY7AZw2t+EhBEPrqbTL3vOiw==
-----END AGE ENCRYPTED FILE----- -----END AGE ENCRYPTED FILE-----
lastmodified: "2026-02-08T14:11:39Z" lastmodified: "2026-03-07T17:19:05Z"
mac: ENC[AES256_GCM,data:fRnv6X2PTwbkde0SJHXegU0QiixfjZlfvje/tfgotfLLmnwDsB0Pxl0tw4DkCcQ3GZKDbxC5WR4g+Jz1B/D79WYo8jEKsf7OCBgyw3HhPhsg7lgJ9Qa/NVR1PfwZBn6u5/nj1kuLgQe9ZSV/UmUIu5I1LEY8IGVoJOEJkr/ZVRg=,iv:E4qRUs/u8T3VpyJxGyqifmTQaf/+bG7uN6sbbb2cwQY=,tag:+bQhdMlw7hGcvINQJTP8lw==,type:str] mac: ENC[AES256_GCM,data:hT4mPKLcIuAFmllJBYFXL5sGyMn95mYEv+eGVA+KQYm629YKSncgvn5g8elau/8HXR1O/bwQlkGmGr8VPeR/0KRb6TPCA4MrCwox38fy3ZLx2e0movVi/xIgKXIo5wYUq4Qm/pSo715limxGChxUxKtdEK/lmMkSnxyGmlkQtwM=,iv:XoOfhdK/CK6shUXhH4h14gtyqZqcqmTV6/R2jkynFr8=,tag:q3V0xcWQxjFi2drk5fLJoQ==,type:str]
unencrypted_suffix: _unencrypted unencrypted_suffix: _unencrypted
version: 3.11.0 version: 3.11.0

View File

@@ -60,9 +60,10 @@ in {
then "amdgpu" then "amdgpu"
else "i915" else "i915"
); );
extraModulePackages = extraModprobeConfig =
strings.concatLines (strings.optionalString cfg.kernel.v4l2loopback.enable "options v4l2loopback exclusive_caps=1 devices=1 video_nr=0 card_label=" "OBS Studio" "") strings.concatLines
cfg.kernel.extraModprobeConfig; ([cfg.kernel.extraModprobeConfig]
++ lists.optional cfg.kernel.v4l2loopback.enable ''options v4l2loopback exclusive_caps=1 devices=1 video_nr=0 card_label="OBS Studio"'');
loader = { loader = {
systemd-boot.enable = cfg.systemd-boot; systemd-boot.enable = cfg.systemd-boot;
efi.canTouchEfiVariables = cfg.systemd-boot; efi.canTouchEfiVariables = cfg.systemd-boot;

View File

@@ -21,38 +21,47 @@ in {
system_tray = "enabled"; system_tray = "enabled";
output_name = 1; output_name = 1;
}; };
applications.apps = [ applications.apps = let
defaultPrep = [
{
do = "sh -c \"hyprctl -i 0 keyword monitor \\\"DP-2,\${SUNSHINE_CLIENT_WIDTH}x\${SUNSHINE_CLIENT_HEIGHT}@\${SUNSHINE_CLIENT_FPS},0x0,1\\\"\"";
undo = "sh -c \"hyprctl -i 0 keyword monitor 'DP-2,2560x1080@60,0x0,1,transform,1'\"";
}
];
in [
{ {
name = "Desktop"; name = "Desktop";
image-path = "desktop.png"; image-path = "desktop.png";
prep-cmd = defaultPrep;
} }
{ {
name = "Low Res Desktop"; name = "Low Res Desktop";
image-path = "desktop.png"; image-path = "desktop.png";
prep-cmd = defaultPrep;
} }
{ {
name = "Steam Big Picture"; name = "Steam Big Picture";
detached = ["setsid steam steam://open/bigpicture"]; detached = ["setsid steam steam://open/bigpicture"];
prep-cmd = { prep-cmd = defaultPrep;
do = "";
undo = "setsid steam steam://close/bigpicture";
};
image-path = "steam.png"; image-path = "steam.png";
} }
{ {
name = "OpenTTD"; name = "OpenTTD";
cmd = "openttd"; cmd = "openttd";
image-path = "/home/phundrak/.config/sunshine/covers/igdb_18074.png"; image-path = "/home/phundrak/.config/sunshine/covers/igdb_18074.png";
prep-cmd = defaultPrep;
} }
{ {
name = "OpenMW"; name = "OpenMW";
cmd = "openmw"; cmd = "openmw";
image-path = "/home/phundrak/.config/sunshine/covers/igdb_24775.png"; image-path = "/home/phundrak/.config/sunshine/covers/igdb_24775.png";
prep-cmd = defaultPrep;
} }
{ {
name = "Vintage Story"; name = "Vintage Story";
cmd = "flatpak run at.vintagestory.VintageStory"; cmd = "flatpak run at.vintagestory.VintageStory";
image-path = "/home/phundrak/.config/sunshine/covers/igdb_69547.png"; image-path = "/home/phundrak/.config/sunshine/covers/igdb_69547.png";
prep-cmd = defaultPrep;
} }
]; ];
}; };

View File

@@ -62,10 +62,8 @@ in {
monitor = monitor =
{ {
"marpa" = [ "marpa" = [
# "DP-1, 3440x1440@144, 1080x550, 1" "DP-1, 3440x1440@144, 1080x550, 1"
# "DP-2, 2560x1080@60, 0x0, 1, transform, 1" "DP-2, 2560x1080@60, 0x0, 1, transform, 1"
"DP-2, 1366x768@60, 0x0, 1"
# "DP-2, 1829x1143@60, 0x0, 1"
]; ];
"gampo" = []; "gampo" = [];
}."${cfg.host}"; }."${cfg.host}";

View File

@@ -44,7 +44,7 @@ in {
encode encode
inhibit-gnome inhibit-gnome
mpris mpris
mpv-cheatsheet mpv-cheatsheet-ng
quality-menu quality-menu
sponsorblock sponsorblock
thumbfast thumbfast

View File

@@ -7,6 +7,7 @@
with lib; let with lib; let
inherit (pkgs.stdenv.hostPlatform) system; inherit (pkgs.stdenv.hostPlatform) system;
handy = pkgs.callPackage ../../packages/handy.nix {}; handy = pkgs.callPackage ../../packages/handy.nix {};
inkdrop = pkgs.callPackage ../../packages/inkdrop.nix {};
pumo-system-info = inputs.pumo-system-info.packages.${system}.default; pumo-system-info = inputs.pumo-system-info.packages.${system}.default;
zen = inputs.zen-browser.packages.${system}.default; zen = inputs.zen-browser.packages.${system}.default;
in { in {
@@ -38,11 +39,11 @@ in {
# Social # Social
vesktop # Discord alternative that works well with wayland vesktop # Discord alternative that works well with wayland
element-desktop element-desktop
signal-desktop-bin signal-desktop
# Misc # Misc
bitwarden-desktop bitwarden-desktop
gplates # gplates
handy handy
libnotify libnotify
nextcloud-client nextcloud-client
@@ -72,6 +73,7 @@ in {
# Dev # Dev
dbeaver-bin dbeaver-bin
devenv devenv
inkdrop
nodejs nodejs
sqlite sqlite
tectonic # better LaTeX engine tectonic # better LaTeX engine